Age | Commit message (Collapse) | Author |
|
some extra logging.
|
|
need to save and restore the cursor so that the next character goes into
the right place.
|
|
(but it is simpler to flush everything, so do that instead).
|
|
full flush before insert.
|
|
|
|
delayed scrolling before drawing it.
|
|
possible instead of sending individual line feeds.
|
|
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).
|
|
|
|
is not actually helping us much and just adds complexity, so don't
bother.
|
|
|
|
the whole line.
|
|
|
|
|
|
|
|
|
|
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.
|
|
modify the screen, not after; and use grid_view_insert_cells to make
space not grid_move_cells.
|
|
pane. Reported by Theo Buehler.
|
|
the end of the source, but it was wrong and causes problems that are
only showing up now we are more aggressive about skipping redundant
screen updates. Remove the optimization entirely as more trouble than it
is worth to fix (and it'll have to go when BCE is done anyway).
|
|
|
|
overlap after the first character (for example with cells xy and ab, y
is replacing a).
|
|
into the history) and when resizing only use scrolled lines and not
cleared lines (which are probably not intended to reappear). From
Chaoren Lin.
|
|
instead track them as change (dirty) and update them once at the end,
saves much time if repeatedly writing the same cell. Also fix comparison
of cells being equal in a few places (memcmp is not enough).
|
|
skipped, reported by Omar Sandoval.
|
|
last character if it won't be used. This (and last few commits) prompted
by a report from Hubert depesz Lubaczewski.
|
|
|
|
called conditionally later).
|
|
|
|
|
|
|
|
|
|
mode inside tmux, just no longer support it for tmux itself.
|
|
poor idea that was fairly quickly replaced by SGR mouse input (which is
now widespread). It is impossible to tell the difference between UTF-8
and non-UTF-8 mouse input; since the mouse-utf8 option was removed tmux
has not handled it correctly in any case; and it is ridiculous to have
three different forms of mouse input.
|
|
|
|
|
|
|
|
of storing a full grid_cell with UTF-8 data and everything, store a new
type grid_cell_entry. This can either be the cell itself (for ASCII
cells), or an offset into an extended array (per line) for UTF-8
data.
This avoid a large (8 byte) overhead on non-UTF-8 cells (by far the
majority for most users) without the complexity of the shadow array we
had before. Grid memory without any UTF-8 is about half.
The disadvantage that cells can no longer be modified in place and need
to be copied out of the grid and back but it turned out to be lot less
complicated than I expected.
|
|
|
|
terminal. We still support non-UTF-8 terminals outside tmux, but inside
it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
|
|
|
capturep -J.
|
|
- Don't extend the line to full width on insert/delete character which
means leaves extra spaces when reflowing.
- Only mark a line wrapped when the cursor actually goes off the end,
not on newlines which can be used for positioning.
|
|
|
|
|
|
|
|
options with a single foo-style option. For example:
set -g status-fg yellow
set -g status-bg red
set -g status-attr blink
Becomes:
set -g status-style fg=yellow,bg=red,blink
The -a flag to set can be used to add to rather than replace a style. So:
set -g status-bg red
Becomes:
set -ag status-style bg=red
Currently this is fully backwards compatible (all *-{fg,bg,attr} options
remain) but the plan is to deprecate them over time.
From Tiago Cunha.
|
|
|
|
behaviour. From George Nachman.
|
|
|