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:
parent
1ce18afd05
commit
04e4269617
5 changed files with 62 additions and 81 deletions
|
|
@ -183,15 +183,8 @@ corresponding buffer.")
|
|||
(let ((floating exwm--floating-frame))
|
||||
(kill-buffer)
|
||||
(when floating
|
||||
(if (eq 'exwm-mode
|
||||
(with-current-buffer
|
||||
(window-buffer
|
||||
(frame-first-window exwm-workspace--current))
|
||||
major-mode))
|
||||
;; Input focus is to be set on a window
|
||||
(x-focus-frame exwm-workspace--current)
|
||||
;; Set input focus on a frame
|
||||
(select-frame-set-input-focus exwm-workspace--current))))))))
|
||||
(select-window
|
||||
(frame-selected-window exwm-workspace--current))))))))
|
||||
|
||||
(defun exwm-manage--scan ()
|
||||
"Search for existing windows and try to manage them."
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue