Files
jitty-scripts/fix-gtk4-dark.sh
T

31 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
# fix-gtk4-dark.sh — point ~/.config/gtk-4.0/gtk.css at the dark Breeze
# GTK4 stylesheet so GTK4/libadwaita apps follow the dark desktop theme.
#
# Background: KDE's GTK sync (kde-gtk-config) symlinks gtk.css to the
# LIGHT Breeze stylesheet. GTK loads that file at user priority, which
# overrides libadwaita's dark mode, so GTK4 apps render light no matter
# what. KDE may rewrite the symlink whenever "Apply" is hit on the
# GNOME/GTK Application Style settings page — re-run this script if
# GTK4 apps go light again. Restart affected apps to pick up the change.
set -euo pipefail
dark=/usr/share/themes/Breeze/gtk-4.0/gtk-dark.css
target="$HOME/.config/gtk-4.0/gtk.css"
if [ ! -f "$dark" ]; then
echo "error: $dark not found (is breeze-gtk installed?)" >&2
exit 1
fi
if [ "$(readlink -f "$target" 2>/dev/null)" = "$dark" ]; then
echo "already fixed: $target -> $dark"
exit 0
fi
mkdir -p "${target%/*}"
ln -sfn "$dark" "$target"
echo "fixed: $target -> $dark"
echo "restart GTK4 apps to pick up the dark stylesheet"