-
-
Notifications
You must be signed in to change notification settings - Fork 392
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Inconsistent behavior of splitting window on TAB (select actions) #2635
Comments
Ramon Diaz-Uriarte ***@***.***> writes:
What happened?
On wide frames, when we TAB, the actions are shown in a window that hides the previous helm window.
h-w.png (view on web)
Yes, could reproduce from emacs-helm.sh, indeed it is a bug.
On narrower frames, when we TAB there is a split and both windows are shown.
h-narrow.png (view on web)
Not sure to see what's different with previous screenshot.
This is also the behavior even in very narrow frames.
h-v-arrow.png (view on web)
I would have expected exactly the opposite (split, except if too narrow). Is this the intended behavior?
I can get splitting on wide frames by using very large values of
split-width-threshold (not of helm-split-width-threshold) ; but on
narrow frames, we still get the split (where, I think, there should be
no split).
That make sense, I did some changes behaving slightly differently
though in 2):
1) I fixed the behavior of your first screenshot, by default in full
frame helm should split helm-window and show at left helm-action buffer.
2) When frame is too small (less than 160 by default) to show
helm-buffer and helm-action buffer side by side, helm-action buffer is
shown below helm buffer.
3) helm-show-action-window-other-window can be set now th above and
below in addition to left and right (resizing helm-window to original
size is now handled).
Let me know if it works properly for you and it is what you expect.
NOTE: We could make more configurable 2) behavior if needed.
Thanks.
… How to reproduce?
Start emacs -Q and then
(package-initialize)
(helm-mode)
Next, M-x helm-find-files and then TAB)
Helm Version
Melpa or NonGnuElpa
Emacs Version
Emacs-29.1
OS
GNU/Linux
Relevant backtrace (if possible)
No response
Minimal configuration
• [*] I agree using a minimal configuration
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.*Message ID: ***@***.***>
--
Thierry
|
We were previously checking split-witdth-threshold which is now let-bounded to helm-split-width-threshold (was not existing at the time), check instead helm-split-width-threshold. In addition a check of helm-split-window-default-side is done which IMO make sense as well.
when helm-show-action-window-other-window is left or right and window is smaller that split-width-threshold (use 160, its default value when set to nil).
Thanks a lot. That works perfectly. And I see I can control the behavior using
then, regardless of the width of the frame, the action list window always hides the previous helm window. (Why am I using the above settings? To have helm always be displayed on the bottom side window). |
Ramon Diaz-Uriarte ***@***.***> writes:
Thanks a lot. That works perfectly. And I see I can control the behavior using helm-split-width-threshold.
However, if I have
(setq helm-always-two-windows nil)
(setq helm-default-display-buffer-functions
'(display-buffer-in-side-window))
then, regardless of the width of the frame, the action list window always hides the previous helm window.
This because helm-always-two-windows is nil, this feature works only
with helm-always-two-windows enabled, see
`helm-show-action-window-other-window` docstring.
But I wonder if this limitation is still true, I will check soon.
(Why am I using the above settings? To have helm always be displayed on the bottom side window).
Isn't setting `helm-split-window-default-side` enough?
Thanks.
… —
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.*Message ID: ***@***.***>
--
Thierry
|
Oh, sorry, I had misunderstood. Now I have
But now I get the error
I want to have the helm window to always appear at the bottom of the frame, not below each window (because I find it is easier for me to know where to look for it). This issue was discussed in #2039 a while back. But maybe this is a completely minor issue that doesn't affect anyone else, and it is not worth your time. |
Ramon Diaz-Uriarte ***@***.***> writes:
1. ( ) text/plain (*) text/html
Oh, sorry, I had misunderstood. Now I have
(setq helm-always-two-windows t)
(setq helm-default-display-buffer-functions
'(display-buffer-in-side-window))
But now I get the error split-window: Cannot split side window or
parent of side window when I press TAB.
Yes side windows have several limitations with dedicated windows, I
guess this is one of those (the helm windows become a dedicated window
and BTW doesn't support any other buffer IIUC).
In fact, it is the same error I remember getting when I tried adding
helm windows in display-buffer-alist with
(display-buffer-in-side-window).
Isn't setting helm-split-window-default-side enough?
I want to have the helm window to always appear at the bottom of the
frame,
Where at the bottom of the frame? helm-always-two-windows always
display the helm-buffer below all other windows but horizontally.
not below each window (because I find it is easier for me to know
where to look for it). This issue was discussed in #2039 a while back.
I will have a look at #2039, I don't remember what it was.
But maybe this is a completely minor issue that doesn't affect anyone else, and it is not worth your time.
Thanks, if I have enough informations, maybe it is not too hard to fix
your use case.
… —
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.*Message ID: ***@***.***>
--
Thierry
|
I have now made modifications so that action menu is shown even in vertical split (2dc2efc), e.g. After splitting vertically with |
with helm-show-action-window-other-window. Same with helm--buffer-in-new-frame-p test which is not needed now we check the size of window.
Thanks!
At the bottom of the complete frame, below all of the windows, so that the splits are not changed, except for the new bottom window. For example, this is one initial window configuration If I do But I'd rather have something like this, where the new helm windows always appear at the bottom of the frame, so what happens is that the rest of the windows are compressed vertically, but the rest of the splits are not modified, and all the windows that were originally visible are still visible (sorry, I seem unable to reproduce what I would like with Right now, everything seems to do exactly what I want (the last screen capture). But I am not sure why/how: I've cheated there and used shackle (https://depp.brause.cc/shackle/). But the author of shackle seems to suggest, in https://emacsninja.com/posts/design-is-hard.html, that shackle is a wrapper around As I said, I really appreciate your help, but this is is probably taking a lot of your time for something that might be relevant to just one user. And the minor bug of the original issue has been fixed. |
Here is how (display-buffer
buffer `(,helm-default-display-buffer-functions
. ,(append helm-default-display-buffer-alist
`((window-height . ,helm-display-buffer-default-height)
(window-width . ,helm-display-buffer-default-width))))) |
I made a mistake with (setq helm-display-buffer-height 'fit-window-to-buffer) |
Argh! here finally the right setting for what you asked: (setq helm-always-two-windows nil)
(setq helm-default-display-buffer-functions
'(display-buffer-at-bottom))
(setq helm-use-frame-when-more-than-two-windows nil)
(setq helm-display-buffer-default-height 20)
(setq helm-default-display-buffer-alist nil) |
Thanks a lot!!!!! That works great!!!!! |
I guess we can close this issue? |
Ramon Diaz-Uriarte ***@***.***> writes:
1. ( ) text/plain (*) text/html
I guess we can close this issue?
Yes, please.
Thanks.
… —
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.*Message ID: ***@***.***>
--
Thierry
|
What happened?
On wide frames, when we TAB, the actions are shown in a window that hides the previous helm window.
On narrower frames, when we TAB there is a split and both windows are shown.
This is also the behavior even in very narrow frames.
I would have expected exactly the opposite (split, except if too narrow). Is this the intended behavior?
I can get splitting on wide frames by using very large values of
split-width-threshold
(not ofhelm-split-width-threshold
) ; but on narrow frames, we still get the split (where, I think, there should be no split).Interestingly, if I use
regardless of the width of the frame, the actions window always hides the previous helm window.
How to reproduce?
Start
emacs -Q
and thenNext,
M-x helm-find-files
and then TAB)Helm Version
Melpa or NonGnuElpa
Emacs Version
Emacs-29.1
OS
GNU/Linux
Relevant backtrace (if possible)
No response
Minimal configuration
The text was updated successfully, but these errors were encountered: