mirror of
https://github.com/ch11ng/exwm.git
synced 2024-11-30 14:38:00 +01:00
Merge branch 'Stebalien/expose-line-mode-passthrough' into externals/exwm
This commit is contained in:
commit
b79a3c52a5
2 changed files with 13 additions and 14 deletions
|
@ -80,7 +80,7 @@
|
|||
(logior xcb:EventMask:StructureNotify xcb:EventMask:PropertyChange))
|
||||
"Event mask set on all managed windows.")
|
||||
|
||||
(defvar exwm-input--line-mode-passthrough)
|
||||
(defvar exwm-input-line-mode-passthrough)
|
||||
(defvar exwm-input--global-prefix-keys)
|
||||
(defvar exwm-input-prefix-keys)
|
||||
(defvar exwm-input--simulation-prefix-keys)
|
||||
|
@ -154,7 +154,7 @@
|
|||
(lambda ()
|
||||
(interactive)
|
||||
(cond
|
||||
((or exwm-input--line-mode-passthrough
|
||||
((or exwm-input-line-mode-passthrough
|
||||
;; Do not test `exwm-input--during-command'.
|
||||
(active-minibuffer-window)
|
||||
(memq last-input-event exwm-input--global-prefix-keys)
|
||||
|
|
|
@ -420,7 +420,7 @@ This value should always be overwritten.")
|
|||
(defvar exwm-input--during-command nil
|
||||
"Indicate whether between `pre-command-hook' and `post-command-hook'.")
|
||||
|
||||
(defvar exwm-input--line-mode-passthrough nil
|
||||
(defvar exwm-input-line-mode-passthrough nil
|
||||
"Non-nil makes 'line-mode' forwards all events to Emacs.")
|
||||
|
||||
(defvar exwm-input--line-mode-cache nil "Cache for incomplete key sequence.")
|
||||
|
@ -449,7 +449,7 @@ This value should always be overwritten.")
|
|||
(setq event (xcb:keysyms:keysym->event
|
||||
exwm--connection (car keysym)
|
||||
(logand state (lognot (cdr keysym)))))
|
||||
(or exwm-input--line-mode-passthrough
|
||||
(or exwm-input-line-mode-passthrough
|
||||
exwm-input--during-command
|
||||
;; Forward the event when there is an incomplete key
|
||||
;; sequence or when the minibuffer is active.
|
||||
|
@ -629,16 +629,15 @@ This value should always be overwritten.")
|
|||
(let (key keys)
|
||||
(dotimes (i times)
|
||||
;; Skip events not from keyboard
|
||||
(setq exwm-input--line-mode-passthrough t)
|
||||
(catch 'break
|
||||
(while t
|
||||
(setq key (read-key (format "Send key: %s (%d/%d)"
|
||||
(key-description keys)
|
||||
(1+ i) times)))
|
||||
(when (and (listp key) (eq (car key) t))
|
||||
(setq key (cdr key)))
|
||||
(unless (listp key) (throw 'break nil))))
|
||||
(setq exwm-input--line-mode-passthrough nil)
|
||||
(let ((exwm-input-line-mode-passthrough t))
|
||||
(catch 'break
|
||||
(while t
|
||||
(setq key (read-key (format "Send key: %s (%d/%d)"
|
||||
(key-description keys)
|
||||
(1+ i) times)))
|
||||
(when (and (listp key) (eq (car key) t))
|
||||
(setq key (cdr key)))
|
||||
(unless (listp key) (throw 'break nil)))))
|
||||
(setq keys (vconcat keys (vector key)))
|
||||
(exwm-input--fake-key key))))
|
||||
|
||||
|
|
Loading…
Reference in a new issue