From a592a83be3cb5723211c216fbdfd0130879a9128 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Sun, 4 May 2025 16:55:00 +0200 Subject: [PATCH] make applying gtk colors not depend on gradience --- .../scripts/color_generation/applycolor.sh | 27 ++++++++----------- .../ags/scripts/templates/gtk/gtk-colors.css | 21 +++++++++++++++ 2 files changed, 32 insertions(+), 16 deletions(-) create mode 100644 .config/ags/scripts/templates/gtk/gtk-colors.css diff --git a/.config/ags/scripts/color_generation/applycolor.sh b/.config/ags/scripts/color_generation/applycolor.sh index 9bf56d392..144ac882b 100755 --- a/.config/ags/scripts/color_generation/applycolor.sh +++ b/.config/ags/scripts/color_generation/applycolor.sh @@ -151,30 +151,25 @@ apply_lightdark() { fi } -apply_gtk() { # Using gradience-cli - usegradience=$(sed -n '4p' "$STATE_DIR/user/colormode.txt") - if [[ "$usegradience" = "nogradience" ]]; then - rm "$XDG_CONFIG_HOME/gtk-3.0/gtk.css" - rm "$XDG_CONFIG_HOME/gtk-4.0/gtk.css" +apply_gtk() { + # Check if template exists + if [ ! -f "scripts/templates/gtk/gtk-colors.css" ]; then + echo "Template file not found for gtk colors. Skipping that." return fi - # Copy template - mkdir -p "$CACHE_DIR"/user/generated/gradience - cp "scripts/templates/gradience/preset.json" "$CACHE_DIR"/user/generated/gradience/preset.json - + mkdir -p "$CACHE_DIR"/user/generated/gtk/ + cp "scripts/templates/gtk/gtk-colors.css" "$CACHE_DIR"/user/generated/gtk/gtk-colors.css # Apply colors for i in "${!colorlist[@]}"; do - sed -i "s/{{ ${colorlist[$i]} }}/${colorvalues[$i]}/g" "$CACHE_DIR"/user/generated/gradience/preset.json + sed -i "s/{{ ${colorlist[$i]} }}/#${colorvalues[$i]#\#}/g" "$CACHE_DIR"/user/generated/gtk/gtk-colors.css done - mkdir -p "$XDG_CONFIG_HOME/presets" # create gradience presets folder - source $(eval echo $ILLOGICAL_IMPULSE_VIRTUAL_ENV)/bin/activate - gradience-cli apply -p "$CACHE_DIR"/user/generated/gradience/preset.json --gtk both - deactivate + # Apply to both gtk3 and gtk4 + cp "$CACHE_DIR"/user/generated/gtk/gtk-colors.css "$XDG_CONFIG_HOME"/gtk-3.0/gtk.css + cp "$CACHE_DIR"/user/generated/gtk/gtk-colors.css "$XDG_CONFIG_HOME"/gtk-4.0/gtk.css - # And set GTK theme manually as Gradience defaults to light adw-gtk3 - # (which is unreadable when broken when you use dark mode) + # And set the right variant of adw gtk3 lightdark=$(get_light_dark) if [ "$lightdark" = "light" ]; then gsettings set org.gnome.desktop.interface gtk-theme 'adw-gtk3' diff --git a/.config/ags/scripts/templates/gtk/gtk-colors.css b/.config/ags/scripts/templates/gtk/gtk-colors.css new file mode 100644 index 000000000..b8ed1a4c7 --- /dev/null +++ b/.config/ags/scripts/templates/gtk/gtk-colors.css @@ -0,0 +1,21 @@ +/* +* GTK Colors +*/ + +@define-color accent_color {{ $primary }}; +@define-color accent_fg_color {{ $onPrimary }}; +@define-color accent_bg_color {{ $primary }}; +@define-color window_bg_color {{ $background }}; +@define-color window_fg_color {{ $onBackground }}; +@define-color headerbar_bg_color {{ $surfaceDim }}; +@define-color headerbar_fg_color {{ $onSurface }}; +@define-color popover_bg_color {{ $surfaceDim }}; +@define-color popover_fg_color {{ $onSurface }}; +@define-color view_bg_color {{ $surface }}; +@define-color view_fg_color {{ $onSurface }}; +@define-color card_bg_color {{ $surface }}; +@define-color card_fg_color {{ $onSurface }}; +@define-color sidebar_bg_color @window_bg_color; +@define-color sidebar_fg_color @window_fg_color; +@define-color sidebar_border_color @window_bg_color; +@define-color sidebar_backdrop_color @window_bg_color;