nicm
d0d2c39dec
Support hyperlinks with capture-pane -e and add a mouse_hyperlink
...
format, GitHub issue 3247 from Jeff Chiang.
2022-07-06 07:36:36 +00:00
nicm
cdacc12ce3
Add support for OSC 8 hyperlinks (a VTE extension now supported by other
...
terminals such as iTerm2). Originally written by me then extended and
completed by first Will Noble and later Jeff Chiang. GitHub issues 911,
2621, 2890, 3240.
2022-06-30 09:55:53 +00:00
nicm
ccc9dc3bb4
If an application gives the first parameter to OSC 52, validate and pass
...
on to outside terminal. GitHub issue 3192.
2022-06-09 09:12:55 +00:00
nicm
3edda3c5e7
Do not unintentionally turn off all mouse mode when button is also present.
2022-06-03 08:09:16 +00:00
nicm
792d13af49
Add a capability for OSC 7 and use it similarly to how the title is set
...
(and controlled by the same set-titles option). GitHub issue 3127.
2022-03-24 09:05:57 +00:00
nicm
ad9b805983
Add argument to refresh-client -l to forward clipboard to a pane. GitHub
...
issue 3068.
2022-03-08 12:01:19 +00:00
nicm
f85208602d
Do not create a buffer from an OSC 52 response if we have not sent a
...
query.
2022-02-15 13:03:02 +00:00
nicm
e6e3c75ed7
Try to turn on less-capable mouse modes when turning on more-capable, to
...
increase the chances we get something even if the terminal doesn't support
the one we really want. GitHub issue 3020.
2021-12-31 11:35:49 +00:00
nicm
db3aabcc34
Add a NOBLOCK flag rather than adding amount to wait for when
...
dealing with potentially-long sequences. GitHub issue 3001.
2021-12-10 12:42:37 +00:00
nicm
8fccbbb026
Do not dereference NULL window when resizing client, GitHub issue 2982.
2021-12-06 10:08:42 +00:00
nicm
333cf6429a
Bump response timer to three seconds, GitHub issue 2984.
2021-11-29 11:05:28 +00:00
nicm
57100376cc
Add a cursor-style option, from Alexis Hildebrandt in GitHub issue 2960.
2021-11-03 13:37:17 +00:00
nicm
8d2286b769
Add a cursor-colour option, from Alexis Hildebrandt in GitHub issue
...
2959.
2021-11-01 09:34:49 +00:00
nicm
4acad43013
Do not force the cursor to move if it is in the automargin space at EOL
...
and that is where we want it to be, GitHub issue 2956.
2021-10-28 18:57:06 +00:00
nicm
0cca695d6e
Instead of setting the popup default colours in the draw callback, set
...
it up in popup_display and follow the same routine as panes in the draw
and init_ctx callbacks - use the palette if the option value is default.
Allows application-set fg and bg to work in panes again.
2021-10-25 09:22:17 +00:00
nicm
d0ab1a837a
When checking ranges in tty_cmd_cells, cannot use the tty cursor
...
position and tty_cursor because it may be at the final invisible cursor
position on automargin terminals. The text to be drawn is confined to
the pane, so use the pane cursor position for the checks instead. Fix
from Anindya Mukherjee, redraw problem reported by naddy@.
2021-10-14 09:54:51 +00:00
nicm
b8581ec80e
Make positions hidden by overlays range-based rather than character-based,
...
from Anindya Mukherjee.
2021-10-11 13:27:50 +00:00
nicm
5359b76619
Do not reset cursor to default if it has never been changed, fixes
...
problem reported by naddy.
2021-10-06 10:33:12 +00:00
nicm
9b1fdb291e
Separate "very visible" flag from blinking flag, it should not affect
...
DECSCUSR. GitHub issue 2891.
2021-10-05 12:46:02 +00:00
nicm
de9697b456
calloc for confirm-before data since the item needs to start NULL.
2021-08-17 11:20:13 +00:00
nicm
41ababdf6c
Be more sophisticated about enabling synchronized updates when there is
...
an overlay and treat it like the active pane (use for commands which
move the cursor only). When there is an overlay also use it for all
panes and not just the active pane. GitHub issue 2826.
2021-08-17 08:44:52 +00:00
nicm
7789639b5d
Add a menu when a popup is present (mouse only for now).
2021-08-13 18:54:54 +00:00
nicm
9b00472820
Evaluate styles with the pane variables.
2021-08-12 19:47:05 +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
f6755c6f2c
OSC 52 can be long enough to make tmux think the output buffer is too
...
big, so treat it as a redraw. GitHub issue 2814.
2021-08-11 07:51:31 +00:00
nicm
ef5602a590
Another minor fix - do not draw positions that are under the popup with
...
spaces, from Anindya Mukherjee. Also a typo fix from Linus Arver.
2021-08-06 07:32:21 +00:00
nicm
950d3c5bbc
Tweak previous not to replace complete characters with spaces.
2021-08-06 03:29:15 +00:00
nicm
97b5962ab1
Correctly draw wide characters that are partially obscured.
2021-08-06 03:13:05 +00:00
nicm
93cc8df692
Do not freeze output in panes when a popup is open, let them continue to
...
redraw. From Anindya Mukherjee .
2021-08-05 09:43:51 +00:00
nicm
a35c897f0f
Do not clear region based on current cursor position, this is not
...
necessary anymore and causes problems, GitHub issue 2735.
2021-06-10 07:59:31 +00:00
nicm
02a6b39db7
Improve logging of screen mode changes.
2021-06-10 07:43:44 +00:00
nicm
f9f97c8145
Change cursor style handling so tmux understands which sequences contain
...
blinking and sets the flag appropriately, means that it works whether
cnorm disables blinking or not. GitHub issue 2682.
2021-06-10 07:36:47 +00:00
nicm
e8224fb0d1
Fix so tmux correctly sends the cvvis (cursor very visible) capability
...
rather than sending it and then immediately undoing it with cnorm. Also
turn it off when the cursor shape is changed like xterm.
2021-03-12 08:39:17 +00:00
nicm
af3ffa9c41
Move the call to setupterm() into the client and have it pass the
...
results to the server over imsg, means the server does not need to enter
ncurses or read terminfo db. Old clients will not work with a new
server.
2021-02-17 07:18:36 +00:00
nicm
91d112bf12
There is no need to clear every line entirely before drawing to it, this
...
means moving the cursor and messes up wrapping. Better to just clear the
sections that aren't written over. GitHub issue 2537.
2021-01-18 10:27:54 +00:00
nicm
fd451aa796
Redraw any visible modes when status line changes so that formats like
...
the pane title are updated. GitHub issue 2487. Also a man page fix from
jmc.
2020-12-03 07:12:11 +00:00
nicm
f1193b4891
If mouse bits change, clear them all and set again to avoid problems
...
with some bits implying others. GitHub issue 2458.
2020-11-09 10:54:28 +00:00
nicm
c8f3736b07
Use the setal capability as well as (tmux's) Setulc.
2020-10-05 09:53:01 +00:00
nicm
e538bef757
Check started flag before looking for capability.
2020-09-02 17:19:58 +00:00
nicm
37b1600d9c
Add a -w flag to set- and load-buffer to send to clipboard using OSC 52.
...
GitHub issue 2363.
2020-09-02 13:46:35 +00:00
nicm
c908d2039f
Fix various confusion about am vs xenl.
2020-06-05 09:32:15 +00:00
nicm
4694e9a2b6
Move the code to set up a padding cell into grid.c.
2020-06-02 20:51:46 +00:00
nicm
6c82982711
Now the tty has a pointer back to the client there is no point (and a
...
bit confusing) in it keeping a copy of the fd as well. Remove it.
2020-05-24 09:13:06 +00:00
nicm
a06a0e1392
xterm* can have focus too.
2020-05-22 15:08:38 +00:00
nicm
0ab82d9531
Add a terminal feature for enable/disable extended keys (supported by
...
xterm and mintty) and add an option to make tmux send it. Only forward
extended keys if the application has requested them, even though we use
the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as
well.
2020-05-16 16:44:54 +00:00
nicm
e2a26740b9
Add an option to set the pane border lines style from a choice of single
...
lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or
number (the pane numbers). Lines that won't work on a non-UTF-8 terminal
are translated back into ACS when they are output.
2020-05-16 16:26:34 +00:00
nicm
303d342d5f
Add a client flag 'active-pane' which stores the active pane in the
...
client and allows it to be changed independently from the real active
pane stored in the window. This is can be used with session groups which
allow an independent current window (although it would be nice to have a
flag for this too and remove session groups). The client active pane is
only really useful interactively, many things (hooks, window-style,
zooming) still use the window active pane.
2020-05-16 16:20:59 +00:00
nicm
dceb6a15d0
Add a -D flag to ask tmux not to daemonize, useful both for running a
...
debugger (lldb does not have follow-fork-mode) and for running with a
managed supervisor init system. GitHub issue 2190.
2020-05-16 16:07:55 +00:00
nicm
3fb4d4df43
Do not need to work out status line offset, we already have it.
2020-05-16 15:36:57 +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