Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CLI features to manage virtual screens #2521

Closed
waydabber opened this issue Jan 12, 2024 · 2 comments
Closed

Add CLI features to manage virtual screens #2521

waydabber opened this issue Jan 12, 2024 · 2 comments
Assignees
Labels
done All tasks are completed enhancement New feature or request integration Command-line interface released Released
Milestone

Comments

@waydabber
Copy link
Owner

Make existing CLI features address virtual screens + add new features specifically to manage virtual screens.

@waydabber waydabber added enhancement New feature or request in progress Implementing internal pre-release Enable internal pre-releases under Settings/Applications/Updates integration Command-line interface labels Jan 12, 2024
@waydabber waydabber added this to the v2.2.0 milestone Jan 12, 2024
@waydabber waydabber self-assigned this Jan 12, 2024
@waydabber waydabber modified the milestones: v2.2.0, TBD Jan 12, 2024
@waydabber waydabber modified the milestones: v2.2.1, TBD, v2.2.2 Jan 24, 2024
@waydabber waydabber modified the milestones: v2.2.2, TBD Feb 4, 2024
@waydabber
Copy link
Owner Author

Added two commands to create and discard a device (virtual screen):

  • create - Create a device. You need to specify deviceType=VirtualScreen. You can add other set operation parameters to configure the virtual screen or alter its identifiers from default. If an identifier is not provided, the app will provide a default or (if it makes sense) random value.
  • discard - Discard a device. You need to specify deviceType=VirtualScreen and the additional device identifiers using identification parameters to narrow the devices you want to discard. Warning: without identifiers, the app will discard all matching device types without question and ability to undo - be careful with this!

There are various options that work with create, set and get to define and manage a virtual screen:

  • virtualScreenName - Defines the name of the virtual screen Virtual screen management feature.
  • virtualScreenSerial - Defines the serial number of the virtual screen Virtual screen management feature.
  • virtualScreenVendorNumber - Defines the vendor number of the virtual screen Virtual screen management feature.
  • virtualScreenModelNumber - Defines the model number of the virtual screen Virtual screen management feature.
  • aspectWidth - Aspect width of the virtual screen. Virtual screen management feature. A contiguous range of values are accepted.
  • aspectHeight - Aspect height of the virtual screen. Virtual screen management feature. A contiguous range of values are accepted.
  • sizeInch - Diameter of the virtual screen in inch. Virtual screen management feature. A contiguous range of values are accepted.
  • multiplierStep - Multiplier step of the generated resolutions (multiples of aspect width and height). Virtual screen management feature. A contiguous range of values are accepted.
  • limitMultiplierSize - Enable/disable multiplier limits. Virtual screen management feature. A contiguous range of values are accepted.
  • multiplierMinWidth - Multiplier limit - height width. Virtual screen management feature. A contiguous range of values are accepted.
  • multiplierMinHeight - Multiplier limit - height minimum. Virtual screen management feature. A contiguous range of values are accepted.
  • multiplierMaxWidth - Multiplier limit - width maximum. Virtual screen management feature. A contiguous range of values are accepted.
  • multiplierMaxHeight - Multiplier limit - height maximum. Virtual screen management feature. A contiguous range of values are accepted.
  • flipped - Virtual screen flipping. Virtual screen management feature. Bool value (on or off) must be specified.
  • virtualScreenHiDPI - Enable HiDPI resolutions in the resolution list of a virtual screen. Virtual screen management feature. Bool value (on or off) must be specified.
  • useResolutionList - Use custom resolution list instead of generated resolutions based on the aspect ratio and multiplier. Virtual screen management feature. Bool value (on or off) must be specified.
  • resolutionList - Resolution list in WIDTHxHEIGHT,[WIDTHxHEIGHT[,...]] format. Virtual screen management feature.

@waydabber waydabber added done All tasks are completed and removed in progress Implementing labels Feb 5, 2024
@waydabber
Copy link
Owner Author

waydabber commented Feb 5, 2024

Some examples.

Creating a virtual screen (with an aspect ratio of 12:10):

betterdisplaycli create -devicetype=virtualscreen -virtualscreenname=MyVirtual -aspectWidth=12 -aspectHeight=10

Connecting a created virtual screen:

betterdisplaycli set -namelike=virtual -connected=on

Discard a virtual screen (use any identifier parameters to narrow the virtual screens to be discarded):

betterdisplaycli discard -namelike=virtual

Discard all virtual screens (rather dangerous, will happen with no comment):

betterdisplaycli discard

Rename a virtual screen from MyVirtual to TestVirtual:

betterdisplaycli set -name=MyVirtual -virtualscreenname=TestVirtual

Please note that while name is an identifier parameter to specify the device(s) you work on, virtualScreenName is a create/set/get parameter to modify the name of the virtual screen. The same with serial, modelNumber, vendorNumber.

@waydabber waydabber added pre-release available Released as beta version and removed internal pre-release Enable internal pre-releases under Settings/Applications/Updates labels Feb 6, 2024
@waydabber waydabber added released Released and removed pre-release available Released as beta version labels Jun 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
done All tasks are completed enhancement New feature or request integration Command-line interface released Released
Projects
None yet
Development

No branches or pull requests

1 participant