Repository navigation
Add theme-matching bar widget colours - #12
Open
keylimesoda wants to merge 1 commit into
Open
keylimesoda wants to merge 1 commit into
keylimesoda wants to merge 1 commit into
Conversation
keylimesoda
force-pushed
the
feature/bar-widget-colours
branch
from
October 22, 2026 22:46
1b41398 to
e6e4b6c
Compare
Contributor
Author
|
Reprieve icon kinda sticks out with its stable color on an OS that is intended to be heavily themed/riced. This doesn't put icon color changes front-and-center in the UX, but it does expose and advertise them via CLI for folks who care to dig a bit to make the change. Myself, I think the two-tone themed logo looks really slick. |
The angel keeps its brand look by default. A new barAccent setting adds a two-tone theme mode (wings in the bar text colour, halo and state markers in the theme accent) and a solid accent mode. Alerts still use the urgent colour, and the count badge picks a readable text colour for any accent. reprieve bar theme on|off and accent on|off switch it; bar status reports it.
keylimesoda
force-pushed
the
feature/bar-widget-colours
branch
from
October 28, 2026 07:10
e6e4b6c to
c43f78d
Compare
Contributor
Author
|
Rebased onto current |
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
Reprieve's bar mark is the one icon in the bar that ignores the theme. This adds an opt-in
barAccentsetting with three modes:barAccentbrand(default)themeaccentAlerts keep the theme's
urgentcolour in every mode.Why two-tone
Most bar widgets draw their glyph in
bar.barForegroundand reserveColor.accentfor state and detail — Omamail is the clearest example, with its envelope in the foreground, the "M" fold in the accent, and accent unread/open marks.themefollows that convention: the angel reads as part of the bar, while the halo and state markers carry the accent.accentstays available for anyone who wants a single-colour mark.Implementation
brand/ReprieveAngel.qmlgainstint(wings) andhalocolours. Two white SVG masks are painted withMultiEffect, so the artwork is recoloured in the theme rather than tinting the dark brand art. The mask layers stay enabled so switching modes at runtime does not leave the mark blank.BarWidget.qmlmaps the modes: wings use the bar foreground or accent; the halo, parked markers and recovered markers use the accent; per-window plate borders use a subtle foreground in two-tone; attention stays urgent. The overflow badge picks black or white text based on the marker colour.barAccentis validated and persisted by the service, exposed inbar status, and documented in the manifest schema and README.brand, so existing installations are visually unchanged.Switching
Screenshots
Ristretto theme, cropped from the live bar (context strip at 5×, close-ups at 8×):
Tests
bash tests/run.sh— passes (model, service, flight, journal, binds, media, doctor, wrapper, namespace, plugin validate).qmllintonBarWidget.qml,Service.qmlandbrand/ReprieveAngel.qml— clean.The screenshot is a new
docs/screenshots/bar-colours.png, also referenced from the bar widget section of the README.