Commit Graph

4602 Commits

Author SHA1 Message Date
nicm
3acd247f5d Redraw entire session when making a new pane. 2026-06-07 14:11:20 +00:00
nicm
343ee5ece1 Add -g flag to kill-session to kill all sessions in a group, GitHub
issue 5157 from github at jiku dot jp.
2026-06-07 13:51:42 +00:00
nicm
0256ee77c2 Add some additional environment variables needed for Wayland, from
shbernal dot 01 at gmail dot com.
2026-06-07 13:37:39 +00:00
nicm
ef8e9df02f Tweak previous. 2026-06-07 13:29:16 +00:00
nicm
306ee0eddb Add -E to split-window to explicitly make an empty pane rather than
requiring an empty command.
2026-06-07 13:15:28 +00:00
nicm
5744021ac9 Allow floating panes to be created partially off the window, based on a
change from Michael Grant.
2026-06-07 09:54:25 +00:00
nicm
c9e22ab67b Enable floating panes. These are panes which sit above the layout
("tiled panes") like popups but unlike popups are not modal and behave
like panes (so the same escape sequence support). Floating panes are
created with the "new-pane" command, bound to * by default.

Currently floating panes can only be moved and resized using the mouse.
The default second status line (if "status-format" is set to 2) has
changed to show a list of panes.

This is the first step and many obvious features are not yet complete
(notably the ability to swap floating panes, resize them using
resize-pane, change them between floating and tiles, and restore custom
layouts with floating panes).

