diff --git a/modules/ui/popup/+hacks.el b/modules/ui/popup/+hacks.el index c2417cd0d..7ab69d82f 100644 --- a/modules/ui/popup/+hacks.el +++ b/modules/ui/popup/+hacks.el @@ -168,7 +168,7 @@ the command buffer." ;; `helm' -(after! helm +(when (featurep! :completion helm) (setq helm-default-display-buffer-functions '(+popup-display-buffer-stacked-side-window)) ;; Fix left-over popup window when closing persistent help for `helm-M-x' @@ -178,11 +178,21 @@ the command buffer." (string= candidate (helm-attr 'help-current-symbol)) (setq win (get-buffer-window (get-buffer (help-buffer))))) (delete-window win)))) - (advice-add #'helm-elisp--persistent-help :before #'+popup*helm-elisp--persistent-help)) + (advice-add #'helm-elisp--persistent-help :before #'+popup*helm-elisp--persistent-help) + ;; Get rid of useless Org Links popup, which causes window selection errors + ;; with helm's persistent action. + (defun +popup*delete-org-links-popup (orig-fn &rest args) + (cl-letf* ((old-org-completing-read (symbol-function #'org-completing-read)) + ((symbol-function #'org-completing-read) + (lambda (&rest args) + (when-let* ((win (get-buffer-window "*Org Links*"))) + (delete-window win)) + (apply old-org-completing-read args)))) + (apply orig-fn args))) + (advice-add #'org-insert-link :around #'+popup*delete-org-links-popup) -;; `helm-ag' -(progn + ;; `helm-ag' (defun +helm*pop-to-buffer (orig-fn &rest args) (pop-to-buffer (save-window-excursion (apply orig-fn args)