Repository navigation
feat(rice-switch): redesign the menu as a frosted row list - #82
Merged
Merged
Conversation
Rework the rice-switch theme from the ground up while keeping the row list: neutral frosted glass with a hairline border, a header with a "Switch Desktop" title and a search pill, two-line rows (name, then compositor · shell), a leading dot column marking the current rice, bold instead of underlined search matches, and a centred footer that says switching logs out. No icons, no emoji. Visual only: selection, cancel and validation are unchanged. Fixes #80
Schnee111
commented
Oct 25, 2026
Schnee111
left a comment
Owner
Author
There was a problem hiding this comment.
Autonomous Code Review
Verdict: Changes Requested
Target Commit: dc7a317
Summary
The redesign is clean and well-structured, but the title textbox in the rofi theme uses an invalid property name that prevents the header text from rendering.
Logic & Invariants
- common/rofi/rice-switch.rasi:53: Rofi textbox widgets do not support the CSS-style
contentproperty. Static text must be declared usingstr: "Switch Desktop";instead ofcontent: "Switch Desktop";. Becausecontentis ignored by rofi's theme parser,textbox-titlerenders as an empty widget without the title text.
Recommendations
- In tests/rice-switch.sh:86, consider using integer comparison (
-eq 1) rather than string comparison (== 1) forwc -loutput to avoid fragility across environments wherewcemits leading whitespace. - In bin/rice-switch:97,
alpha="0%"orfgcolor="transparent"would be more idiomatic thanalpha="1%"for a fully invisible placeholder gutter.
Shorekeeper Sentinel · Autonomous Quality Gate
Owner
Author
|
Follow-ups in 4e399f4:
|
Schnee111
commented
Oct 25, 2026
Schnee111
left a comment
Owner
Author
There was a problem hiding this comment.
Autonomous Code Review
Verdict: Approved
Target Commit: 4e399f4
Summary
The redesign of the rice-switcher menu as a frosted row list is clean and well-structured, with previous review feedback on theme properties and test assertions properly resolved.
Shorekeeper Sentinel · Autonomous Quality Gate
This was referenced Oct 25, 2026
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.
Fixes #80
What this changes
Visual only. Selection by row index, Esc/cancel handling and name validation are unchanged. The only script changes are the row markup and the footer text.
This replaces #81, which was closed without merging: the icon-tile grid was not the direction we wanted. This one keeps the row list and redesigns it, with no icons and no emoji.
common/rofi/rice-switch.rasi, rewritten:rgba(30, 30, 34, 66%)with a 1 pxrgba(255, 255, 255, 14%)border and a 24 px radius, 540 px wide. It no longer importscolors.rasi; the palette accent is not used.Inter Display Semi-Bold 16) on the left and a rounded search pill on the right, followed by a hairline. Typing still filters, and matches are shown in bold rather than underlined.9px 14pxpadding with a 12 px radius, and the selection is a softrgba(255, 255, 255, 10%)pill.Switching logs you out · ↵ switch · esc cancel.bin/rice-switch:●glyph, invisible where unused, so the name and the subtitle stay aligned in a proportional font.tests/rice-switch.sh: exactly one visible dot, on the end4 row.Verification
bash tests/run.sh: all test files pass.shellcheck -S warningis clean.rofi -dump-themeparses the theme.bin/rice-switchfrommain, the test fails withexpected one visible dot, for the current rice.bin/rice-switch -n. Screenshots were checked by hand:Downmoves the selection pill to ii-p3drovfx;Escapeexits 0 with no output.Risk
Low. On rices without a blur rule for the
rofilayer, the panel is a 66 % dark translucent box.