Commit graph

3237 commits

Author SHA1 Message Date
Daniel Eklöf
4303401f69
selection: add a ‘finish’ function, called at the end of receiving clipboard data
This is necessary to decode the final URI in a text/uri-list offer if
it hasn’t been newline terminated.
2021-01-21 11:55:33 +01:00
Daniel Eklöf
7f5e259566
selection: URI decoder: break out decoding of a single URI 2021-01-21 11:55:30 +01:00
Daniel Eklöf
324a1f80a8
reaper: remove child from list *before* calling the user provided callback
The user provided callback may call reaper_del(), in which case we
will crash when we also try to remove the child from the list.

Remove it from the list before the callback means reaper_del() (if
called by the callback) will just loop through the entire list without
finding the pid and thus do nothing.
2021-01-21 11:55:23 +01:00
Daniel Eklöf
e563c863d1
term: remove client application’s pid from reaper when shutting down
When we are shutting down the terminal, we explicitly wait for the
child application to terminate (with a timeout, after which the child
process is killed).

I.e. there’s no need to let the reaper handle it. In fact, doing so
leads to a crash since we will have destroyed (and thus free:d) the
terminal instance when the reaper callback is called.
2021-01-21 11:55:20 +01:00
Daniel Eklöf
1d6b7d7a35
pgo: stub implementation of reaper_del() 2021-01-21 11:55:18 +01:00
Daniel Eklöf
a698fa62e2
reaper: add reaper_del() - pid is no longer watched/monitored after this 2021-01-21 11:55:15 +01:00
Daniel Eklöf
1df78932d7
wayland: take rotation into account when calculating the logical PPI 2021-01-21 11:55:01 +01:00
FollieHiyuki
547b91e42b
Add fish completion 2021-01-21 11:54:02 +01:00
Daniel Eklöf
44d7242d14
render: sixel: fix assertion: x/y coords may be outside visible area
But when they are, width/height must be 0.
2021-01-21 11:53:30 +01:00
Daniel Eklöf
8953840e38
render: codespell: accomodate -> accommodate 2021-01-21 11:53:10 +01:00
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
c6a53d5e33
meson/pkgbuild: bump version to 1.6.2 2020-12-21 15:58:25 +01:00
Daniel Eklöf
7c3cb008ec
changelog: prepare for 1.6.1 2020-12-21 13:50:27 +01:00
Daniel Eklöf
b6b565cc9a
changelog: mention -Wno-profile-instr-unprofiled 2020-12-21 13:50:06 +01:00
Daniel Eklöf
1ad63a5c58
changelog: mention --seed in in generate-alt-random.pu 2020-12-21 13:47:45 +01:00
Daniel Eklöf
68dd9c17d5
generate-alt-random: ioctl(TIOCGWINSZ) may fail in run inside a container
This _should_ only happen when we’re doing a partial PGO build, since
then the script is run in the parent terminal. In this case, the user
is expected to use --rows/--cols anyway.
2020-12-21 13:42:59 +01:00
Daniel Eklöf
6a03567490
install: remove -march=native
This simplifies the instructions. People interested in performance are
likely to know how to use it.
2020-12-21 13:02:58 +01:00
Daniel Eklöf
84fe48acbb
install.md: mention that packagers should not use -march=native 2020-12-21 13:02:54 +01:00
Daniel Eklöf
69836ab795
install.md: add -Wno-profile-instr-unprofiled to clang flags in PGO builds 2020-12-21 13:02:51 +01:00
Daniel Eklöf
505680087c
changelog: use -std=c11 instead of -std=c18 2020-12-21 12:28:29 +01:00
sterni
5987b7c85f
meson: default to c11
We don't need any C18 specifics, so C11 is also fine and more widely
supported (i. e. in older clang versions).
2020-12-21 12:27:25 +01:00
Daniel Eklöf
82d9fd9219
install: fix typo in ‘ninja’ 2020-12-21 12:27:22 +01:00
Daniel Eklöf
fbe9f54db0
changelog: update ‘contributors’ 2020-12-20 15:49:24 +01:00