From d65ddae72e7ff5db319afd0e4ea0e4c917f365b9 Mon Sep 17 00:00:00 2001 From: anactualfox Date: Sat, 4 Feb 2023 14:59:14 -0700 Subject: [PATCH] added pywal script for forest theme --- simple/forest/scripts/pywal.sh | 88 ++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 simple/forest/scripts/pywal.sh diff --git a/simple/forest/scripts/pywal.sh b/simple/forest/scripts/pywal.sh new file mode 100644 index 00000000..90bb3e82 --- /dev/null +++ b/simple/forest/scripts/pywal.sh @@ -0,0 +1,88 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/forest/colors.ini" +RFILE="$HOME/.config/polybar/forest/scripts/rofi/colors.rasi" +WFILE="$HOME/.cache/wal/colors.sh" + +# Get colors +pywal_get() { + wal -i "$1" -q -t +} + +# Change colors +change_color() { + # polybar + sed -i -e "s/background = #.*/background = $BG/g" $PFILE + sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE + sed -i -e "s/foreground-alt = #.*/foreground-alt = $FGA/g" $PFILE + sed -i -e "s/module-fg = #.*/module-fg = $MF/g" $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + sed -i -e "s/secondary = #.*/secondary = $SC/g" $PFILE + sed -i -e "s/alternate = #.*/alternate = $AL/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: ${BG}FF; + bga: ${AC}33; + bar: ${MF}FF; + fg: ${FG}FF; + ac: ${AC}FF; + } + EOF +} + +hex_to_rgb() { + # Convert a hex value WITHOUT the hashtag (#) + R=$(printf "%d" 0x${1:0:2}) + G=$(printf "%d" 0x${1:2:2}) + B=$(printf "%d" 0x${1:4:2}) +} + +get_fg_color(){ + INTENSITY=$(calc "$R*0.299 + $G*0.587 + $B*0.114") + + if [ $(echo "$INTENSITY>186" | bc) -eq 1 ]; then + MF="#202020" + else + MF="#F5F5F5" + fi +} + +# Main +if [[ -x "`which wal`" ]]; then + if [[ "$1" ]]; then + pywal_get "$1" + + # Source the pywal color file + if [[ -e "$WFILE" ]]; then + . "$WFILE" + else + echo 'Color file does not exist, exiting...' + exit 1 + fi + + BG=`printf "%s\n" "$background"` + FG=`printf "%s\n" "$foreground"` + FGA=`printf "%s\n" "$color8"` + AC=`printf "%s\n" "$color1"` + SC=`printf "%s\n" "$color2"` + AL=`printf "%s\n" "$color3"` + + HEX=${AC:1} + + hex_to_rgb $HEX + get_fg_color + change_color + else + echo -e "[!] Please enter the path to wallpaper. \n" + echo "Usage : ./pywal.sh path/to/image" + fi +else + echo "[!] 'pywal' is not installed." +fi +