Clean up the system volume in mode-line display code
[~bandali/configs] / .emacs.d / lisp / bandali-exwm.el
index 463ebbf..e7f83ce 100644 (file)
@@ -1,6 +1,6 @@
 ;;; bandali-exwm.el --- bandali's EXWM configuration  -*- lexical-binding: t; -*-
 
-;; Copyright (C) 2018-2022  Amin Bandali
+;; Copyright (c) 2018-2023 Amin Bandali
 
 ;; Author: Amin Bandali <bandali@gnu.org>
 ;; Keywords: tools
@@ -27,8 +27,7 @@
 (add-to-list 'load-path (b/lisp "xelb"))
 (add-to-list 'load-path (b/lisp "exwm"))
 (require 'exwm)
-(setq ;; exwm-replace t
-      exwm-workspace-show-all-buffers t)
+;; (setq exwm-replace t)
 ;; make class name the buffer name, truncating beyond 60 characters
 (defun b/exwm-rename-buffer ()
   (interactive)
@@ -182,30 +181,54 @@ around if needed."
    ([?\s-\;] . (lambda ()
                  (interactive)
                  (start-process-shell-command
-                  "dmneu-pamixer" nil "dmenu-pamixer")))
+                  "dmneu-pamixer" nil "dmenu-pamixer")
+                 (b/volume-update)))
    ([XF86AudioMute] .             ; borken on my X200 :-(
     (lambda ()
       (interactive)
-      (start-process "" nil "pamixer" "--toggle-mute")))
+      (start-process "" nil "pamixer" "--toggle-mute")
+      (b/volume-update)))
+   ([\s-XF86AudioMute] .            ; toggle mic mute
+    (lambda ()
+      (interactive)
+      (start-process
+       "" nil "pamixer" "--default-source" "--toggle-mute")
+      (b/volume-update)))
    ([XF86Launch1] .
     (lambda ()
       (interactive)
-      (start-process "" nil "pamixer" "--toggle-mute")))
+      (start-process "" nil "pamixer" "--toggle-mute")
+      (b/volume-update)))
    ([\s-XF86Launch1] .            ; toggle mic mute
     (lambda ()
       (interactive)
       (start-process
-       "" nil "pamixer" "--default-source" "--toggle-mute")))
+       "" nil "pamixer" "--default-source" "--toggle-mute")
+      (b/volume-update)))
    ([XF86AudioLowerVolume] .
     (lambda ()
       (interactive)
       (start-process
-       "" nil "pamixer" "--allow-boost" "--decrease" "5")))
+       "" nil "pamixer" "--allow-boost" "--decrease" "5")
+      (b/volume-update)))
    ([XF86AudioRaiseVolume] .
     (lambda ()
       (interactive)
       (start-process
-       "" nil "pamixer" "--allow-boost" "--increase" "5")))
+       "" nil "pamixer" "--allow-boost" "--increase" "5")
+      (b/volume-update)))
+   ([\s-XF86AudioLowerVolume] .
+    (lambda ()
+      (interactive)
+      (start-process
+       "" nil "pamixer" "--default-source" "--decrease" "5")
+      (b/volume-update)))
+   ([\s-XF86AudioRaiseVolume] .
+    (lambda ()
+      (interactive)
+      (start-process
+       "" nil "pamixer" "--default-source" "--increase" "5")
+      (b/volume-update)))
    ([XF86AudioPlay] .
     (lambda ()
       (interactive)
@@ -312,6 +335,7 @@ around if needed."
 (require 'exwm-edit)
 
 (with-eval-after-load 'exwm-workspace
+  (setq exwm-workspace-show-all-buffers t)
   (setq-default
    mode-line-format
    (append
@@ -319,7 +343,10 @@ around if needed."
     '((:eval
        (format
         " [%s]" (number-to-string
-                exwm-workspace-current-index)))))))
+                 exwm-workspace-current-index)))))))
+
+(with-eval-after-load 'exwm-layout
+  (setq exwm-layout-show-all-buffers t))
 
 (provide 'bandali-exwm)
 ;;; bandali-exwm.el ends here