bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#24828: 26.0.50; Renaming of display-buffer-in-major-side-window brok


From: Justin Burkett
Subject: bug#24828: 26.0.50; Renaming of display-buffer-in-major-side-window broke which-key.el
Date: Mon, 31 Oct 2016 13:31:12 -0400

Martin, 

Thank you for the explanation (and for the kind words). I will follow your suggestions. 

Best, 
Justin 

On Mon, Oct 31, 2016 at 3:42 AM, martin rudalics <rudalics@gmx.at> wrote:
> I wasn't aware that that function was internal, since it appears to
> function like the other display-buffer actions.

Unfortunately so.  It was my fault to pretend otherwise.

> If I remember right that
> code was written by a contributor, and I don't remember the motivation for
> choosing that one. If it really is internal then I will investigate
> changing to the proper method when I have some more time.

I see.  The problem is that the structure on the right

    ;; +-------------------------+         +-------------------------+
    ;; |     regular window      |         |     regular window      |
    ;; |                         |         +------------+------------+
    ;; +------------+------------+   -->   | side-win 1 | side-win 2 |
    ;; | side-win 1 | side-win 2 |         |------------+------------|
    ;; |            |            |         |     which-key window    |
    ;; +------------+------------+         +------------+------------+

was never really supported.  I initially wanted to allow that but later
found out that I cannot reliably split side windows in both directions.
It might work with Emacs 24 in a few basic use cases but will surely
break with more complicated setups.  So you essentially will have to
fall back on

    ;; +-------------------------+
    ;; |     regular window      |
    ;; |                         |
    ;; +------+-------+----------|
    ;; | side-| side- | which-key|
    ;; | win-1| win-2 | window   |
    ;; +------+-------+----------+

or

    ;; +-------------------------+
    ;; |     regular window      |
    ;; |                         |
    ;; +----------- +------------|
    ;; | side-win-1 | which-key  |
    ;; |            | window     |
    ;; +------------+------------+

sooner or later anyway.  For this, ‘which-key’ should either supply a
side window slot value for customization and/or tell the user how to
customize ‘display-buffer-alist’ for displaying the which-key window.
Then the user can decide which windows she wants which-key to share with
(the completions window looks like a good candidate because it's
ephemeral too).

Note that side windows were initially designed as more persistent but I
can easily see that the ‘which-key’ use case might come in pretty handy
too.  Hence it should be possible to make the side-win-1 and side-win-2
windows temporarily very small in order to give the which-key window
sufficient space.

>From what I've seen, ‘which-key’ is a fine mode, very neatly written.
It should be in ELPA.  In any case, keep up the good work.

martin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]