diff --git a/core/core-ui.el b/core/core-ui.el index 900d29a70..7c3f35814 100644 --- a/core/core-ui.el +++ b/core/core-ui.el @@ -80,48 +80,6 @@ with `doom//reload-theme').") (fset #'yes-or-no-p #'y-or-n-p) ; y/n instead of yes/no -;; -;; A minor mode for hiding the mode-line -;; - -(defvar doom--modeline-format nil - "The modeline format to use when `doom-hide-modeline-mode' is active. Don't -set this directly. Let-bind it instead.") - -(defvar-local doom--old-modeline-format nil - "The old modeline format, so `doom-hide-modeline-mode' can revert when it's -disabled.") - -(define-minor-mode doom-hide-modeline-mode - "Minor mode to hide the mode-line in the current buffer." - :init-value nil - :global nil - (if doom-hide-modeline-mode - (progn - (add-hook 'after-change-major-mode-hook #'doom|hide-modeline-mode-reset nil t) - (setq doom--old-modeline-format mode-line-format - mode-line-format doom--modeline-format)) - (remove-hook 'after-change-major-mode-hook #'doom|hide-modeline-mode-reset t) - (setq mode-line-format doom--old-modeline-format)) - (force-mode-line-update)) - -;; Ensure major-mode or theme changes don't overwrite these variables -(put 'doom--old-modeline-format 'permanent-local t) -(put 'doom-hide-modeline-mode 'permanent-local t) -(put 'doom-hide-modeline-mode 'permanent-local-hook t) -(put 'doom|hide-modeline-mode-reset 'permanent-local-hook t) - -(defun doom|hide-modeline-mode-reset () - "Sometimes, a major-mode is activated after `doom-hide-modeline-mode' is -activated, thus disabling it (because changing major modes invokes -`kill-all-local-variables' and specifically seems to kill `mode-line-format's -local value, whether or not it's permanent-local. Therefore, we cycle -`doom-hide-modeline-mode' to fix this." - (when doom-hide-modeline-mode - (doom-hide-modeline-mode -1) - (doom-hide-modeline-mode +1))) - - ;; ;; Modeline library ;; @@ -217,6 +175,10 @@ DEFAULT is non-nil, set the default mode-line for all buffers." :commands (hs-minor-mode hs-toggle-hiding hs-already-hidden-p) :config (setq hs-hide-comments-when-hiding-all nil)) +(def-package! hide-mode-line + :commands hide-mode-line-mode + :init (add-hook 'completion-list-mode-hook #'hide-mode-line-mode)) + (def-package! highlight-indentation :commands (highlight-indentation-mode highlight-indentation-current-column-mode)) @@ -507,8 +469,6 @@ character that looks like a space that `whitespace-mode' won't affect.") ;; a good indicator that Emacs isn't frozen (add-hook 'doom-init-ui-hook #'blink-cursor-mode) -;; no modeline in completion popups -(add-hook 'completion-list-mode-hook #'doom-hide-modeline-mode) ;; line numbers in most modes (add-hook! (prog-mode text-mode conf-mode) #'doom|enable-line-numbers) diff --git a/core/packages.el b/core/packages.el index a6b3292c4..8b66296d0 100644 --- a/core/packages.el +++ b/core/packages.el @@ -8,6 +8,7 @@ ;; core-ui.el (package! all-the-icons) (package! fringe-helper) +(package! hide-mode-line) (package! highlight-indentation) (package! highlight-numbers) (unless (boundp 'display-line-numbers) diff --git a/modules/app/calendar/config.el b/modules/app/calendar/config.el index 7865412e2..c607b2898 100644 --- a/modules/app/calendar/config.el +++ b/modules/app/calendar/config.el @@ -31,7 +31,7 @@ (when (featurep 'solaire-mode) (add-hook 'cfw:calendar-mode-hook #'solaire-mode)) - (add-hook 'cfw:calendar-mode-hook 'doom-hide-modeline-mode) + (add-hook 'cfw:calendar-mode-hook 'hide-mode-line-mode) (advice-add #'cfw:render-button :override #'+calendar*cfw:render-button)) diff --git a/modules/feature/popup/autoload.el b/modules/feature/popup/autoload.el index 844d08fca..bbbd6e32c 100644 --- a/modules/feature/popup/autoload.el +++ b/modules/feature/popup/autoload.el @@ -235,12 +235,12 @@ disabled." (cond ((eq modeline 't)) ((or (eq modeline 'nil) (not modeline)) - (doom-hide-modeline-mode +1)) + (hide-mode-line-mode +1)) ((symbolp modeline) - (when-let* ((doom--modeline-format (doom-modeline modeline))) - (doom-hide-modeline-mode +1))))) - (when doom-hide-modeline-mode - (doom-hide-modeline-mode -1)))) + (when-let* ((hide-mode-line-format (doom-modeline modeline))) + (hide-mode-line-mode +1))))) + (when hide-mode-line-mode + (hide-mode-line-mode -1)))) ;;;###autoload (defun +popup|close-on-escape () diff --git a/modules/lang/org/autoload/org-present.el b/modules/lang/org/autoload/org-present.el index 61ca7216d..45b31011f 100644 --- a/modules/lang/org/autoload/org-present.el +++ b/modules/lang/org/autoload/org-present.el @@ -53,7 +53,7 @@ (when (fboundp 'centered-window-mode) (centered-window-mode arg)) (window-divider-mode (* arg -1)) - (doom-hide-modeline-mode arg) + (hide-mode-line-mode arg) (+org-pretty-mode arg) (cond (org-tree-slide-mode (org-indent-mode -1)