dotfiles/.config/rice
Sarthak b5a252c480 control centre, notification overhaul, and cleanup
One centred rofi panel (super+x, or the gear in the bar) now drives network,
bluetooth, audio, WireGuard, display, notifications, clipboard, emoji,
screenshots, wallpaper, the particle layer, the bar and power. The separate
per-function menus are gone.

dunst: icons and images were disabled outright (icon_position=off,
max_icon_size=0). Now icons resolve through Papirus, images render, progress
bars are styled, notifications gap and stack, and fullscreen windows are not
covered unless the message is critical. Volume up/down never notified at all;
they now show a stacking OSD with a progress bar.

Removed things that were broken or belonged to whoever this rice came from:
- vpn-launcher.sh (mullvad/openvpn) and dc-multivpn
- audio/bluetooth/network/power rofi menus, folded into the control centre
- untar-all, unzip-all, resetxdgportal (unreferenced)
- a sxhkd binding hardcoded to /home/sarthak/projects/scribe
- clipboard-manager.sh keyed off XDG_SESSION_TYPE, which is 'tty' here, so it
  only ever printed a Russian error; rewritten on greenclip
- toggle-bar.sh was bound to super+b but did not exist; written

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cn3dHfbgNYdbZvzb1b3GQt
2026-09-04 00:48:26 +05:30
..
particles Sakura Line: retheme the whole desktop from the wallpaper 2026-09-04 00:19:36 +05:30
st Sakura Line: retheme the whole desktop from the wallpaper 2026-09-04 00:19:36 +05:30
install.sh gtk: force the dark variant, autostart particles 2026-09-04 00:33:39 +05:30
packages.txt control centre, notification overhaul, and cleanup 2026-09-04 00:48:26 +05:30
README.md control centre, notification overhaul, and cleanup 2026-09-04 00:48:26 +05:30

Sakura Line

bspwm rice. Palette sampled from ~/.config/bspwm/wallpaper/wallpaper.jpg.

Replicate on a fresh machine

bash <(curl -fsSL https://git.srtk.in/sarthak/dotfiles/raw/branch/main/.config/rice/install.sh)

Or, if the dotfiles are already cloned:

~/.config/rice/install.sh            # full run
~/.config/rice/install.sh --dry-run  # show what it would do, change nothing

Arch is the first-class target. Debian/Ubuntu and Fedora are best-effort — the desktop, build and theming steps work; the AUR extras are skipped.

The script is safe to re-run. Anything in $HOME that would be overwritten by the dotfiles checkout is moved to ~/.rice-backup-<timestamp>/ first.

What it sets up

WM bspwm + sxhkd
Bar polybar (translucent, rounded)
Compositor picom (rounded corners, vsync)
Launcher rofi, centred, with icons
Notifications dunst
Terminal st, built from st/config.h here (upstream gitignores it)
Wallpaper layer particles, built from particles/ here
Toolkits GTK2/3/4 via gtk.css overrides, Qt via qt6ct

Control centre

super + x, or the gear at the right of the bar, opens one centred panel that drives everything — no separate menus:

Network Wi-Fi on/off, rescan, pick a network (password prompt inline)
Bluetooth power on/off, scan, connect/disconnect paired devices
Audio volume, mute, mic mute, switch output sink
VPN WireGuard interfaces up/down via systemctl wg-quick@…
Display switch resolution/refresh on the connected output
Notifications do-not-disturb, replay history, clear
Clipboard / Emoji / Screenshot greenclip, rofimoji, flameshot
Wallpaper / Particles / Bar shuffle, toggle the particle layer, hide the bar
Power lock, log out, suspend, reboot, shut down

Keybindings

super + Return terminal (st)
super + w app launcher (rofi drun)
super + x control centre
super + v clipboard history
super + period emoji picker
super + b toggle the bar
super + alt + p screenshot (flameshot)
super + q close window
super + f fullscreen
super + space float/tile
super + Escape reload sxhkd

Palette

role hex from
bg #0f0d17 twilight shadow
fg #e9eefb cool white
accent #92b9ea sky
red #cf6a80 blossom
green #8fae74 grass
yellow #d8a87c train stripe
magenta #b483c0 plum blossom
cyan #8ab6c4 station house

Changing the wallpaper does not re-derive these — they are written into each app's config.

Layout

.config/rice/
├── install.sh        one-shot bootstrap
├── packages.txt      package list ("aur:" prefix = needs an AUR helper)
├── st/config.h       st build config
└── particles/        wallpaper-layer particle field (source + Makefile)