Subject: Re: 25.0.50; [PATCH] Allow M-x man to reuse an existing window

From: Kaushal Modi <[email-masked]>
Date: Mon, 12 Oct 2015 15:06:31 +0000

Here is the order in which the functions are called

M-x man -> Man-getpage-in-background -> Man-notify-when-ready ->
display-buffer (if Man-notify-method variable is set to 'friendly, which is
its default value)

You will get help about display-buffer-alist when you do `C-h f
display-buffer`.

You can also do `C-h v display-buffer-alist` and that will point you to the
`display-buffer` function documentation.

You can learn more about Display Action Functions by evaluating (info
"(elisp) Display Action Functions") or doing `C-h i g (elisp) Display
Action Functions`.

Using the shackle package allows you to set the display actions from a
higher level without having to customize the display-buffer-alist manually.

If you are interested in customizing display-buffer-alist manually, there
are few examples on emacs.stackexchange.com which might help you:

- http://emacs.stackexchange.com/a/12757/115
- http://emacs.stackexchange.com/a/2195/115
- http://emacs.stackexchange.com/a/338/115

On Mon, Oct 12, 2015 at 8:19 AM Nicolas Richard <[email-masked]>
wrote:

> Hi,
>
> Thanks for the hint. I haven't looked into it yet, indeed.
> display-buffer-alist is not very user-friendly (and isn't mentionned in
> the docstring of `man'). Your shackle config file looks easier but I
> don't see an obvious way to say "re use an existing window which
> displays a buffer of the same mode". Maybe I should just try it and
> see...
>
> Nicolas Richard.
>
>
> Kaushal Modi <[email-masked]> writes:
> > You can do the window control by customizing the `display-buffer-alist`
> variable. That's a suggestion if you haven't
> > yet looked at it.
> >
> > Personally, I use the shackle package which is an interface to
> customization of that variable. I mention this because
> > I control where the man/woman buffers open using this package (
> >
> https://github.com/kaushalmodi/.emacs.d/blob/master/setup-files/setup-shackle.el
> )
>