aboutsummaryrefslogtreecommitdiffstats
path: root/install.sh
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-11 18:51:17 +0200
committerDanilo M. <danix@danix.xyz>2026-09-11 18:51:17 +0200
commitfd0a0e63d78138b485c2440781f6c210dd3df8a2 (patch)
tree710858fdb57e28fbddc926ddd65927f8aa592d83 /install.sh
parentee39bd927e056c2dae9d61230a95a05715b3a8c6 (diff)
downloadunified-desktop-theme-fd0a0e63d78138b485c2440781f6c210dd3df8a2.tar.gz
unified-desktop-theme-fd0a0e63d78138b485c2440781f6c210dd3df8a2.zip
feat(palette): generate the Kvantum theme so Qt apps follow the scheme
Qt and GTK were the one part of the desktop the palette never reached: Kvantum was pinned to a hand-installed catppuccin-macchiato-lavender directory, so pcmanfm-qt and every other Qt app stayed Macchiato no matter which scheme was selected. A Kvantum theme is a .kvconfig of colours and a .svg of widget artwork with colours baked into the paths, which looked like it needed redrawing. It did not: the SVG carries only 27 distinct colours, 12 of them palette colours and the rest neutral greys that are shading, not theme colour. Both files are now templates with the 12 as placeholders, derived from the theme this desktop was already running. Installs to ~/.config/Kvantum/udt/ under one fixed name for every scheme, so a switch needs no change to kvantum.kvconfig and leaves no stale theme behind. Adds accent_dim and accent_bright roles for Kvantum's hover and pressed states. Verified: no placeholders survive generation, the SVG still parses as XML, and pcmanfm-qt picks up the new colours on restart. Qt reads a theme at startup only, so running apps need restarting; AGENTS.md says so. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015gbjA2bmswN8jyPDKzrvqe
Diffstat (limited to 'install.sh')
-rwxr-xr-xinstall.sh9
1 files changed, 9 insertions, 0 deletions
diff --git a/install.sh b/install.sh
index 6bc0341..e7e2177 100755
--- a/install.sh
+++ b/install.sh
@@ -61,6 +61,15 @@ fi
install -Dm644 "$repo/templates/terminal/kitty-theme.conf" \
"$HOME/.config/kitty/current-theme.conf"
+# Kvantum wants a directory per theme, named after itself, and qt5ct/qt6ct
+# reach Qt apps through it. The theme is installed under one fixed name rather
+# than one per scheme: Kvantum caches by name, so reusing it means a switch
+# needs no change to kvantum.kvconfig and no second theme left behind.
+kv="$HOME/.config/Kvantum/udt"
+install -Dm644 "$repo/templates/kvantum/theme.kvconfig" "$kv/udt.kvconfig"
+install -Dm644 "$repo/templates/kvantum/theme.svg" "$kv/udt.svg"
+printf '[General]\ntheme=udt\n' > "$HOME/.config/Kvantum/kvantum.kvconfig"
+
# Stage the homepage stylesheet on the dashboard host. Staged, not installed:
# /opt/homepage/config is root-owned and this script does not hold root there.
# Never fatal, and never slow: a laptop away from that network must still be