This repository has been archived on 2019-02-28. You can view files and clone it, but cannot push or open issues or pull requests.
simple-i3blocks/modules/abstract.sh

48 lines
1.2 KiB
Bash
Executable File

# click interactions
[[ "$BLOCK_INSTANCE" =~ "color" ]] && COLORS=True
## toggle long and short preview
STATE="${HOME}/.config/i3blocks/modules/${1}.state"
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
# 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 [[ "$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 ]] && echo "${COLOR[$i]}" || echo "${BW[$i]}"
fi
done