add way to generate color config files
This commit is contained in:
55
sh/gen-colors
Executable file
55
sh/gen-colors
Executable file
@@ -0,0 +1,55 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Generate color fragment files for all configs from colors.conf
|
||||||
|
set -e
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
||||||
|
SRC="$SCRIPT_DIR/colors.conf"
|
||||||
|
|
||||||
|
if [ ! -f "$SRC" ]; then
|
||||||
|
echo "Error: $SRC not found" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Read colors into variables
|
||||||
|
while IFS='=' read -r key value; do
|
||||||
|
case "$key" in \#* | "") continue ;; esac
|
||||||
|
eval "color_$key=$value"
|
||||||
|
done <"$SRC"
|
||||||
|
|
||||||
|
# Hyprland: $color_name = rgb(HEXVAL) format (no #)
|
||||||
|
{
|
||||||
|
while IFS='=' read -r key value; do
|
||||||
|
case "$key" in \#* | "") continue ;; esac
|
||||||
|
hex="${value#\#}"
|
||||||
|
echo "\$color_$key = rgb($hex)"
|
||||||
|
done <"$SRC"
|
||||||
|
} >"$SCRIPT_DIR/hypr/colors.conf"
|
||||||
|
echo "Wrote hypr/colors.conf"
|
||||||
|
|
||||||
|
# Sway: set $color_name #HEXVAL
|
||||||
|
{
|
||||||
|
while IFS='=' read -r key value; do
|
||||||
|
case "$key" in \#* | "") continue ;; esac
|
||||||
|
echo "set \$color_$key $value"
|
||||||
|
done <"$SRC"
|
||||||
|
} >"$SCRIPT_DIR/sway/colors.conf"
|
||||||
|
echo "Wrote sway/colors.conf"
|
||||||
|
|
||||||
|
# i3: same format as sway
|
||||||
|
cp "$SCRIPT_DIR/sway/colors.conf" "$SCRIPT_DIR/i3/colors.conf"
|
||||||
|
echo "Wrote i3/colors.conf"
|
||||||
|
|
||||||
|
# Waybar CSS: @define-color color_name #HEXVAL;
|
||||||
|
{
|
||||||
|
while IFS='=' read -r key value; do
|
||||||
|
case "$key" in \#* | "") continue ;; esac
|
||||||
|
echo "@define-color color_$key $value;"
|
||||||
|
done <"$SRC"
|
||||||
|
} >"$SCRIPT_DIR/waybar/colors.css"
|
||||||
|
echo "Wrote waybar/colors.css"
|
||||||
|
|
||||||
|
# Wofi CSS: same as waybar
|
||||||
|
cp "$SCRIPT_DIR/waybar/colors.css" "$SCRIPT_DIR/wofi/colors.css"
|
||||||
|
echo "Wrote wofi/colors.css"
|
||||||
|
|
||||||
|
echo "Done. All color fragments generated."
|
||||||
Reference in New Issue
Block a user