From ec108a61dc38f84a3b290f022929331e97784842 Mon Sep 17 00:00:00 2001 From: Ian Eure Date: Fri, 1 Feb 2019 16:55:24 -0800 Subject: [PATCH] Cleanup simulation key config issues MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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)))