70 lines
1.5 KiB
Bash
Executable File
70 lines
1.5 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
BEMENUOPTS_FILE="$HOME/.config/bemenu/bemenu_opts.sh"
|
|
|
|
HEIGHT="22" #height in pixels to make the bemenu prompt
|
|
|
|
help () {
|
|
echo " usage: sh bemenu-colorgen.sh FILE"
|
|
echo " where FILE contains hex values of a base16 color scheme in this format:"
|
|
echo " NOTE: the file must contain 16 color values"
|
|
echo " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
|
|
echo " #282936"
|
|
echo " #3a3c4e"
|
|
echo " #F7CA88"
|
|
echo " #626483"
|
|
echo " #62d6e8"
|
|
echo " #e9e9f4"
|
|
echo " #f1f2f8"
|
|
echo " #f7f7fb"
|
|
echo " #ea51b2"
|
|
echo " #b45bcf"
|
|
echo " #00f769"
|
|
echo " #ebff87"
|
|
echo " #a1efe4"
|
|
echo " #62d6e8"
|
|
echo " #b45bcf"
|
|
echo " #00f769"
|
|
echo " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
|
|
}
|
|
|
|
|
|
FILE="$1"
|
|
|
|
! [ -f "$FILE" ] && help && exit
|
|
[ "$( wc -l "$FILE" | cut -d ' ' -f 1 )" != "16" ] && help && exit
|
|
|
|
|
|
NB=""
|
|
NF=""
|
|
HB=""
|
|
HF=""
|
|
SB=""
|
|
SF=""
|
|
TB=""
|
|
TF=""
|
|
FB=""
|
|
FF="#ffffff"
|
|
|
|
IFS='
|
|
'
|
|
|
|
COUNT=0
|
|
for LINE in $(cat "$FILE")
|
|
do
|
|
case $COUNT in
|
|
0) NB="$LINE" && HB="$LINE" && TB="$LINE" && FB="$LINE";;
|
|
1) SB="$LINE";;
|
|
6) HF="$LINE" && SF="$LINE";;
|
|
10) NF="$LINE" && TF="$LINE";;
|
|
esac
|
|
|
|
COUNT=$((COUNT + 1))
|
|
done
|
|
|
|
echo "bemenu colors updated."
|
|
|
|
echo "#!/bin/sh" > "$BEMENUOPTS_FILE"
|
|
echo "#generated from: $1" >> "$BEMENUOPTS_FILE"
|
|
echo "export BEMENU_OPTS=\"-H $HEIGHT --nb $NB --nf $NF --hb $HB --hf $HF --sb $SB --sf $SF --tb $TB --tf $TF --fb $FB --ff $FF\"" >> "$BEMENUOPTS_FILE"
|