diff options
| author | Craig Jennings <c@cjennings.net> | 2025-05-21 22:01:35 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2025-05-21 22:01:35 -0500 |
| commit | b4463015b97912658d630377fafbf630f7588d1e (patch) | |
| tree | d04b66d992fe2ce88391889c21c5d8dc97acd0ef /dotfiles/system/.local/bin/dwmstatus | |
| parent | 548154ea395356868e87980b149dfc0abdc84e17 (diff) | |
moving arch dotfiles into archsetup
Diffstat (limited to 'dotfiles/system/.local/bin/dwmstatus')
| -rwxr-xr-x | dotfiles/system/.local/bin/dwmstatus | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/dotfiles/system/.local/bin/dwmstatus b/dotfiles/system/.local/bin/dwmstatus new file mode 100755 index 0000000..d0cff02 --- /dev/null +++ b/dotfiles/system/.local/bin/dwmstatus @@ -0,0 +1,79 @@ +#!/bin/sh +# displays status of microphone, camera, wifi, free home disk space, and date/time +# uses icons found in nerd fonts here: https://github.com/ryanoasis/nerd-fonts.git + +export DISPLAY=:0 +unset status + +########################################################################## +# MIC # +########################################################################## + +# micsymbol_on="" +# micsymbol_off="" + +# amixer get Capture | grep '\[off\]' && mic="$micsymbol_off" || mic="$micsymbol_on" +# status="$mic " + + +########################################################################## +# VOLUME # +########################################################################## + +speakersymbol="" +if grep -q "yes" <<< $(pactl get-sink-mute $(pactl get-default-sink)) ; then + speakersymbol="" + vol="" +else + vol=$(echo $(pactl get-sink-volume $(pactl get-default-sink)) | cut -d"/" -f2 | xargs) +fi +status+="$speakersymbol $vol " + + +########################################################################## +# WIFI # +########################################################################## + +wifisymbol_on="" +wifisymbol_off="" +# note: assumes we're using network-manager +ssid="$(nmcli -t -f active,ssid dev wifi | grep -E '^yes' | cut -d: -f2)" +wifi="$wifisymbol_off" +if [ "$ssid" != "" ]; then wifi="$wifisymbol_on $ssid"; fi +status+="$wifi " + + +########################################################################## +# BATTERY # +########################################################################## + +# desktops don't typically have batteries. if no batteries are found, skip this section +if [[ -n $(find /sys/class/power_supply/ -name "BAT?") ]]; then + + # however, laptops may have multiple batteries, so list them individually + for battery in /sys/class/power_supply/BAT?; do + batstat=$(sed "s/[Dd]ischarging//;s/[Nn]ot charging//;s/[Cc]harging//;s/[Uu]nknown//;s/[Ff]ull//" "$battery"/status) + battery_level=$(cat "$battery"/capacity 2>/dev/null) + status+="${batstat} ${battery_level}% " + done +fi + + +########################################################################## +# /HOME DISK # +########################################################################## + +# disksymbol="" +# disk=$(df -hl | awk '{ if ($6 == "/home") print $4 " free" }') +# status+="$disksymbol $disk " + + +########################################################################## +# DATE / TIME # +########################################################################## + +# Format Example: Thu Mar 25 03:37 PM CDT +calendarsymbol="" +status+="$calendarsymbol $(/bin/date +'%a %b %d %I:%M %p %Z')" + +xsetroot -name "$status" |
