# Sakura Line bspwm rice. Palette sampled from `~/.config/bspwm/wallpaper/wallpaper.jpg`. ## Replicate on a fresh machine ```sh bash <(curl -fsSL https://git.srtk.in/sarthak/dotfiles/raw/branch/main/.config/rice/install.sh) ``` Or, if the dotfiles are already cloned: ```sh ~/.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-/` 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 GTK panel that drives everything. Press it again to close. It is a real window, so the sliders are live and stepping back between views never redraws the panel: | | | |---|---| | Network | Wi-Fi on/off, rescan, pick a network (password prompt inline) | | Bluetooth | power on/off, scan, connect/disconnect paired devices | | Audio | live volume and microphone sliders; click the icon to mute | | VPN | WireGuard up/down via `systemctl wg-quick@…` | | Notifications | do-not-disturb toggle | | Clipboard / Screenshot / Bar | greenclip, flameshot, hide the bar | | Wallpaper / Particles | shuffle, toggle the particle layer | | Power | lock, log out, suspend, reboot, shut down | Escape steps back from a subview; Escape on the main view closes it. The panel grabs the seat like rofi does, so it keeps focus wherever the pointer is. ### Panel keys Each control shows its key in the bottom-right corner. | | | | | |---|---|---|---| | `n` network | `b` bluetooth | `v` vpn | `d` do-not-disturb | | `p` particles | `w` wallpaper | `a` audio | `c` clipboard | | `s` screenshot | `t` toggle bar | `m` mute | `i` mute mic | | `l` lock | `o` log out | `z` suspend | `r` reboot | | `q` shut down | `←/→` volume | `Esc` back / close | | ## Keybindings | | | |---|---| | `super + Return` | terminal (st) | | `super + w` | app launcher (rofi drun) | | `super + x` | control centre | | `super + v` | clipboard history | | `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) ```