Sakura Line: retheme the whole desktop from the wallpaper

Palette sampled from bspwm/wallpaper/wallpaper.jpg and applied per-role
(not per-hex, so terminal green stays green and nvim's LineNr/Comment
stay recessive) across st, kitty, polybar, rofi, dunst, nvim, qt5ct/qt6ct
and GTK 2/3/4.

Also:
- rofi drun centred, icons enabled
- polybar translucent (true ARGB) and rounded; picom corner-radius, with
  the desktop layer and fullscreen windows excluded
- fix qt5ct color_scheme_path pointing at a nonexistent /home/carrie
- export QT_QPA_PLATFORMTHEME so qt6ct is actually consulted
- point GTK at an icon theme that exists on this system
- add .config/rice: one-shot install.sh (--dry-run supported), package
  list, vendored st config.h (gitignored upstream) and the particles
  wallpaper-layer source, so a clone reproduces the rice

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cn3dHfbgNYdbZvzb1b3GQt
This commit is contained in:
Sarthak 2026-09-04 00:19:36 +05:30
parent 45e5fe53d2
commit f341989335
35 changed files with 3300 additions and 124 deletions

View file

@ -1,5 +1,8 @@
#! /bin/bash
# Qt apps follow qt6ct, which reads ~/.config/qt6ct/colors/dc.conf
export QT_QPA_PLATFORMTHEME=qt6ct
# Start sxhkd if it's not already running
pgrep -x sxhkd >/dev/null || sxhkd -c ~/.config/bspwm/sxhkdrc &
@ -14,7 +17,7 @@ export XDG_CURRENT_DESKTOP="bspwm"
sh -c 'function shenv() { export "$1=$2"; }; source ~/.env;'
# Workspaces Configuration
bspc monitor DisplayPort-1 -d 1 2 3 4 5 6 7 8
bspc monitor DisplayPort-0 -d 1 2 3 4 5 6 7 8
# Enable window focus follow mouse pointer
bspc config focus_follows_pointer true
@ -29,7 +32,10 @@ if [[ -n $monitor && -n $resolution && -n $refresh_rate ]]; then
fi
# Set the border colors for focused and normal windows
bspc config focused_border_color "#727d53"
bspc config focused_border_color "#92b9ea"
bspc config normal_border_color "#201b30"
bspc config active_border_color "#3d3752"
bspc config presel_feedback_color "#b483c0"
bspc config border_width 2
bspc config borderless_monocle true
@ -65,7 +71,10 @@ bspc rule -a 'gamescope' desktop=11
bspc rule -a 'legcord' desktop=10
# Resources and Utilities
dbus-update-activation-environment --systemd XDG_CURRENT_DESKTOP
# DISPLAY/XAUTHORITY must reach systemd-user + D-Bus or graphical portal backends
# (xdg-desktop-portal-gtk, used by browser file pickers) fail with "cannot open display".
systemctl --user import-environment DISPLAY XAUTHORITY XDG_CURRENT_DESKTOP
dbus-update-activation-environment --systemd DISPLAY XAUTHORITY XDG_CURRENT_DESKTOP
xrdb merge $HOME/.Xresources
xsettingsd &
dunst &

View file

@ -46,3 +46,16 @@ shadow = false;
detect-client-opacity = true;
use-damage = true;
log-level = "warn";
# --- rounded corners ---
corner-radius = 12;
round-borders = 1;
rounded-corners-exclude = [
# the particles layer is a full-screen desktop window; clipping it would
# notch the corners of the field
"window_type = 'desktop'",
# polybar rounds its own background
"window_type = 'dock'",
# never round a fullscreen game
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_FULLSCREEN'",
];

View file

@ -1,3 +1,7 @@
# Toggle Scribe Recording
super + shift + space
pkill -USR1 -f /home/sarthak/projects/scribe/scribe.py
# System binding
super + {Return,v,w,x,b,period}
{st, \

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

After

Width:  |  Height:  |  Size: 2.8 MiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 KiB