Commit Graph

5053 Commits

Author SHA1 Message Date
nicm
d041d56bb2 Add window-default-command option to override default-command per
window, from Meriel Sartha Mittelbach.
2026-10-07 13:58:39 +00:00
nicm
e63e2df764 Do not change active pane if joining a pane to the same window. Reported
by David le Blanc.
2026-10-07 13:58:39 +00:00
nicm
37b1631e57 Fix tty_clamp_area with status lines at the top and a smaller client,
GitHub issue 5697 from Yasuhiro Inami.
2026-10-07 09:35:07 +00:00
nicm
61581458a4 Parse terminal replies with keys and apply them only when finished, so
that a preceding Escape can be handled correctly. GitHub issue 5676 from
Joan Fabrégat.
2026-10-06 21:00:15 +00:00
schwarze
198196e53e Use the .Cm macro for keywords used as arguments to commands and options,
mostly replacing dubious use of .Ic, but a few others as well;
nicm@ agrees with the general direction.
2026-10-06 21:00:15 +00:00
nicm
e21f5e2d63 Add table for destroy-unattached. 2026-10-06 16:10:27 +00:00
nicm
b4f7b85e86 Do not allow drags started on status line to trigger pane key bindings,
GitHub issue 5692.
2026-10-06 16:10:27 +00:00
nicm
50160131a8 Fix redraw and selection position when changing selection mode. 2026-10-06 11:24:37 +00:00
nicm
d6237b5b87 Improve text about status lines, GitHub issue 5677. 2026-10-06 09:16:21 +00:00
nicm
a1d25b2816 Redraw selections after scrolling to line boundaries, GitHub issue 5689
from bugreporter23 at gmail dot com.
2026-10-06 09:16:21 +00:00
nicm
4d2494dfee Fix mouse drag selection on the top and bottom lines in vi mode, GitHub
issue 5667 from David Schweikert.
2026-10-05 22:02:40 +00:00
nicm
f8d74ec97b Do not always perform environment variable assignments inside %else,
GitHub issue 5688 from Tushar Muralidharan.
2026-10-05 15:10:10 +00:00
nicm
38b4813f48 Check format time in format_skip1 before the loop as well. 2026-10-05 15:10:10 +00:00
nicm
bd4a63ab34 Use window-status-separator in second and theird status lines, GitHub
issue 5672. Also match width of session name correctly.
2026-10-05 12:43:38 +00:00
nicm
0e701cbe92 Fix color range check, from Vaibhav Aggarwal. 2026-10-05 12:43:38 +00:00
nicm
3f5d054005 Do not lose a pending pane resize when entering the alternate screen,
from mml00 dot work at gmail dot com.
2026-10-05 12:43:38 +00:00
nicm
a1fd084d19 Adjust widths of a few codepoints incorrectly set to double width, from
Sidney Cammeresi.
2026-10-05 12:43:38 +00:00
nicm
a21247a508 Include menus when working out what parts of a pane are visible to avoid
overwriting them, GitHub issue 5593.
2026-10-02 19:21:29 +00:00
nicm
aed667218b Modify display-message -c target-client to use the data relative to
target-client, GitHub issue 5613 from Michael Grant.
2026-10-02 19:21:29 +00:00
nicm
47c789a097 Quote session_alert in status-format[2], GitHub issue 5671. 2026-10-02 19:21:29 +00:00
nicm
dfcb588029 Only skip collecting text except for right margin when autowrap is off,
from Jang-Ho Hwang.
2026-10-02 19:21:29 +00:00
nicm
a8523db838 Change to the new working directory even if getcwd fails, GitHub issue 5658. 2026-10-02 19:21:29 +00:00
nicm
556235fbe2 Sync redraw should use the given rows not the scroll region now. 2026-10-02 14:10:41 +00:00
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
a511a7ab55 Restore the zoom when swap-pane refuses a floating pane, GitHub issue
5660 from Alexandre Fiori.
2026-10-02 14:10:41 +00:00
nicm
5932140d30 Do not use client for copy-mode -S if NULL, reported by Martin Vlach. 2026-10-02 14:10:41 +00:00
nicm
4a98a9dea8 Add NULL checks for clients that may not have identified yet, GitHub
issue 5663.
2026-09-29 23:00:10 +00:00
nicm
c34432980f Do not format times that localtime_r and ctime_r cannot convert, from
Alexandre Fiori.
2026-09-29 19:03:18 +00:00
nicm
1bb90bdd62 Add a maximum repeat size as well as count. 2026-09-29 19:03:18 +00:00
nicm
95aaa6cc2a Do not try to decode UTF-8 if it is too long to match the pattern. 2026-09-28 21:22:21 +00:00
nicm
389908d001 Do not allocate for repeat inside loop but allocate up front and just
copy in the loop.
2026-09-28 21:22:21 +00:00
nicm
5fbfaca6a8 Copy all #s at once when multiple are seen before [ rather than only
copying one at a time which can be very slow.
2026-09-28 17:26:42 +00:00
nicm
c4eb4ab5df Check time every iteration for expensive repeat loop. 2026-09-28 17:26:42 +00:00
nicm
5e5e15f6c7 Use mode screen for cursor not base which may be wrong during
synchronized updates. GitHub issue 5648 from bugreporter23 at gmail dot
com.
2026-09-28 15:30:41 +00:00
nicm
db3950ed07 Do not use subtraction for comparators, this doesn't really matter for
IDs but it breaks key sorting. GitHub issue 5646 from Alexandre Fiori.
2026-09-28 12:05:37 +00:00
nicm
a16e62849d Fix dragging a floating pane by its top border over a tiled pane's
status line, GitHub issue 5645 from Michael Grant.
2026-09-28 12:05:37 +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
884101263e Exit 128 + SIGHUP like popups did if waiting for a pane that was killed,
from Alexandre Fiori.
2026-09-28 12:05:37 +00:00
nicm
86af3c8167 Add a second comparison for key bindings to avoid ties, GitHub issue
5647 from Alexandre Fiori.
2026-09-28 10:25:03 +00:00
nicm
abb1c79886 Bounds check size and offsets for v1 layouts, found by ossfuzz. 2026-09-28 10:25:03 +00:00
nicm
11a0799925 Tighten up TMUX_TMPDIR - do not allow relative paths or .. or if
realpath fails. From Alexandre Fiori.
2026-09-25 23:37:16 +00:00
nicm
7a816f90e7 Discard keys if there is no session, fixes crash reported by Artyom
Pertsovsky.
2026-09-25 17:28:18 +00:00
nicm
d87bd430b9 Fix some indentation. 2026-09-25 12:18:30 +00:00
nicm
f9eb405921 Do not overflow window indexes at INT_MAX in new-window -a and
renumber-windows. GitHub issue 5637 from Alexandre Fiori.
2026-09-25 12:18:30 +00:00
nicm
4ae837de68 Keep the scroll position in tree mode when the list is rebuilt, GitHub
issue 5631 from Kim A Brandt.
2026-09-25 06:40:33 +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
aa4123ab58 Add margins for WezTerm and ghostty, from Michael Grant. 2026-09-24 09:44:54 +00:00
nicm
a4c051f27d Note about default-shell, from Meriel Sartha Mittelbach. 2026-09-23 16:48:08 +00:00
nicm
183c3432b0 Get x and y the right way round, fixes crash when opening a mode prompt
when the client is offset into the window; may be the crash reported by
sthen@.
2026-09-22 20:02:40 +00:00