In default configuration (side window on bottom), if the point is in the last lines of the visible buffer (and which-key is appearing), the position of the buffer you are working on is lost. And it can be very frustrating when there are important informations at the top of the buffer.
Some illustrations to be more explicit.
First illustration : without which-key
Sequence of actions :
goto line 32 (last visible line)
use a keybinding that change nothing in the buffer : in the example "C-x C-s" that prints "(No changes need to be saved)" in the minibuffer
Second illustration : with which-key
Sequence of actions :
goto line 32 (last visible line)
"C-x"
waiting for which-key window
"C-s" to save the buffer
Sames command that the first case but different buffer position at the end.
Third illustration : vanilla Emacs mini-buffer completion
Sequence of actions :
goto line 32 (last visible line)
"C-x C-f" (for "find-file")
"" (twice) to open the completion window
"C-g" to abort "find-file" and close the completion window
The buffer position is changed when the completion window appears (like with which-key). But at the end, the position is restored.
In my opinion, which-key should act the same way and restore the initial buffer position. I'm going to open a PR with a possible solution.
In default configuration (side window on bottom), if the point is in the last lines of the visible buffer (and which-key is appearing), the position of the buffer you are working on is lost. And it can be very frustrating when there are important informations at the top of the buffer.
Some illustrations to be more explicit.
First illustration : without which-key
Sequence of actions :
Second illustration : with which-key
Sequence of actions :
Sames command that the first case but different buffer position at the end.
Third illustration : vanilla Emacs mini-buffer completion
Sequence of actions :
The buffer position is changed when the completion window appears (like with which-key). But at the end, the position is restored.
In my opinion, which-key should act the same way and restore the initial buffer position. I'm going to open a PR with a possible solution.