make applying gtk colors not depend on gradience

This commit is contained in:
end-4
2025-05-04 16:55:00 +02:00
parent b03e874510
commit a592a83be3
2 changed files with 32 additions and 16 deletions
@@ -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'
@@ -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;