nicm
0a6c846091
Use evbuffer for building S, W, L lists, also add an xmemdup helper
...
instead of misusing asprintf.
2026-06-18 10:56:22 +00:00
nicm
d92a479d2f
Add a dim= style attribute to dim the colours (as best as tmux is able
...
to). GitHub issue 4842.
2026-06-18 09:59:55 +00:00
nicm
b1b184cdb8
Add functions to work out cell neighbours, and to remove a tiled cell.
...
From Dane Jensen.
2026-06-18 09:11:24 +00:00
nicm
1a6de01210
Check the panes again if deferred redraw to make sure the flag is always
...
set. Also add a helper for the loop.
2026-06-18 08:56:07 +00:00
nicm
3485e1c089
Tidy up server_client_check_redraw. Get rid of the bitmask tracking
...
panes which want redraw for deferred clients - if they are deferred then
they can just have a full redraw instead. Also return earlier if no
redraw is actually needed, and improve the comments.
2026-06-17 13:22:48 +00:00
nicm
1ba8fa6f04
Fix shifts to 1ULL and check scrollbar even if pane is not being redrawn.
2026-06-17 12:32:54 +00:00
nicm
d4defd943a
Add -M to move-pane and default bindings for M-drag. From Michael Grant.
2026-06-17 07:52:21 +00:00
nicm
eafd2bed5d
FIx a couple of minor errors in use of layout_cell_is_tiled.
2026-06-17 07:43:55 +00:00
nicm
9ad75e1dc3
Rename the visible ranges functions since they really relate to windows
...
and put them nto a new file.
2026-06-16 10:47:35 +00:00
nicm
4b772fd783
Allow rectangle selection to extend past end of current line to behave
...
the same as vi with virtualedit=block set. From Mark Kelly in GitHub
issue 5227.
2026-06-16 09:28:17 +00:00
nicm
fcbb6a7384
Initialize wname so it we are not freeing garbage if it is not used.
2026-06-16 09:00:25 +00:00
nicm
bdc01f44de
Fix resizing floating pane with a left scrollbar, from Michael Grant.
2026-06-16 08:57:07 +00:00
nicm
d2c23773ff
Fix missing border when drawing floating panes. From Michael Grant.
2026-06-16 08:53:14 +00:00
nicm
30e133d36a
Fix default window check in break-pane, from Dane Jensen.
2026-06-16 07:07:49 +00:00
nicm
0890df5891
Add layout_cell_is_tiled and layout_cell_has_tiled_child helper
...
functions, from Dane Jensen.
2026-06-16 07:06:32 +00:00
jsg
26285e183e
botton -> bottom
2026-06-16 05:01:56 +00:00
nicm
482e254a49
Rename window_pane_visible to match other functions, from Dane Jensen.
2026-06-15 21:47:01 +00:00
nicm
eb65331403
Be more strict about what names and titles we allow and reject them
...
immediately when possible, but allow # again for those directly set by
commands (but not escape sequences). From Barrett Ruth in GitHub issue
5175.
2026-06-15 21:41:39 +00:00
nicm
b86bd1fcd0
Add pane-border-lines none like popups (-B to new-pane).
2026-06-15 17:34:25 +00:00
nicm
bb750b07bc
If the client is blocked, defer the redraw because it may end up
...
partially discarded leading to redraw artifacts.
2026-06-15 15:05:12 +00:00
nicm
0e6fe5a097
Convert cursor position back to pane coordinates for tty_cmd_cell.
2026-06-15 14:56:30 +00:00
nicm
057b688fc7
Tidy up screen_redraw_get_visible_ranges by using a couple of
...
temporaries for start and end of range.
2026-06-15 12:07:49 +00:00
nicm
8ced9c332c
Use correct x position when drawing clipped line.
2026-06-15 11:45:51 +00:00
nicm
a41e6e2ed2
Add -B to new-pane to select the floating pane border.
2026-06-15 09:21:40 +00:00
nicm
7a18fa281d
Add top-floating and bottom-floating to pane-border-status to show
...
status line only on floating panes.
2026-06-15 08:16:05 +00:00
nicm
97b5f22a70
When redrawing a whole pane line, fall into tty_draw_line for any
...
characters that are not plain ASCII. Fixes redraw issues with partial
tabs and other wide characters when a pane is partly outside the window.
2026-06-15 07:40:45 +00:00
nicm
6e0e343f23
Fix various errors in redrawing:
...
- Fix the active pane colour when only two panes and scrollbars enabled.
- Clip left and right scrollbars the same for floating panes.
- Do not subtract scrollbar width twice when working out width of status
line.
- Check if a character is inside a visible range correctly (do not
include the next position outside the range).
2026-06-14 20:53:20 +00:00
nicm
cc27470cb6
Skip floating panes when working out the top or bottom cell. Fixes
...
missing bottom status pane status line when floating panes exist.
2026-06-14 20:37:57 +00:00
nicm
87976aa48e
Add a helper to get pane-border-status for a window for some other
...
changes to come.
2026-06-14 19:31:37 +00:00
nicm
778a15b64a
Take account of borders when resizing floating panes.
2026-06-14 18:59:15 +00:00
nicm
97472e374f
Return early if connect construct cell, reported by Jere Viikari.
2026-06-14 08:47:44 +00:00
nicm
b1054ac227
With mode-keys vi, keep cursor in the same position relative to the text
...
when scrolling. GitHub issue 5216 from Arseniy Simonov.
2026-06-13 20:39:11 +00:00
nicm
5b6ed54817
Add some missing const, from Jere Viikari.
2026-06-13 20:07:30 +00:00
nicm
d23a2b7e97
Skip floating cells when moving to previous cell for resize of tiled cells.
2026-06-13 20:03:10 +00:00
nicm
ab92b27226
Make the resize keys always change right and bottom borders for floating
...
panes which is more intuitive.
2026-06-13 19:57:44 +00:00
nicm
b182791052
Tidy up error messages from split-window.
2026-06-13 18:30:16 +00:00
nicm
654758e622
Add move-pane -z to move a pane to a particular the z-index.
2026-06-13 18:06:01 +00:00
nicm
56779f9542
Add Z index positions to move-pane -P.
2026-06-13 17:43:20 +00:00
nicm
19393e13db
Add -P to move-pane to move a floating pane to a specific place
...
(top-left, bottom-right). Get rid of the not-so-useful default { and }
swap-pane bindings and use the keys instead for moving to top-left,
top-right and add M-{ and M-} for bottom-left, bottom-right.
2026-06-13 17:12:02 +00:00
nicm
aa2fd3a151
Add flags to move-pane to move floating panes around (-U, -D, -L, -R
...
similar to resize-pane; -X, -Y similar to new-pane).
2026-06-13 16:16:18 +00:00
nicm
ec481ac82a
Missed this one as well.
2026-06-13 13:07:12 +00:00
nicm
7afee45635
Use correct name for activity time.
2026-06-13 13:06:12 +00:00
nicm
bc9252f6e3
Remove some stray code from an old floating panes implementation, from
...
Dane Jensen.
2026-06-13 11:37:46 +00:00
nicm
bf187170b1
Extend client mode so the preview can be changed to a view with a
...
summary of the client terminal and its features, intended to make
troubleshooting easier. "choose-client -i" or the "i" key in the mode.
2026-06-13 10:32:54 +00:00
nicm
b44cdf1006
Add an I format modifier to get some bits of information about a client
...
(terminal features, capabilities and environment).
2026-06-13 09:17:29 +00:00
nicm
34a6a9d3a1
Change relative time for now to only work in the past and not show a
...
sign which is more useful. Also tidy up some minor style nits.
2026-06-13 08:59:52 +00:00
jsg
b3deb9ec86
fix tty_draw_line() indentation; ok nicm@
2026-06-12 13:16:36 +00:00
nicm
574a4eccb5
Make buffer creation time sort oldest first like it used to, but change
...
windows to match sessions and panes as newest first.
2026-06-11 23:01:31 +00:00
nicm
11b6e7844a
When MODE_SYNC is on, all terminal updates need to deferred, not just
...
scrolling. Check the flag before each one. GitHub issue 4983.
2026-06-11 19:50:23 +00:00
nicm
b6be437bab
Change send-keys -K to insert keys in the right place in the queue, like
...
we already do for key bindings. GitHub issue 3476.
2026-06-11 19:13:34 +00:00