Skip to content

Is helm-exit-minibuffer-hook working correctly? #1386

Closed
@xiongtx

Description

I'd like to turn popwin-mode off when using Helm, and turn it back on after leaving Helm. This is because Helm's persistent action displays Help buffers in the other window. When popwin-mode is active, both the persistent action's Help buffer and the popwin Help buffer are shown.

I've done the following:

(defun *-popwin-help-mode-off ()
  (when (boundp 'popwin:special-display-config)
    (customize-set-variable 'popwin:special-display-config
                (delq 'help-mode popwin:special-display-config))))

(defun *-popwin-help-mode-on ()
  (when (boundp 'popwin:special-display-config)
    (customize-set-variable 'popwin:special-display-config
                            (push 'help-mode popwin:special-display-config))))

(add-hook 'helm-minibuffer-set-up-hook #'*-popwin-help-mode-off)
(add-hook 'helm-exit-minibuffer-hook #'*-popwin-help-mode-on)

Turning popwin-mode off for Helm works fine. Turning it back on does not work, however, when exiting Helm with C-g. It does work when exiting Helm by selecting a candidate.

This is not what I would expect from the documentation:

Run just before exiting minibuffer.

Quitting seems as valid a method of "exiting" as selecting a candidate.

I've gotten around this by using helm-cleanup-hook instead. Its documentation is:

Run after helm minibuffer is closed. IOW this hook is executed BEFORE performing action.

Is this the right hook to use? What does "IOW" mean?

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions