Skip to content
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

Status bar should be easier to visually parse #3771

Open
Dietr1ch opened this issue Nov 14, 2024 · 3 comments
Open

Status bar should be easier to visually parse #3771

Dietr1ch opened this issue Nov 14, 2024 · 3 comments

Comments

@Dietr1ch
Copy link

Dietr1ch commented Nov 14, 2024

The status bar has too much text, but it doesn't conceptually convey a lot of information to justify how long it gets

image

A bird's eye is that there's Ctrl-commands on the left, and Alt-commands on the right.

On the left, Ctrl is mentioned 7 times, which seems redundant.

I think it can be made shorter by leaving the Ctrl+ work the same way as the Alt+ on the right side and simply encompass all commands listed in that side.

This together with taking advantage that keybindings try to be mnemonic, and thus most mention their key in their name, we can get a shorter bar,

Compare,

Ctrl g LOCK Ctrl p PANE Ctrl t TAB Ctrl n RESIZE Ctrl s SEARCH Ctrl o SESSION Ctrl q QUIT

to a much shorter,

Ctrl + » G: Lock Pane Tab N:resize Search sessiOn Quit

This means that the help can be shown on smaller windows, and that it'll take less of a tax on people trying to read it while they slowly turn pressing keybindings into unconscious actions.

The hints should also be colourised to make them stand out, but I don't have an easy way of doing that with plain text.

I think that some rethinking of the right side of the bar can also help reduce clutter or make things uniform. Currently the style on the right side is different than the left one and that dissonance adds to the distractions and clutter around. Also, it feels weird that the arrows on the right side don't point left to make it even more apparent that there's 2 opposing sides of commands with different modifiers.


We can go even further and group commands that might conceptually go together.

Panes could absorb Resize, since you can only resize Panes and it'd also be neat to have similar bindings under different modifiers to go from selecting panes, swapping panes, or resizing panes.

I'm not sure if it can easily be done as keybindings may clash, but as long as the bindings to select panes are untouched, I feel it wouldn't be a change too mentally hard to adopt.

@imsnif
Copy link
Member

imsnif commented Nov 14, 2024

Without diving too deeply - just to help you out - this is how the default status-bar looks:

img-2024-11-14-085730

Seems like you might have edited the shortcuts a bit (eg. MOVE mode is gone from normal mode, not sure what's happening in the other modes) which can confuse things a bit and make it more verbose. This happens in order to create consistency between the various modes. I'd suggest trying to go back to the default settings and adjusting them as you go, making sure they don't break the consistency of the UI if you don't want them to.

As for the rest of the suggestions: I really appreciate the thoughts, but I have had every single one of them when designing the status-bar. Some of them are actually implemented (eg. my example above) and the rest have various trade-offs that make them unviable (IMO at least). Going into them is more of a blog post rather than an issue comment, so I hope you'll excuse me not doing so.

All the best to you.

@Dietr1ch
Copy link
Author

Thanks for the quick reply!

I see, I think that the additional bindings to allow keeping Ctrl down while pressing shortcuts (à la tmux-sensible) are messing up with the status bar.

@Dietr1ch
Copy link
Author

So, I still see this after starting over an explicit default binding config started from zellij-utils/assets/config/default.kdl.

I think the issue is that the different status bar modes supported on the Status Bar are somewhat inconsistent. I think Compact was the mode I was using, but Default seems to behave like on your screenshot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants