[rc] add volume-info script for displaying volume in bar
[~bandali/configs] / rc.org
diff --git a/rc.org b/rc.org
index ecbc202..e787d8b 100644 (file)
--- a/rc.org
+++ b/rc.org
@@ -752,25 +752,30 @@ timeout = 0
 borders_width=0 0 2 0
 separator_width=10
 
-[mpd]
-preset=MPD
-title=<span weight='heavy' fgcolor='#7FDBFF'> </span>
-borders_color=#7FDBFF
+#[mpd]
+#preset=MPD
+#title=<span weight='heavy' fgcolor='#7FDBFF'> </span>
+#borders_color=#7FDBFF
 
 [ram]
 preset=RAM
 title=<span weight='heavy' fgcolor='#3D9970'> </span>
 borders_color=#3D9970
 
-[cpu]
-preset=CPU
-title=<span weight='heavy' fgcolor='#2ECC40'> </span>
-borders_color=#2ECC40
+#[cpu]
+#preset=CPU
+#title=<span weight='heavy' fgcolor='#2ECC40'> </span>
+#borders_color=#2ECC40
 
-[hdd]
-preset=HDD
-title=<span weight='heavy' fgcolor='#01FF70'> </span>
-borders_color=#01FF70
+#[hdd]
+#preset=HDD
+#title=<span weight='heavy' fgcolor='#01FF70'> </span>
+#borders_color=#01FF70
+
+[volume]
+command=volume-info
+title=<span weight='heavy' fgcolor='#7FDBFF'></span>
+borders_color=#7FDBFF
 
 [battery]
 preset=BAT
@@ -4878,13 +4883,30 @@ exact brightness value.
 
 ** battery-percentage-time
 :PROPERTIES:
-:header-args+: :tangle ~/.local/bin/battery-percentage-time :shebang "#!/bin/bash"
+:header-args+: :tangle ~/.local/bin/battery-percentage-time :shebang "#!/bin/sh"
 :END:
 
-#+begin_src bash
-pct=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep percentage | awk '{print $2}')
-time=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep time | awk '{print $4,$5}')
-echo "$pct ($time)"
+#+begin_src sh
+dbus_send() {
+       label=$1
+       dbus-send --print-reply=literal --system \
+               --dest=org.freedesktop.UPower \
+               /org/freedesktop/UPower/devices/battery_BAT0 \
+               org.freedesktop.DBus.Properties.Get \
+               string:org.freedesktop.UPower.Device \
+               string:"${label}" | awk '{print $3}'
+}
+
+perc=$(dbus_send 'Percentage')
+state=$(dbus_send 'State')
+
+if [ "$state" -eq 2 ]; then  # Discharging
+       secs=$(dbus_send 'TimeToEmpty')
+elif [ "$state" -eq 1 ]; then  # Charging
+       secs=$(dbus_send 'TimeToFull')
+fi
+
+printf '%s%%%%%2dh%02dm\n' "$perc" $((secs / 3600)) $((secs % 3600 / 60))
 #+end_src
 
 ** rofi-light
@@ -5022,6 +5044,21 @@ import gnomekeyring as gk
 gk.unlock_sync('Default_keyring',gk.item_get_info_sync('login',1L).get_secret())
 #+end_src
 
+** volume-info
+:PROPERTIES:
+:header-args+: :tangle ~/.local/bin/volume-info :shebang "#!/bin/sh"
+:END:
+
+#+begin_src sh
+cur_vol=$(pamixer --get-volume)
+
+if [ $(pamixer --get-mute) = true ]; then
+  printf 'mt \n' "$cur_vol"
+else
+  printf '%02d \n' "$cur_vol"
+fi
+#+end_src
+
 ** wp
 
 My little wallpaper changer script.