62 lines
1.6 KiB
Bash
Executable File
62 lines
1.6 KiB
Bash
Executable File
# click interactions
|
|
## toggle long and short preview
|
|
STATE="${HOME}/.config/i3blocks/modules/${1}-${BLOCK_INSTANCE}.long"
|
|
COLORS="${HOME}/.config/i3blocks/modules/${1}-${BLOCK_INSTANCE}.color"
|
|
if [[ "$BLOCK_BUTTON" == 1 ]]; then
|
|
if [[ -f "$STATE" ]]; then
|
|
rm $STATE
|
|
LONG=false
|
|
else
|
|
touch $STATE
|
|
LONG=true
|
|
fi
|
|
else
|
|
[[ -f "$STATE" ]] && LONG=true || LONG=false
|
|
fi
|
|
|
|
## toggle color and black/white mode
|
|
if [[ "$BLOCK_BUTTON" == 3 ]]; then
|
|
if [[ -f "$COLORS" ]]; then
|
|
rm $COLORS
|
|
COLORS=false
|
|
else
|
|
touch $COLORS
|
|
COLORS=true
|
|
fi
|
|
else
|
|
[[ -f "$COLORS" ]] && COLORS=true || COLORS=false
|
|
fi
|
|
|
|
# global variables
|
|
BAR=("▁" "▂" "▃" "▄" "▅" "▆" "▇" "█")
|
|
INTERVAL=$((100 / ${#BAR[@]}))
|
|
COLOR=("#64bc01" "#77a601" "#8a9101" "#9d7b00" "#b06701" "#c45100" "#d63c00" "#e92700")
|
|
BW=("#565656" "#6d6d6d" "#848485" "#9c9c9c" "#b1b1b1" "#c7c7c7" "#dcdcdc" "#f5f5f6")
|
|
|
|
# get $LOAD, $LONG_TEXT and $SHORT_TEXT
|
|
source $HOME/.config/i3blocks/modules/${1}.sh
|
|
|
|
# text
|
|
if [[ "$LOAD" = false && "$LONG" = false ]]; then
|
|
echo $SHORT_TEXT
|
|
echo $SHORT_TEXT
|
|
elif [[ "$LONG" = true || $LONG_TEXT =~ off ]]; then
|
|
echo "$LONG_TEXT"
|
|
echo "$SHORT_TEXT"
|
|
else
|
|
for i in "${!BAR[@]}"; do
|
|
if [[ "$LOAD" -lt $((($i+1) * $INTERVAL)) ]]; then
|
|
echo "${BAR[$i]}"
|
|
echo "${BAR[$i]}"
|
|
break
|
|
fi
|
|
done
|
|
fi
|
|
|
|
# colors
|
|
for i in "${!BW[@]}"; do
|
|
if [[ $LOAD -lt $((($i+1) * $INTERVAL)) ]]; then
|
|
[[ "$COLORS" = true ]] && echo "${COLOR[$i]}" || echo "${BW[$i]}"
|
|
fi
|
|
done
|