Repository navigation
feat(rice-switch): frosted menu theme of its own - #77
Merged
Merged
Conversation
The switcher reused display.rasi, so it showed 3 of 8 rices, cut every entry off at 380px, said "Select display mode..." and was a 92% opaque box. Give it common/rofi/rice-switch.rasi: a translucent blurred panel with a thin border, every rice visible, name and compositor/shell as a two-line row without the DISPLAY_NAME glyph, the current rice marked active and preselected, and a footer hint. Both menus now return the row index, so the shown text no longer has to match DISPLAY_NAME. display.rasi is unchanged and stays the fallback until install links the new theme. Fixes #75
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: e2f9eb3
Summary
Introduces a dedicated frosted macOS Spotlight-style Rofi theme for rice-switching with index-based selection and Pango markup escaping. Fallback handling to display.rasi and comprehensive regression tests ensure robust backward compatibility.
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 #75
What this fixes
The rice switcher reused
display.rasi, the display-mode switcher's theme:lines: 3);[ACTIVE]never showed;Approach
New
common/rofi/rice-switch.rasi, a frosted panel in the style of macOS Spotlight:rgba(28, 28, 32, 70%)with a 1 pxrgba(255, 255, 255, 13%)border, 18 px radius and 520 px width. That is translucent enough for the existingrofiblur layer rule on end4 and ii-p3drovfx, and still readable on rices without one;Inter Display 15search field with a magnifier glyph and a "Switch rice" placeholder, separated by a hairline;rgba(255, 255, 255, 10%)pill;@selected-fgfromcolors.rasi). It marks the current rice;Current: end4 · ↵ switch and log out · esc cancel.bin/rice-switchgui_menu:DISPLAY_NAME: the leading glyph is dropped, and the part in parentheses becomes the subtitle. Text is escaped for Pango. Rows are separated by\x1f(-sep,-eh 2).-l <count>shows every rice.-aand-selected-rowmark and preselect the current rice, so an accidental Enter only reports "already active".-no-custom -format i: rofi returns the row index, and fuzzel does the same with--index. The choice is no longer matched by display text, and an index out of range is ignored.rice-switch.rasi, thendisplay.rasiuntil the next install links the new file (lib/common.sh).display.rasiand the display switchers are unchanged.tests/rice-switch.sh: the stubrofirecords its stdin and arguments. New checks:-a;display.rasiworks.Verification
bash tests/run.sh: all test files pass.shellcheck -S warningis clean; the pre-existing SC2015 info instatusis unchanged.~/.local/bin/rice-switch -nwith the theme linked. Screenshots were checked by hand:Downmoves the selection pill;Escapecloses the menu, and the script exits 0 with no output.fuzzel 1.14.0is installed here and documents--index, but this host takes the rofi path.Risk
Low. Visual only, apart from the index-based choice, which the tests cover. On rices without a blur rule for the
rofilayer, the panel is a 70 % dark translucent box.