31 lines
1.0 KiB
Bash
Executable File
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"
|