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-dl to 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

SUPER + SHIFT + W

Random wallpaper (all except anime)

SUPER + SHIFT + ]

Next wallpaper

SUPER + SHIFT + [

Previous wallpaper

SUPER + ALT + W

Random from S-tier

SUPER + CTRL + W

Wofi wallpaper selector

SUPER + ALT + A

Random anime wallpaper

SUPER + ALT + SHIFT + ]

Next anime

SUPER + ALT + SHIFT + [

Previous anime

DJ Mode Controls

Keybinding Action

SUPER + J

Toggle single visualizer

SUPER + SHIFT + J

Cycle modes (single→dual→triple→matrix→off)

SUPER + CTRL + J

ULTRA MODE (maximum flex)

SUPER + ALT + J

Matrix + visualizer combo

SUPER + SHIFT + D

Fullscreen visualizer

Shader Controls

Keybinding Action

SUPER + SHIFT + S

Cycle shaders (CRT → blue-light → vibrance → grayscale → off)

SUPER + ALT + S

Disable all shaders

Widget Controls

Keybinding Action

SUPER + SHIFT + E

Toggle eww dashboard

SUPER + SHIFT + G

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+)