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

144
.config/gtk-3.0/gtk.css Normal file
View file

@ -0,0 +1,144 @@
/* Sakura Line - sampled from bspwm/wallpaper/wallpaper.jpg */
@define-color sakura_bg #16121f;
@define-color sakura_base #100d18;
@define-color sakura_surface #221c33;
@define-color sakura_overlay #2a2440;
@define-color sakura_sel #2e2842;
@define-color sakura_fg #e9eefb;
@define-color sakura_dim #7f7796;
@define-color sakura_border #3d3752;
@define-color sakura_accent #92b9ea;
@define-color sakura_red #cf6a80;
@define-color sakura_green #8fae74;
@define-color sakura_yellow #d8a87c;
/* GTK3 / Adwaita named colours */
@define-color theme_bg_color @sakura_bg;
@define-color theme_fg_color @sakura_fg;
@define-color theme_base_color @sakura_base;
@define-color theme_text_color @sakura_fg;
@define-color theme_selected_bg_color @sakura_accent;
@define-color theme_selected_fg_color #0f0d17;
@define-color theme_unfocused_bg_color @sakura_bg;
@define-color theme_unfocused_fg_color @sakura_fg;
@define-color theme_unfocused_base_color @sakura_base;
@define-color theme_unfocused_text_color @sakura_fg;
@define-color theme_unfocused_selected_bg_color @sakura_sel;
@define-color theme_unfocused_selected_fg_color @sakura_fg;
@define-color insensitive_bg_color @sakura_bg;
@define-color insensitive_fg_color @sakura_dim;
@define-color insensitive_base_color @sakura_base;
@define-color borders @sakura_border;
@define-color unfocused_borders @sakura_border;
@define-color wm_bg @sakura_surface;
@define-color wm_border @sakura_border;
@define-color wm_title @sakura_fg;
@define-color wm_unfocused_title @sakura_dim;
@define-color success_color @sakura_green;
@define-color warning_color @sakura_yellow;
@define-color error_color @sakura_red;
@define-color link_color @sakura_accent;
@define-color visited_link_color #b483c0;
@define-color content_view_bg @sakura_base;
/* libadwaita / GTK4 named colours */
@define-color window_bg_color @sakura_bg;
@define-color window_fg_color @sakura_fg;
@define-color view_bg_color @sakura_base;
@define-color view_fg_color @sakura_fg;
@define-color headerbar_bg_color @sakura_surface;
@define-color headerbar_fg_color @sakura_fg;
@define-color headerbar_border_color @sakura_border;
@define-color headerbar_backdrop_color @sakura_bg;
@define-color headerbar_shade_color rgba(0, 0, 0, 0.36);
@define-color sidebar_bg_color @sakura_surface;
@define-color sidebar_fg_color @sakura_fg;
@define-color sidebar_backdrop_color @sakura_bg;
@define-color sidebar_border_color @sakura_border;
@define-color sidebar_shade_color rgba(0, 0, 0, 0.36);
@define-color secondary_sidebar_bg_color @sakura_bg;
@define-color secondary_sidebar_fg_color @sakura_fg;
@define-color card_bg_color @sakura_surface;
@define-color card_fg_color @sakura_fg;
@define-color card_shade_color rgba(0, 0, 0, 0.36);
@define-color dialog_bg_color @sakura_surface;
@define-color dialog_fg_color @sakura_fg;
@define-color popover_bg_color @sakura_overlay;
@define-color popover_fg_color @sakura_fg;
@define-color popover_shade_color rgba(0, 0, 0, 0.36);
@define-color thumbnail_bg_color @sakura_surface;
@define-color thumbnail_fg_color @sakura_fg;
@define-color shade_color rgba(0, 0, 0, 0.36);
@define-color scrollbar_outline_color @sakura_border;
@define-color accent_bg_color @sakura_accent;
@define-color accent_fg_color #0f0d17;
@define-color accent_color @sakura_accent;
@define-color destructive_bg_color @sakura_red;
@define-color destructive_fg_color #0f0d17;
@define-color destructive_color @sakura_red;
@define-color success_bg_color @sakura_green;
@define-color success_fg_color #0f0d17;
@define-color warning_bg_color @sakura_yellow;
@define-color warning_fg_color #0f0d17;
@define-color error_bg_color @sakura_red;
@define-color error_fg_color #0f0d17;
/* Adwaita hardcodes a fair amount, so pin the big surfaces directly. */
window, .background, dialog, popover, popover.background,
headerbar, .titlebar, .sidebar, placessidebar, notebook > header {
background-color: @sakura_bg;
color: @sakura_fg;
}
headerbar, .titlebar, .sidebar, placessidebar,
.sidebar-pane, notebook > header, toolbar, actionbar > revealer > box {
background-color: @sakura_surface;
border-color: @sakura_border;
}
popover > contents, popover > arrow, menu, .menu, .context-menu {
background-color: @sakura_overlay;
color: @sakura_fg;
}
treeview.view, textview, textview text, iconview, .view, list, list row, columnview {
background-color: @sakura_base;
color: @sakura_fg;
}
treeview.view:selected, .view:selected, list row:selected,
menuitem:hover, .menu menuitem:hover, row:selected {
background-color: @sakura_accent;
color: #0f0d17;
}
entry, spinbutton, searchbar entry, .entry {
background-color: @sakura_base;
color: @sakura_fg;
border-color: @sakura_border;
}
entry:focus, .entry:focus { border-color: @sakura_accent; }
button {
background-image: none;
background-color: @sakura_surface;
color: @sakura_fg;
border-color: @sakura_border;
}
button:hover { background-color: @sakura_overlay; }
button:active, button:checked {
background-color: @sakura_accent;
color: #0f0d17;
}
scrollbar, scrollbar slider { background-color: transparent; }
scrollbar slider { background-color: @sakura_border; }
scrollbar slider:hover { background-color: @sakura_dim; }
tooltip, tooltip.background {
background-color: @sakura_overlay;
color: @sakura_fg;
}
progressbar progress, levelbar block.filled { background-color: @sakura_accent; }
switch:checked, check:checked, radio:checked {
background-color: @sakura_accent;
color: #0f0d17;
}
selection, ::selection {
background-color: @sakura_accent;
color: #0f0d17;
}
separator { background-color: @sakura_border; }