Commit graph

3219 commits

Author SHA1 Message Date
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
Daniel Eklöf
533db90a94
changelog: remove trailing ‘5’ 2020-12-20 15:48:25 +01:00
Daniel Eklöf
e12a9347dd
generate-alt-random: override detected width/height when --cols/--rows have been used
This ensures we have a valid width and height, that matches what the
PGO helper binary expects.
2020-12-20 15:46:46 +01:00
Daniel Eklöf
983f474ec8
generate-alt-random: fix “new style” cube escape
It’s “38:5:<idx>”, not “38:2:5:<idx>”.
2020-12-20 15:46:43 +01:00
sterni
d1735ffb6d
generate-alt-random-writes: use python random, allow setting a seed
Using Python's own PRNG should make the code cleaner and allow for
reproducible stimulus files if that is desired via setting --seed (at
least for the same versions of the script, changing the kind and/or
order of the random calls will of course impact the output in the
future).

I did the following substitutions:

* rand.read(1)[0] % n and struct.unpack('@H', rand.read(2))[0] % n →
  random.randrange(n)
* rand.read(1)[0] → random.randrange(256)
* rand.read(n) → [random.randrange(256) for _ in range(n)]
  (better alternative would have been random.randbytes(n), but is only
  available for Python >= 3.9, switching to this in the future will
  impact output)
* list[rand.read(1) % len(list)] → random.choice(list)
2020-12-20 15:46:40 +01:00
Daniel Eklöf
a2ce0622c5
render: fix rounding error when calculating background color with alpha
We use pre-multiplied alpha color channels, but were having bad
rounding errors due to the alpha divider being truncated to an
integer.

The algorithm for pre-multiplying a color channel is:

  alpha_divider = 0xffff / alpha
  pre_mult_color = color / alpha_divider

In order to fix the rounding errors, we could turn ‘alpha_divider’
into a double.

That however would introduce a performance penalty since now we’d need
to do floating point math for each cell.

The algorithm can be trivially converted to:

  pre_mult_color = color * alpha / 0xffff

Since both color and alpa values are < 65536, the multiplication is
“safe”; it will not overflow an uint32_t.

Closes #249
2020-12-20 15:46:32 +01:00
Daniel Eklöf
06f84b9aaf
meson: add wl_proto_headers to pgo executable
This fixes a build failure of pgo.o
2020-12-20 15:46:28 +01:00
Daniel Eklöf
3fd60d4975
changelog: mention meson dependency fix 2020-12-20 15:46:24 +01:00
Daniel Eklöf
b976d10f7d
changelog: add 1.6.1 section 2020-12-20 15:46:05 +01:00
Craig Barnes
18b027f26b
meson: add missing "wl_proto_headers" dependency for pgolib and vtlib
Dependency chains:

* pgolib -> terminal.c -> terminal.h -> wayland.h
* vtlib -> csi.c -> config.h -> wayland.h

wayland.h includes <primary-selection-unstable-v1.h>, which must be
generated by a custom_target() rule *before* any sources that require
it are built. Failure to fully specify these dependencies can otherwise
result in a race condition, where a dependent source file gets compiled
(and fails with a "header not found" error) before the header itself
has been generated.
2020-12-20 15:44:20 +01:00
Craig Barnes
9e7d108afd
changelog: fix link to "1.6.0" heading 2020-12-20 15:44:09 +01:00
Daniel Eklöf
eadc1c58a2
term: fix builds with debug logging enabled
DPI_AWARE_ON has been renamed to DPI_AWARE_YES
2020-12-20 15:43:26 +01:00
Daniel Eklöf
098a7e42cb
meson/pkgbuild: bump version to 1.6.0 2020-12-18 14:52:10 +01:00
Daniel Eklöf
8cc179cc53
changelog: prepare for 1.6.0 2020-12-18 14:51:34 +01:00
Daniel Eklöf
59e4243f2a
changelog: move entry for dpi-aware up, to make it more visible 2020-12-18 14:46:56 +01:00
Daniel Eklöf
c1dc38e813
changelog: use code/monospace highlighting for foot.ini config options 2020-12-18 14:46:16 +01:00
Daniel Eklöf
5c59e38cf4
Merge branch 'dpi-aware-when-scaling-factor-is-one' 2020-12-18 14:42:48 +01:00
Daniel Eklöf
397154bd4e
Merge branch 'statusline-terminfo-caps'
Closes #242
2020-12-18 14:41:31 +01:00
Daniel Eklöf
fa93a97a08
terminfo: add status line capabilities: hs, dsl, fsl and tsl
* hs  - boolean, signals status line availability
* tsl - to_status_line: begin an OSC 2 sequence (set window title)
* fsl - from_status_line: OSC terminator
* dsl - disable status line: \E]2;\E\\ - clears the window title

Closes #242
2020-12-18 13:46:57 +01:00