emacs: exwm: improve close/quit -related bindings
[~bandali/configs] / .emacs.d / init.el
index 9b0c0c7..4102df0 100644 (file)
@@ -582,7 +582,7 @@ For disabling the behaviour for certain buffers and/or modes."
 
 (use-feature exwm-input
   :demand
-  :after exwm-workspace
+  :after exwm
   :config
   (defun b/exwm-ws-prev-index ()
     "Return the index for the previous EXWM workspace, wrapping
@@ -602,7 +602,8 @@ around if needed."
   ;; shorten 'C-c C-q' to 'C-q'
   (define-key exwm-mode-map [?\C-q] #'exwm-input-send-next-key)
 
-  (setq exwm-input-global-keys
+  (setq exwm-workspace-number 4
+        exwm-input-global-keys
         `(([?\s-R] . exwm-reset)
           ([?\s-\\] . exwm-workspace-switch)
           ([?\s-\s] . dmenu)
@@ -655,10 +656,10 @@ around if needed."
                     (number-sequence 0 (1- exwm-workspace-number)))
           ([?\s-t] . exwm-floating-toggle-floating)
           ([?\s-f] . exwm-layout-toggle-fullscreen)
-          ([?\s-w] . (lambda ()
+          ([?\s-W] . (lambda ()
                        (interactive)
                        (kill-buffer (current-buffer))))
-          ([?\s-q] . (lambda ()
+          ([?\s-Q] . (lambda ()
                        (interactive)
                        (exwm-manage--kill-client)))
           ([?\s-\'] . (lambda ()
@@ -724,7 +725,10 @@ around if needed."
       ;; search
       ([?\C-s] . [?\C-f])
       ;; escape
-      ([?\C-g] . [escape]))))
+      ([?\C-g] . [escape])
+      ;; window
+      ([?\s-w] . [?\C-w])
+      ([?\s-q] . [?\C-q]))))
 
 (use-feature exwm-manage
   :demand
@@ -736,9 +740,7 @@ around if needed."
                              ((string= exwm-class-name "Abrowser")
                               (exwm-input-set-local-simulation-keys
                                `(,@exwm-input-simulation-keys
-                                 ([?\C-\S-d] . [?\C-d])
-                                 ([?\C-q] . [?\C-w])
-                                 ([?\s-q] . [?\C-q]))))
+                                 ([?\C-\S-d] . [?\C-d]))))
                              ((string= exwm-class-name "URxvt")
                               (exwm-input-set-local-simulation-keys
                                '(([?\C-c ?\C-c] . [?\C-c])
@@ -760,11 +762,7 @@ around if needed."
   :config
   (exwm-systemtray-enable))
 
-(use-feature exwm-workspace
-  :demand
-  :after exwm
-  :custom
-  (exwm-workspace-number 4))
+(use-feature exwm-workspace)
 
 (use-package exwm-edit
   :demand