nicm
bbe26df83d
Add an accessor function needed for floating panes.
2026-05-27 19:36:04 +00:00
nicm
9cc8947a43
Cache border and active border style separately, fixes problem reported
...
by Marcel Partap in GitHub issue 5125.
2026-05-27 13:41:20 +00:00
nicm
d45a9cad8c
Work out if a pane is obscured by another one when drawing.
2026-05-22 11:55:43 +00:00
nicm
36bc351557
Use a union for the data passed around in tty_ctx instead of void *.
2026-05-22 09:21:32 +00:00
nicm
d5ee330d20
Tidy up a load of different flags and special values in the tty_ctx into
...
a single bitmask.
2026-05-22 09:05:16 +00:00
nicm
9aa9a92f72
Pane resizing code for floating panes, mostly by Michael Grant.
2026-05-21 07:28:51 +00:00
nicm
0057905ca0
Increase escape delay if the buffer contains a partial paste end, fixes
...
issues with at least Windows Terminal. From jing dot empty at gmail.com
GitHub issue 5088.
2026-05-20 10:56:46 +00:00
nicm
ce24b92758
Floating panes full redraw code, by Michael Grant.
2026-05-19 13:12:45 +00:00
nicm
a46cdb8bbc
More (currently disabled) bits for creating floating panes, from Michael
...
Grant and Dane Jensen.
2026-05-19 10:26:03 +00:00
nicm
34e2035bad
More bits for pane Z index tracking from floating panes, mostly by
...
Michael Grant.
2026-05-19 09:48:14 +00:00
nicm
a8520ba59e
Bring over some of layout and positioning code for floating panes, by
...
Michael Grant.
2026-05-17 16:01:42 +00:00
nicm
f12d7b4e67
When mode-keys is set to vi, do not allow the cursor to go into the
...
invisible extra cell to the right of the visible text. This is closer to
what vi(1) does. From Max Vim in GitHub issue 5070.
2026-05-17 13:12:21 +00:00
nicm
bbea6e6375
Add a five second limit on pasting for terminals which mysteriously lose
...
the end sequence if the paste is too big (that is, Terminal.app).
Reported by Garri Djavadyan in GitHub issue 4527.
2026-05-17 13:01:04 +00:00
nicm
4cea1c7189
Add new-pane command, currently this is equivalent to split-window but
...
it will have minor differences for floating panes in future. Also add
-R/-s/-S/-k/-m flags to control border and style and behaviour, like
popups. GitHub issue 5027 from Dane Jensen.
2026-05-17 10:44:53 +00:00
nicm
18fced7e7f
Make pane offsets signed, needed for floating panes.
2026-05-12 12:05:41 +00:00
nicm
af98467d0d
Do not cache format for status line because it stores various pointers
...
that might be stale, instead cache the cmd_find_state and rebuild the
formats every time they are needed. Reported by Marcel Partap in GitHub
isue 5065.
2026-05-08 06:57:38 +00:00
nicm
518fcf7e03
Do not sanitize title when popping it from stack, also add a limit to
...
number of pushed titles.
2026-05-05 13:18:46 +00:00
nicm
524f283cc6
Add support for line numbers in copy mode. A new copy-mode-line-numbers
...
option has the following modes: off, default (tmux's normal line
numbering where 0 is the top visible line), absolute (first line in
history is 1), relative (relative to the cursor) and hybrid (current
line is absolute, others relative). Also adds
copy-mode-line-number-style and copy-mode-current-line-number-style to
set the style of the line numbers. When copy mode is entered with the
mouse, line numbers stay off.
From Leo Henon in GitHub issue 5025.
2026-05-01 09:44:42 +00:00
nicm
1d9522a7a6
Kill client rather than fatalx on bad file handling messages, reported
...
by Tim Zheng.
2026-04-23 12:36:15 +00:00
nicm
bc15723f7f
Add feature for progress bar and pass to outside terminal, GitHu issue
...
4972 from Eric Dorland.
2026-04-22 07:25:17 +00:00
nicm
d339ab51eb
Sanitize pane titles and window and session names more consistently and
...
strictly, prevents C0 characters and other nonvisible characters causing
problems. Reported (with a different fix) by Chris Monardo in GitHub
issue 4999.
2026-04-22 07:10:16 +00:00
nicm
147521b757
Add -C flag to command-prompt to match display-message -C (do not freeze
...
panes). From Barrett Ruth in GitHub issue 4978.
2026-04-13 09:33:09 +00:00
nicm
4b0ff07bcb
When a cell is cleared after having been moved, we cannot reuse its
...
extended data, because that may still be in use. Add a flag to
grid_clear_cell to indicate this. Fixes irritating problems with ICH
(CSI @) mostly visible in emacs.
2026-04-05 15:43:17 +00:00
nicm
cad282ebb7
Cache user from getpwuid because it can be very expensive on some
...
platforms. From Ben Maurer in GitHub issue 4973.
2026-04-04 17:13:07 +00:00
nicm
87aaff5fae
Bring some new formats from the floating panes work: pane_zoomed_flag,
...
pane_flags, pane_floating_flag. By Michael Grant.
2026-04-04 16:40:27 +00:00
nicm
6b056eb53f
Add some new mouse ranges called "control0" to "control9", will be used
...
for controls on floating panes, from Dane Jensen, with some bits from
Michael Grant.
2026-04-03 10:13:20 +00:00
nicm
bdd78ce38e
Handle OSC 9;4 progress bar sequence and store in format variables, from
...
Eric Dorland in GitHub issue 4954.
2026-04-03 09:14:27 +00:00
nicm
2ff0dd3fef
Reorganize structure of key_code so that it can be built directly by
...
bitshifts rather than a load of huge switches, from Dane Jensen in
GitHub issue 4953.
2026-03-31 11:46:43 +00:00
nicm
fd62f419ac
Add a short builtin help text for each mode accessible with C-h,
...
based on code from Patrick Motard in GitHub issue 4751.
2026-03-12 12:40:40 +00:00
nicm
19f3fb131b
Draw message as one format, allowing prompts and messages to occupy only
...
a portion of the status bar, overlaying the normal status content rather
than replacing the entire line. A new message-format option now controls
the entire message (like status-format). From Conor Taylor in GitHub
issue 4861.
2026-03-12 07:25:13 +00:00
nicm
1e208abd93
Add pane_pipe_pid with pipe fd and call setpgid to make it easier to kill.
2026-03-05 09:22:08 +00:00
nicm
5b3c642195
Pass paste buffer through vis(3) when pasting to prevent buffers
...
containing for example the bracket end sequence causing issues. -S flag
disables. Reported by Mason Davis.
2026-02-25 07:53:41 +00:00
nicm
09bd686327
Add sorting (-O flag) and a custom format (-F) to list-keys, from Dane
...
Jensen in GitHub issue 4845.
2026-02-24 08:20:52 +00:00
nicm
03f8690f9c
Pass which clipboard is set through to the terminal, from Axel Lindskog
...
in GitHub issue 4858.
2026-02-18 09:10:31 +00:00
nicm
7e50eb0e83
Make paste_get_top return a copy of the buffer name which is more
...
sensible and avoids a double free pointed out by DongHan Kim.
2026-02-11 08:30:37 +00:00
nicm
25f6d8b1e9
Implement some obvious missing sort orders, from Dane Jensen in GitHub
...
issue 4813.
2026-02-10 09:55:53 +00:00
nicm
62944da74b
Make OSC 52 work in popups, from gogongxt at 163 dot com in GitHub issue
...
4797.
2026-02-03 09:07:44 +00:00
nicm
588013bb44
Refresh copy mode when style changes, from Josh Cooper in GitHub issue 4830.
2026-02-03 08:53:58 +00:00
nicm
3c3d9ce3a9
Break sorting out into a common file so formats and modes use the same
...
code. Also add -O for sorting to the list commands. From Dane Jensen in
GitHub issue 4813.
2026-02-02 10:08:30 +00:00
nicm
f70150a663
Replace overlay_ranges with visible_ranges which can hold more than
...
three ranges (will be needed for floating panes); move the visible
ranges checks outside of tty_draw_line and rewrite it to fix issues with
partially-obscured wide characters. With Michael Grant.
2026-01-23 10:45:53 +00:00
nicm
195a9cfd88
When history-limit is changed, apply to existing panes, not just new
...
ones. GitHub issue 4705.
2026-01-22 08:55:01 +00:00
nicm
ab1f2ef71c
Add a function to convert a screen to a string, from Michael Grant.
2026-01-20 16:32:05 +00:00
nicm
1e5f93b7b6
Add -e flag to command-prompt to close if empty, from Dane Jensen in
...
GitHub issue 4812.
2026-01-14 19:43:43 +00:00
nicm
a443531280
Remember last pane or type of location for double and triple clicks and
...
correctly handle it changes between first and second or second and
third. GitHub issue 4795 from Shaobo Song.
2026-01-12 07:48:36 +00:00
nicm
583f12ea71
Work out the default command from the queue in case it has been set from
...
the config file, GitHub issue 4791.
2026-01-07 08:16:20 +00:00
nicm
f226804149
Do not send theme unless it has changed, and do not send immediately
...
when updates are enabled. GitHub issue 5787.
2026-01-06 20:05:57 +00:00
nicm
5f9dac8abc
Do not use ;;s in list-keys output as it is confusing and cannot be
...
parsed on input, from Patrick Motard in GitHub issue 4750.
2026-01-06 10:17:29 +00:00
nicm
1c7e164c22
Add support for applications to use synchronized output mode (DECSET
...
2026) to prevent screen tearing during rapid updates. When an
application sends SM ?2026, tmux buffers output until RM ?2026 is received
or a 1-second timeout expires.
From Chris Lloyd with the assistance of Claude Code, GitHub issue 4744.
2025-12-17 11:49:29 +00:00
nicm
322adfbdde
Add a get-clipboard option which when enabled (the default is off) uses
...
the same mechanism as palette requests to request clipboard from the
terminal and forward to the requesting pane. Remove the now-redundant
forward-to-pane ability from "refresh-client -l". GitHub issue 4275.
2025-12-02 08:20:32 +00:00
nicm
e4c552f5a5
Change noattr to be an explicit attribute in the style so that it works
...
correctly and does not delete attributes set in the style itself, GitHub
issue 4713.
2025-12-01 08:14:29 +00:00