Updated taskbar script

This commit is contained in:
pfych 2025-07-13 13:37:42 +10:00
parent fc1100befc
commit 19e4263ed6
2 changed files with 67 additions and 19 deletions

View file

@ -1,19 +0,0 @@
#!/bin/sh
DETAILS=$(rivalcfg --battery-level)
STATUS=$(echo $DETAILS | cut -d' ' -f1)
LEVEL=$(echo $DETAILS | cut -d']' -f2 | tr -d '[:space:]')
if [ "$STATUS" != 'Discharging' ] && [ "$STATUS" != 'Charging' ]; then
cat /tmp/last-mouse-level.txt
else
if [ $STATUS == 'Discharging' ]; then
STATUS_EMOJI='🐁'
else
STATUS_EMOJI='⚡'
fi
echo "| $STATUS_EMOJI $LEVEL |" > /tmp/last-mouse-level.txt
cat /tmp/last-mouse-level.txt
fi

67
.config/scripts/util/taskbar.sh Executable file
View file

@ -0,0 +1,67 @@
#!/bin/sh
NOW=$(date +%s)
debounce () {
local -n VAR_REFERENCE=$1 # Funky Bash Pass-by-reference here!
VAR_NAME="$1"
DEBOUNCE_TIME="$2"
FUNCTION=$3
FALLBACK=$4
if [ ! -f "/tmp/debounce-$VAR_NAME" ]; then
VAR_REFERENCE="$FUNCTION"
echo "$(date +%s)" > "/tmp/debounce-$VAR_NAME"
else
LAST_CHECK=$(cat "/tmp/debounce-$VAR_NAME")
if [ $(($NOW - $LAST_CHECK)) -gt $DEBOUNCE_TIME ]; then
VAR_REFERENCE="$FUNCTION"
echo "$(date +%s)" > "/tmp/debounce-$VAR_NAME"
else
VAR_REFERENCE="$FALLBACK"
fi
fi
}
get_mouse_text () {
MOUSE_DETAILS=$(rivalcfg --battery-level)
MOUSE_STATUS=$(echo $MOUSE_DETAILS | cut -d' ' -f1)
MOUSE_BATTERY=$(echo $MOUSE_DETAILS | cut -d']' -f2 | tr -d '[:space:]')
if [ "$MOUSE_STATUS" != 'Discharging' ] && [ "$MOUSE_STATUS" != 'Charging' ]; then
cat /tmp/last-mouse-level
else
if [ $MOUSE_STATUS == 'Discharging' ]; then
MOUSE_STATUS_EMOJI='🐁'
else
MOUSE_STATUS_EMOJI='⚡'
fi
echo "$MOUSE_STATUS_EMOJI $MOUSE_BATTERY" > /tmp/last-mouse-level
cat /tmp/last-mouse-level
fi
}
get_monero_text () {
MONERO_DETAILS=$(monerod status | grep "Height")
MONERO_PERCENT=$(echo $MONERO_DETAILS | cut -d" " -f3 | tr -d "()")
if [ -n "$MONERO_DETAILS" ]; then
echo "🟢 $MONERO_PERCENT" > /tmp/last-monero-value
else
echo "🔴" > /tmp/last-monero-value
fi
cat /tmp/last-monero-value
}
debounce MOUSE_STRING 3600 \
"$(get_mouse_text)" \
"$(cat /tmp/last-mouse-level || get_mouse_text)";
debounce MONERO_STRING 60 \
"$(get_monero_text)" \
"$(cat /tmp/last-monero-value || get_monero_text)";
echo "| $MOUSE_STRING | $MONERO_STRING |"