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
nicm
658e087f7a
Add new-pane -M to create a new pane from a mouse binding and bind to
...
C-MouseDrag1Pane, removing the old ctrl-click-to-swap-pane binding.
2026-07-13 17:43:09 +00:00
nicm
b91086a5c8
Add pane-activity event.
2026-07-13 16:21:14 +00:00
nicm
e00a1a3e26
Add some additional simple events.
2026-07-13 14:35:33 +00:00
nicm
4a06a1f296
Work out a single layout for the entire prompt so it can all be drawn
...
together, fixes centered prompts. GitHub issue 5328.
2026-07-13 14:35:33 +00:00
nicm
2b091d91d3
Make split-window inside a floating pane work more nicely and not
...
immediately create an overlapping pane, from Dane Jensen.
2026-07-13 14:35:33 +00:00
nicm
7f2b0ae16e
Do not make pty fds blocking again until all the data has been consumed
...
or control mode clients can get stuck, GitHub issue 5356 from Ben Maurer.
2026-07-10 15:45:11 +00:00
nicm
512255b9a7
Add formats and events for OSC 133 commmands, as well as a -T flag to
...
set-hook -B to only fire when the format is true.
2026-07-10 15:20:06 +00:00
nicm
d29aa12117
Replace the notification system with events. Events can carry a payload of
...
additional payload (to reduce problems with lifetime of objects) and are
delivered to one or more event sinks. This is more powerful and reduces the
complex dependencies between control mode and hooks. Events are now used for
hooks, control mode notifications and for monitors (set-hook -B).
wait-for can now wait for an event to fire (-E flag, with -F to for filter),
with -v to print the payload, as well as listing (-l) waiting clients on an
event and forcing one to wake (-w).
A few additional hooks are also now available (pane-created, pane-resized, etc)
and some of the existing ones have additional format variables available.
2026-07-10 13:38:45 +00:00
nicm
76b693aa81
Add C-b g , and C-b g . for move and resize menus, also add to pane menu
...
(and fix to make them work).
2026-07-07 09:45:09 +00:00
nicm
7188391a22
Add a layout_geometry container struct, from Dane Jensen.
2026-07-07 08:07:26 +00:00
nicm
1117caaf09
Change array item keys to be strings instead of numbers which are
...
painful to work with.
2026-07-06 14:29:10 +00:00
nicm
3f065cf789
Add a window pane reference count.
2026-07-05 18:37:57 +00:00
nicm
2fdcb64a79
Add a define for whether mouse is enabled by default (still off).
2026-07-05 10:49:05 +00:00