Nicholas Marriott
742c063473
Merge branch 'master' into sixel
2022-04-01 10:14:15 +01:00
nicm
6a1706a62f
Check scroll-on-clear for ED also.
2022-03-17 13:39:13 +00:00
nicm
10d689e735
Add an option (scroll-on-clear) to control if tmux scrolls into history
...
on clear, from Robert Lange in GitHub issue 3121.
2022-03-17 11:35:37 +00:00
Nicholas Marriott
906c92a5f4
Merge branch 'master' into sixel
2021-12-08 10:37:33 +00:00
nicm
5745bd27fd
Do not allow inline styles to replace mode-style for the selected item,
...
from Alexis Hildebrandt in GitHub issue 2946.
2021-10-26 12:22:23 +00:00
nicm
ef46eb91a5
Add -s and -S to display-popup to set popup and border style, from
...
Alexis Hildebrandt in GitHub issue 2931.
2021-10-25 09:38:36 +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
8a9bfd0cdd
Add -T to set a popup title, from Alexis Hildebrandt in GitHub issue 2941.
2021-10-20 09:50:40 +00:00
nicm
add20637f2
Add popup-border-lines option to set popup line style, from Alexis
...
Hildebrandt, GitHub issue 2930.
2021-10-14 13:19:01 +00:00
nicm
837ca176d1
Add popup-style and popup-border-style options, from Alexis Hildebrandt
...
in GitHub issue 2927.
2021-10-13 09:28:36 +00:00
Nicholas Marriott
6680a024be
Fix build.
2021-10-07 13:59:08 +01:00
Nicholas Marriott
ebd2c58593
Merge branch 'master' into sixel
2021-10-07 13:19:48 +01: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
5d451551b6
Restore saved cursor position after a ZWJ rather than recalculating it.
2021-08-12 11:35:53 +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
24cd6851f6
Add basic support for zero width joiners, GitHub issues 1605 and 2784.
2021-08-06 09:34:09 +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
02a6b39db7
Improve logging of screen mode changes.
2021-06-10 07:43:44 +00:00
nicm
255802d8d7
Trim output overwritten by later text or clears completely rather than
...
only in a few cases. This means we can better track when a line should
wrap. GitHub issue 2537.
2021-01-29 09:48:43 +00:00
nicm
8156d9ba41
Flush pending output before entering or exiting alternate screen rather
...
than leaking it, oss-fuzz issue 29959.
2021-01-27 10:42:52 +00:00
nicm
9fcf413d87
Revert clear changes to writing as they don't work properly, better
...
change to come.
2021-01-22 11:28:33 +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
ed786309cc
Do not clear the wrapped flag on linefeeds if it is already set - this
...
does not appear to be what applications want. GitHub issue 2478 and 2414.
2020-12-07 09:23:57 +00:00
nicm
1326529f99
Remove some old debug logging.
2020-11-09 08:42:43 +00:00
nicm
743ab5728d
Fix show-buffer when run from inside tmux, GitHub issue 2314.
2020-07-21 05:24:33 +00:00
nicm
2aa177d102
Do not eliminate redundant clears, the code is wrong and doing it
...
correctly wouldn't be worth it. GitHub issue 2298.
2020-07-06 10:07:02 +00:00
nicm
068b92b051
The redraw callback could be fired with a NULL pane if it updates while
...
in a mode, problem reported by Martin Vahlensieck.
2020-06-18 08:41:56 +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
2a4d4bda2b
Allow UTF-8 characters of width 0 to be stored, it is useful to be able
...
to put padding cells in as width 0.
2020-06-02 20:10:23 +00:00
nicm
f336599a3a
Make padding cell a valid character.
2020-05-27 06:23:23 +00:00
nicm
35779d655d
Fix definition of padding cells so they are not extended cells.
2020-05-25 18:55:36 +00:00
nicm
ecbdcc256f
Add screen write flags instead of individual bits and fix line length
...
calculation with padding.
2020-05-16 16:22:01 +00:00
nicm
d67245c734
Add a customize mode where keys and options may be browsed and changed,
...
includes adding a brief description of each option. Bound to "C" by
default.
2020-05-16 16:02:24 +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
379ca54c80
Rename and tidy some stuff in struct tty_ctx.
2020-05-16 15:27:08 +00:00
nicm
2391fe23ab
Copy mode search improvements:
...
- Add styles for the search marking styles (copy-mode-match-style and
copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
2020-05-16 15:11:52 +00:00
nicm
445dfa8512
Move the background colour to clear with (if any) up as well as the data
...
when scrolling, redraw problem reported by sthen@.
2020-04-21 13:48:56 +00:00
nicm
4a5182e665
Always start sync for output in panes that are not the active pane.
2020-04-20 15:49:05 +00:00
nicm
2083a6ea20
Change how sync works to always send the end sequence after all output
...
is done when we are returning to the event loop (since we always move
the cursor at that point). Also a man fix from jmc.
2020-04-20 14:59:31 +00:00
nicm
100db552d1
A resize can realloc so cannot cache the value of the list pointer.
2020-04-18 17:20:25 +00:00
nicm
deffef6f13
Reset background colour on scrolled line.
2020-04-18 15:22:05 +00: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
nicm
e153b928ff
Add formats for pane written/skipped bytes for debugging.
2020-04-18 07:19:28 +00:00
nicm
bbd6e899a8
There is no point allocating a new item and putting it on the list when
...
the whole line is cleared line, there is never any point in doing it
more than once. Instead store the background colour alone.
2020-04-17 15:44:58 +00:00
nicm
5f18844b32
Return to sending sync around clears.
2020-04-16 21:46:43 +00:00
nicm
d8433add47
Do not need to set up a tty context for clearing lines now.
2020-04-16 21:16:24 +00:00
nicm
d90ca7ecd6
Collect up line clears like text within the available data so we don't
...
need to flush everything.
2020-04-16 20:32:51 +00:00
nicm
c1b015f24e
Log what caused a flush for better visibility on what could be improved.
2020-04-16 17:24:28 +00:00
nicm
2e347d6a38
Only start and stop sync for operations like clear and scroll where
...
there is a better chance more data will be on the way.
2020-04-16 16:13:56 +00:00
nicm
b2443aa2f9
Add support for the iTerm2 sychronized updates escape sequence which
...
drastically reduces flickering.
2020-04-16 13:35:24 +00:00