From 73ad5ddc83939e0606b818147f9a355c57db76a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20M=C3=B8ller?= Date: Wed, 22 Jan 2020 12:06:02 +0100 Subject: [PATCH 1/4] Fixes #2397 --- modules/completion/helm/config.el | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/completion/helm/config.el b/modules/completion/helm/config.el index f92e982d6..9d744dd27 100644 --- a/modules/completion/helm/config.el +++ b/modules/completion/helm/config.el @@ -67,6 +67,9 @@ be negative.") helm-ff-lynx-style-map nil) (when (featurep! :editor evil +everywhere) + ;; If this is set to 'iconify-top-level then Emacs will be minimized upon + ;; helm completion. + (setq iconify-child-frame 'make-invisible) (setq helm-default-prompt-display-function #'+helm--set-prompt-display)) :init From dc8ad7896ab09ce071cbebcaacb867d1b42b818a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20M=C3=B8ller?= Date: Wed, 22 Jan 2020 12:06:29 +0100 Subject: [PATCH 2/4] Display header line in Helm posframe But only if helm-echo-input-in-header-line is set to true. --- modules/completion/helm/autoload/posframe.el | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/completion/helm/autoload/posframe.el b/modules/completion/helm/autoload/posframe.el index 25ac3fd09..2c64d5fa8 100644 --- a/modules/completion/helm/autoload/posframe.el +++ b/modules/completion/helm/autoload/posframe.el @@ -10,6 +10,9 @@ bottom, which is easier on the eyes on big displays." (truncate (/ (frame-pixel-height parent-frame) 2))))) +(when helm-echo-input-in-header-line + (add-hook 'helm-minibuffer-set-up-hook #'helm-hide-minibuffer-maybe)) + (defvar +helm--posframe-buffer nil) ;;;###autoload (defun +helm-posframe-display-fn (buffer &optional _resume) @@ -23,6 +26,7 @@ bottom, which is easier on the eyes on big displays." (setq +helm--posframe-buffer buffer) :position (point) :poshandler +helm-posframe-handler + :respect-header-line helm-echo-input-in-header-line :width (max (cl-typecase .width (integer .width) From f6dc8d02022f2e606219f5f8b31f91c07e939c77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20M=C3=B8ller?= Date: Wed, 22 Jan 2020 12:19:56 +0100 Subject: [PATCH 3/4] Actually fix #2397 Added the setq to the wrong (when (featurep!)) initially. --- modules/completion/helm/config.el | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/completion/helm/config.el b/modules/completion/helm/config.el index 9d744dd27..60d238d80 100644 --- a/modules/completion/helm/config.el +++ b/modules/completion/helm/config.el @@ -67,13 +67,13 @@ be negative.") helm-ff-lynx-style-map nil) (when (featurep! :editor evil +everywhere) - ;; If this is set to 'iconify-top-level then Emacs will be minimized upon - ;; helm completion. - (setq iconify-child-frame 'make-invisible) (setq helm-default-prompt-display-function #'+helm--set-prompt-display)) :init (when (featurep! +childframe) + ;; If this is set to 'iconify-top-level then Emacs will be minimized upon + ;; helm completion. + (setq iconify-child-frame 'make-invisible) (setq helm-display-function #'+helm-posframe-display-fn)) (let ((fuzzy (featurep! +fuzzy))) From 93ebe4a4bb7d89ebb2196e813a2a8f31d83e0481 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20M=C3=B8ller?= Date: Thu, 23 Jan 2020 12:58:39 +0100 Subject: [PATCH 4/4] Moved adding of helm-hide-minibuffer-maybe hook From a racy when condition in the posframe autoload, into an unconditional hook in the helm config.el file. --- modules/completion/helm/autoload/posframe.el | 3 --- modules/completion/helm/config.el | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/completion/helm/autoload/posframe.el b/modules/completion/helm/autoload/posframe.el index 2c64d5fa8..9ed53bb27 100644 --- a/modules/completion/helm/autoload/posframe.el +++ b/modules/completion/helm/autoload/posframe.el @@ -10,9 +10,6 @@ bottom, which is easier on the eyes on big displays." (truncate (/ (frame-pixel-height parent-frame) 2))))) -(when helm-echo-input-in-header-line - (add-hook 'helm-minibuffer-set-up-hook #'helm-hide-minibuffer-maybe)) - (defvar +helm--posframe-buffer nil) ;;;###autoload (defun +helm-posframe-display-fn (buffer &optional _resume) diff --git a/modules/completion/helm/config.el b/modules/completion/helm/config.el index 60d238d80..5f1666850 100644 --- a/modules/completion/helm/config.el +++ b/modules/completion/helm/config.el @@ -114,6 +114,9 @@ be negative.") (advice-add #'helm-display-mode-line :override #'+helm--hide-mode-line) (advice-add #'helm-ag-show-status-default-mode-line :override #'ignore) + ;; Hide minibuffer if `helm-echo-input-in-header-line' + (add-hook 'helm-minibuffer-set-up-hook #'helm-hide-minibuffer-maybe) + ;; Use helpful instead of describe-* to display documentation (dolist (fn '(helm-describe-variable helm-describe-function)) (advice-add fn :around #'doom-use-helpful-a)))