feat: add screenshot gallery, theme selector, and 4 new curated themes

- Add comprehensive screenshot gallery in README.md and docs/GALLERY.md
  showcasing all desktop features, menus, and control panels
- Clean and sanitize screenshots (no private work projects or processes)
- Add 4 curated themes with accurate color palettes and btop themes:
  * Pirna (Bernardo Bellotto classic art)
  * Nordic Frost (Arctic aurora and mountain cliff)
  * Monolith (Sci-fi alien coast and bioluminescent cyan)
  * Dragon Fire (Dark fantasy gothic siege and fiery coral embers)
- Enhance theme selector in rice-theme and rice-menu with live grid thumbnails
- Add super + shift + t shortcut for instant visual theme switching
- Make wallpaper lookup robust across repo and user directories
This commit is contained in:
Sarthak 2026-09-14 17:01:58 +05:30
parent 4b203d06bd
commit 38b38a8ef0
37 changed files with 661 additions and 10 deletions

View file

@ -4,7 +4,59 @@ A bspwm rice for Arch Linux where everything — bar, menus, popups,
notifications, lock screen, terminal and prompt — is drawn from one palette and
one set of shapes, so it feels like one system instead of a pile of tools.
![Sakura Line](docs/old-screenshot.webp)
![Sakura Line](docs/gallery/desktop-clean.webp)
## Screenshot Gallery
A unified design language across window borders, bar, popups, and menus. See the **[Full Gallery & Feature Walkthrough](docs/GALLERY.md)** for detailed full-screen previews.
### Built-in Themes
Switch themes on the fly with `super + shift + t` (or `rice-theme select`). The entire system adapts immediately: wallpaper, Polybar, Dunst notifications, Eww panels, Rofi menus, terminals, and btop.
| Sakura Line | Pirna (Classic Art) |
|:---:|:---:|
| [![Sakura Line](docs/gallery/theme-sakura-line.webp)](docs/GALLERY.md#1-sakura-line) | [![Pirna](docs/gallery/theme-pirna.webp)](docs/GALLERY.md#2-pirna) |
| **Nordic Frost** | **Monolith** |
| [![Nordic Frost](docs/gallery/theme-nordic-frost.webp)](docs/GALLERY.md#3-nordic-frost) | [![Monolith](docs/gallery/theme-monolith.webp)](docs/GALLERY.md#4-monolith) |
| **Dragon Fire** | **Visual Theme Selector** |
| [![Dragon Fire](docs/gallery/theme-dragon-fire.webp)](docs/GALLERY.md#5-dragon-fire) | [![Theme Picker](docs/gallery/theme-picker.webp)](docs/GALLERY.md#6-visual-theme-selector) |
### Workspaces & Window Management
| Clean Desktop | Tiling Layout |
|:---:|:---:|
| [![Clean Desktop](docs/gallery/desktop-clean.webp)](docs/GALLERY.md#clean-desktop) | [![Window Tiling](docs/gallery/tiling.webp)](docs/GALLERY.md#window-tiling) |
| *Floating rounded Polybar with workspace dots and system telemetry* | *bspwm automatic balanced tiling with dynamic window gaps* |
| Centered Terminal | Drop-Down Scratchpad |
|:---:|:---:|
| [![Floating Terminal](docs/gallery/terminal.webp)](docs/GALLERY.md#floating-terminal) | [![Scratchpad](docs/gallery/scratchpad.webp)](docs/GALLERY.md#drop-down-scratchpad) |
| *st with sixel support, fastfetch and Starship prompt* | *Quick-access persistent drop-down terminal (`super + \``)* |
### Panels & Control Popups
| Control Centre | Audio Mixer |
|:---:|:---:|
| [![Control Centre](docs/gallery/control-centre.webp)](docs/GALLERY.md#control-centre-super--a) | [![Audio Mixer](docs/gallery/audio-mixer.webp)](docs/GALLERY.md#audio-mixer-super--ctrl--a) |
| *Sliders for volume, mic, brightness; quick toggles (`super + a`)* | *Per-application mixer and sink selectors (`super + ctrl + a`)* |
| Calendar & Events | Media Player |
|:---:|:---:|
| [![Calendar](docs/gallery/calendar.webp)](docs/GALLERY.md#calendar--reminders-super--ctrl--c) | [![Media Player](docs/gallery/media-player.webp)](docs/GALLERY.md#media-player-super--ctrl--m) |
| *CalDAV synchronized calendar & reminders (`super + ctrl + c`)* | *Track metadata, cover art and media controls (`super + ctrl + m`)* |
### Menus & Launchers
| Rofi Rice Menu | Keybindings Cheatsheet |
|:---:|:---:|
| [![Rice Menu](docs/gallery/launcher-menu.webp)](docs/GALLERY.md#rice-launcher-menu-super--m) | [![Keybindings](docs/gallery/keybindings.webp)](docs/GALLERY.md#keybinding-cheatsheet-super--k) |
| *Unified system menu & launcher (`super + m`)* | *Searchable hotkey cheatsheet (`super + k`)* |
| Wallpaper Picker | Styled Notifications |
|:---:|:---:|
| [![Wallpaper Picker](docs/gallery/wallpaper-picker.webp)](docs/GALLERY.md#wallpaper-picker-super--ctrl--space) | [![Notifications](docs/gallery/notification.webp)](docs/GALLERY.md#toast-notifications) |
| *Visual thumbnail grid picker (`super + ctrl + space`)* | *Dunst notification toasts rendered from the active palette* |
## Install
@ -64,15 +116,32 @@ to `~/.rice-backup-<date>/`. Log in on tty1 and the desktop starts.
| `super + shift + Print` or `super + alt + c` | pick a colour |
| `super + Print` or `super + alt + s` | capture menu |
| `` super + ` `` | drop-down terminal |
| `super + shift + t` / `super + ctrl + space` | theme picker / wallpaper picker |
| `super + Escape` / `super + ctrl + l` | power menu / lock |
## Theming
A theme is one file, `themes/<name>/colors.toml`. `rice-theme set <name>`
renders every file in `templates/` from it into `~/.local/state/rice/theme/`
and reloads the running apps; configs include or link those rendered files.
A theme is one file, `themes/<name>/colors.toml` (and optional custom assets like `btop.theme`). `rice-theme set <name>` renders every file in `templates/` from it into `~/.local/state/rice/theme/` and reloads all running apps and wallpapers in lockstep.
The rice ships with 5 built-in themes sampled from distinct visual worlds:
- **`sakura-line`**: Japanese spring anime aesthetic (pastel cherry blossom, blue sky, soft lilac)
- **`pirna`**: Classical 1750s European oil painting by Bernardo Bellotto (terracotta roofs, sandstone fortress, olive meadows, river cerulean)
- **`nordic-frost`**: Arctic snowy mountain cliff under the aurora borealis (polar midnight darks, amber lanterns, mint sky glow)
- **`monolith`**: Extraterrestrial sci-fi coast (crystalline cyan rock, bioluminescent lagoon water, celestial moonlit sky)
- **`dragon-fire`**: Dark fantasy epic siege (fiery dragonflame breath, blazing coral embers, smoky obsidian plum darks)
### Managing Themes
- **Visual Picker**: Press `super + shift + t` or run `rice-theme select` for the Rofi image grid.
- **Set via CLI**: `rice-theme set <name>`
- **List available**: `rice-theme list`
- **Re-render active**: `rice-theme reload`
### Adding Your Own Themes
1. Create a directory `themes/<name>/` (in the repo or in `~/.config/rice/themes/<name>/`).
2. Put your wallpaper in `wallpapers/<image>` (or reference an image path).
3. Create `colors.toml` following the schema in `themes/sakura-line/colors.toml`.
4. Run `rice-theme set <name>` or open the visual picker (`super + shift + t`) — your theme will appear immediately with automatic cached thumbnails!
- Your own themes go in `~/.config/rice/themes/<name>/`.
- `~/.config/rice/theme.override.toml` wins over every theme (`rice-font` writes the font there).
- Your own templates go in `~/.config/rice/templates/*.tpl` and win over the built-in ones.