aboutsummaryrefslogtreecommitdiffstats
path: root/install.sh
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-11 18:57:59 +0200
committerDanilo M. <danix@danix.xyz>2026-09-11 18:57:59 +0200
commit7b11746f0b6a280169150fc8e18146963a65c55c (patch)
tree75ad1834c11187d8f88cae2bf8b7c036675609da /install.sh
parentfd0a0e63d78138b485c2440781f6c210dd3df8a2 (diff)
downloadunified-desktop-theme-7b11746f0b6a280169150fc8e18146963a65c55c.tar.gz
unified-desktop-theme-7b11746f0b6a280169150fc8e18146963a65c55c.zip
feat(palette): add Obsidian and Typora as consumers
Both expose a first-class, update-safe theming hook, which is what separates them from the Electron apps that cannot be consumers: Signal, Discord and Spotify ship closed bundles whose only theming route is patching a signed asar that every update reverts. Obsidian gets a CSS snippet rather than a theme, so it layers over whatever theme a vault already uses instead of replacing the user's choice. Enabling it means appending to enabledCssSnippets in each vault's appearance.json, which bin/udt-appthemes does by reading the list and adding to it: rewriting the file would have switched off the layout snippet one vault was already using. Typora's theme is derived from the Dracula theme installed here, whose 350 rules all resolve through :root variables, so only that block is templated and none of the layout is touched. Verified across six vaults, nested ones included: the vault with an existing snippet kept it, a vault with no appearance.json got a valid one, and three consecutive installs leave exactly one udt entry. 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.sh5
1 files changed, 5 insertions, 0 deletions
diff --git a/install.sh b/install.sh
index e7e2177..292f00a 100755
--- a/install.sh
+++ b/install.sh
@@ -70,6 +70,11 @@ 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"
+# Obsidian and Typora need more than a copy: the Obsidian snippet has to be
+# enabled in each vault's appearance.json without disturbing the snippets
+# already listed there. Skipped silently when neither app is installed.
+"$repo/bin/udt-appthemes" || true
+
# 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