Move the status generation to its own file and give it a testing mode. Greatly enhance the logic and reduce the amount of times each variable gets updated.

This commit is contained in:
2025-11-10 21:11:10 -07:00
parent ce67c2a5b8
commit b0762c7baf
2 changed files with 66 additions and 23 deletions

64
files/dwm/dwm-status.function Executable file
View File

@@ -0,0 +1,64 @@
#!/usr/bin/env bash
# 2025-11-10 Hyperling
# Icons: https://fontawesome.com/v4/cheatsheet/
source "`which volume.function`"
source "`which battery.function`"
source "`which storage.function`"
function datetime {
date +"%Y-%m-%d %H:%M:%S"
}
function dwm-status {
cmd="xsetroot -name "
if [[ $1 == "-t" || $1 == "--test" || $1 == "test" ]]; then
cmd="echo"
fi
if [[ "`storage-root`" == "`storage-home`" ]]; then
function dwm-status-storage {
echo "`storage-root-dwm`)"
}
else
function dwm-status-storage {
echo "(Root `storage-root-dwm`, Home `storage-home-dwm`)"
}
fi
battery=""; storage=""; volume=""; datetime="";
while true; do
# Reset Variables
if [[ $datetime == *"00" ]]; then
unset battery
unset storage
fi
if [[ $datetime != "`datetime`" ]]; then
unset volume
unset datetime
fi
# Set Variables
if [[ -z $battery ]]; then
battery="`battery-display`"
fi
if [[ -z $storage ]]; then
storage="`dwm-status-storage`"
fi
if [[ -z $volume ]]; then
volume="`volume-display`"
fi
if [[ -z $datetime ]]; then
datetime="`datetime`"
fi
# Display Variables
readout="$readout  $battery"
readout="$readout |  $storage"
readout="$readout |  $volume"
readout="$readout | `whoami`@`hostname`"
readout="$readout $datetime"
$cmd "$readout"
readout=""
sleep 0.2
done
}
alias status="dwm-status --test"

View File

@@ -35,29 +35,8 @@ xsetroot -solid "$purple"
#exec slstatus & #exec slstatus &
# Custom Setup # # Custom Setup #
# Icons: https://fontawesome.com/v4/cheatsheet/ source "`which dwm-status.function`"
source "`which volume.function`" dwm-status &
source "`which battery.function`"
source "`which storage.function`"
if [[ "`storage-root`" == "`storage-home`" ]]; then
function dwm-storage {
echo "`storage-root-dwm`)"
}
else
function dwm-storage {
echo "(Root `storage-root-dwm`, Home `storage-home-dwm`)"
}
fi
while true; do
readout="$readout  `battery-display`"
readout="$readout |  `dwm-storage`"
readout="$readout |  `volume-display`"
readout="$readout | `whoami`@`hostname`"
readout="$readout `date +"%Y-%m-%d %H:%M:%S"`"
xsetroot -name "$readout"
readout=""
sleep 0.2
done &
## Start ## ## Start ##