Commit graph

3011 commits

Author SHA1 Message Date
Daniel Eklöf
e23ab4a7a3
pkgbuild: no need to run pgo input *that* many times 2020-11-22 19:29:44 +01:00
Daniel Eklöf
d3cee56a10
changelog: add note about PGO without Wayland 2020-11-22 19:29:44 +01:00
Daniel Eklöf
82a9097cc0
install: no need to run input *that* many times 2020-11-22 19:29:44 +01:00
Daniel Eklöf
daa8d129c1
pgo: feed VT data through fdm_ptmx(), not vt_from_slave()
fdm_ptmx(), the FDM callback handler for ptmx data, is just as much in
the hot path as vt_from_slave(). It is also slightly more complicated
than a read() followed by a call to vt_from_slave().

As a result, some benchmarks performed significantly worse in a
partial PGO build than in a full PGO build, since fdm_ptmx() wasn’t
PGO:d.

To be able to feed data through fdm_ptmx(), we need to set up the
delayed rendering timer FDs, configure the timeout values, and provide
a readable FD it can read the VT data from.

The latter is done with a memory FD. This ensures *all* VT data is
loaded into memory before we feed it to the parser.
2020-11-22 19:29:44 +01:00
Daniel Eklöf
ecaa3b4135
render: no need to call attrs_to_font(), we already have a font reference 2020-11-22 19:29:43 +01:00
Daniel Eklöf
cf398df62e
pgo: initialize (mouse) selection 2020-11-22 19:29:43 +01:00
Daniel Eklöf
4cd1d35c1e
pgo: initialize a dummy wayland backend
* Empty seat list
* Empty monitor list
* Add dummy terminal instance to terminal list
2020-11-22 19:29:43 +01:00
Daniel Eklöf
96db338262
scripts: generate-alt-random-writes: add unicode and multi-column chars 2020-11-22 19:29:43 +01:00
Daniel Eklöf
f75ff86fc0
install: add --attr-{bold,italic,underline} to generate-alt-random-writes 2020-11-22 19:29:43 +01:00
Daniel Eklöf
e60fd1e113
pkgbuild: add --attr-{bold,italic,underline} to generate-alt-random-writes 2020-11-22 19:29:43 +01:00
Daniel Eklöf
b437013a3b
scripts: generate-alt-random-writes: add support for bold/italic/underline 2020-11-22 19:29:43 +01:00
Daniel Eklöf
60c8637231
scripts: generate-alt-random-writes: don’t always reset all attributes 2020-11-22 19:29:43 +01:00
Daniel Eklöf
1e1fb157dc
scripts: generate-alt-random-writes: mix \e[S with \n 2020-11-22 19:29:43 +01:00
Daniel Eklöf
e1bde0b0e7
remove pre-generated input corpus for PGO 2020-11-22 19:29:43 +01:00
Daniel Eklöf
001d309b81
pgo: updated stimuli (256-indexed colors) 2020-11-22 19:29:42 +01:00
Daniel Eklöf
9ea1bb8881
pkgbuild: add --colors-256 to generate-alt-random-writes 2020-11-22 19:29:42 +01:00
Daniel Eklöf
e248f58ff6
install: add --colors-256 to generate-alt-random-writes 2020-11-22 19:29:42 +01:00
Daniel Eklöf
c679da7316
scripts: generate-alt-random-writes: add support for emitting 256-indexed colors 2020-11-22 19:29:42 +01:00
Daniel Eklöf
5aa97189df
scripts: generate-alt-random-writes: mix new/old-style RGB escapes 2020-11-22 19:29:42 +01:00
Daniel Eklöf
66527b39b1
scripts: generate-alt-random-writes: add command line arguments for cols/rows 2020-11-22 19:29:42 +01:00
Daniel Eklöf
cc850ed012
pgo: pull in selection.c in pgolib
Some of the selection functions are in the hot path, so this makes a
huge difference!
2020-11-22 19:29:40 +01:00
Daniel Eklöf
8619ebd778
pgo: support for specifying multiple stimuli files 2020-11-22 19:28:55 +01:00
Daniel Eklöf
84b24d34d2
install: small rewording and restructuring of PGO instructions 2020-11-22 19:28:55 +01:00
Daniel Eklöf
27f3ca1255
install: update PGO instructions 2020-11-22 19:28:54 +01:00
Daniel Eklöf
5a1273eb5b
pgo: move pgo.c and pgo stimuli to pgo directory 2020-11-22 19:28:54 +01:00
Daniel Eklöf
2639e7d2e2
scripts: generate-alt-random-writes: don’t re-use ‘count’ variable 2020-11-22 19:28:54 +01:00
Daniel Eklöf
168ceaa927
pgo: increase simulated terminal size 2020-11-22 19:28:54 +01:00
Daniel Eklöf
5ee9c19d21
meson: link ‘pgo’ with -lm and -pthreads 2020-11-22 19:28:54 +01:00
Daniel Eklöf
9e37d811e8
meson: move log.{c,h} to ‘misc’ 2020-11-22 19:28:53 +01:00
Daniel Eklöf
0e83732162
meson: add ‘version.h’ to vtlib 2020-11-22 19:28:53 +01:00
Daniel Eklöf
bff07b09b9
meson: vtlib: add missing ‘fcft’ dependecy 2020-11-22 19:28:53 +01:00
Daniel Eklöf
bf8c82c79a
meson: add missing ‘tllist’ dependency to vtlib, pgolib and pgo 2020-11-22 19:28:53 +01:00
Daniel Eklöf
4577bb2bb3
wip: pgo without Wayland
* Split up source files into several static libraries: misc + vtlib
* Add a new executable, pgo, that links to vtlib
* pgo is kind of like a mock test:
  - provides stub implementations of functions not present in vtlib
  - sets up a dummy terminal instance
  - calls vt_from_slave() with static (pre-generated) content
2020-11-22 19:28:53 +01:00
Daniel Eklöf
861f3a4e6d
Merge branch 'footclient-m-flag' 2020-11-22 19:11:40 +01:00
Craig Barnes
82caa7bd04 client: fix handling of "-m" command-line flag 2020-11-22 16:40:15 +00:00
Daniel Eklöf
e9e3e076fc
changelog: update contributors 2020-11-21 22:05:24 +01:00
Daniel Eklöf
ea64fe4223
Merge branch 'footclient-getopt-fix' 2020-11-21 22:03:14 +01:00
Craig Barnes
e813883367 client: add missing options to getopt_long(3) optstring argument 2020-11-21 20:34:49 +00:00
Daniel Eklöf
0d61a49e47
client-protocol: codespell: stati -> static 2020-11-21 20:48:31 +01:00
Daniel Eklöf
f4de500a18
server: avoid doing unaligned struct accesses 2020-11-21 20:47:17 +01:00
Daniel Eklöf
997c6a4ae3
client: we added argv lengths twice 2020-11-21 20:46:08 +01:00
Daniel Eklöf
0b3a84bd9c
client: avoid doing a signed vs. unsigned comparison 2020-11-21 20:29:47 +01:00
Daniel Eklöf
f2a88d6071
server: verify strings are NULL terminated 2020-11-21 20:27:13 +01:00
Daniel Eklöf
fc81f413c0
client/server: simplify setup packet handling
Instead of writing (and logging errors for) every parameter, one at a
time, send all fixed size data in a single struct, followed by all the
variable length data.
2020-11-21 20:21:18 +01:00
Daniel Eklöf
3640164917
Merge branch 'dpi-unaware' 2020-11-19 19:26:06 +01:00
Daniel Eklöf
c65fcacf43
terminal: use 96, not 75, for DPI when being DPI unaware 2020-11-19 19:25:48 +01:00
Daniel Eklöf
8e7658a135
config: add ‘dpi-aware’ option, defaulting to enabled
When disabled, foot no longers uses outputs’ DPI to scale the
font. Instead, it uses the outputs’ scaling factor.

That is, instead of appending “:dpi=123” to the fontconfig string,
modify the “:pixelsize” or “:size” attribute.

Closes #206
2020-11-19 19:25:48 +01:00
Daniel Eklöf
587fce68fa
Merge branch 'require-space-to-overflow-double-width-glyph' 2020-11-19 19:24:37 +01:00
Daniel Eklöf
774dd75542
render: allow-overflow: require a space in the next cell
When checking if we should allow a single-width character double-width
glyph to overflow into the next cell, require the next cell to either
be empty, or contain a space.

Closes #203
2020-11-19 19:24:15 +01:00
Daniel Eklöf
2de60eafb7
keymap: fix alt+return combos
All alt+return combos mapped to the same escape sequence as alt+return
itself.

With this patch, alt+<mod(s)>+return map to a standard ‘CSI 27;x;13~’
sequence.
2020-11-19 19:22:52 +01:00