Thomas Adam
7019937b52
Merge branch 'obsd-master' into master
2021-03-12 10:01:18 +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
Thomas Adam
70a6af6287
Merge branch 'obsd-master' into master
2021-01-26 10:01:18 +00:00
nicm
d6542c333d
Always resize the original screen before copying when exiting the
...
alternate screen, GitHub issue 2536.
2021-01-26 09:32:52 +00:00
Thomas Adam
d064060904
Merge branch 'obsd-master'
2020-10-30 14:01:20 +00:00
nicm
02197f20d0
Do not leak path when freeing screen, from Sergey Nizovtsev.
2020-10-30 11:33:41 +00:00
nicm
6ea6d46d0a
Store and restore cursor position when copy mode is resized, from
...
Anindya Mukherjee.
2020-05-16 15:49:20 +00:00
Nicholas Marriott
e810f15272
Store and restore cursor position when copy mode is resized, from Anindya
...
Mukherjee.
2020-05-05 10:20:57 +01:00
Thomas Adam
8ae3915cc2
Merge branch 'obsd-master'
2020-04-22 12:01:38 +01:00
nicm
b72498c4ff
Update the cursor position when deleting lines from screens without
...
history, GitHub issue 2173.
2020-04-22 08:48:44 +00:00
Thomas Adam
7da5418758
Merge branch 'obsd-master'
2020-04-18 20:01:29 +01:00
nicm
100db552d1
A resize can realloc so cannot cache the value of the list pointer.
2020-04-18 17:20:25 +00:00
Thomas Adam
2b83ee5557
Merge branch 'obsd-master'
2020-04-18 18:01:28 +01:00
nicm
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
Thomas Adam
7a21e911e1
Merge branch 'obsd-master'
2020-04-17 16:01:33 +01:00
nicm
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
Thomas Adam
6d6309014e
Merge branch 'obsd-master'
2020-04-15 20:01:27 +01:00
nicm
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
Thomas Adam
fe1778e377
Merge branch 'obsd-master'
2020-04-15 16:01:27 +01:00
nicm
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
Thomas Adam
6a2f32b4fd
Merge branch 'obsd-master'
2020-04-07 16:01:29 +01:00
nicm
1c8f7c1f7a
Do not restore history flag if it was never set.
2020-04-07 13:55:24 +00:00
Thomas Adam
c9cd8f9b5d
Merge branch 'obsd-master'
2020-03-31 10:01:29 +01:00
nicm
3bbd66c013
Move alternate screen into the screen rather than the pane.
2020-03-31 07:00:34 +00:00
Thomas Adam
54553903de
Merge branch 'obsd-master'
2020-02-05 14:01:26 +00:00
nicm
fb29242168
Make list-keys description clearer in tmux.1 and remove an unused variable.
2020-02-05 13:06:49 +00:00
Thomas Adam
19d5f4a0bd
Merge branch 'obsd-master'
2020-02-03 14:01:25 +00:00
nicm
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
Thomas Adam
dbdff241b2
Merge branch 'obsd-master'
2019-11-15 12:01:27 +00:00
nicm
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
Thomas Adam
bfc1f0ca62
Merge branch 'obsd-master'
2019-04-02 11:02:44 +01:00
nicm
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
Thomas Adam
0292243b29
Merge branch 'obsd-master'
2019-03-20 20:02:37 +00:00
nicm
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
Thomas Adam
469a9e9439
Merge branch 'obsd-master'
2019-01-15 12:02:36 +00:00
nicm
34c0807be6
Do not highlight characters which will not be copied, reported by
...
Jaroslaw Rzeszotko.
2019-01-15 09:56:31 +00:00
Thomas Adam
400b807d75
Merge branch 'obsd-master'
2018-07-31 17:02:31 +01:00
nicm
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
Thomas Adam
850c26dd46
Merge branch 'obsd-master'
2018-07-04 13:02:25 +01:00
nicm
2fae6a5761
Add accessors for grid linedata member, for some future work. From Dan
...
Aloni.
2018-07-04 09:44:07 +00:00
Thomas Adam
e755ca37b3
Merge branch 'obsd-master'
2017-11-15 20:01:22 +00:00
nicm
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
Thomas Adam
8c29f7413b
Merge branch 'obsd-master'
2017-11-02 20:01:26 +00:00
nicm
3887d95bca
There is no point in reflowing panes which have not changed width.
2017-11-02 18:26:38 +00:00
Thomas Adam
2be01ab4ec
Merge branch 'obsd-master'
2017-10-06 13:33:32 +01:00
nicm
88517ceebb
Add support for the xterm(1) title stack, from Brad Town, GitHub issue
...
1075.
2017-10-05 13:29:18 +00:00
Thomas Adam
a999f6f876
Linux build fixes
...
Linux doesn't have vis.h
2017-06-05 12:00:52 +01:00
nicm
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
nicm
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
nicm
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