Daniel Eklöf
12fda70402
sixel: log message: fix spelling
2020-06-09 17:34:04 +02:00
Daniel Eklöf
f72c982c89
osc: don't assert on \E]4 being followed by a ';'
...
This fixes a crash (in debug builds) that could be triggered by
e.g. cat:ing /dev/urandom.
2020-06-09 17:33:26 +02:00
Daniel Eklöf
bf57d0c606
csi: \E[3J: reset render.last_cursor.row if necessary
...
This fixes a crash that occurred when the last rendered cursor cell
had scrolled off screen, and \E[3J (clear scrollback) was executed.
2020-06-09 17:32:34 +02:00
Daniel Eklöf
fb001ee7a7
unicode combining: don't log overflow errors unless LOG_ENABLE_DBG == 1
2020-06-09 17:31:58 +02:00
Daniel Eklöf
e7d7b30c84
Merge branch 'faster-unicode'
2020-06-09 17:31:40 +02:00
Daniel Eklöf
9df7e8fa07
term: print_insert: early return
2020-06-09 17:31:28 +02:00
Daniel Eklöf
97221dd09b
vt: utf8-print: check width == 0 first, when deciding whether to do combining
2020-06-09 17:30:49 +02:00
Daniel Eklöf
9452aff020
vt: initial version of UTF-8 decoding built-in into the VT parser
2020-06-07 16:16:50 +02:00
Daniel Eklöf
0969b2ebd7
render: sixel: use pixman_image_composite32()
2020-06-06 14:22:54 +02:00
Daniel Eklöf
fd99b28beb
render: cell: reset clip region also when we're NOT rendering a glyph
2020-06-06 14:22:25 +02:00
Daniel Eklöf
21e9031420
sixel: don't erase image when printing text *next* to it.
2020-06-06 13:59:46 +02:00
Daniel Eklöf
a08e7f358f
sixel: fix asan runtime warning: left shift of 255 by 24 cannot...
...
be represented in type 'int'
2020-06-06 13:52:09 +02:00
Daniel Eklöf
f0980934d4
PKGBUILD: works on aarch64 too
2020-06-05 12:06:38 +02:00
Daniel Eklöf
c012a0ffc7
doc: benchmarks: results from my desktop
2020-06-05 11:07:30 +02:00
Daniel Eklöf
d8a83b500f
render: regression: don't let cell background overflow into the margins
...
This used to work before because we had a "global" clip region on the
text area, excluding the margins.
When we introduced per-cell clipping, this global clip region was
removed, and the background drawing code could now overflow into the
margins.
This fixes it by setting the cell clip region not just when rendering
a glyph, but before we render the cell background.
2020-06-05 08:10:38 +02:00
Daniel Eklöf
8b320ed296
render: re-write cell clipping to use pixman destination clipping
...
Our home rolled clip-to-cell code was, obviously, not correct.
The original problem was that we couldn't use pixman clipping since we
have multiple threads writing to the same pixman image, and thus there
would be races between the threads setting clipping.
The fix is actually simple - just instantiate one pixman
image (referencing the same backing image data) for each rendering
thread.
2020-06-04 15:39:19 +02:00
Daniel Eklöf
0d0df56796
Merge branch 'clip-to-cell'
2020-06-03 19:24:44 +02:00
Daniel Eklöf
6bf1287292
changelog: mention fix for glyphs overflowing into surrounding cells
2020-06-03 17:40:55 +02:00
Daniel Eklöf
bddd3fa384
render: do not allow glyphs to overflow into surrounding cells
...
This would be done cleaner by using destination clipping in pixman,
but since we have multiple threads rendering cells simultaneously,
that is not possible.
We also cannot use source clipping since we need to offset the
destination x,y coordinates with the glyph offsets.
So, roll our own clipping by not allowing the x,y offsets to go
outside the cell boundaries, and adjusting the glyph offset
accordingly.
Closes #21
2020-06-03 17:32:57 +02:00
Daniel Eklöf
159bfddb87
selection: fix typo when extending selection to cover double-width character
2020-06-03 17:31:41 +02:00
Daniel Eklöf
f1c8ccddde
Merge branch 'initial-tiocswinsz'
2020-06-03 17:29:45 +02:00
Daniel Eklöf
29630ac92e
term: set an initial TIOCSWINSZ right after opening the pty
...
Since foot is pretty aggressive about spawning the client early, it
was possible for a fast client to read a 0x0 terminal size. Not all
clients coped well.
Closes #20 .
2020-06-02 19:59:28 +02:00
Daniel Eklöf
5ff9bd5c9d
meson/PKGBUILD: require fcft 2.1.1
...
We really want that ÖCD RGB/BGR fix...
2020-06-02 19:53:15 +02:00
Daniel Eklöf
8f37c839f3
render: draw hollow block cursor on top of the character, not the opposite
2020-06-02 18:22:55 +02:00
Daniel Eklöf
056fd4ffe0
selection: don't allow only half of double-width characters to be selected
2020-06-02 18:21:39 +02:00
Daniel Eklöf
bd565fe99b
doc: benchmark: add terminal version numbers as foot notes
2020-05-31 18:57:19 +02:00
Daniel Eklöf
bb79d8a8c4
Merge branch 'benchmark'
2020-05-31 13:17:26 +02:00
Daniel Eklöf
ded6ca6f22
doc: benchmark: right-align columns
2020-05-31 13:13:12 +02:00
Daniel Eklöf
05a6a9de44
doc: benchmark: fix typo
2020-05-31 13:11:19 +02:00
Daniel Eklöf
04013a2480
doc: benchmark: newlines
2020-05-31 13:09:03 +02:00
Daniel Eklöf
ee4b4b8646
doc: benchmark: newlines (?)
2020-05-31 13:08:44 +02:00
Daniel Eklöf
09d10b6a48
doc: benchmarks: shell highlighting of vtebench commands
2020-05-31 13:08:19 +02:00
Daniel Eklöf
6b2a59110d
readme: fix benchmark link
2020-05-31 13:07:53 +02:00
Daniel Eklöf
dd05b14c47
benchmarks: initial results
2020-05-31 13:07:01 +02:00
Daniel Eklöf
a4b1c09d58
scripts: benchmarking utility script
2020-05-31 12:43:03 +02:00
Daniel Eklöf
d9028b2394
vt: utf8: use mbtowc() instead of mbrtowc()
...
This is slightly faster, since we don't need to initialize an
mbstate_t struct (using mbrtowc() with a NULL-pointer for 'ps' also
works).
Also, avoid a branch by setting wc=0 and then ignoring the
result/error code from mbtowc().
2020-05-31 12:41:35 +02:00
Daniel Eklöf
c38b9be6a4
vt: utf8: don't need one entry action for each UTF8 variant
2020-05-31 12:41:07 +02:00
Daniel Eklöf
e4a6b12fda
readme: cleanup
2020-05-30 11:07:07 +02:00
Daniel Eklöf
b2733dd4b2
readme: GCC requires -Wno-missing-profile in a PGO build
2020-05-30 11:02:12 +02:00
Daniel Eklöf
b105ee5edd
readme: add link to "running the new build" at the end of the release build section
2020-05-30 10:52:26 +02:00
Daniel Eklöf
3def8efa10
readme: describe what should expect to see when running the benchmark
2020-05-30 10:51:04 +02:00
Daniel Eklöf
621dfa33cf
reaadme: add step to remove the temp file
2020-05-30 10:49:22 +02:00
Daniel Eklöf
7f173388ad
readme: add missing ')'
2020-05-30 10:48:12 +02:00
Daniel Eklöf
a9bcb8e988
readme: fix URL
2020-05-30 10:47:45 +02:00
Daniel Eklöf
1ba8de9cee
readme: describe how to do a PGO build
2020-05-30 10:46:22 +02:00
Daniel Eklöf
8fd7c837f7
render: resize: don't try to signal TIOCSWINSZ on a closed ptmx FD
2020-05-27 18:23:35 +02:00
Daniel Eklöf
5639082113
Merge branch 'hold-option-in-footclient'
...
This adds --hold to footclient. It was an oversight on my part to not
add it from the beginning, when it was added to foot.
Closes #17
2020-05-27 07:18:39 +02:00
Daniel Eklöf
e02121ae24
changelog: mention addition of '--hold' to footclient
2020-05-26 20:12:53 +02:00
Daniel Eklöf
aa5e84727b
doc: footclient: add --hold
2020-05-26 20:12:44 +02:00
Daniel Eklöf
fbfbcc453c
completions: zsh: footclient: add --hold
2020-05-26 20:12:35 +02:00