| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
…ger show scrollbars, so fixing expected size.
|
Looks OK but I don't like the option name, it should be something starting with pane-border- to match the others. I'm not sure about having WINDOW_PANESMODE rather than generic flags and if we do have it those fixes seem like they are separate? In window_panes_mark_per_pane_borders, you need {} around the if bodies where they cross multiple lines. In screen-redraw.c, we do not want to call options_get_number for every pane, this is a window option and can be cached. |
Sorry, something went wrong.
|
How does "pane-border-surround" sound? That keeps it in the pane-border-*
family.
WINDOW_PANESMODE was a workaround for display-panes because of the
temporary zoom. With pane-border-surround, `layout_fix_panes` was still
applying the inset during that zoom and clipping the mode screen.
WINDOW_ZOOMED alone wasn't enough when the window was already zoomed. I
later reused the same flag to hide scrollbars so they didn't shift the
overlay. That probably should have been a separate change. Let me look at
dropping the mode-specific flag and then either use something more generic
or key off the mode/zoom state directly.
I'll also add the braces in window_panes_mark_pane_border_surround and
cache the window option in the redraw context. Thanks for the feedback.
…On Sun, Jul 26, 2026 at 4:53 PM Nicholas Marriott ***@***.***> wrote:
*nicm* left a comment (tmux/tmux#5433)
<#5433 (comment)>
Looks OK but I don't like the option name, it should be something starting
with pane-border- to match the others.
I'm not sure about having WINDOW_PANESMODE rather than generic flags and
if we do have it those fixes seem like they are separate?
In window_panes_mark_per_pane_borders, you need {} around the if bodies
where they cross multiple lines.
In screen-redraw.c, we do not want to call options_get_number for every
pane, this is a window option and can be cached.
—
Reply to this email directly, view it on GitHub
<#5433?email_source=notifications&email_token=AAD37WZFUCKC3H7SOHIWKQD5GXBIXA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTKMBYGI3TSNBSGI3KM4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KYZTPN52GK4S7MNWGSY3L#issuecomment-5082794226>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAD37W5VAICZQJ3URYJSTFT5GXBIXAVCNFSNUABEKJSXA33TNF2G64TZHMZTMOBTGY2DONJ3JFZXG5LFHM2DSNZYHAYDSNJQGKQXMAQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Sorry, something went wrong.
|
I don't like pane-border-surround. Feels like this should be part of pane-border-lines but not sure I want to double the number of choices. Leave it as it is for the moment and I'll think about it. |
Sorry, something went wrong.
|
Maybe pane-border-type (or -model or something?) and choices are joined or separate? |
Sorry, something went wrong.
…and WINDOW_MODE_HIDE_SCROLLBARS. This is to avoid a display-panes specific window flag.
|
Yeah, pane-border-type with joined or separate sounds as good as any? Let me make that update. |
Sorry, something went wrong.
|
New option needs to go in tmux.1 also. |
Sorry, something went wrong.
|
OK a few minor issues:
tmux new \; set -g pane-border-type separate \; splitw -h \; resize-pane -x 1 I also think we could do with adding test coverage for this feature. |
Sorry, something went wrong.
|
I did find another bug. When you have pane-border-status enabled, and click on x, it seems impossible to click on yes. But the bug seems to exist in master too so I didn't bring it up. Shall we include a fix for that too? |
Sorry, something went wrong.
|
I do not see this problem in master, the menu works fine. How do you reproduce? |
Sorry, something went wrong.
|
On master, set status-position to 'top' and pane-border-status to 'top' or 'bottom'. Screen.Recording.2026-07-28.at.20.18.20.mov |
Sorry, something went wrong.
|
It works OK for me but the mouse position is one line off, I'll fix it. |
Sorry, something went wrong.
|
I have always wanted this feature, thanks for implementing it! I just tested it out on a local build and it seems to work great, <3 |
Sorry, something went wrong.
|
Thank you, very encouraging! |
Sorry, something went wrong.
|
@nicm, I believe we've hit all points, yes? |
Sorry, something went wrong.
|
I'm away but I'll look when I'm back on Monday, thanks. |
Sorry, something went wrong.
Sorry, something went wrong.
|
Thanks! Pushed fixes and tests to address both. |
Sorry, something went wrong.
|
If you do this: ./tmux -Lx new \; splitw -fhl1 \; set -g pane-border-type separate You end up with the right pane wrong. Not sure if this is worth fixing if it isn't easy. This does not work properly (the selectp -D does not change the pane): ./tmux -Lx new \; set pane-border-type separate \; set pane-border-status bottom \; splitw -v \; selectp -D I think redraw_draw_ctx could do with a cached border_type as well for redraw_draw_border_span. This may be an existing problem - this is an error: ./tmux -Lx new \; resizew -x 5 -y 8 \; set pane-scrollbars on \; set -g pane-border-type separate \; set pane-scrollbars-style 'width=2,pad=1' \; splitw -h But this gets in a muddle instead: ./tmux -Lx new \; resizew -x 5 -y 8 \; set pane-scrollbars on \; set -g pane-border-type joined \; set pane-scrollbars-style 'width=2,pad=1' \; splitw -h I think both cases should be an error. |
Sorry, something went wrong.
|
Interesting, let me have a look. |
Sorry, something went wrong.
|
Okay pushing updates: For item 1: on options_push_changes for pane-border-type, reflow so cells under the new minimums grow. For 2–4: fix select-pane wrap with separate + bottom status; cache border_type on the draw context; for always-on scrollbars, LEFTRIGHT space counts both bars so tiny splits fail cleanly instead of leaving broken pane sizes. |
Sorry, something went wrong.
|
OK there are still some minor things with small windows, but TBH I am not wild about layout_rebalance_mins and friends, they seem like overkill. I wonder if we should access some weirdness to get away from having to do this, so long as tmux does not do anything really crazy or crash. |
Sorry, something went wrong.
|
Let me spend a few more hours later to see if I can think of a cleaner fix? |
Sorry, something went wrong.
|
OK thanks. TBH I think we could probably live with the borders overlapping at small sizes so long as tmux does not crash or behave incorrectly. Anyone with a window that is just too small for the panes can't really expect it to work usefully, so long as it goes back to normal when the window is big enough again. When the window is big enough it should probably do the right thing with small panes though. |
Sorry, something went wrong.
This reverts commit 8f87186, deemed a fix not worth a fix for such an edge case.
|
Just pushed updates that revert the layout rebalance helpers. Yeah, it is definitely an edge case (didn't want to miss the chance to use that pun). The broken case seems to occur specifically when you do the split while in joined border type and then switch to separate. No odd borders when you do the split while already in pane-border-type separate: ./tmux -Lx new \; set -g pane-border-type separate \; splitw -fhl1 Chances are most users won't switch between joined and separate that often, or have enough splits in a tiny window to hit this. Happy to leave it as accepted weirdness for such edge cases. |
Sorry, something went wrong.
|
I think this is OK but I am away next week so I will probably not look at it until I am home again. This will be a 3.9 feature in any case. |
Sorry, something went wrong.
|
Thank you for taking care of this! |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Summary
Test plan