Skip to content

Add various CLI features to manage display groups #4383

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

Open
waydabber opened this issue May 24, 2025 · 3 comments
Open

Add various CLI features to manage display groups #4383

waydabber opened this issue May 24, 2025 · 3 comments
Assignees
Labels
done All tasks are completed enhancement New feature or request integration Command-line interface internal pre-release Enable internal pre-releases under Settings/Applications/Updates sync/groups various forms of syncing
Milestone

Comments

@waydabber
Copy link
Owner

Currently the groups feature is fully uncontrollable via CLI. This should change.

@waydabber waydabber added this to the v3.5.6 milestone May 24, 2025
@waydabber waydabber self-assigned this May 24, 2025
@waydabber waydabber added enhancement New feature or request in progress Implementing sync/groups various forms of syncing unreleased Still baking in the oven labels May 24, 2025
@waydabber
Copy link
Owner Author

waydabber commented May 24, 2025

Initially the following should be possible:

  • list groups
  • enable groups
  • disable groups

Also, maybe:

  • high level configuration group activation policy
  • enable/disable synchronization for a group
  • enable/disable layout protection for a group
  • enable/disable ui scale matching for a group

And then if there is demand (future):

  • group creation, cloning and removal
  • detailed configuration of activation policy and membership
  • full synchronization configuration
  • full layout protection configuration
  • full UI scale matching configuration

@waydabber
Copy link
Owner Author

Related to #4315

@waydabber waydabber added done All tasks are completed and removed in progress Implementing labels May 27, 2025
@waydabber
Copy link
Owner Author

waydabber commented May 27, 2025

List display groups and its identifiers:

betterdisplaycli get -type=displaygroup -identifiers

Get a group's tag ID from name:

betterdisplaycli get -n=DisplayGroupName -identifier=tagID

Get a group's name from tagID

betterdisplaycli get -tagID=XX -identifier=name

Enable, disable, toggle and get enabled status of a group:

betterdisplaycli set -n=DisplayGroupName -enabled=on
betterdisplaycli set -n=DisplayGroupName -enabled=off
betterdisplaycli toggle -n=DisplayGroupName -enabled
betterdisplaycli get -n=DisplayGroupName -enabled

Get group activation state:

betterdisplaycli get -n=DisplayGroupName -active

Set/get group activation policy:

betterdisplaycli set -n=DisplayGroupName -activationPolicy=allMembersPresent
betterdisplaycli set -n=DisplayGroupName -activationPolicy=anyMembersPresent
betterdisplaycli set -n=DisplayGroupName -activationPolicy=anyTwoMembersPresent
betterdisplaycli set -n=DisplayGroupName -activationPolicy=anySyncSourceWithTargetMembersPresent
betterdisplaycli get -n=DisplayGroupName -activationPolicy

Set/get/toggle synchronization, layout protection, UI scale matching (examples):

betterdisplaycli set -n=DisplayGroupName -synchronization=on
betterdisplaycli set -n=DisplayGroupName -layoutProtection=off
betterdisplaycli toggle -n=DisplayGroupName -uiScaleMatching
betterdisplaycli get -n=DisplayGroupName -uiScaleMatching

@waydabber waydabber added integration Command-line interface unreleased Still baking in the oven internal pre-release Enable internal pre-releases under Settings/Applications/Updates and removed unreleased Still baking in the oven labels May 27, 2025
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 internal pre-release Enable internal pre-releases under Settings/Applications/Updates sync/groups various forms of syncing
Projects
None yet
Development

No branches or pull requests

1 participant