Files
.dotfiles/darwin-breeze/apply.sh
T
tri 26a29b3182 feat(darwin-breeze): add VS Code and Telegram themes
Generate and install a VS Code theme and build an importable Telegram
theme from the color scheme.
2026-10-30 00:21:09 +07:00

50 lines
1.8 KiB
Bash
Executable File

#!/usr/bin/env bash
# Regenerate the app themes from the color scheme and apply Darwin Breeze.
#
# Run `stow darwin-breeze helium` first.
set -euo pipefail
here="$(cd "$(dirname "$0")" && pwd)"
data="${XDG_DATA_HOME:-$HOME/.local/share}"
if [ ! -e "$data/color-schemes/DarwinBreezeDark.colors" ]; then
echo "DarwinBreezeDark.colors is not installed; run 'stow darwin-breeze' in ~/.dotfiles" >&2
exit 1
fi
python3 -I "$here/build.py"
plasma-apply-lookandfeel --apply dev.trivk.darwinbreeze.dark
# plasma-apply-colorscheme skips a scheme that is already active, so edits
# to the .colors file would not be picked up. Bounce through stock Breeze.
plasma-apply-colorscheme BreezeClassic >/dev/null
plasma-apply-colorscheme DarwinBreezeDark >/dev/null
# Drop the line under the title bar so it blends into the toolbar.
kwriteconfig6 --file breezerc --group Windeco --key DrawTitleBarSeparator false
# A wallpaper-derived accent color would override the blue from the scheme.
kwriteconfig6 --file kdeglobals --group General --key AccentColor --delete
kwriteconfig6 --file kdeglobals --group General --key accentColorFromWallpaper false
qdbus6 org.kde.KWin /KWin reconfigure 2>/dev/null \
|| dbus-send --session --type=signal /KWin org.kde.KWin.reloadConfig
# T3 Code skips symlinked theme files, so publish a copy instead of stowing it.
t3="$(command -v t3 || echo "$HOME/.t3/bin/t3")"
if [ -x "$t3" ]; then
"$t3" theme set "$here/t3/darwin-breeze.json" >/dev/null
fi
# VS Code only loads themes from installed extensions. --force reinstalls the
# same version, so color changes land without a version bump.
if command -v code >/dev/null; then
code --install-extension "$here/vscode/darwin-breeze.vsix" --force >/dev/null 2>&1
fi
echo "Applied Darwin Breeze"
if pgrep -x helium >/dev/null; then
echo "Restart Helium to pick up its theme"
fi