From eced161992ab1f40a3a7a57919cb39549ff55149 Mon Sep 17 00:00:00 2001 From: Marc Date: Tue, 5 Dec 2023 01:07:59 +0100 Subject: [PATCH 1/2] Ensure icon and mouse themes are also applied for GTK-2, GTK-3 and GTK-4 --- xfce4-night-mode.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/xfce4-night-mode.sh b/xfce4-night-mode.sh index 6b6746d..af2e1a9 100755 --- a/xfce4-night-mode.sh +++ b/xfce4-night-mode.sh @@ -76,6 +76,14 @@ function set_theme() then gsettings set org.gnome.desktop.interface gtk-theme "$target_theme" fi + if [ "$2" = "/Net/IconThemeName" ] + then + gsettings set org.gnome.desktop.interface icon-theme "$target_theme" + fi + if [ "$2" = "/Gtk/CursorThemeName" ] + then + gsettings set org.gnome.desktop.interface cursor-theme "$target_theme" + fi } function get_config() From 97830ba633f70895b2a189856a9b78608a74ff59 Mon Sep 17 00:00:00 2001 From: Marc Date: Mon, 11 Dec 2023 19:49:37 +0100 Subject: [PATCH 2/2] Change Qt and Qt icon themes automatically using Kvantum Manager and qt5ct and qt6ct confg files --- xfce4-night-mode.sh | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/xfce4-night-mode.sh b/xfce4-night-mode.sh index af2e1a9..5680be0 100755 --- a/xfce4-night-mode.sh +++ b/xfce4-night-mode.sh @@ -160,6 +160,35 @@ set_theme 'xsettings' '/Gtk/CursorThemeName' "CURSOR_$suffix" # Window manager theme set_theme 'xfwm4' '/general/theme' "WM_$suffix" +# apply settings to QT theme (using Kvantum Manager and qt5ct/qt6ct configs) +if type kvantummanager > /dev/null 2>&1; then + # gtk theme applied at the moment + gtk_theme=$(gsettings get org.gnome.desktop.interface gtk-theme) + # no Arc-Lighter (only KvArc) for Kvantum Manager, so apply filter + filter="Lighter" + # remove "-"" and "'" since themes are named like KvArc, KvArcDark, KvAdapta + qt_theme=$(echo "$gtk_theme" | tr -d "-" | tr -d "'" | sed "s/$filter//g") + # apply theme + kvantummanager --set Kv"$qt_theme" + + # gtk icon theme applied at the moment, also filter out single quotes + icon_theme=$(gsettings get org.gnome.desktop.interface icon-theme | tr -d "'") + # qt5ct and qt6ct config file paths + qt5ct_conf="$HOME/.config/qt5ct/qt5ct.conf" + qt6ct_conf="$HOME/.config/qt6ct/qt6ct.conf" + # parameter to look for on config files (no CLI at the moment) + param="icon_theme=" + # parameter replacement + replacement="icon_theme=$icon_theme" + # change QT icon theme (if qt5ct and qt6ct config files exist) + if [ -e "$qt5ct_conf" ]; then + sed -i "/$param/c\\$replacement" "$qt5ct_conf" + fi + if [ -e "$qt6ct_conf" ]; then + sed -i "/$param/c\\$replacement" "$qt6ct_conf" + fi +fi + set_config 'active' 'string' "$mode" # Execute user script to change wallpaper, terminal theme, etc.