.s/scripts/statusbar.sh
2024-09-02 00:45:03 -07:00

105 lines
2.1 KiB
Bash
Executable File

#!/bin/sh
usbmon() {
usb1=$(lsblk -la | awk '/sdc1/ { print $1 }')
usb1mounted=$(lsblk -la | awk '/sdc1/ { print $7 }')
if [ "$usb1" ]; then
if [ -z "$usb1mounted" ]; then
echo " |"
else
echo "$usb1 |"
fi
fi
}
battery() {
percentage=$(acpi -b | awk '{ print $4; }' | tr -d "%" | tr -d ",")
state=$(acpi -b | awk '{ print $3; }' | tr -d ",")
if [ $state = "Discharging" ]; then
if [ $percentage -gt 75 ]; then
state=""
elif [ $percentage -gt 50 ]; then
state=""
elif [ $percentage -gt 25 ]; then
state=""
else
state=""
fi
elif [ $state = "Full" ]; then
state=""
elif [ $state = "Charging" ]; then
state=""
fi
echo "$state $percentage %"
}
fsmon() {
ROOTPART=$(df -h | awk '/\/$/ { print $3}')
HOMEPART=$(df -h | awk '/\/home/ { print $3}')
SWAPPART=$(cat /proc/swaps | awk '/\// { print $4 }')
echo "$ROOTPART$HOMEPART$SWAPPART"
}
ram() {
mem=$(free -h | awk '/Mem:/ { print $3 }' | cut -f1 -d 'i')
echo"$mem"
}
cpu() {
read -r cpu a b c previdle rest < /proc/stat
prevtotal=$((a+b+c+previdle))
sleep 0.5
read -r cpu a b c idle rest < /proc/stat
total=$((a+b+c+idle))
cpu=$((100*( (total-prevtotal) - (idle-previdle) ) / (total-prevtotal) ))
echo"$cpu"%
}
network() {
conntype=$(ip route | awk '/default/ { print substr($5,1,1) }')
if [ -z "$conntype" ]; then
echo " down"
elif [ "$conntype" = "e" ]; then
echo " up"
elif [ "$conntype" = "w" ]; then
echo " up"
fi
}
volume_pa() {
muted=$(pactl list sinks | awk '/Mute:/ { print $2 }')
vol=$(pactl list sinks | grep Volume: | awk 'FNR == 1 { print $5 }' | cut -f1 -d '%')
if [ "$muted" = "yes" ]; then
echo " muted"
else
if [ "$vol" -ge 65 ]; then
echo "$vol%"
elif [ "$vol" -ge 40 ]; then
echo "$vol%"
elif [ "$vol" -ge 0 ]; then
echo "$vol%"
fi
fi
}
clock() {
dte=$(date +"%D")
time=$(date +"%H:%M")
echo "$dte$time"
}
main() {
while true; do
dwm -s " $(usbmon) $(ram) | $(cpu) | $(battery) | $(network) | $(volume_pa) | $(clock)"
sleep 1
done
}
main