tmux built from a pinned upstream commit
(74b91d6, reports next-3.7) with a patch adding a pane-outer-border
window option.
When enabled, tmux draws a border around the outside of the whole pane area — top, left, right and bottom — in addition to the usual borders between splits. The pane area is inset by one cell on each side to make room for it.
# ~/.tmux.conf
set -gw pane-outer-border on┌──────────────────┬──────────────────┐
│ │ │
│ pane 0 │ pane 1 │
│ │ │
├──────────────────┼──────────────────┤
│ │ │
│ pane 2 │ pane 3 │
│ │ │
└──────────────────┴──────────────────┘
The option is a standard window option (default off), so it composes with
status-position, pane splits, and all of the select-layout presets
(tiled, even-horizontal, main-vertical, …).
yay -S tmux-outer-border
# or
paru -S tmux-outer-bordergit clone https://github.com/al3rez/tmux-outer-border.git
cd tmux-outer-border
makepkg -siThis package provides/conflicts tmux, so it replaces the official tmux
package and installs the binary at /usr/bin/tmux.
| File | Change |
|---|---|
options-table.c |
Adds the pane-outer-border window flag (default off). |
layout.c |
Insets the layout by one cell on each side when the option is on (layout_fix_offsets is the single authoritative spot; layout_init/layout_resize reserve the size). |
layout-set.c |
Re-applies the inset after select-layout presets, which build at full size. |
screen-redraw.c |
Treats x==0/y==0 as border cells, fixes corner/edge glyph classification, and suppresses the off-screen window-edge border so the right/bottom frame draws correctly. |
The full diff lives in pane-outer-border.patch.
- Update
_commitandpkgverinPKGBUILD. - Refresh the patch against the new tree if needed.
updpkgsums && makepkg --printsrcinfo > .SRCINFO.
tmux is distributed under the ISC license. The patch is provided under the same terms.