79 lines
2.3 KiB
Bash
Executable File
79 lines
2.3 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
|
|
|
|
# variables to define
|
|
# LOAD -- The percentage of something provided like LOAD=67 which meas 76%
|
|
# LONG_TEXT -- Text to display in case LONG=True
|
|
# SHORT_TEXT -- Text to display in case LONG=True and the i3 status bar
|
|
# runs out of space
|
|
# REVERSE_COLOR -- Set this to True if the colors should be selected in
|
|
# reverse orer for a given load
|
|
#
|
|
# 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 font color
|
|
if [[ "$LOAD" = false || "$COLORS" = 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-1))
|
|
[[ "$COLORS" = true ]] && echo "${COLOR[$u]}" || echo "${BW[$u]}"
|
|
else
|
|
[[ "$COLORS" = true ]] && echo "${COLOR[$i]}" || echo "${BW[$i]}"
|
|
fi
|
|
break
|
|
fi
|
|
done
|
|
fi
|