feat(workspace):color cycling#3198
Open
ayanamixxx wants to merge 3 commits into
Open
Conversation
90fc475 to
ec9d479
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds optional color cycling for the bar workspaces widget.
New workspace settings:
When
color_modeis set tocycle, active and occupied workspaces use colors fromcycle_colorsbased on the workspace number.Empty workspaces keep the existing
empty_colorbehavior, and urgent workspaces keep the existing error color.The feature also works with
minimal = true, where the workspace text color follows the same cycle.Motivation
This makes it possible to create repeating workspace color schemes without replacing the native workspaces widget or relying on plugin/external workarounds.
The default behavior is unchanged because
color_modedefaults tostate.Type of Change
Related Issue
N/A
Testing
Ran:
just format just build just test just lint noctalia-dev-validate python3 tools/i18n-check.pyManual testing:
color_mode = "cycle"with hex colors.minimal = true.color_modevalues fall back to state mode with a warning.color_mode = "cycle"with an emptycycle_colorslist falls back to state mode with a warning.Manual Coverage
Screenshots / Videos
Example config:
Checklist
CONTRIBUTING.md.just formatwith clang-format v22+ installed, or this PR has no code changes.assets/translations/en.json, or this PR adds no new user-facing strings.Additional Notes
This is intentionally opt-in. Existing workspace coloring remains unchanged unless
color_mode = "cycle"is configured.I kept
color_moderegistered as an advanced string setting for now to avoid adding new user-facing translation keys. Happy to adjust this to a segmented/select setting if preferred.