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
2018-08-14 22:21:21 +02:00

70 lines
1.9 KiB
Bash
Executable File

BARV=("▁" "▂" "▃" "▄" "▅" "▆" "▇" "█")
BARH=("▏" "▎" "▍" "▌" "▋" "▊" "▉" "█")
INTERVAL=$((100 / ${#BARV[@]}))
COLOR=("#64bc01" "#77a601" "#8a9101" "#9d7b00" "#b06701" "#c45100" "#d63c00" "#e92700")
BW=("#565656" "#6d6d6d" "#848485" "#9c9c9c" "#b1b1b1" "#c7c7c7" "#dcdcdc" "#f5f5f6")
# 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
# get $LOAD, $LOAD_REVERSE, $LONG_TEXT and $SHORT_TEXT
source $HOME/.config/i3blocks/modules/${1}.sh
# print 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 "${!BARV[@]}"; do
if [[ "$LOAD" -lt $((($i+1) * $INTERVAL)) ]]; then
echo "${BARV[$i]}"
echo "${BARV[$i]}"
break
fi
done
fi
# print colors or black/white
if [[ "$LOAD" = false ]]; then
echo "${BW[4]}"
else
for i in "${!BW[@]}"; do
if [[ $LOAD -lt $((($i+1) * $INTERVAL)) ]]; then
if [[ "$REVERSE_COLOR" = true ]]; then
u=$((${#BW[@]}-$i))
[[ "$COLORS" = true ]] && echo "${COLOR[$u]}" || echo "${BW[$u]}"
else
[[ "$COLORS" = true ]] && echo "${COLOR[$i]}" || echo "${BW[$i]}"
fi
fi
done
fi