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
nicm
1e72f5ea43
Use mode-style for selected items, like choose modes. GitHub issue 2166.
2020-04-15 16:11:23 +00:00
nicm
08e2828592
Parse out DA features.
2019-11-28 10:17:22 +00:00
nicm
e3359f8349
Some minor performance improvements - most notably, don't search the
...
input state table if the next character matches the same state as before.
2019-09-24 20:44:58 +00:00
nicm
e8adcae0f2
Couple of bits of minor cleanup.
2019-09-24 15:52:14 +00:00
nicm
45f4ff5485
Add support for the SD (scroll down) escape sequence, GitHub issue 1861.
2019-08-05 06:42:02 +00:00
nicm
cbe781203f
Use the clear history function for the 3J sequence rather than doing it manually.
2019-07-08 11:38:14 +00:00
nicm
3635b3cd6c
Correctly clear underscore colour in grid_get_cell1, also fix struct
...
grid_cell to avoid padding. Fixes increased memory use reported by Suraj
N Kurapati.
2019-07-06 20:37:29 +00:00
nicm
dae2868d12
Add support for underscore colours with Setulc capability, mostly from
...
Kai Moschcau.
2019-06-27 15:17:41 +00:00
nicm
12255411f2
Allow menu items to be disabled by putting a - at the start of their
...
name, rather than just including #[dim] which still allowed them to be
chosen.
2019-05-28 09:50:54 +00:00
nicm
004a9b52f0
Add a function to draw a simple menu onto a screen.
2019-05-10 14:12:47 +00:00
nicm
3f189945d8
Pass target client and session to load_cfg from source-file so formats
...
work. Reported by Thomas Sattler.
2019-04-18 11:07:28 +00:00
nicm
06d58b3b7b
screen_write_fast_copy can no longer assume the target screen is default
...
(it isn't for the pane status lines).
2019-04-03 06:43:04 +00:00
nicm
979313832c
Extend the #[] style syntax and use that together with previous format
...
changes to allow the status line to be entirely configured with a single
option.
Now that it is possible to configure their content, enable the existing
code that lets the status line be multiple lines in height. The status
option can now take a value of 2, 3, 4 or 5 (as well as the previous on
or off) to configure more than one line. The new status-format array
option configures the format of each line, the default just references
the existing status-* options, although some of the more obscure status
options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left,
centre, right), "list" for the window list and "range" to configure
ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in
tree mode and the pane status lines.
2019-03-18 20:53:33 +00:00
nicm
13f9a061ac
Add a wrapper (struct style) around styles rather than using the
...
grid_cell directly. There will be some non-cell members soon.
2019-03-14 09:53:52 +00:00
nicm
938156d73b
DECRC and DECSC apparently need to preserve origin mode as well, based
...
on a fix from Marc Reisner.
2019-03-12 20:02:47 +00:00
nicm
2796ae81d0
Fix HPA in origin mode.
2019-03-12 18:30:08 +00:00
nicm
303d20a758
Fix wrapping after origin mode change.
2019-03-12 13:14:14 +00:00
nicm
ff4c80d53d
Add support for origin mode (DECOM, SM/RM ?6), from Marc Reisner.
2019-03-12 07:39:27 +00:00
nicm
50cdfc06fb
Initialize context property in alignment test handler function.
2018-11-13 11:36:37 +00:00
nicm
86e648d906
Allow style #[] in mode formats.
2018-11-12 14:18:10 +00:00