#!/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