ad3e6ff054
Add noattr and use in mode-style to allow whether attributes are ignored
...
or used to be configured. GitHub issue 4498.
2025-06-20 14:54:33 +00:00
367f17a4ff
Preserve colours in selection if the option style is default, GitHub
...
issue 4498.
2025-05-12 09:17:42 +00:00
d6883c0266
Turn off scrollbar when pane is in alternate screen, from Michael Grant,
...
GitHub issue 4231.
2024-11-15 09:01:16 +00:00
1c1f4c1219
Use global cursor style and colour options for modes instead of default,
...
GitHub issue 4117.
2024-10-01 08:01:19 +00:00
c7e61a01e5
Revamp extended keys support to more closely match xterm and support
...
mode 2 as well as mode 1. From Stanislav Kljuhhin (GitHub issue 4038).
This changes tmux to always request mode 2 from parent terminal, change
to an unambiguous internal representation of keys, and adds an option
(extended-keys-format) to control the format similar to the xterm(1)
formatOtherKeys resource.
2024-08-21 04:17:09 +00:00
0c374868ca
Do not consider a selection present if it is empty, from Michael Grant
...
(GitHub issue 3869). Also a typo fix from GitHub issue 3877.
2024-03-21 11:26:28 +00:00
73a2b12088
Always initialize screen mode, GitHub issue 3750 from Ding Fei.
2023-12-27 20:17:13 +00:00
347cd0b5f8
Fix a couple of mouse mode flag names.
2023-09-19 08:35:44 +00:00
2546216019
When exiting alternate screen, there is no need to reflow when going
...
back to old size since the contents will be overwritten. GitHub issue
3510.
2023-06-26 08:14:19 +00:00
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
0a8f356c72
Spacing/style nits.
2022-05-30 12:55:25 +00:00
65c0af76fb
Preserve CRLF flag when respawning.
2022-04-01 10:11:59 +00:00
57100376cc
Add a cursor-style option, from Alexis Hildebrandt in GitHub issue 2960.
2021-11-03 13:37:17 +00:00
8d2286b769
Add a cursor-colour option, from Alexis Hildebrandt in GitHub issue
...
2959.
2021-11-01 09:34:49 +00:00
9b1fdb291e
Separate "very visible" flag from blinking flag, it should not affect
...
DECSCUSR. GitHub issue 2891.
2021-10-05 12:46:02 +00:00
5a4b2fd68c
Fix parsing of aliases again (GitHub issue 2842), also make argument
...
parsing a bit simpler and fix the names of some client flags.
2021-09-09 06:57:48 +00:00
e463e8622d
Remove stray spaces after function names.
2021-08-20 17:50:42 +00:00
02a6b39db7
Improve logging of screen mode changes.
2021-06-10 07:43:44 +00:00
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
64c276c23b
Add an "always" value to the extended-keys option to always forward
...
these keys to applications inside tmux.
2021-06-10 07:24:10 +00:00
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
d6542c333d
Always resize the original screen before copying when exiting the
...
alternate screen, GitHub issue 2536.
2021-01-26 09:32:52 +00:00
02197f20d0
Do not leak path when freeing screen, from Sergey Nizovtsev.
2020-10-30 11:33:41 +00:00
6ea6d46d0a
Store and restore cursor position when copy mode is resized, from
...
Anindya Mukherjee.
2020-05-16 15:49:20 +00:00
b72498c4ff
Update the cursor position when deleting lines from screens without
...
history, GitHub issue 2173.
2020-04-22 08:48:44 +00:00
100db552d1
A resize can realloc so cannot cache the value of the list pointer.
2020-04-18 17:20:25 +00:00
ea5fdd5331
There is no point in keeping a bunch of different text buffers for each
...
line when writing, we only need one as big as the line width - there
can't be any more text than that since newer will overwrite older.
2020-04-18 15:12:28 +00:00
282a7a8d96
Make sure the cursor position is still on screen after we have trimmed
...
empty lines. Also improve some log messages.
2020-04-17 14:06:42 +00:00
53a29a2ffa
Instead of fixing with the cursor position when the copied screen is
...
created, resize it and let the resize/reflow code fix it up and return
it. Solves various problems with cursor position and resizing when in
copy mode. With Anindya Mukherjee.
2020-04-15 17:50:02 +00:00
c7883d5c87
Use grid_empty_line rather than memset when adding new lines on resize.
...
Also remove some old test code.
2020-04-15 12:59:20 +00:00
1c8f7c1f7a
Do not restore history flag if it was never set.
2020-04-07 13:55:24 +00:00
3bbd66c013
Move alternate screen into the screen rather than the pane.
2020-03-31 07:00:34 +00:00
fb29242168
Make list-keys description clearer in tmux.1 and remove an unused variable.
2020-02-05 13:06:49 +00:00
265164d251
Instead of passing titles through vis() which doubles backslashes, just
...
ignore any containing control characters or invalid UTF-8. GitHub issue 2070.
2020-02-03 13:46:27 +00:00
f3dc38dcae
Handle OSC 7 (a VTE extension) and put the result in a new format (pane_path).
2019-11-15 11:16:53 +00:00
ffa4d48967
Store and restore cursor across reflow by working out a position based
...
on unwrapped lines, rather than a grid offset. Fixes problems reported
by Thomas Sattler and Paul de Weerd.
2019-04-02 08:45:32 +00:00
9ee1a8f701
Improve cursor positioning after reflow by storing the position as an
...
offset into the entire history before reflow and restoring it aftewards.
2019-03-20 19:19:11 +00:00
34c0807be6
Do not highlight characters which will not be copied, reported by
...
Jaroslaw Rzeszotko.
2019-01-15 09:56:31 +00:00
82776c456e
Move struct screen_sel into screen.c and tidy up members that are only
...
used by copy mode.
2018-07-31 11:49:26 +00:00
2fae6a5761
Add accessors for grid linedata member, for some future work. From Dan
...
Aloni.
2018-07-04 09:44:07 +00:00
533a5719c5
Completely rewrite the reflow code to correctly handle double width
...
characters (previously they were not accounted for).
2017-11-15 19:21:24 +00:00
3887d95bca
There is no point in reflowing panes which have not changed width.
2017-11-02 18:26:38 +00:00
88517ceebb
Add support for the xterm(1) title stack, from Brad Town, GitHub issue
...
1075.
2017-10-05 13:29:18 +00:00
8149bc3fa6
Be more strict about escape sequences that rename windows or set titles:
...
ignore any that not valid UTF-8 outright, and for good measure pass the
result through our UTF-8-aware vis(3).
2017-06-04 09:02:36 +00:00
13a0b6bb3f
Collect sequences of printable ASCII characters and process them
...
together instead of handling them one by one. This is significantly
faster. Sequences are terminated when we reach the end of the line, fill
the internal buffer, or a different character is seen by the input
parser (an escape sequence, or UTF-8).
Rather than writing collected sequences out immediately, hold them until
it is necessary (another screen modification, or we consume all
available data). This means we can discard changes that would have no
effect (for example, lines that would just be scrolled off the screen or
cleared). This reduces the total amount of data we write out to the
terminal - not important for fast terminals, but a big help with slow
(like xterm).
2017-02-08 16:45:18 +00:00
7e6c2cb238
Make the selection able to exist independent of the cursor position, so
...
that it is not affected by scrolling. If MouseDragEnd1Pane is bound to
the new "stop-selection" command:
bind -Tcopy-mode MouseDragEnd1Pane stop-selection
A selection made with the mouse will stay as it is after button 1 is
released. (It also works bound to a key.)
From Artem Fokin.
2016-11-24 13:38:44 +00:00
4179b42424
Add support for BCE (background colour erase). This makes various escape
...
sequences (notable EL and ED but also IL, DL, ICH, DCH) create blank
cells using the current background colour rather than the default
colour.
On modern systems BCE doesn't really have many benefits, but most other
terminals now support it, some (lazy) applications rely on it, and it is
not hard to include now that we have pane background colours anyway.
Mostly written by Sean Haugh.
2016-10-13 20:27:27 +00:00
4160df4ca4
Redraw selection in tty_draw_line, so it appears when redrawing whole
...
pane. Reported by Theo Buehler.
2016-10-12 13:24:07 +00:00
e45401846f
Add static in window-*.c and move some internal functions out of tmux.h.
2016-10-11 13:21:59 +00:00
c426e485e5
Loads more static, except for cmd-*.c and window-*.c.
2016-10-10 21:29:23 +00:00