Improve doom modeline focus hooks

More reliable deactivation when unfocusing or switching away from Emacs.
This commit is contained in:
Henrik Lissner 2018-06-16 21:41:39 +02:00
parent b880175d79
commit 79413be1f0
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -54,10 +54,18 @@
(force-mode-line-update))
(add-hook 'window-configuration-change-hook #'+doom-modeline|set-selected-window)
(add-hook 'focus-in-hook #'+doom-modeline|set-selected-window)
(add-hook 'focus-out-hook #'+doom-modeline|unset-selected-window)
(add-hook 'doom-after-switch-window-hook #'+doom-modeline|set-selected-window)
(add-hook 'doom-after-switch-frame-hook #'+doom-modeline|set-selected-window)
(if (boundp 'after-focus-change-function)
(progn
(add-hook 'focus-in-hook #'+doom-modeline|set-selected-window)
(add-hook 'focus-out-hook #'+doom-modeline|unset-selected-window))
(defun +doom-modeline|refresh-frame ()
(setq +doom-modeline-current-window nil)
(cl-loop for frame in (frame-list)
if (eq (frame-focus-state frame) t)
return (setq +doom-modeline-current-window (frame-selected-window frame)))
(force-mode-line-update))
(add-function :after after-focus-change-function #'+doom-modeline|refresh-frame))
;;