annotate modules/dwmbar.nix @ 3:84d6074a5566

Fix: forgot to hg add
author Yasuri <yasuri@charliesmp.net>
date Sat, 03 Oct 2026 19:15:32 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
1 { writeShellApplication, coreutils, gawk, xsetroot, wireplumber, playerctl }:
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
2
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
3 writeShellApplication {
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
4 name = "dwmbar";
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
5 runtimeInputs = [ coreutils gawk xsetroot wireplumber playerctl ];
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
6 text = ''
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
7 while true; do
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
8 # volume
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
9 vol_raw=$(wpctl get-volume @DEFAULT_AUDIO_SINK@)
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
10 vol=$(echo "$vol_raw" | awk '{print int($2*100)}')
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
11 if [[ "$vol_raw" == *MUTED* ]]; then
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
12 vol_icon=$'\uf026'
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
13 else
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
14 vol_icon=$'\uf028'
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
15 fi
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
16
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
17 music_icon=$'\uf001'
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
18 cal_icon=$'\uf073'
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
19
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
20 # mpris
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
21 music=""
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
22 if [ "$(playerctl status 2>/dev/null)" = "Playing" ]; then
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
23 track=$(playerctl metadata --format '{{artist}} - {{title}}' 2>/dev/null)
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
24 music="$music_icon ''${track:0:50} "
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
25 fi
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
26
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
27 # battery
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
28 cap=$(cat /sys/class/power_supply/BAT0/capacity)
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
29 status=$(cat /sys/class/power_supply/BAT0/status)
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
30 if [ "$status" = "Charging" ]; then
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
31 bat_icon=$'\uf0e7'
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
32 elif [ "$cap" -ge 88 ]; then
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
33 bat_icon=$'\uf240'
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
34 elif [ "$cap" -ge 63 ]; then
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
35 bat_icon=$'\uf241'
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
36 elif [ "$cap" -ge 38 ]; then
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
37 bat_icon=$'\uf242'
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
38 elif [ "$cap" -ge 13 ]; then
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
39 bat_icon=$'\uf243'
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
40 else
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
41 bat_icon=$'\uf244'
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
42 fi
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
43
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
44 # date
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
45 now=$(date '+%m/%d/%Y %I:%M %p')
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
46
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
47 xsetroot -name " $music$vol_icon $vol% $bat_icon $cap% $cal_icon $now "
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
48 sleep 2
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
49 done
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
50 '';
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
51 }