Move modeline hiding to core-popups
This commit is contained in:
parent
f1b2c18476
commit
2c841b512d
2 changed files with 13 additions and 23 deletions
|
@ -106,6 +106,10 @@ for the obvious :align t on every rule."
|
||||||
"Minor mode for popup windows."
|
"Minor mode for popup windows."
|
||||||
:init-value nil
|
:init-value nil
|
||||||
:keymap doom-popup-mode-map
|
:keymap doom-popup-mode-map
|
||||||
|
;; Don't show modeline in popup windows without a :modeline rule. If one
|
||||||
|
;; exists and it's a symbol, use `doom-modeline' to grab the format. If
|
||||||
|
;; non-nil, show the mode-line as normal. If nil (or omitted), then hide the
|
||||||
|
;; modeline entirely.
|
||||||
(if (and (not doom-popup-mode)
|
(if (and (not doom-popup-mode)
|
||||||
doom-hide-modeline-mode)
|
doom-hide-modeline-mode)
|
||||||
(doom-hide-modeline-mode -1)
|
(doom-hide-modeline-mode -1)
|
||||||
|
@ -114,14 +118,13 @@ for the obvious :align t on every rule."
|
||||||
(not modeline))
|
(not modeline))
|
||||||
(doom-hide-modeline-mode +1))
|
(doom-hide-modeline-mode +1))
|
||||||
((symbolp modeline)
|
((symbolp modeline)
|
||||||
(let ((doom--hidden-modeline-format (+doom-modeline modeline)))
|
(let ((doom--hidden-modeline-format (doom-modeline modeline)))
|
||||||
(doom-hide-modeline-mode +1))))))
|
(doom-hide-modeline-mode +1)))))))
|
||||||
(unless doom-popup-mode
|
|
||||||
(mapc (lambda (cfg) (set-window-parameter nil cfg nil))
|
|
||||||
'(popup no-other-window noesc)))
|
|
||||||
(set-window-dedicated-p nil doom-popup-mode))
|
|
||||||
(put 'doom-popup-mode 'permanent-local t)
|
(put 'doom-popup-mode 'permanent-local t)
|
||||||
|
|
||||||
|
;; Hide modeline in completion popups
|
||||||
|
(@add-hook (completion-in-region-mode completion-list-mode) 'doom-hide-modeline-mode)
|
||||||
|
|
||||||
(defun doom-popup--init (window &optional plist)
|
(defun doom-popup--init (window &optional plist)
|
||||||
"Initializes a window as a popup window. Sets custom window parameters and
|
"Initializes a window as a popup window. Sets custom window parameters and
|
||||||
enables `doom-popup-mode'."
|
enables `doom-popup-mode'."
|
||||||
|
@ -171,6 +174,10 @@ properties."
|
||||||
(when (doom-popup-p window)
|
(when (doom-popup-p window)
|
||||||
(with-selected-window window
|
(with-selected-window window
|
||||||
(doom-popup-mode -1)
|
(doom-popup-mode -1)
|
||||||
|
(unless doom-popup-mode
|
||||||
|
(mapc (lambda (cfg) (set-window-parameter window cfg nil))
|
||||||
|
'(popup no-other-window noesc autokill)))
|
||||||
|
(set-window-dedicated-p window nil)
|
||||||
(when doom-popup-remember-history
|
(when doom-popup-remember-history
|
||||||
(setq doom-popup-history (list (doom--popup-data window))))
|
(setq doom-popup-history (list (doom--popup-data window))))
|
||||||
(when (window-parameter window 'autokill)
|
(when (window-parameter window 'autokill)
|
||||||
|
|
|
@ -48,23 +48,6 @@
|
||||||
(lambda () (set-face-attribute 'mode-line nil :background doom--visual-bell-bg))))
|
(lambda () (set-face-attribute 'mode-line nil :background doom--visual-bell-bg))))
|
||||||
|
|
||||||
|
|
||||||
;; Don't show modeline in popup windows without a :modeline rule. If one exists
|
|
||||||
;; and it's a symbol, use `doom-modeline' to grab the format. If nil, show the
|
|
||||||
;; mode-line as normal. If t, then hide the modeline entirely.
|
|
||||||
(@add-hook doom-popup-mode
|
|
||||||
(if (and (not doom-popup-mode)
|
|
||||||
doom-hide-modeline-mode)
|
|
||||||
(doom-hide-modeline-mode -1)
|
|
||||||
(let ((modeline (plist-get doom-popup-rules :modeline)))
|
|
||||||
(cond ((eq modeline 'nil)
|
|
||||||
(doom-hide-modeline-mode +1))
|
|
||||||
((symbolp modeline)
|
|
||||||
(let ((doom--hidden-modeline-format (+doom-modeline modeline)))
|
|
||||||
(doom-hide-modeline-mode +1)))))))
|
|
||||||
|
|
||||||
(@add-hook (completion-in-region-mode completion-list-mode) 'doom-hide-modeline-mode)
|
|
||||||
|
|
||||||
|
|
||||||
;; Keep `+doom-modeline-current-window' up-to-date
|
;; Keep `+doom-modeline-current-window' up-to-date
|
||||||
(defvar +doom-modeline-current-window (frame-selected-window))
|
(defvar +doom-modeline-current-window (frame-selected-window))
|
||||||
(defun +doom-modeline|set-selected-window (&rest _)
|
(defun +doom-modeline|set-selected-window (&rest _)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue