theming: also ship vesktop CSS as a vencord theme

vencord watches quickCss.css with fs.watch on the file and delivers one
event per vesktop run in practice, so only the first switch applied. Its
themes watcher is on the DIRECTORY, whose inode is never replaced, so it
keeps firing — write the same CSS there too. Enable "fredos" once under
Vencord -> Themes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
rope 2026-08-19 16:12:25 +01:00
parent deba68f9bd
commit f1a0a70244

View file

@ -405,7 +405,20 @@ let
# way for a stale copy to survive a switch.
install -Dm644 "$theme/gtk3.css" "$HOME/.config/gtk-3.0/gtk.css"
install -Dm644 "$theme/gtk4.css" "$HOME/.config/gtk-4.0/gtk.css"
# Vesktop gets the same CSS twice, on purpose.
#
# quickCss is what applies with no setup, but vencord watches it with
# fs.watch on the FILE, and in practice that watcher delivers exactly one
# event per vesktop run here — every switch after the first is ignored
# until vesktop restarts. (The writes themselves are fine: a standalone
# fs.watch sees every one of these installs.)
#
# The themes directory is vencord's other watcher and it watches the
# DIRECTORY, whose inode nothing ever replaces, so it keeps firing. Enable
# "fredos" once under Vencord → Themes and switches apply live. Identical
# declarations from both sources land on the same result.
install -Dm644 "$theme/vesktop.css" "$HOME/.config/vesktop/settings/quickCss.css"
install -Dm644 "$theme/vesktop.css" "$HOME/.config/vesktop/themes/fredos.css"
install -Dm644 "$theme/zen.css" "$HOME/${zenChrome}/userChrome.css"
# Icon theme: replace the directory contents (cheap — the tree is