GNU bug report logs -
#74246
[PATCH] Reuse display windows in image-dired
Previous Next
Full log
Message #23 received at 74246 <at> debbugs.gnu.org (full text, mbox):
> - Use the existing 'category' alist entry like
>
> (pop-to-buffer buf '(nil (category . image-dired)))
>
> This was my original idea. The downside of this approach is that if
> "category" were used for its already existing purpose (whatever that
> is), the new purpose we'd gave it here would side-effect the behavior
> for the existing purpose.
The drawback of reusing 'category' for other purposes is that
all current display-buffer calls that provide a category,
will set the window parameter 'category' unnecessarily.
OTOH, the drawback of using a separate name is that many calls
will have to duplicate the same name as e.g.
(display-buffer buffer '(nil (category . image-dired)
(parameter . image-dired)))
> - Allow for the value of the existing 'some-window' alist entry to be
> specified as a string like
>
> (pop-to-buffer buf '(nil (some-window . "image-dired")))
>
> Slightly unnatural, but I see no harm with it.
This makes such sense that if it has to find some window
then let it be the same some-window from previous calls.
But it has the same problem as above that many calls should
duplicate the name
(display-buffer buffer '(nil (category . image-dired)
(some-window . "image-dired")))
> - Use a new alist entry, say "parameter" like
>
> (pop-to-buffer buf '(nil (parameter . image-dired)))
>
> More intuitive maybe. People would have to learn about it.
An alternative name would be '(group . image-dired)' Still
the same problem as above:
(display-buffer buffer '(nil (category . image-dired)
(group . image-dired)))
> - Write a new action function 'display-buffer-use-window-with-parameter'
> and use it in conjunction with the previous as
>
> (pop-to-buffer
> buf '(display-buffer-use-window-with-parameter (parameter . image-dired)))
>
> Probably the most universal approach but people have to learn about a
> new action function + alist entry.
This is the explicit and easy to understand. But too limiting.
display-buffer/pop-to-buffer calls should still use the nil action.
So in conclusion it seems better to reuse 'category' in
display-buffer-use-some-window. But not to set the window parameter
'category' in window--display-buffer unnecessarily. Instead
this window parameter could be set only in display-buffer-use-some-window
when failing to find a window with a category. I mean something like this
in display-buffer-use-some-window
(if (get-window-with-category category 'visible nil not-this-window)
(use window with category)
;; otherwise
(use lru window by default)
(set-window-parameter window 'category (cons category parameter)))
This bug report was last modified 182 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.