Commit graph

3003 commits

Author SHA1 Message Date
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
Daniel Eklöf
121b488e74
keymap: use same lookup table for Tab and ISO_Left_Tab
With XKB, Shift+Tab maps to XKB_KEY_ISO_Left_Tab, not
XKB_Key_Tab. Previously, we had two different lookup tables for the
two.

The tab table was correctly populated, while the ISO-left tab
wasn’t. As a result, all Shift+Tab combos (except Shift+Tab itself)
was wrong, and resulted in the same escape sequence as Shift+Tab.

Fix by using the same table for both tab and ISO-left tab.

Closes #210
2020-11-19 19:22:48 +01:00
Daniel Eklöf
7554895674
Merge branch 'dim-and-brighten-via-hsl' 2020-11-17 18:52:21 +01:00
Daniel Eklöf
690cf0ab54
render: dim/brighten: multiply/divide instead of add/subtract 2020-11-15 21:04:21 +01:00
Daniel Eklöf
2b8e2b3506
render: dim and brighten colors by adjusting luminance
To do this, we need to convert our RGB to HSL, adjust luminance, and
then convert back to RGB.
2020-11-15 20:05:01 +01:00
Daniel Eklöf
e0297daa1f
hsl: add our own implementations of rgb-to-hsl and hsl-to-rgb
* New function: rgb_to_hsl()
* New function: hsl_to_rgb()
* Replace XTerm’s hls_to_rgb() with our own, hsl_to_rgb().
* Ensure hue/lum/sat values are within range before calling
  hsl_to_rgb()

Note that sixels’ use the following primary hues:

*  blue:  0°
*  red:   120
*  green: 240°

While “standard” HSL uses:

*  red:   0°
*  green: 120°
*  blue:  240°

Thus, we need to adjust the sixel’s hue value before calling
hsl_to_rgb().
2020-11-15 19:45:33 +01:00
Daniel Eklöf
8e779b356e
render: remove debug output 2020-11-15 19:40:25 +01:00
Daniel Eklöf
134e1d307c
Merge branch 'bold-is-bright'
Closes #199
2020-11-14 22:09:51 +01:00
Daniel Eklöf
11ea06c71d
install: simplify sentence 2020-11-14 14:12:22 +01:00