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:
64
files/dwm/dwm-status.function
Executable file
64
files/dwm/dwm-status.function
Executable 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"
|
||||||
@@ -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 ##
|
||||||
|
|||||||
Reference in New Issue
Block a user