nicm
0a1adfa116
Instead of redrawing the entire pane or scene when moving or redrawing a
...
pane, add damage rectangles and redraw only the affected spans. From
Michael Grant.
2026-10-02 14:10:41 +00:00
nicm
950a7f6631
Do not leak client if lost before configuration is loaded, and do not load
...
multiple times. GitHub issues 5661 and 5662 from Alexandre Fiori.
2026-10-02 14:10:41 +00:00
nicm
bbecdc802f
Fix floating panes not being detected as obscuring the pane behind them,
...
GitHub issue 5641 from Michael Grant.
2026-09-28 12:05:37 +00:00
nicm
7fc7f1bf69
As well as tracking modified (dirty) lines during a synchronized update,
...
also track scrolled lines. This means they can be scrolled as one
instead of forcing each line to be redrawn - much less expensive for a
very common operation. From Ben Maurer in GitHub issue 5611.
2026-09-24 12:27:51 +00:00
nicm
e7618f41c2
Some terminals have extended DECSCUSR to allow it to reset to the
...
default style and put that as the Se capability in their terminfo entry.
Change so that if Ss and Se exist, tmux does not overwrite them with its
own. GitHub issue 5476.
2026-09-22 16:48:18 +00:00
nicm
83f62d0acc
Add a feature for mintty's application escape to avoid dodgy terminals
...
whinging about not supporting it, GitHub issue 5626 from Pete Dietl.
2026-09-22 11:58:41 +00:00
nicm
0e1f6ed80d
Do not leak waiting clients (in wait-for) if they are killed, GitHub
...
issue 5614.
2026-09-22 11:58:41 +00:00
nicm
dda0e4d489
Add support for borderless menus, like panes. GitHub issue 5447 from harikp2002
...
at gmail dot com.
2026-09-21 13:44:39 +00:00
nicm
9be3a35178
Do not unzoom when resizing a floating pane that was created with -A.
...
Similarly, skip hidden floating panes when changing Z order. Reported by Clark
Wang.
2026-09-21 13:44:39 +00:00
nicm
34cd5da4e3
Remove popups and all the associated overlay machinery (they were the last user
...
of it). display-popup stays but becomes an (undocumented) compatibility command
to open a floating pane.
2026-09-21 11:01:12 +00:00
nicm
3d5f946f35
Fix typo (too few 0s) in CLIENT_CONTROL_DISCARD, from someone in GitHub issue
...
5622.
2026-09-21 11:01:12 +00:00
nicm
325b40e8c4
Add rounded borders option for panes like popups.
2026-09-11 17:00:18 +00:00
nicm
d202aa7ac1
Add remain-on-exit failed-key and a -D flag to new-pane to have a modal
...
pane wait for Escape/C-c. Both to allow better compatibility with
popups.
2026-09-10 13:04:11 +00:00
nicm
a3129249d1
Bound the memory used by buffered control mode command replies (to 64
...
MB), GitHub issue 5565 from kagari dot shusei at proton dot me.
2026-09-09 10:12:50 +00:00
nicm
bf43fdc0c7
Add new layout format which includes floating panes. The new format is
...
now a JSON subset which is less fragile and easier to handle than the
old custom format. The old (version 1) format is still supported for
control mode clients for now - they must set the new-layouts flag to
receive the new format. From Dane Jensen.
2026-09-09 08:27:49 +00:00
nicm
d9692f7ecf
Add new-layouts flag for control clients so they can default to old
...
layouts for backwards compatibility.
2026-09-08 11:38:04 +00:00
nicm
2191c9b172
Add a function to find last pane index, from Dane Jensen.
2026-09-08 10:22:40 +00:00
nicm
01d1d6580a
Add a parser for a subset of JSON, will be used for new layout strings
...
(and maybe some other stuff), from Dane Jensen.
2026-09-08 10:22:40 +00:00
nicm
8f3101d820
Extend word commands to use any Unicode whitespace character, GitHub
...
issue 5562 from Hongyi Zhao.
2026-09-01 14:55:35 +00:00
nicm
b402687fcd
Add a generation counter to pane output, from Michael K Darling.
2026-09-01 00:07:32 +00:00
nicm
4157b64754
Add a clear-on-attach option which when turned off scrolls away the
...
existing terminal state instead of entering the alternate screen. This
is useful in environments where tmux is started as a login shell but it
is important that any pre-tmux messages are still visible. GitHub issue
5508 from Josef Řídký.
2026-08-25 11:30:45 +00:00
nicm
2d5328a860
If a pane has no scrollbar, don't bother to redraw it, and if redraw is
...
deferred change scrollbar redraws into redraw-all-scrollbars not redraw
entire window. GitHub issue 5529.
2026-08-25 01:46:55 +00:00
nicm
95a7170709
Add a way for floating panes to stay above zoom (-A) flag. Use by
...
default for modal panes to match popups.
2026-08-20 12:57:26 +00:00
nicm
b28b1b7b9a
Add a -K flag to new-pane to make a modal pane capture all keys like
...
popups used to.
2026-08-19 13:10:08 +00:00
nicm
e94fcd96f9
Use DECRQM to detect mode 2026, from Michael Grant.
2026-08-18 12:03:15 +00:00
nicm
4714f478fe
When a pane is respawned, reset the control mode offsets. GitHub issue
...
5498 from Alex Rattray.
2026-08-18 09:04:00 +00:00
nicm
b2de803871
Flush output before ending sync. GitHub issue 5495 from xiangzhedev at
...
gmail dot com.
2026-08-17 21:11:31 +00:00
nicm
a18d4e0067
Allow features to be disabled using @ suffix in terminal-features, from
...
Michael Grant.
2026-08-17 16:39:38 +00:00
nicm
1729bb8e8a
If writing a file fails, propagate the error to the server via a new
...
message. Use a client flag rather than bumping the protocol version.
GitHub issue 5451.
2026-08-17 09:45:10 +00:00
nicm
bd483a63cf
Ignore Ms if it is invalid (for example no %p1) and report in client
...
mode, GitHub issue 5460.
2026-08-05 11:31:08 +00:00
nicm
114aa68082
Do not let a stuck client prevent the server from exiting - give up
...
after 10 seconds. GitHub issue 5444 from Ben Maurer.
2026-08-03 21:33:21 +00:00
nicm
6db5175e4e
Queue control mode notifications rather than emitting them inside
...
%begin/%end, GitHub issue 5458 from George Nachman.
2026-08-03 16:29:09 +00:00
nicm
01a775a46c
Store background colour in padding cells and correctly clear adjacent
...
cells when tabs are overwritten, GitHu issue 5441 from Ayman Bagabas.
2026-08-03 13:59:13 +00:00
nicm
44b8a40b8c
Correctly skip padding at end of line, GitHub issue 5411.
2026-07-29 20:04:06 +00:00
nicm
415d265728
Add a flag to turn off scrollbars for display-panes; GitHub issue 5440
...
from David Marte.
2026-07-29 17:41:01 +00:00
nicm
27ab96b284
Store count of how many times a hook is fired and the last time.
2026-07-28 04:30:34 +00:00
nicm
8862390c34
Extend fill-character to allow inside and outside to be separate and use
...
a different default (filled characters rather than dots) for inside.
2026-07-23 11:33:52 +00:00
nicm
7277712ca8
Switch show-options over to using a format and add -F.
2026-07-22 22:06:20 +00:00
nicm
bd4ac02994
Add A modifier to cycle through a series of values, GitHub issue 5412
...
from Fernando Daciuk.
2026-07-22 15:11:38 +00:00
nicm
8bf2a4e807
Add a -C flag to new-pane to have a modal pane close when the mouse is
...
clicked outside it, GitHub issue 5400.
2026-07-21 15:06:22 +00:00
nicm
d13b69ece4
Change cellused/size to 16 bits and time to 32 bits in grid_line and add
...
the OSC 133 positions (size stays the same).
2026-07-20 14:44:19 +00:00
nicm
aea209b142
Remove bits to disable removing empty lines since actually we want to do
...
that - zoom added them in the first place.
2026-07-19 22:36:40 +00:00
nicm
496bfdce38
Prevent display-panes from shifting the active pane scroll position by
...
copying the screen from before zoom, also do not let resize consume
blank lines.
2026-07-17 19:34:34 +00:00
nicm
1ce000062a
Remove the active-pane flag for now, there are some gaps in how this
...
works and I don't like it. May come back in a different form (maybe just
for windows).
2026-07-17 14:08:08 +00:00
nicm
2711780dff
Move per-client window sizes into control.c since the only user is for
...
control mode.
2026-07-17 12:15:52 +00:00
nicm
d98635e1bd
Add modal panes, created currently with new-pane -O. There is one modal
...
pane per window and it must be a floating pane. These are intended to
replace popups. Currently a modal pane will unzoom a zoomed window and
rezoom it when it is closed (a bit like modes do), but this is planned
to change when we get an always-on-top flag.
2026-07-15 15:53:04 +00:00
nicm
cbb97b961c
Add a mouse binding for empty areas of the window so C-Drag works on
...
them as well.
2026-07-15 12:04:24 +00:00
nicm
ad6832e697
Switch menus also to be attached to the window instead of an overlay and
...
drawn as part of the client's scene. This means removing the popup menu.
2026-07-14 22:13:51 +00:00
nicm
1a02c9957c
Convert display-panes away from an overlay and into a mode. This is
...
another step on the road of getting rid of overlays altogether (they are
full of special cases; popups and menus are to go also eventually). We
lose some of the styling of borders but gain the ability to run
display-panes in another pane (perhaps not hugely useful but one never
knows). The -b flag goes away as no longer useful.
2026-07-14 19:57:30 +00:00
nicm
09d5977263
Add e key to open editor to customize mode (like buffer mode) and a key
...
to show only changed items.
2026-07-14 04:18:52 +00:00