Improve input focus switch mechanism

This commit should fix most input focus bugs (especially those related to
floating windows). The actual settings of input focus are delayed to exclude
redundant event. Dead code since this commit is removed.

This commit also fixes a bug for non-floating windows converted form floating
state. The workaround for `ido-mode` is also improved to properly handle
`exwm-mode` buffers.
This commit is contained in:
Chris Feng 2015-08-12 18:09:35 +08:00
parent 1ce18afd05
commit 04e4269617
5 changed files with 62 additions and 81 deletions

View file

@ -188,9 +188,6 @@ The optional FORCE option is for internal use only."
;; Move the window itself
(bury-buffer)
(exwm-layout--hide id)
;; Force update input focus
(setq exwm-input--focus-id xcb:Window:None)
(exwm-input--update-focus)
(xcb:+request exwm--connection
(make-instance 'xcb:ReparentWindow
:window id