branch: externals/exwm
commit ec108a61dc38f84a3b290f022929331e97784842
Author: Ian Eure <[email protected]>
Commit: Chris Feng <[email protected]>
Cleanup simulation key config issues
* exwm-input.el (exwm-input-simulation-keys): Original key only has
one option, so probably shouldn’t be a `choice` type; Move the
"User-defined" key value to the top, since that’s the one someone is
most likely to want).
* exwm-config.el (exwm-config-default): Only set custom vars if there
isn’t a saved value for them.
---
exwm-config.el | 26 ++++++++++++++------------
exwm-input.el | 8 ++++----
2 files changed, 18 insertions(+), 16 deletions(-)
diff --git a/exwm-config.el b/exwm-config.el
index 50f1366..8223633 100644
--- a/exwm-config.el
+++ b/exwm-config.el
@@ -31,7 +31,8 @@
(defun exwm-config-default ()
"Default configuration of EXWM."
;; Set the initial workspace number.
- (setq exwm-workspace-number 4)
+ (unless (get 'exwm-workspace-number 'saved-value)
+ (setq exwm-workspace-number 4))
;; Make class name the buffer name
(add-hook 'exwm-update-class-hook
(lambda ()
@@ -52,17 +53,18 @@
(interactive (list (read-shell-command "$ ")))
(start-process-shell-command command nil command)))
;; Line-editing shortcuts
- (setq exwm-input-simulation-keys
- '(([?\C-b] . [left])
- ([?\C-f] . [right])
- ([?\C-p] . [up])
- ([?\C-n] . [down])
- ([?\C-a] . [home])
- ([?\C-e] . [end])
- ([?\M-v] . [prior])
- ([?\C-v] . [next])
- ([?\C-d] . [delete])
- ([?\C-k] . [S-end delete])))
+ (unless (get 'exwm-input-simulation-keys 'saved-value)
+ (setq exwm-input-simulation-keys
+ '(([?\C-b] . [left])
+ ([?\C-f] . [right])
+ ([?\C-p] . [up])
+ ([?\C-n] . [down])
+ ([?\C-a] . [home])
+ ([?\C-e] . [end])
+ ([?\M-v] . [prior])
+ ([?\C-v] . [next])
+ ([?\C-d] . [delete])
+ ([?\C-k] . [S-end delete]))))
;; Enable EXWM
(exwm-enable)
;; Configure Ido
diff --git a/exwm-input.el b/exwm-input.el
index 4f64d35..04020ac 100644
--- a/exwm-input.el
+++ b/exwm-input.el
@@ -915,8 +915,9 @@ Notes:
* The predefined examples in the Customize interface are not guaranteed to
work for all applications. This can be tweaked on a per application basis
with `exwm-input-set-local-simulation-keys'."
- :type '(alist :key-type (choice (key-sequence :tag "Original"))
- :value-type (choice (key-sequence :tag "Move left" [left])
+ :type '(alist :key-type (key-sequence :tag "Original")
+ :value-type (choice (key-sequence :tag "User-defined")
+ (key-sequence :tag "Move left" [left])
(key-sequence :tag "Move right" [right])
(key-sequence :tag "Move up" [up])
(key-sequence :tag "Move down" [down])
@@ -928,8 +929,7 @@ Notes:
(key-sequence :tag "Paste" [C-v])
(key-sequence :tag "Delete" [delete])
(key-sequence :tag "Delete to EOL"
- [S-end delete])
- (key-sequence :tag "User-defined")))
+ [S-end delete])))
:set (lambda (symbol value)
(set symbol value)
(exwm-input--set-simulation-keys value)))