branch: externals/exwm
commit 97b1fb7c13ad7505ffe144f15875b366f1619f29
Author: Chris Feng <[email protected]>
Commit: Chris Feng <[email protected]>
Do the same for `exwm-input-global-keys'
---
exwm-config.el | 34 +++++++++++++++++++---------------
1 file changed, 19 insertions(+), 15 deletions(-)
diff --git a/exwm-config.el b/exwm-config.el
index 8223633..6635e43 100644
--- a/exwm-config.el
+++ b/exwm-config.el
@@ -37,21 +37,25 @@
(add-hook 'exwm-update-class-hook
(lambda ()
(exwm-workspace-rename-buffer exwm-class-name)))
- ;; 's-r': Reset
- (exwm-input-set-key (kbd "s-r") #'exwm-reset)
- ;; 's-w': Switch workspace
- (exwm-input-set-key (kbd "s-w") #'exwm-workspace-switch)
- ;; 's-N': Switch to certain workspace
- (dotimes (i 10)
- (exwm-input-set-key (kbd (format "s-%d" i))
- `(lambda ()
- (interactive)
- (exwm-workspace-switch-create ,i))))
- ;; 's-&': Launch application
- (exwm-input-set-key (kbd "s-&")
- (lambda (command)
- (interactive (list (read-shell-command "$ ")))
- (start-process-shell-command command nil command)))
+ ;; Global keybindings.
+ (unless (get 'exwm-input-global-keys 'saved-value)
+ (setq exwm-input-global-keys
+ `(
+ ;; 's-r': Reset (to line-mode).
+ ([?\s-r] . exwm-reset)
+ ;; 's-w': Switch workspace.
+ ([?\s-w] . exwm-workspace-switch)
+ ;; 's-&': Launch application.
+ ([?\s-&] . (lambda (command)
+ (interactive (list (read-shell-command "$ ")))
+ (start-process-shell-command command nil command)))
+ ;; 's-N': Switch to certain workspace.
+ ,@(mapcar (lambda (i)
+ `(,(kbd (format "s-%d" i)) .
+ (lambda ()
+ (interactive)
+ (exwm-workspace-switch-create ,i))))
+ (number-sequence 0 9)))))
;; Line-editing shortcuts
(unless (get 'exwm-input-simulation-keys 'saved-value)
(setq exwm-input-simulation-keys