Commit Graph

4893 Commits

Author SHA1 Message Date
nicm
f751d3f2c1 When destroying pane, also close pipe and destroy its event. GitHub
issue 5424.
2026-07-27 19:56:19 +00:00
nicm
5269e14113 Add after-swap-window hook from basicalllymiloud at gmail dot com. 2026-07-27 14:00:18 +00:00
nicm
d57d75deee Include \n and \t in shell special characters, from Nikolas Skarlatos. 2026-07-26 19:57:57 +00:00
nicm
4cc45aa719 Do not try to write to clients which have died, GitHub issue 5431 from
Stefan Ladstätter.
2026-07-26 16:16:37 +00:00
nicm
3068ae06a8 Also set ntitles to 0 when creating screen in the first place. 2026-07-26 10:55:45 +00:00
nicm
55169f1275 Reset title count when freeing titles, GitHub issue 5429 from Brett
Smith.
2026-07-26 10:55:45 +00:00
nicm
afb95f3134 Do not loop forever if the combining character is too long, GitHub issue
5434 from me at qdrs dot dev.
2026-07-26 10:55:45 +00:00
nicm
47f210a9d2 Replace outside as well as empty cells with the border. 2026-07-24 11:46:45 +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
2a5389416a Add a menu on empty areas to allow a new pane to be created. 2026-07-22 22:06:20 +00:00
nicm
9625fe3b5f Show user hooks correctly with show-hooks. 2026-07-22 20:06:31 +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
a57b0f1282 Clip floating panes exactly at window edge, don't let the border creep
into the first outside column.
2026-07-21 15:06:22 +00:00
nicm
c59db2d007 Invalidate scene when window is resized. 2026-07-21 15:06:22 +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
9d583cad5a If drawing border but not actually on a border, use the default line
style.
2026-07-21 12:55:44 +00:00
nicm
abd2f3a9a5 Add copy-mode-current-line-style to set style for current line in copy
mode, GitHub issue 5391 from Leo Henon.
2026-07-21 12:55:44 +00:00
nicm
0e2576a842 Use correct cursor position for range end, GitHub issue 5414. 2026-07-21 09:17:32 +00:00
nicm
418ddada23 Increase escape-time for tmux's own queries (refresh-client -l and
window size) as well, GitHub issue 5388 from Jackson Edmonds.
2026-07-21 09:17:32 +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
efcfc55535 Correctly include status line in pane height. 2026-07-20 11:14:56 +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
8024fab1f2 Copy the home directory if it comes from getpwuid. 2026-07-19 20:33:36 +00:00
nicm
c766669b3b Add unzoomed width and height formats and use them for the sizes shown
in panes mode, reported by tb@.
2026-07-19 19:57:31 +00:00
nicm
6ef280fb0f Guard x as well as y to avoid overflow, GitHub issue 5409 from Park
Seongjae.
2026-07-19 18:29:02 +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
377a810168 Add some missing calls to invalidate scene. 2026-07-17 16:49:55 +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
a177d0f590 Change %% to escape single quotes (%1 remains with no quoting and %%
with double quotes) to avoid a single quote being able to terminate
quoted sections of commands. Fixes unexpected behaviour with session
names containing single quotes reported by Aliz Hammond.
2026-07-17 12:15:52 +00:00
nicm
d5b1f3ad89 Clear cfg_client if the client is destroyed to prevent UAF found by Ilya
Grigoriev.
2026-07-17 09:00:52 +00:00
nicm
1d0d22df22 Fix uninitialized var for sscanf %n. 2026-07-16 16:43:21 +00:00
nicm
824a07290f Do not redraw overlays unless actually asked to, GitHub issue 5398 from
Noam Stolero.
2026-07-16 12:54:45 +00:00
nicm
edefce8eb5 Small section missed from previous. 2026-07-15 15:53:04 +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
75c874c55b Clear the "waiting for editor" area before writing so stray characters
aren't visible from underneath.
2026-07-15 13:29:08 +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
34a11db6ca Typos and doc fixes, from Ben Boeckel. 2026-07-14 17:24:18 +00:00
nicm
a10252dad2 Handle padding and tab redraw correctly in copy mode. 2026-07-14 13:12:48 +00:00
nicm
f88189cd59 Do not clear lines when we are just going to overwrite them in copy mode. 2026-07-14 12:17:17 +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
2a75cc2236 Apply dragging change to scroll-down as well as scroll-up. 2026-07-13 22:40:18 +00:00
nicm
37da97fbe6 Add environment to customize mode also 2026-07-13 21:54:08 +00:00
nicm
b1c347ee0c Replace last use of fgetln with getline, GitHub issue 5389 from Yayo Razo. 2026-07-13 20:21:59 +00:00
nicm
fba5083b58 Add hooks to customize mode. 2026-07-13 20:21:59 +00:00
nicm
8fbbde7035 Add keys and menu items for copy mode line numbers, and a menu item for
auto refresh.
2026-07-13 18:59:02 +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