nicm
820df0f551
Add check that the pane is not in alternate screen mode when in
...
copy-mode. From Michael Grant in GitHub issue 4728.
2025-12-03 07:38:46 +00:00
nicm
40600eebfa
Do not send theme updates to panes that have exited, GitHub issue 4671.
2025-11-12 08:06:33 +00:00
nicm
9b37b9285e
Popup window should not be draggable while mouse still pressed, and do
...
not try to work out theme if no pane. From Michael Grant in GitHub issue
4330.
2025-04-02 09:12:05 +00:00
nicm
4e4fe3eb39
Cleanup window_get_active_at function. GitHub issue 4401 from Michael
...
Grant.
2025-03-11 08:14:26 +00:00
nicm
eaf70c955b
Add mode 2031 support to automatically report dark or light theme. tmux
...
will guess the theme from the background colour on terminals which do
not themselves support the escape sequence. Written by Jonathan
Slenders, GitHub issue 4353.
2025-03-04 08:45:04 +00:00
nicm
3543d79048
Free fill character string if it cannot be used, GitHub issue 4394.
2025-03-04 08:03:19 +00:00
nicm
27ee0c9c3b
Add the width of the scrollbars to the calculation of the width of the
...
window panes when finding the adjacent panes, GitHub issue 4370 from
Michael Grant.
2025-02-26 07:39:50 +00:00
nicm
102f34090d
Do not write bracketed paste keys themselves if the pane has not asked
...
for them.
2024-12-06 09:06:56 +00:00
nicm
350a151ee4
Add two new style parameters, width and pad, which apply to scrollbars.
...
From Michael Grant, GitHub issue 4241.
2024-11-15 13:12:20 +00:00
nicm
d6883c0266
Turn off scrollbar when pane is in alternate screen, from Michael Grant,
...
GitHub issue 4231.
2024-11-15 09:01:16 +00:00
nicm
09f4e43189
Add support for a scrollbar at the side of each pane. New options
...
pane-scrollbars turn them on or off, pane-scrollbars-position sets the
position (left or right), and pane-scrollbars-style to set the colours.
Mouse support will come later. From Michael Grant in GitHub issue 4221.
2024-11-05 09:41:17 +00:00
nicm
a869693405
Send focus events to pane when entering or leaving popup, GitHub issue
...
3991.
2024-10-05 12:10:16 +00:00
nicm
1c1f4c1219
Use global cursor style and colour options for modes instead of default,
...
GitHub issue 4117.
2024-10-01 08:01:19 +00:00
nicm
17bab32794
Change pasting to bypass the output key processing entirely and write
...
what was originally received. Fixes problems with pasted text being
interpreted as extended keys reported by Mark Kelly.
2024-10-01 06:15:47 +00:00
nicm
a84c109604
Add window_pane_mode helper function to tell if a pane is in copy mode,
...
from Michael Grant.
2024-08-26 07:14:40 +00:00
nicm
093b5a5518
Add a way (refresh-client -r) for control mode clients to provide OSC 10
...
and 11 responses to tmux so they can set the default foreground and
background colours, from George Nachman in GitHub issue 4014.
2024-06-24 08:30:50 +00:00
nicm
424f13fe13
Do not get muddled and crash if focusing a pane that is exiting,
...
reported by Saul Nogueras in GitHub issue 3776.
2024-04-10 07:15:21 +00:00
nicm
6c0067c103
Do not notify window-layout-changed if the window is about to be
...
destroyed (since it may have been freed by the time the notify happens),
from Romain Francoise in GitHub issue 3860.
2024-03-21 11:30:42 +00:00
nicm
4bdb855020
Do not allow paste into panes which have exited, from Romain Francoise
...
in GitHub issue 3830.
2024-02-13 08:03:50 +00:00
nicm
36e1ac6556
Unzoom window at start of destroy so it doesn't happen later (when
...
destroying panes) after the layout has been freed, GitHub issue 3717.
2023-10-23 08:12:00 +00:00
nicm
8b3e2eab5a
Use a stack for last panes line windows, from Thomas Bertschinger in
...
GitHub issue 3588.
2023-07-10 09:24:53 +00:00
nicm
c21af7e446
Add a format to show if there are unseen changes while in a mode, from
...
Dan Aloni in GitHub issue 3498.
2023-03-27 08:47:57 +00:00
nicm
7c0789d2d2
Have client return 1 if process is interrupted to an input pane.
2023-01-08 22:17:04 +00:00
nicm
09afc6c8ee
If a pane is killed, cancel reading from the file. GitHub issue 3422.
2023-01-06 07:09:27 +00:00
nicm
e867528209
Check for NULL returns from bufferevent_new.
2022-08-24 07:22:30 +00:00
nicm
d9f84854ac
Check cursor options when a pane is created, not just when they are changed.
2022-06-17 07:28:05 +00:00
nicm
0a8f356c72
Spacing/style nits.
2022-05-30 12:55:25 +00:00
nicm
e6e737ac0b
Add an option to set the character used for unused areas of the
...
terminal, GitHub issue 3110.
2022-03-16 17:00:17 +00:00
nicm
c401c91ad9
Update focus when active pane changes after pane destroyed.
2022-02-03 07:38:17 +00:00
nicm
9574496333
Handle splitw -I correctly when used from an attached client, GitHub
...
issue 2917.
2021-10-07 07:52:13 +00:00
nicm
fd756a150b
Allow control mode clients to set a hard limit on the window width and
...
height, GitHub issue 2594.
2021-08-27 17:15:57 +00:00
nicm
01b13de655
Fill colour palette correctly from option for new panes, GitHub issue
...
2831.
2021-08-20 17:36:03 +00:00
nicm
2bb0b9d6c5
Change focus to be driven by events rather than walking all panes at end
...
of event loop, this way the ordering of in and out can be enforced.
GitHub issue 2808.
2021-08-13 06:52:51 +00:00
nicm
7eea3d7ab8
Break the colour palette into a struct rather than just a single array
...
and use that to support the OSC palette-setting sequences in popups.
Also add a pane-colours array option to specify the defaults. GitHub
issue 2815.
2021-08-11 20:49:55 +00:00
nicm
84e22168a5
Change resize timers and flags into one timer and a queue which is
...
simpler and fixes problems with vim when resized multiple times. GitHub
issue 2677.
2021-06-10 07:33:41 +00:00
nicm
9f38a8807c
Include current client in size calculation for new sessions, GitHub
...
issue 2662.
2021-06-10 07:24:45 +00:00
nicm
d98f9f7fe5
Add split-window -Z to start the pane zoomed, GitHub issue 2591.
2021-03-11 06:31:05 +00:00
nicm
e858270006
There are many format variables now so allocating all the default ones
...
each time a tree is created is too expensive. Instead, convert them all
into callbacks and put them in a static table so they only allocate on
demand. The tree remains for the moment for extra (non-default)
variables added by for example copy mode or popups. Also reduce
expensive calls to localtime_r/strftime. GitHub issue 2253.
2021-02-22 07:09:06 +00:00
nicm
fb774b77d0
Change so that window_flags escapes # automatically which means configs
...
will not have to change. A new format window_raw_flags contains the old
unescaped version.
2021-01-20 07:16:54 +00:00
nicm
8bd29a30bf
Make synchronize-panes a pane option and add -U flag to set-option to
...
unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
2020-12-15 08:31:50 +00:00
nicm
1c78155e70
Add -b flags to insert a window before (like the existing -a for after)
...
to break-pane, move-window, new-window. GitHub issue 2261.
2020-06-13 09:05:53 +00:00
nicm
d919fa1ed0
Change how panes are resized so that the code is clearer and if the pane
...
is resized multiple times during one event loop, it is forced to resize
at the end. Also don't zoom/unzoom in switch-client if the pane hasn't
changed. GitHub issue 2260.
2020-06-05 11:20:51 +00:00
nicm
a54a88edd6
Instead of sending all data to control mode clients as fast as possible,
...
add a limit of how much data will be sent to the client and try to use
it for panes with some degree of fairness. GitHub issue 2217, with
George Nachman.
2020-06-01 09:43:00 +00:00
nicm
31e3f2d530
Support code for control mode flow control: allow clients to have
...
separate offsets (used and acknowleged) into the pane buffers; turn off
reading from panes when no clients can accept the data; and add a -A
flag to refresh-client to let clients turn receiving a pane on and off.
2020-05-21 07:24:13 +00:00
nicm
574a9e4b6c
Move lazy resize from the pane to the window, there is no point in
...
resizing the window unless it is the current window, and if we do and
don't resize the pane until later there are problems if the size changes
from A to B then back to A.
2020-05-16 16:50:55 +00:00
nicm
9605b080f6
Do not hoke into struct window_pane from the tty code and instead set
...
everything up in tty_ctx. Provide a way to initialize the tty_ctx from a
callback and use it to let popups draw directly through input_parse in
the same way as panes do, rather than forcing a full redraw on every
change.
2020-05-16 15:34:08 +00:00
nicm
f03b61131b
Drop having a separate type for style options and make them all strings,
...
which allows formats to be expanded. Any styles without a '#{' are still
validated when they are set but any with a '#{' are not. Formats are not
expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the
fg and bg are stored in the pane struct and act as the defaults that
can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep
them in sync.
2020-05-16 15:01:30 +00:00
nicm
5bf96c2f2c
Use a grid cell not a style for the pane style.
2020-05-16 14:53:23 +00:00
nicm
3f7f9a0e20
Make client -c and -t handling common in cmd-queue.c and try to be
...
clearer about whether the client is the target client (must have a
session) or not.
2020-04-13 20:51:57 +00:00
nicm
04cdd03525
Also move cmdq_item and cmdq_list into cmd-queue.c (this is to make its
...
use more clearly defined and preparation for some future work).
2020-04-13 10:59:58 +00:00