nicm
801703a3ac
Respect the ncv capability and do not combine attributes and colours
...
that will not work, reported by Joan Bruguera Micó in GitHub issue 5727.
2026-10-12 11:40:05 +00:00
nicm
37b1631e57
Fix tty_clamp_area with status lines at the top and a smaller client,
...
GitHub issue 5697 from Yasuhiro Inami.
2026-10-07 09:35:07 +00:00
nicm
0e701cbe92
Fix color range check, from Vaibhav Aggarwal.
2026-10-05 12:43:38 +00:00
nicm
0a1adfa116
Instead of redrawing the entire pane or scene when moving or redrawing a
...
pane, add damage rectangles and redraw only the affected spans. From
Michael Grant.
2026-10-02 14:10:41 +00:00
nicm
83f62d0acc
Add a feature for mintty's application escape to avoid dodgy terminals
...
whinging about not supporting it, GitHub issue 5626 from Pete Dietl.
2026-09-22 11:58:41 +00:00
nicm
34cd5da4e3
Remove popups and all the associated overlay machinery (they were the last user
...
of it). display-popup stays but becomes an (undocumented) compatibility command
to open a floating pane.
2026-09-21 11:01:12 +00:00
nicm
4157b64754
Add a clear-on-attach option which when turned off scrolls away the
...
existing terminal state instead of entering the alternate screen. This
is useful in environments where tmux is started as a login shell but it
is important that any pre-tmux messages are still visible. GitHub issue
5508 from Josef Řídký.
2026-08-25 11:30:45 +00:00
nicm
e94fcd96f9
Use DECRQM to detect mode 2026, from Michael Grant.
2026-08-18 12:03:15 +00:00
nicm
a18d4e0067
Allow features to be disabled using @ suffix in terminal-features, from
...
Michael Grant.
2026-08-17 16:39:38 +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
d29aa12117
Replace the notification system with events. Events can carry a payload of
...
additional payload (to reduce problems with lifetime of objects) and are
delivered to one or more event sinks. This is more powerful and reduces the
complex dependencies between control mode and hooks. Events are now used for
hooks, control mode notifications and for monitors (set-hook -B).
wait-for can now wait for an event to fire (-E flag, with -F to for filter),
with -v to print the payload, as well as listing (-l) waiting clients on an
event and forcing one to wake (-w).
A few additional hooks are also now available (pane-created, pane-resized, etc)
and some of the existing ones have additional format variables available.
2026-07-10 13:38:45 +00:00
nicm
73fd01c986
Some colour fixes and tweaks (marked pane, cursor colours now work).
2026-06-26 11:36:22 +00:00
nicm
8c55a388cd
Add nicer dark and light colour sets (themes) used on terminals with 256
...
or more colours. Currently based these on emacs but they could change.
Terminals with fewer colours use the ANSI colours. A new "theme" option
overrides the detected theme (set to "terminal" to go back to ANSI
colours).
2026-06-25 23:17:25 +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
8ced9c332c
Use correct x position when drawing clipped line.
2026-06-15 11:45:51 +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
d533d7c97c
Add a context for cell/palette/hyperlinks when drawing to tty to avoid
...
passing so much in parameters.
2026-06-09 21:22:22 +00:00
nicm
a42e425d44
Two fixes for RI codepoints. Firstly, do not combine more than two of
...
them - previously we were ending up with four codepoints in one cell
which tmux believed to be width 2, but terminals considered width 4.
Secondly, invalidate cursor position before redrawing the cell when the
second codepoint is received, terminals vary in how they manage
backspace and cursor movement across these characters, so it is better
to use absolute rather than relative positioning. GitHub issue 4853.
2026-06-09 11:49:36 +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
f8ab7a5158
Handle ranges for panes which are outside the window to the left.
2026-05-30 11:19:39 +00:00
nicm
55db69e3b2
Correct offsets for redrawing entire line here too.
2026-05-29 15:51:03 +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
5c40cc43b2
Bring in the single-cell redraw parts for floating panes.
2026-05-27 20:57:53 +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
nicm
00c59041ea
Bring in some more floating panes changes - obscured panes need to be
...
handled specially in screen_write_* rather than dropping into the client
redraw (tty.c).
2026-05-27 11:54:28 +00:00
nicm
cc81287665
More of floating panes redraw path, still mostly using flags which are never set.
2026-05-25 08:07:48 +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
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
d70edfa0a0
Fix issue where popup window gets overwritten by background updates,
...
from Conor Taylor in GitHub issue 4920.
2026-03-23 08:48:32 +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
aa03706ed0
Remove redundant call to tty_attributes, from Conor Taylor in GitHub
...
issue 4848.
2026-02-10 08:34:43 +00:00
nicm
b7939eb266
Don't call event_add again if the event is already pending, from Conor
...
Taylor in GitHub issue 4848.
2026-02-10 08:30:21 +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
e2afaaea75
Correct redrawing of wide characters when overwritten. Reported by Jake
...
Stewart in GitHub issue 4737.
2026-01-07 18:29:15 +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
e3a54ed0f4
Newer libevents do not allow event_del on a zero'd event.
2025-11-26 19:02:03 +00:00
nicm
1e61e52400
If tmux receives a palette request (OSC 4) in a pane and the palette
...
entry has not been set, send a request to the most recently used client
and forward any response instead. Based on change from Tim Culverhouse
in GitHub issue 4665.
2025-10-30 07:41:19 +00:00
nicm
feb3b90596
Check allow-set-title for APC as well.
2025-10-13 07:19:08 +00:00
nicm
7516f8e94f
Check the right flags member, reported by someone in GitHub issue 4634.
2025-09-12 08:46:29 +00:00
jsg
408721ae37
correct indentation, no functional change
...
found with smatch, ok nicm@
2025-09-08 08:23:19 +00:00
nicm
b5413dacc7
Delete timer before adding it again.
2025-09-01 22:11:23 +00:00
nicm
cfb906a0ce
Increase the escape delay when waiting for an RGB response no matter
...
when it is triggered (they can also be sent on resize). GitHub issue
4569.
2025-09-01 07:58:09 +00:00
nicm
7499d925da
Do not downgrade styled underscores to standard underscore if the
...
terminal does not support them, this matches what would happen if the
application tried to use them on a terminal without support.
2025-05-12 09:50:00 +00:00
nicm
1926c1b683
Don't map 256 to white-on-white either, and tidy code a bit.
2025-05-01 06:59:32 +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
37ad1e2f6d
Map bright black (colour 8) to white (7) if the background is black on
...
terminals with only eight colours so the text is not invisible. From
Dmytro Bagrii in GitHub issue 4322.
2025-01-12 14:20:49 +00:00
nicm
40c01c2d37
Allow tabs even on terminals without UTF-8, reported by jmc.
2024-10-25 19:36:38 +00:00
nicm
89adec0ca5
On some Windows terminals, if TIOCWINSZ does not return xpixel and
...
ypixel (they are zero), if this is the case then try the query escape
sequences. From Dmitry Galchinsky in GitHub issue 4099.
2024-09-30 08:10:20 +00:00
nicm
4008e2ff6d
Make a little effort to treate CRLF as LF in config files. GitHub issue
...
3720.
2024-08-04 09:42:23 +00:00