Daniel Eklöf
d10fc3dc79
render: draw combining characters on top of colored bitmap glyphs (emoji)
2021-01-21 11:53:05 +01:00
Daniel Eklöf
367faeb6ee
input: don’t try to close an invalid FD
2021-01-21 11:52:59 +01:00
Daniel Eklöf
43b8b5f779
input: don’t assert when receiving a button release without a press event
2021-01-21 11:52:55 +01:00
Craig Barnes
da2b4e1809
uri: rename nibbletohex() function to hex2nibble()
...
It converts a hex digit to a nibble, not the other way around.
2021-01-21 11:52:43 +01:00
Craig Barnes
f22d4e9587
uri: use nibble2hex() instead of isxdigit(3) to check valid hex digits
2021-01-21 11:52:41 +01:00
Peter Colberg
1004387223
Add myself to Contributors
2021-01-21 11:52:24 +01:00
Peter Colberg
0aa086065c
Require trailing comment to be preceded by a space or tab
...
Fixes `word-delimiters` option to not ignore `#` and subsequent characters.
Closes #270
2021-01-21 11:52:14 +01:00
Daniel Eklöf
9c705b26ee
render: mark cell overflowed into as dirty
...
When tweak.allow-overflowing-double-width-glyphs=yes, then certain
glyphs are allowed to overflow into the neighbouring cell.
However, if the cell “owning” the double-width glyph is erased (_only_
that cell), then the cell overflowed into is not redrawn, causing
part of the double-width glyph to remain on screen.
To avoid checking for these glyphs when printing to the terminal (i.e
at parse time), simply mark both cells as dirty when we render the
overflowing glyph.
Yes, this means that the cells will always be re-rendered. We count on
them only making up a small portion of the screen.
2021-01-21 11:46:01 +01:00
Daniel Eklöf
94cacab2f9
doc: foot.ini: remove FONT FORMAT section, expand description of ‘font’
2021-01-21 11:45:48 +01:00
Daniel Eklöf
7394d7d659
foot.ini: add (default) size to font
2021-01-21 11:45:41 +01:00
Daniel Eklöf
8b4c4d6728
ci: run codespell on README/INSTALL/CHANGELOG
2021-01-21 11:45:33 +01:00
Daniel Eklöf
8dd58a4220
ci: run codespell on the man pages (the source files)
2021-01-21 11:45:31 +01:00
Daniel Eklöf
841618bb8d
changelog: update ‘contributors’
2021-01-21 11:45:14 +01:00
Birger Schacht
da0af3621e
Fix typo
...
programatically -> programmatically
2021-01-21 11:44:45 +01:00
Daniel Eklöf
797e79d3c7
ime: don’t call text-input functions when it isn’t available
...
Closes #259
2021-01-21 11:44:38 +01:00
Daniel Eklöf
152fb0186b
wayland: log warning when compositor does not implement text-input
2021-01-21 11:44:36 +01:00
Daniel Eklöf
981fb0a755
terminal: reaper callback: don’t close ptmx if already closed
2021-01-21 11:44:06 +01:00
Daniel Eklöf
ce90480011
terminal: shutdown (or --hold) when the client process terminates
...
Shutdown the terminal when the client process terminates, not when the
ptmx file descriptor is closed.
This fixes an issue where the terminal remains running after the
client process has terminated, if it spawned child processes that
inherited the ptmx file descriptor.
2021-01-21 11:44:04 +01:00
Daniel Eklöf
c28bba7a55
reaper: add optional callback
...
When calling ‘reaper_add()’, the caller can provide a callback. If
non-NULL, the reaper will call the callback to handle the actual
reaping.
If the callback is NULL, or if it returns false, the reaper reaps the
child process.
2021-01-21 11:43:57 +01:00
Daniel Eklöf
6f3c30ded8
readme: add builds.sr.ht status badge
2021-01-21 11:43:55 +01:00
Daniel Eklöf
387f4514f3
readme: try to position pipeline badge after description
2021-01-21 11:43:53 +01:00
Daniel Eklöf
f5dd88249e
readme: try to fix gitlab pipeline status badge
2021-01-21 11:43:52 +01:00
Daniel Eklöf
ca37dd4164
readme: test: add gitlab pipeline badge
2021-01-21 11:43:50 +01:00
Daniel Eklöf
dc0e1c3b62
ci: sr.ht: cd into ‘foot’ before running codespell
2021-01-21 11:43:48 +01:00
Daniel Eklöf
aeca6a8ea6
input: remove non-existing state from debug log
2021-01-21 11:43:46 +01:00
Daniel Eklöf
02493278b8
readme: add repology packaging status badge
2021-01-21 11:43:44 +01:00
Daniel Eklöf
dd3d5cec43
doc: updated ‘laptop’ benchmarks for 1.6.0
2021-01-21 11:43:42 +01:00
Daniel Eklöf
bc325999de
changelog: add empty 1.6.3 section
2021-01-21 11:43:22 +01:00
Daniel Eklöf
c5031be489
Merge branch 'stacktrace'
2021-01-20 17:47:05 +01:00
Craig Barnes
e56136ce11
debug: rename assert() to xassert(), to avoid clashing with <assert.h>
2021-01-16 20:16:00 +00:00
Craig Barnes
22f25a9e4f
Print stack trace on assert() failure or when calling fatal_error()
...
Note: this uses the __sanitizer_print_stack_trace() function from the
AddressSanitizer runtime, so it only works when AddressSanitizer is
in use.
2021-01-16 19:56:33 +00:00
Daniel Eklöf
bcf46d9eab
Merge branch 'decset-1047-and-1048'
2021-01-16 15:27:20 +01:00
Daniel Eklöf
0142930702
Merge branch 'dont-crash-when-keyboard-repeat-rate-is-zero'
2021-01-16 15:24:02 +01:00
Daniel Eklöf
e41654d4ea
csi: implement DECSET 47 - use alternate screen buffer
2021-01-16 13:34:40 +01:00
Daniel Eklöf
67ac09ab2e
input: don’t enable keyboard repeat timer when repeat rate is zero
...
wayland-client-protocol.h:
Negative values for either rate or delay are illegal. A rate of
zero will disable any repeating (regardless of the value of
delay).
This fixes a division-by-zero crash.
2021-01-16 12:33:59 +01:00
Daniel Eklöf
50b309da06
changelog: DECSET 1047+1048: remove ‘Implemented’
2021-01-15 19:08:51 +01:00
Daniel Eklöf
27fe3faa4c
changelog: DECSET 1047+1048
2021-01-15 19:08:16 +01:00
Daniel Eklöf
cebdae4bae
Merge remote-tracking branch 'origin/draw-sextant-enum-matrix'
2021-01-15 18:43:04 +01:00
Daniel Eklöf
bc053e4879
vt: document correct BS behavior, and why we do differently
2021-01-15 18:40:07 +01:00
Daniel Eklöf
2a012f86d8
term: keep cursor state in grid, for now, but document that it _could_ be moved
2021-01-15 18:02:17 +01:00
Daniel Eklöf
a63e7983dd
csi: add support for ?1047 and ?1048
...
* 1047 enters/leaves the alt screen, but without saving/restoring the
cursor.
* 1048 saves/restores the cursor
* 1049 is 1047+1048
Note: when xtsaving and xtrestoring 1048, why simply save/restore the
cursor. Without having read XTerms sources, this appears to be what it
is doing.
2021-01-15 17:09:15 +01:00
Daniel Eklöf
bae3c871bb
term/vt/csi: break out cursor save/restore to dedicated functions
2021-01-15 17:08:30 +01:00
Craig Barnes
dad0549f2e
box-drawing: use enum constants in draw_sextant() instead of #define
...
Both are functionally equivalent here, but the former is also properly
scoped, can be naturally indented and has a less repetitive syntax.
2021-01-15 16:07:51 +00:00
Daniel Eklöf
c0a3f89775
Merge branch 'xsnprintf'
2021-01-15 09:34:24 +01:00
Craig Barnes
3f4cfa338b
Add xsnprintf() and remove some unnecessary strlen(3) calls
2021-01-14 21:30:06 +00:00
Daniel Eklöf
b25b8a78a9
Merge branch 'selection-extend-force-character-wise'
...
Closes #258
2021-01-14 16:30:01 +01:00
Daniel Eklöf
767bd4f1db
config: add ‘select-extend-character-wise’ bind action
...
This forces the (new) selection mode to be character-wise when
extending a word- or line-wise selection.
Default key binding is ctrl+RMB.
2021-01-14 16:29:29 +01:00
Daniel Eklöf
2e46811953
Merge branch 'sixel-current-geometry-response'
2021-01-14 16:12:49 +01:00
Daniel Eklöf
76db20d977
readme: add IME to the feature list
2021-01-14 15:12:10 +01:00
Daniel Eklöf
5efd34c3c4
sixel: current geometry: don’t exceed current window dimensions
...
This is similar to what XTerm does, and fixes an issue with lsix,
where the output did not wrap.
2021-01-14 14:41:34 +01:00