-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Switch statusline & prompt #5882
Conversation
I think this should have a config option. I personally prefer the current layout. |
having this as a config option will make themes inconsistent.
but for the proposed layout, there's actually a functionality concern - to avoid the blockage of status bar from the popups of command line i don't think helix should adhere to borrowed and backward habits - the biggest habit it challenged is by picking its own keybind in a totally different way from n/vi/m and users who gave up on that n/vi/m are happily embracing it... so, having habit as a point of discussion against functionality - especially for such a meager thing is not.... |
Alternatively, we could just move the popup one line up, so that it appears above both the status line and command line. Pros:
Cons:
|
Just stumbled upon one more pro for having the command line on top:
Example:
It will show this 128 character long error with
|
This is a breaking UI change. This should be escalated to a comnunity discussion. |
@@ -447,7 +447,7 @@ impl Prompt { | |||
text.render(inner, surface, cx); | |||
} | |||
|
|||
let line = area.height - 1; | |||
let line = area.height - 2; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This and the following change on line 642 break the file picker (and probably other prompts as well), since they can underflow.
If you substitute this and the change on line 642 with saturating_sub(2)
this seems to fix it.
.area | ||
.clip_top(view.area.height.saturating_sub(1)) | ||
.clip_bottom(1); // -1 from bottom to remove commandline | ||
let statusline_area = view.area.clip_top(view.area.height); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This introduces the issue with split views. The easiest solution I could come up with was something like this:
// if we're not at the bottom of the screen, draw the statusline higher, otherwise
// it'll overlap with the next view
let statusline_area = if (viewport.bottom() - 1) == view.area.bottom() {
view.area.clip_top(view.area.height)
} else {
view.area
.clip_top(view.area.height.saturating_sub(1))
.clip_bottom(1)
};
Convenient as it might be for some users, in my humble opinion this should not be default, rather a config option. |
Also it should be customizable to show the status line on the top line of screen or other widgets attached on screen. Also its show or not could be switched by hot key. Reasons are as follows:
|
What's the status on this? New to helix, and I'd definitely like to be able to see the statusline while typing in the prompt. How / where / or whether it's a config option I don't feel strongly about, I just want to be able to see it |
I don't think we are going forward with this, see discussion in #7635 |
#5758
This switches the position of the statusline with the position of the prompt to improve readability of the statusline while the prompt is opened.
TODO: