CR-2026-03-14: Hyprland Rice Enhancement — Implementation
Implementation Plan
Phase 1: Wallpaper Management Scripts
Created in ~/.config/hypr/scripts/:
-
wallpaper-set.sh- Set wallpaper with swww + optional wallust -
wallpaper-cycle.sh- Cycle through wallpapers (supports "all" mode) -
wallpaper-select.sh- Wofi picker for wallpapers -
wallpaper-fetch.sh- Download from curated GitHub repos
Phase 2: Wallpaper Keybindings
# Wallpaper Controls
bind = $mainMod SHIFT, W, exec, ~/.config/hypr/scripts/wallpaper-cycle.sh all random
bind = $mainMod SHIFT, bracketright, exec, ~/.config/hypr/scripts/wallpaper-cycle.sh all next
bind = $mainMod SHIFT, bracketleft, exec, ~/.config/hypr/scripts/wallpaper-cycle.sh all prev
bind = $mainMod ALT, A, exec, ~/.config/hypr/scripts/wallpaper-cycle.sh ~/Pictures/wallpapers/anime random
Phase 3: DJ Mode Implementation
Created ~/.config/hypr/scripts/dj-mode.sh with modes:
-
toggle- Single bottom visualizer -
dual- Left + right vertical strips -
triple- Bottom + both sides -
matrix- Matrix rain + visualizer -
ultra- Everything + boosted blur -
fullscreen- Full screen takeover
Phase 4: cava Configuration
Created ~/.config/cava/config with Catppuccin gradient:
gradient_color_1 = '#89b4fa' # Blue
gradient_color_2 = '#b4befe' # Lavender
gradient_color_3 = '#cba6f7' # Mauve
gradient_color_4 = '#f5c2e7' # Pink
gradient_color_5 = '#f2cdcd' # Flamingo
gradient_color_6 = '#fab387' # Peach
gradient_color_7 = '#f9e2af' # Yellow
gradient_color_8 = '#a6e3a1' # Green
Phase 5: Window Rules for Visualizers
# Bottom center visualizer
windowrule = match:class ^(cava-visualizer)$, float on
windowrule = match:class ^(cava-visualizer)$, size 60% 22%
windowrule = match:class ^(cava-visualizer)$, move 20% 76%
windowrule = match:class ^(cava-visualizer)$, pin on
# Left/Right vertical strips for dual mode
windowrule = match:class ^(cava-left)$, size 18% 45%
windowrule = match:class ^(cava-left)$, move 1% 28%
Phase 6: GTK/Icon Theme Application
gsettings set org.gnome.desktop.interface gtk-theme 'catppuccin-mocha-mauve-standard+default'
gsettings set org.gnome.desktop.interface icon-theme 'Papirus-Dark'
gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
Phase 7: btop Catppuccin Theme
mkdir -p ~/.config/btop/themes
curl -o ~/.config/btop/themes/catppuccin_mocha.theme \
https://raw.githubusercontent.com/catppuccin/btop/main/themes/catppuccin_mocha.theme
Phase 8: Screen Shaders
Created ~/.config/hypr/shaders/ with GLSL fragment shaders:
-
crt.frag- CRT monitor scanline effect -
blue-light-filter.frag- Reduce blue light (night mode) -
vibrance.frag- Enhanced color saturation -
grayscale.frag- Black and white mode
Toggle script ~/.config/hypr/scripts/shader-toggle.sh cycles through effects.
Phase 9: eww Dashboard
Created eww widget system in ~/.config/eww/:
-
eww.yuck- Widget definitions (clock, stats, music, volume) -
eww.scss- Catppuccin Mocha styling
Dashboard includes system stats, clock, and media controls.
Phase 10: Animated Wallpapers
Updated wallpaper-fetch.sh with animated option:
-
Uses
gallery-dlto download from curated Imgur galleries -
Sources: Hypr-live-paperlls anime and pixel collections
-
GIFs stored in
~/Pictures/wallpapers/animated/
yay -S gallery-dl
~/.config/hypr/scripts/wallpaper-fetch.sh animated
Keybindings Reference
Wallpaper Controls
| Keybinding | Action |
|---|---|
|
Random wallpaper (all except anime) |
|
Next wallpaper |
|
Previous wallpaper |
|
Random from S-tier |
|
Wofi wallpaper selector |
|
Random anime wallpaper |
|
Next anime |
|
Previous anime |
DJ Mode Controls
| Keybinding | Action |
|---|---|
|
Toggle single visualizer |
|
Cycle modes (single→dual→triple→matrix→off) |
|
ULTRA MODE (maximum flex) |
|
Matrix + visualizer combo |
|
Fullscreen visualizer |
Shader Controls
| Keybinding | Action |
|---|---|
|
Cycle shaders (CRT → blue-light → vibrance → grayscale → off) |
|
Disable all shaders |
Widget Controls
| Keybinding | Action |
|---|---|
|
Toggle eww dashboard |
|
Random animated wallpaper |
Git Commits
b9f9dc3 feat(hyprland): Add wallpaper management scripts
a125bb3 fix(hyprland): Wallpaper controls - exclude anime from all, add prev/next
194665d feat(rice): Add DJ mode visualizer + Catppuccin theming
2fdf709 feat(rice): ULTRA DJ MODE - r/unixporn destroyer
8ad5346 fix(hyprland): Remove deprecated nofocus windowrule (removed in 0.53+)