Mostly written by Michael Grant with help from Dane Jensen.
2026-06-07 08:25:59 +00:00
nicm
4063f968c6 Do not allow swapping floating panes for the moment. 2026-06-07 08:22:58 +00:00
nicm
3a72f3beb8 Use correct X position for visible range checks in
screen_write_fast_copy, GitHub issue 5164 from Barrett Ruth.
2026-06-06 17:35:30 +00:00
nicm
35709a30ee Change so that floating panes are always part of the root layout. From
Dane Jensen.
2026-06-06 17:30:48 +00:00
nicm
d7a2b52da8 Add a way to quote for command arguments and use for key in list-keys,
GitHub issue 5153.
2026-06-05 08:04:03 +00:00
nicm
6beebbe074 Fix scrollbar drag position when window is taller than tty, from Michael
Grant.
2026-06-04 09:24:03 +00:00
nicm
580f9ced08 Change run-shell expansion to just be #{1} etc not #1 which interferes
with colours.
2026-06-03 20:18:49 +00:00
nicm
642cc15b99 Change so panes scroll when the cursor is at the top instead of halfway
down, from Michael Grant.
2026-06-03 20:16:14 +00:00
nicm
390207cdf1 Use new layout functions for join-pane also, from Dane Jensen. 2026-06-02 19:31:36 +00:00
nicm
a3bf632276 Move cell creation into layout.c, from Dane Jensen. 2026-06-02 19:25:06 +00:00
nicm
ae6a749d3a Move the PANE_FLOATING flag into the layout cell and add an accessor.
From Dane Jensen.
2026-06-02 08:13:50 +00:00
nicm
35f4c8b333 Fix border colour bug in the floating panes branch where inactive
floating pane borders incorrectly use the active colour at intersections
with tiled pane borders. From Michael Grant.
2026-06-02 07:11:49 +00:00
nicm
9725a0b9bf Remove the actual LAYOUT_FLOATING enum member. 2026-06-01 20:10:01 +00:00
nicm
b368e89bea Remove LAYOUT_FLOATING and disable custom layouts with floating panes
for now, from Dane Jensen.
2026-06-01 20:09:26 +00:00
nicm
3269833caa Fix vertical position of scrollbar having wrong vertical offset when
status-position top, from Michael Grant.
2026-06-01 20:00:25 +00:00
nicm
922f7d1645 Fix resize of floating panes with pane-border-status top, from Michael
Grant.
2026-06-01 19:59:04 +00:00
nicm
a1873fef61 Only set saved_layout_cell if creating a new cell, avoids crash when
respawning pane. Reported by Mingjie Shen in GitHubb issue 5143.
2026-06-01 19:56:26 +00:00
nicm
f6557d1ea2 Add a Z sort order in tree mode. 2026-06-01 18:19:51 +00:00
nicm
cd6c01e42b Mark floating panes in tree mode. 2026-06-01 18:00:20 +00:00
nicm
b68ab3a4b4 Add pane_x, y, z format variables and show in list-panes. 2026-06-01 14:01:09 +00:00
nicm
67dbf01eeb Add some more DECRQM responses, from Ayman Bagabas in GitHub issue 5118. 2026-06-01 13:28:49 +00:00
nicm
4d91ff8d8d Do not try to use pane if there isn't one when redrawing wide characters,
GitHub issues 5145 and 5139.
2026-06-01 10:53:28 +00:00
nicm
3bff7a9e62 Allow run-shell arguments after a shell command to be expanded as #1, #2
and so on. From Rasmus Thystrup Karstensen in GitHub issue 5121.
2026-06-01 08:27:37 +00:00
nicm
a9721ea268 Only draw visible parts of numbers for display-panes. 2026-05-31 21:29:41 +00:00
nicm
d876bb8cf3 When pane-border-indicators is set to "both" or "arrows", only draw
arrows on the active floating pane and no other floating panes. Also
there is no need to loop in screen_redraw_cell_border if only checking
one pane.
2026-05-31 21:08:23 +00:00
nicm
e3ee2b327b Move back to starting position when pane is outside the window at all. 2026-05-31 20:41:07 +00:00
nicm
7a3b7ae812 Return empty ranges if line is below window. 2026-05-30 16:10:13 +00:00
nicm
290303e64f Missed this file from previous. 2026-05-30 11:20:03 +00:00
nicm
f8ab7a5158 Handle ranges for panes which are outside the window to the left. 2026-05-30 11:19:39 +00:00
nicm
b9d228c72f Do not crash when a pane offset is negative. 2026-05-30 09:48:30 +00:00
nicm
c40302a7ff Check if the range is invalid using start,end rather than length since
it will never be negative.
2026-05-30 08:58:29 +00:00
nicm
55db69e3b2 Correct offsets for redrawing entire line here too. 2026-05-29 15:51:03 +00:00
nicm
4ecf93487e Use correct X position for redrawing wide characters. 2026-05-29 07:49:01 +00:00
nicm
3b19536df9 Swap panes on z-index list as well. 2026-05-28 11:17:35 +00:00
nicm
7ebeed1ae7 Do not try to use last pane if there isn't one. 2026-05-28 10:45:17 +00:00
nicm
7769097915 Hide menu options that do not work for floating panes. 2026-05-28 10:34:38 +00:00
nicm
c50c3629e6 Use the correct ranges when a pane is covered by a popup in tty_draw_pane. 2026-05-28 08:43:57 +00:00
nicm
9c6cfcd2e9 Obscured check should not be true if pane is same size as window. 2026-05-28 07:58:45 +00:00
nicm
ecfe6e4e7a Check visible ranges for collected cell output. 2026-05-28 07:23:52 +00:00
nicm
5c40cc43b2 Bring in the single-cell redraw parts for floating panes. 2026-05-27 20:57:53 +00:00
nicm
54ae850322 Do not adjust end position when removing partial padding, it does not
change.
2026-05-27 20:47:23 +00:00
nicm
f00f92e7e3 Check visible ranges when copying screens. 2026-05-27 19:43:46 +00:00
nicm
bbe26df83d Add an accessor function needed for floating panes. 2026-05-27 19:36:04 +00:00
nicm
ee67452772 Add window-pane-status-format options and adjust the default second
status line to show panes, also change how window-style is checked now
it is a pane option.
2026-05-27 18:57:10 +00:00