1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2025-12-06 05:25:41 -05:00
Files
DankMaterialShell/quickshell/scripts/gtk.sh
2025-11-12 17:18:45 -05:00

66 lines
1.8 KiB
Bash
Executable File

#!/usr/bin/env bash
CONFIG_DIR="$1"
IS_LIGHT="$2"
SHELL_DIR="$3"
if [ -z "$CONFIG_DIR" ] || [ -z "$IS_LIGHT" ] || [ -z "$SHELL_DIR" ]; then
echo "Usage: $0 <config_dir> <is_light> <shell_dir>" >&2
exit 1
fi
apply_gtk3_colors() {
local config_dir="$1"
local is_light="$2"
local shell_dir="$3"
local gtk3_dir="$config_dir/gtk-3.0"
local dank_colors="$gtk3_dir/dank-colors.css"
local gtk_css="$gtk3_dir/gtk.css"
if [ ! -f "$dank_colors" ]; then
echo "Error: dank-colors.css not found at $dank_colors" >&2
echo "Run matugen first to generate theme files" >&2
exit 1
fi
if [ -L "$gtk_css" ]; then
rm "$gtk_css"
elif [ -f "$gtk_css" ]; then
mv "$gtk_css" "$gtk_css.backup.$(date +%s)"
echo "Backed up existing gtk.css"
fi
ln -s "dank-colors.css" "$gtk_css"
echo "Created symlink: $gtk_css -> dank-colors.css"
}
apply_gtk4_colors() {
local config_dir="$1"
local gtk4_dir="$config_dir/gtk-4.0"
local dank_colors="$gtk4_dir/dank-colors.css"
local gtk_css="$gtk4_dir/gtk.css"
local gtk4_import="@import url(\"dank-colors.css\");"
if [ ! -f "$dank_colors" ]; then
echo "Error: GTK4 dank-colors.css not found at $dank_colors" >&2
echo "Run matugen first to generate theme files" >&2
exit 1
fi
if [ -f "$gtk_css" ]; then
sed -i '/^@import url.*dank-colors\.css.*);$/d' "$gtk_css"
sed -i "1i\\$gtk4_import" "$gtk_css"
else
echo "$gtk4_import" > "$gtk_css"
fi
echo "Updated GTK4 CSS import"
}
mkdir -p "$CONFIG_DIR/gtk-3.0" "$CONFIG_DIR/gtk-4.0"
apply_gtk3_colors "$CONFIG_DIR" "$IS_LIGHT" "$SHELL_DIR"
apply_gtk4_colors "$CONFIG_DIR"
echo "GTK colors applied successfully"