diff options
author | Chris Feng <chris.w.feng@gmail.com> | 2017-11-26T12·26+0800 |
---|---|---|
committer | Chris Feng <chris.w.feng@gmail.com> | 2017-11-26T12·26+0800 |
commit | 2b183f221239a24da8d65cb9043f1010aa14c640 (patch) | |
tree | 5428325c3f1f39ceb2eefe873ec846f0a670c4c4 /exwm-input.el | |
parent | 76b567dddb6a6fdaacf56312b4b3d698cd940eaa (diff) |
Re-grab global keys on keyboard update
* exwm-input.el (exwm-input--on-keysyms-update): New function for re-grabbing global keys. (exwm-input--init): Register it to XELB.
Diffstat (limited to 'exwm-input.el')
-rw-r--r-- | exwm-input.el | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/exwm-input.el b/exwm-input.el index 7bcbc9e4dcd2..097b392937c9 100644 --- a/exwm-input.el +++ b/exwm-input.el @@ -127,6 +127,10 @@ ARGS are additional arguments to CALLBACK." (x-focus-frame (selected-frame)) (select-window (selected-window)))))) +(defun exwm-input--on-keysyms-update () + (let ((exwm-input--global-prefix-keys nil)) + (exwm-input--update-global-prefix-keys))) + (defun exwm-input--on-workspace-list-change () "Run in `exwm-input--update-global-prefix-keys'." (dolist (f exwm-workspace--list) @@ -702,7 +706,7 @@ Its usage is the same with `exwm-input-set-simulation-keys'." (defun exwm-input--init () "Initialize the keyboard module." ;; Refresh keyboard mapping - (xcb:keysyms:init exwm--connection) + (xcb:keysyms:init exwm--connection #'exwm-input--on-keysyms-update) ;; Create the X window and intern the atom used to fetch timestamp. (setq exwm-input--timestamp-window (xcb:generate-id exwm--connection)) (xcb:+request exwm--connection |