From f1a0a70244eb31676a2f0f8596e6b070826b4947 Mon Sep 17 00:00:00 2001 From: rope Date: Wed, 19 Aug 2026 16:12:25 +0100 Subject: [PATCH] theming: also ship vesktop CSS as a vencord theme MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- settings/theming.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/settings/theming.nix b/settings/theming.nix index cd667de..7cc2e4e 100644 --- a/settings/theming.nix +++ b/settings/theming.nix @@ -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