diff options
author | Chris Feng <chris.w.feng@gmail.com> | 2016-07-14T14·08+0800 |
---|---|---|
committer | Chris Feng <chris.w.feng@gmail.com> | 2016-07-14T14·08+0800 |
commit | 39dc328157a970742aa40d3d9169376d2208fce3 (patch) | |
tree | 9604b941a55dc13328afc72f02859bb004b37ab8 /exwm-input.el | |
parent | 6c8255bf3978a4df3d76ffd6f7d6bbdbba8bba19 (diff) |
Fix various stability issues
* exwm-input.el (exwm-input--on-KeyPress-line-mode) (exwm-input--on-KeyPress-char-mode): Append events at the tail. * exwm-manage.el (exwm-manage--unmanage-window): Remove the _NET_WM_DESKTOP property when an X window is withdrawn. * exwm-systemtray.el (exwm-systemtray--init): * exwm-workspace.el (exwm-workspace--confirm-kill-emacs): Issue warning rather than error when there's an existing tray running. * exwm.el (exwm--on-ClientMessage): The buffer window can be on a floating frame.
Diffstat (limited to 'exwm-input.el')
-rw-r--r-- | exwm-input.el | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/exwm-input.el b/exwm-input.el index 3cb189bb50f9..8813f762c67e 100644 --- a/exwm-input.el +++ b/exwm-input.el @@ -313,7 +313,8 @@ It's updated in several occasions, and only used by `exwm-input--set-focus'.") (unless minibuffer-window (setq exwm-input--during-key-sequence t)) ;; Feed this event to command loop. Also force it to be added to ;; `this-command-keys'. - (push (cons t event) unread-command-events)) + (setq unread-command-events + (append unread-command-events `((t . ,event))))) (xcb:+request exwm--connection (make-instance 'xcb:AllowEvents :mode (or mode xcb:Allow:ReplayKeyboard) @@ -336,7 +337,8 @@ It's updated in several occasions, and only used by `exwm-input--set-focus'.") (setq exwm-input--temp-line-mode t exwm-input--during-key-sequence t) (exwm-input--grab-keyboard)) ;grab keyboard temporarily - (push event unread-command-events)))) + (setq unread-command-events + (append unread-command-events (list event)))))) (xcb:+request exwm--connection (make-instance 'xcb:AllowEvents :mode xcb:Allow:AsyncKeyboard |