* .emacs.d/lisp/dpkg-dev-el: Bump.
[~bandali/configs] / .emacs.d / lisp / bandali-exwm.el
index bd28d5b..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)
@@ -90,14 +89,14 @@ around if needed."
  exwm-workspace-number 10
  exwm-input-global-keys
  `(([?\s-R] . exwm-reset)
-   ([?\s-b] . exwm-workspace-switch-to-buffer)
-   ([?\s-\\] . exwm-workspace-switch)
+   ;; ([?\s-b] . exwm-workspace-switch-to-buffer)
+   ([?\s-/] . exwm-workspace-switch)
    ([?\s-\s] . dmenu)
-   ;; ([?\s-\s] . (lambda ()
-   ;;               (interactive)
-   ;;               (start-process-shell-command
-   ;;                "rofi" nil "rofi -show run")))
-   ([?\S-\s-\s] . (lambda (command)    ; doesn't work in X windows
+   ([?\s-\\] . (lambda ()
+                 (interactive)
+                 (start-process-shell-command
+                  "passmenu" nil "passmenu --type")))
+   ([?\S-\s-\s] . (lambda (command)
                     (interactive
                      (list (read-shell-command "➜ ")))
                     (start-process-shell-command
@@ -110,10 +109,6 @@ around if needed."
                      (start-process "" nil "xterm"
                                     "-name" "floating")))
    ([?\C-\s-\s] . counsel-linux-app)
-   ([?\M-\s-\s] . (lambda ()
-                    (interactive)
-                    (start-process-shell-command
-                     "passmenu" nil "passmenu --type")))
    ([?\s-h] . windmove-left)
    ([?\s-j] . windmove-down)
    ([?\s-k] . windmove-up)
@@ -171,7 +166,7 @@ around if needed."
             (interactive)
             (exwm-workspace-move-window ,i))))
       (number-sequence 0 (1- exwm-workspace-number)))
-   ([?\s-F] . exwm-floating-toggle-floating)
+   ([?\s-.] . exwm-floating-toggle-floating)
    ([?\s-f] . exwm-layout-toggle-fullscreen)
    ([?\s-W] . (lambda ()
                 (interactive)
@@ -183,29 +178,57 @@ around if needed."
                  (interactive)
                  (start-process-shell-command
                   "dmneu-light" nil "dmenu-light")))
+   ([?\s-\;] . (lambda ()
+                 (interactive)
+                 (start-process-shell-command
+                  "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)
@@ -228,8 +251,8 @@ around if needed."
       (start-process "" nil "light" "-A" "5")))
    ([XF86ScreenSaver] .
     (lambda ()
-         (interactive)
-         (start-process "" nil "dm-tool" "lock")))
+      (interactive)
+      (start-process "" nil "dm-tool" "lock")))
    ([\s-XF86Back] . previous-buffer)
    ([\s-XF86Forward] . next-buffer)))
 
@@ -262,8 +285,10 @@ around if needed."
    ([?\s-q] . [?\C-q])
    ;; misc
    ([?\C-s] . [?\C-f])
+   ([?\s-g] . [?\C-g])
    ([?\s-s] . [?\C-s])
-   ([?\C-g] . [escape])))
+   ([?\C-g] . [escape])
+   ([?\C-/] . [?\C-z])))
 
 (require 'exwm-manage)
 (setq
@@ -310,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
@@ -317,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