Open imsuck opened 1 year ago
How do you know if up is right or left? This always bothered me in tmux.
How do you know if up is right or left? This always bothered me in tmux.
If the upper pane is focused, the active pane color would be on the left half.
This is the code that tmux uses for handling 2-pane tabs.
I know :)
I'm just not sure how I'm supposed to know this as a user without fiddling around with it (and then I know anyway).
Like, what's the UI logic here? Why up == left and not up == right?
Well, I'm not quite sure about this one either.
My philosophy is that it's better to not implement a UI than to implement a confusing UI.
I think the logic here is supposed to be that (at least in western/LTR cultures) you read left to right, top to bottom.
So, in this case as we don't have top/bottom indicators they connect left and up (the start) with right and bottom (the end).
I wonder if using ASCII characters for the line break between the two panes would be sufficient?
Something like
[13:47] ~ top selected
└────────────────────────────────────────────────────────────────┘
[13:47] ~ bottom unselected
[13:47] ~ top unselected
┌────────────────────────────────────────────────────────────────┐
[13:47] ~ bottom selected
┐
│
│
[13:47] ~ left selected │ [13:47] ~ right unselected
│
│
│
│
┘
│
│
│
[13:47] ~ top left unselected │
│
┌──────────────────────────────────┤
[13:47] ~ bottom left selected │ [13:47] ~ right unselected
│
│
│
│
┘
I'd suggest something a bit more obvious. Maybe like this
$ | $
$ > $ echo this pane is active
$ echo inactive pane > this pane is active
inactive pane > $
$ |
Or even some unicode symbols for arrows: https://symbl.cc/en/collections/arrow-symbols/ If using unicode symbols might cause some problems - there are these symbols from ascii table that I believe should be universally available: « » (these two, unfortunately, don't have similar pair for vertical indication) ├ ┤ ┴ ┬ ╠ ╣ ╩ ╦ the border might contain just 1/3/5 such symbol(s) or consist entirely of them. Or that part can be configurable.
I wonder if using ASCII characters for the line break between the two panes would be sufficient?
Something like [sic]
This is my favorite.
I think the idea with the various arrow fonts is cool (we use some of them for our UI :) ), but I'm afraid they'll be a little disruptive. Lots of people using pane_frames false
are doing so to make the UI as minimal as possible.
Any volunteers to implement?
Any volunteers to implement?
I'd love to, but I'm scared my extremely limited Rust knowledge will probably get in the way :/
@imsuck where would one "start" by attempting to implement this? what would be your starting point?
I am quite noob at Rust, but managed to compile the project (have to solve a terminal issue with the fonts but that's irrelevant I think).
(i found the Architecture.md doc, will look into it)
I feel tempted to say "I can't promise much" because despite my extensive programming "experience" (many years) I am a newbie with Rust and multi-platform terminal multiplexers, I may not be the right fit for this task, but I'd love to give it a try, time permitting.
maybe "dim" the unfocused panes? have less contrast, less contrast or a lighter/darker background?
maybe "dim" the unfocused panes? have less contrast, less contrast or a lighter/darker background?
This introduces potential accessibility issues, as not all users may be able to distinguish them.
I know it is slightly unrelated, but what if there was an option to hide all pane frames while there is only one pane in that tab, and when the user opens a new pane, then show the frames?
@cbr9 Huh? That's already how it is, unless I misunderstand you.
No. As of now, if I set pane_frames = false, zellij will open with no pane frames, and if I open new panes, it will still not show pane frames. I would like an option to only hide the pane frames when there is only one pane open.
Just don't set it to false and you'll get what you want, probably.
Just don't set it to false and you'll get what you want, probably.
Not really, what @cbr9 wants is "only show frames if there's more than one pane", an option that doesn't currently exist.
I don't have frames when there's just one pane.
Hey, i'm currently trying to implement this and i was wondering whether it should be a settable option for which part of the boundarie relates to which pane?
Hey @mejo13 - happy you're working on this. Maybe we can implement the idea from this comment? https://github.com/zellij-org/zellij/issues/2180#issuecomment-1439187219
I think that will be very clear and not require any configs.
Agree. I was gonna try to work on this, but if you want to, go for it @mejo13 I don't have much time, rust knowledge, and zellij codebase knowledge to probably do it right.
The way I though approaching it was mostly detecting whether frames were on/off and changing which characters the boundaries used when frames were off. But I didn't get further than finding where the boundaries were "drawn".
If you have a public fork/branch, I'd be happy to take a look at your approach, maybe there's something I can learn ;)
My bad, should have read the thread more carefully. Right now i have something working but it mimics tmux behavior and needs more work anyway. Going to wrap some things up and push it to GitHub then. I could give the proposed solution from #2180 a try nonetheless, but it would probably take some time. Sorry for the confusion!
Hi,
I just tried zellij a couple of days ago, and I really miss something similar. I do not like wasting space on these separators and there is a better way (for my taste).
In tmux there are window-style
and window-active-style
options, so You can set different background for those. I usually set the active window to black
(which is taken from the terminal, actually dark grey) and other windows to #000000.
This way the background color defines the active window/pane. I would love that in zellij too.
Thanks,
Hi,
I just tried zellij a couple of days ago, and I really miss something similar. I do not like wasting space on these separators and there is a better way (for my taste). In tmux there are
window-style
andwindow-active-style
options, so You can set different background for those. I usually set the active window toblack
(which is taken from the terminal, actually dark grey) and other windows to #000000. This way the background color defines the active window/pane. I would love that in zellij too.Thanks,
that's exactly what I do, though I set the active window to '#222222'
I would vote strongly for dimming the inactive panes, similar to tmux, but I also think the point that someone made about accessibility might be valid. Ideally, multiple options would be available. I'd prioritize dimming the inactive panes. :)
maybe "dim" the unfocused panes? have less contrast, less contrast or a lighter/darker background?
I would vote strongly for dimming the inactive panes, similar to tmux, but I also think the point that someone made about accessibility might be valid. Ideally, multiple options would be available. I'd prioritize dimming the inactive panes. :)
Warp has a setting for this, it has been terribly difficult to know which pane is active especially when returning back to the terminal and start typing in the wrong pane 🤯
maybe "dim" the unfocused panes? have less contrast, less contrast or a lighter/darker background?
I would vote strongly for dimming the inactive panes, similar to tmux, but I also think the point that someone made about accessibility might be valid. Ideally, multiple options would be available. I'd prioritize dimming the inactive panes. :)
Warp has a setting for this, it has been terribly difficult to know which pane is active especially when returning back to the terminal and start typing in the wrong pane 🤯
Oh I noticed that zellij doesn't have an option to displays the pane numbers, that could be an easy way to know in which pane you left zellij. Having dim unfocused panes can be a problem if you want to see logs for example in the no active panes.
Just to confirm: Zellij doesn't currently have a way to set the active pane's background colour? We're waiting on https://github.com/zellij-org/zellij/issues/2297 for that?
In tmux if there are 2 panes in a tab, then the pane border will be split into two. One with the inactive pane color and one with active pane color. But on zellij it's just the active pane color. This makes it impossible to tell which pane you have focused unless if you have
pane_frame
enabled.https://user-images.githubusercontent.com/49095435/219952668-291490c6-8a35-47be-9ef5-d01656d078fc.mp4