diff --git a/modules/ui/doom-modeline/config.el b/modules/ui/doom-modeline/config.el index cd686e1bb..c7938c3e4 100644 --- a/modules/ui/doom-modeline/config.el +++ b/modules/ui/doom-modeline/config.el @@ -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)) ;;