1

Every time I accidentally update Magit to a new version, I come to regret it. :( Today, I discovered that the popup window doesn't work well anymore: instead of opening in the same buffer as the status buffer, it opens in a buffer of its own, thus taking too much screen estate and occluding important information contained in the other buffer, unrelated to the Git status.

Is there any way to undo this change?

In addition to the above, q no longer works to dismiss such a buffer. I'm not sure what other things are missing (yet). But, is it possible to just go back to how it worked in... I wish I knew what version it was. Well, whenever those two things worked?


OK, I found that

(setq transient-display-buffer-action '(display-buffer-below-selected))

Would handle the major problem. But I'm still struggling to find the keymap where q used to be defined.

1 Answer 1

2

Today, I discovered that the popup window doesn't work well anymore:

As you have figured out already transient-display-buffer-action controls how the transient popup buffer is displayed. The doc-string contains this note:

The default is (display-buffer-in-side-window (side . bottom)).
This displays the window at the bottom of the selected frame.
Another useful value is (display-buffer-below-selected).  This
is what `magit-popup' used by default.

In addition to the above, q no longer works to dismiss such a buffer.

The FAQ addresses this (and the above too):

Q: Why does ~q~ not quit popups anymore?

A: I agree that ~q~ is a good binding for commands that quit something.
This includes quitting whatever transient is currently active, but it
also includes quitting whatever it is that some specific transient is
controlling.  The transient ~magit-blame~ for example binds ~q~ to the
command that turns ~magit-blame-mode~ off.

So I had to decide if ~q~ should quit the active transient (like
Magit-Popup used to) or whether ~C-g~ should do that instead, so that ~q~
could be bound in individual transient to whatever commands make sense
for them.  Because all other letters are already reserved for use by
individual transients, I have decided to no longer make an exception
for ~q~.

If you want to get ~q~'s old binding back then you can do so.  Doing
that is a bit more complicated than changing a single key binding, so
I have implemented a function, ~transient-bind-q-to-quit~ that makes the
necessary changes.  See its doc-string for more information.

But, is it possible to just go back to how it worked in... I wish I knew what version it was.

2.90.1

2
  • Will this version also support C-x o for switching into popup buffer?
    – wvxvw
    Commented Aug 7, 2019 at 10:44
  • 2.90.1? Yes it does.
    – tarsius
    Commented Aug 7, 2019 at 12:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.