[rc] add volume-info script for displaying volume in bar
[~bandali/configs] / rc.org
diff --git a/rc.org b/rc.org
index 3f39f97..e787d8b 100644 (file)
--- a/rc.org
+++ b/rc.org
@@ -743,6 +743,58 @@ timeout = 0
 *-autoloads.el
 #+end_src
 
+** [[https://github.com/Leinnan/i3gs][i3gs]]
+:PROPERTIES:
+:header-args+: :tangle ~/.config/i3gs/config
+:END:
+
+#+begin_src conf :comments none
+borders_width=0 0 2 0
+separator_width=10
+
+#[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
+
+#[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
+command=battery-percentage-time
+title=<span weight='heavy' fgcolor='#39CCCC'> </span>
+borders_color=#39CCCC
+
+[wifi]
+preset=WIFI
+title=<span weight='heavy' fgcolor='#01FF70'> </span>
+borders_color=#01FF70
+
+[date]
+preset=DATE
+command=date '+%-I:%M, %a %b %d'
+title=<span weight='heavy' fgcolor='#FFDC00'> </span>
+borders_color=#FFDC00
+separator_width=0
+#+end_src
 ** Latexmk
 :PROPERTIES:
 :header-args+: :tangle ~/.latexmkrc
@@ -3617,6 +3669,7 @@ insert_pass="Alt+n"
 
 #+begin_src conf
 exec xrdb .Xresources
+exec dunst
 ### Variables
 # super
 set $mod Mod4
@@ -3687,10 +3740,7 @@ input "1:1:AT_Translated_Set_2_keyboard" {
 
     # Drag floating windows by holding down $mod and left mouse button.
     # Resize them with right mouse button + $mod.
-    # Despite the name, also works for non-floating windows.
-    # Change normal to inverse to use left mouse button for resizing and right
-    # mouse button for dragging.
-    #floating_modifier $mod normal
+    floating_modifier $mod
 
     # reload the configuration file
     bindsym $mod+Shift+c reload
@@ -3702,17 +3752,22 @@ input "1:1:AT_Translated_Set_2_keyboard" {
     bindsym XF86MonBrightnessUp exec light -A 5    # increase screen brightness
     bindsym XF86MonBrightnessDown exec light -U 5  # decrease screen brightness
 
-    # bspwm-esque workspace switch and window move
-    bindsym $mod+bracketleft exec sway-ws-util switch prev
-    bindsym $mod+bracketright exec sway-ws-util switch next
-    bindsym $mod+braceleft exec sway-ws-util move prev follow
-    bindsym $mod+braceright exec sway-ws-util move next follow
+    bindsym XF86AudioRaiseVolume exec pamixer --allow-boost --increase 5
+    bindsym XF86AudioLowerVolume exec pamixer --allow-boost --decrease 5
+    bindsym XF86AudioMute exec pamixer --toggle-mute
+    bindsym XF86AudioMicMute exec pactl set-source-mute 1 toggle
 
     # original sway workspace switch and window move
-    bindsym $mod2+bracketleft workspace prev
-    bindsym $mod2+bracketright workspace next
-    bindsym $mod2+braceleft move container to workspace prev
-    bindsym $mod2+braceright move container to workspace next
+    bindsym $mod+bracketleft workspace prev
+    bindsym $mod+bracketright workspace next
+    bindsym $mod+braceleft move container to workspace prev
+    bindsym $mod+braceright move container to workspace next
+
+    # bspwm-esque workspace switch and window move
+    bindsym $mod2+bracketleft exec sway-ws-util switch prev
+    bindsym $mod2+bracketright exec sway-ws-util switch next
+    bindsym $mod2+braceleft exec sway-ws-util move prev follow
+    bindsym $mod2+braceright exec sway-ws-util move next follow
 #
 # Moving around:
 #
@@ -3824,7 +3879,7 @@ mode "resize" {
     bindsym Return mode "default"
     bindsym Escape mode "default"
 }
-bindsym $mod+r mode "resize"
+bindsym $mod+Shift+r mode "resize"
 
 #
 # Status Bar:
@@ -3837,7 +3892,7 @@ bar {
         background #323232
         inactive_workspace #32323200 #32323200 #5c5c5c
     }
-    status_command i3blocks
+    status_command i3gs ~/.config/i3gs/config
 }
 
 include /etc/sway/config.d/*
@@ -4826,6 +4881,34 @@ Xfce's presentation mode which keeps the screen awake, and
 =rofi-light= a small utility that uses [[https://github.com/DaveDavenport/rofi][Rofi]] to ask and [[https://github.com/haikarainen/light][light]] to set an
 exact brightness value.
 
+** battery-percentage-time
+:PROPERTIES:
+:header-args+: :tangle ~/.local/bin/battery-percentage-time :shebang "#!/bin/sh"
+:END:
+
+#+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
 :PROPERTIES:
 :header-args+: :tangle ~/.local/bin/rofi-light :shebang "#!/bin/bash"
@@ -4961,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.