56 lines
1.4 KiB
Bash
Executable File
56 lines
1.4 KiB
Bash
Executable File
#!/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."
|