From c7c8352e89257165eda612f5bea0b077ba1046ef Mon Sep 17 00:00:00 2001 From: Tobias Huttinger Date: Thu, 9 Jul 2026 17:21:00 +0200 Subject: [PATCH] Set dark mode --- 03-user/40-defaults.sh | 9 +- 03-user/dotfiles/.config/gtk-3.0/settings.ini | 1 + 03-user/dotfiles/.config/gtk-4.0/settings.ini | 1 + 03-user/dotfiles/.config/hypr/hyprland.conf | 6 +- 03-user/dotfiles/.config/kdeglobals | 109 ++++++++++++++++++ 5 files changed, 122 insertions(+), 4 deletions(-) create mode 100644 03-user/dotfiles/.config/kdeglobals diff --git a/03-user/40-defaults.sh b/03-user/40-defaults.sh index 006d624..79748b8 100644 --- a/03-user/40-defaults.sh +++ b/03-user/40-defaults.sh @@ -14,12 +14,17 @@ xdg-mime default org.gnome.Nautilus.desktop inode/directory # session nothing sets these, so libadwaita/GNOME apps (Nautilus, …) would fall # back to generic Sans. gtk-*/settings.ini covers the GTK toolkit font; # gsettings covers the document/monospace fonts read via dconf/the portal. +# color-scheme=prefer-dark is the authoritative dark-mode signal: GTK4/libadwaita +# apps read it directly, and xdg-desktop-portal reports it via the appearance API +# (so GTK3 and Qt apps that ask the portal go dark too). See gtk-*/settings.ini +# for the GTK toolkit dark toggle and ~/.config/kdeglobals for KDE apps. if command -v gsettings >/dev/null 2>&1; then gsettings set org.gnome.desktop.interface font-name 'Adwaita Sans 11' \ && gsettings set org.gnome.desktop.interface document-font-name 'Adwaita Sans 11' \ && gsettings set org.gnome.desktop.interface monospace-font-name 'SF Mono 11' \ - && info "interface fonts → Adwaita Sans / SF Mono" \ - || echo " skip: could not set gsettings interface fonts" + && gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' \ + && info "interface fonts → Adwaita Sans / SF Mono, color-scheme → prefer-dark" \ + || echo " skip: could not set gsettings interface prefs" fi # User services that ship as ~/.config/systemd/user units (from dotfiles). diff --git a/03-user/dotfiles/.config/gtk-3.0/settings.ini b/03-user/dotfiles/.config/gtk-3.0/settings.ini index 5824cf5..8a64373 100644 --- a/03-user/dotfiles/.config/gtk-3.0/settings.ini +++ b/03-user/dotfiles/.config/gtk-3.0/settings.ini @@ -1,2 +1,3 @@ [Settings] gtk-font-name = Adwaita Sans 11 +gtk-application-prefer-dark-theme = true diff --git a/03-user/dotfiles/.config/gtk-4.0/settings.ini b/03-user/dotfiles/.config/gtk-4.0/settings.ini index 5824cf5..8a64373 100644 --- a/03-user/dotfiles/.config/gtk-4.0/settings.ini +++ b/03-user/dotfiles/.config/gtk-4.0/settings.ini @@ -1,2 +1,3 @@ [Settings] gtk-font-name = Adwaita Sans 11 +gtk-application-prefer-dark-theme = true diff --git a/03-user/dotfiles/.config/hypr/hyprland.conf b/03-user/dotfiles/.config/hypr/hyprland.conf index ddfddc4..1ef9315 100644 --- a/03-user/dotfiles/.config/hypr/hyprland.conf +++ b/03-user/dotfiles/.config/hypr/hyprland.conf @@ -80,8 +80,10 @@ env = HYPRCURSOR_SIZE,24 env = XCURSOR_THEME,default # Theme options -env = ADWAITA_THEME,dark -env = COLOR_SCHEME,prefer-dark +# Dark mode is not driven by env vars here: GTK4/libadwaita follow the gsettings +# color-scheme=prefer-dark set in 03-user/40-defaults.sh (also exposed via the xdg +# portal), GTK3 follows gtk-*/settings.ini, Qt follows GTK via QT_QPA_PLATFORMTHEME +# below, and KDE apps follow ~/.config/kdeglobals. env = GDK_BACKEND,wayland,x11,* diff --git a/03-user/dotfiles/.config/kdeglobals b/03-user/dotfiles/.config/kdeglobals new file mode 100644 index 0000000..c556deb --- /dev/null +++ b/03-user/dotfiles/.config/kdeglobals @@ -0,0 +1,109 @@ +# Dark mode for KDE / KDE Frameworks apps (kdenlive, kid3, krita, …). +# Self-contained Breeze Dark color scheme so it applies without the breeze/plasma +# packages installed. + +[ColorEffects:Disabled] +Color=56,56,56 +ColorAmount=0 +ColorEffect=0 +ContrastAmount=0.65 +ContrastEffect=1 +IntensityAmount=0.1 +IntensityEffect=2 + +[ColorEffects:Inactive] +ChangeSelectionColor=true +Color=112,111,110 +ColorAmount=0.025 +ColorEffect=2 +ContrastAmount=0.1 +ContrastEffect=2 +Enable=false +IntensityAmount=0 +IntensityEffect=0 + +[Colors:Button] +BackgroundAlternate=30,87,116 +BackgroundNormal=49,54,59 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[Colors:Selection] +BackgroundAlternate=30,87,116 +BackgroundNormal=61,174,233 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=252,252,252 +ForegroundInactive=161,169,177 +ForegroundLink=253,188,75 +ForegroundNegative=176,55,69 +ForegroundNeutral=198,92,0 +ForegroundNormal=252,252,252 +ForegroundPositive=23,104,57 +ForegroundVisited=155,89,182 + +[Colors:Tooltip] +BackgroundAlternate=77,77,77 +BackgroundNormal=49,54,59 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[Colors:View] +BackgroundAlternate=35,38,41 +BackgroundNormal=27,30,32 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[Colors:Window] +BackgroundAlternate=49,54,59 +BackgroundNormal=42,46,50 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[General] +ColorScheme=BreezeDark +Name=Breeze Dark +shadeSortColumn=true + +[KDE] +contrast=4 + +[WM] +activeBackground=49,54,59 +activeBlend=252,252,252 +activeForeground=252,252,252 +inactiveBackground=42,46,50 +inactiveBlend=161,169,177 +inactiveForeground=161,169,177