Commit graph

669 commits

Author SHA1 Message Date
Daniel Eklöf
b2ca984ccb
main: round strikeout and underline position fallback handling 2019-09-21 00:47:17 +02:00
Daniel Eklöf
a1cd3769a3
main: round strikeout position, and ceil strikeout thickness
This fixes an issue where sometimes the strikeout thickness where
truncated to 0 (e.g. Cascadia Code).

Note that we already do this for the underline calculations.
2019-09-21 00:46:15 +02:00
Daniel Eklöf
55968413b6
render: remove assertion that isn't always true
It's not true for e.g. Cascadia code.
2019-09-21 00:45:22 +02:00
Daniel Eklöf
722290bae9
PKGBUILD: foot-terminfo depends on ncurses 2019-09-21 00:29:17 +02:00
Daniel Eklöf
31efe8c9e9
PKGBUILD: 'foot' optionally depends on 'foot-terminfo' 2019-09-21 00:26:29 +02:00
Daniel Eklöf
a26689fcdc
PKGBUILD: break out terminfo files to a separate package 2019-09-21 00:22:28 +02:00
Daniel Eklöf
ce4d2a085a
generate-alt-random-writes: reduce output size 2019-09-20 22:39:09 +02:00
Daniel Eklöf
4d558d8bed
main: names for poll FD indices 2019-09-20 22:27:27 +02:00
Daniel Eklöf
b3a419f427
main: better names of timers for delayed rendering timeouts 2019-09-20 22:21:06 +02:00
Daniel Eklöf
1a9ec997b3
main: track output refresh rate 2019-09-20 22:15:18 +02:00
Daniel Eklöf
dd26fa099b
README: formatting 2019-09-20 21:51:20 +02:00
Daniel Eklöf
5e5a0853ed
README: formatting 2019-09-20 21:50:22 +02:00
Daniel Eklöf
b16a11cc7a
README: add section with known issues 2019-09-20 21:45:10 +02:00
Daniel Eklöf
652ff5da92
main: improve delayed rendering
We now use two timers for delayed rendering; one _lower_ limit timeout
that is reset each time we receive input from the slave. We never
render *before* this timeout. Since it's reset, this means rendering
may be pushed further into the future.

To prevent this from happening indefinitely, the second timer defines
the _upper_ limit. This timer is only reset after rendering.

Thus, slave input may now increase the rendering delay, but only up to
a certain limit.

The lower limit is as before, 1ms. The upper limit is set to 16ms (the
time between frame updates on a 60HZ output).
2019-09-20 18:12:58 +02:00
Daniel Eklöf
aa41c8ceb1
footrc: zsh isn't the default shell 2019-09-20 18:12:58 +02:00
Daniel Eklöf
28ba6be0db
footrc: add missing newline at end-of-file 2019-09-20 18:12:58 +02:00
Daniel Eklöf
4cf39e5c42
meson: install footrc example file to $datadir/foot/footrc 2019-09-20 18:12:58 +02:00
Daniel Eklöf
8703ec2c93
README: combine description for escape and ctrl+g 2019-09-10 18:40:53 +02:00
Daniel Eklöf
684624c11e
csi: don't ignore the color space identifier in SGRs
Only a color space ID of '2' means the sequence is an RGB
sequence. Update existing code to verify this, and ignore sequences
with other color space IDs.

Except color space ID '5', which is the same as a regular 38;5;<idx>
sequence, but using sub-parameters instead (38:2:5:<idx>).
2019-09-04 20:28:35 +02:00
Daniel Eklöf
2707cf0fc4
vt: implement 'insert mode' 2019-08-30 22:08:37 +02:00
Daniel Eklöf
f4291690ee
csi: CSI h isn't a valid sequence - it needs a parameter
And, 'insert mode' isn't activated with \e[h, but with
\e[4h.
2019-08-30 22:01:05 +02:00
Daniel Eklöf
2e9349c4c4
vt: remove unneeded include 2019-08-30 21:43:50 +02:00
Daniel Eklöf
77f6c126f5
generate-alt-random-writes: generate streaks of characters 2019-08-30 21:37:51 +02:00
Daniel Eklöf
37d941f57a
input: take scale into account when converting mouse coords to row/col 2019-08-30 21:31:14 +02:00
Daniel Eklöf
05888b4706
input: bug: account for margins when converting mouse coords to row/col 2019-08-30 21:30:27 +02:00
Daniel Eklöf
7c4c41fbae
render: search box: use colors from the color table
Use the 'yellow' color from the 'regular' range of colors (SGR 33) for
background when we have a match, or 'red' from the 'regular' range of
colors (SGR 31) when we don't have a match.

Foreground uses the 'black' color from the regular range of
colors (SGR 30).
2019-08-30 21:01:13 +02:00
Daniel Eklöf
e2aeb7e515
search: map ctrl+b/f to move cursor single character backward/forward 2019-08-30 20:55:45 +02:00
Daniel Eklöf
d87b791d81
man: document keyboard + mouse shortcuts 2019-08-30 20:26:29 +02:00
Daniel Eklöf
1c0265074e
README: put -> copy 2019-08-30 20:26:20 +02:00
Daniel Eklöf
5752aaca0c
README: document ctrl+s while doing a scrollback search 2019-08-30 20:18:12 +02:00
Daniel Eklöf
e673bd4ab0
Merge branch 'scrollback-search' 2019-08-30 20:16:12 +02:00
Daniel Eklöf
f24a40a391
search: ctrl+s searches forward 2019-08-30 20:15:36 +02:00
Daniel Eklöf
556bf95b28
search: make search-direction configurable 2019-08-30 20:15:12 +02:00
Daniel Eklöf
42714c51a9
search: fix distance to prev word calculation when final cursor was 0 2019-08-30 19:42:48 +02:00
Daniel Eklöf
e8d187e4f3
render: draw (cursor) bar using the same thickness as underlines 2019-08-30 19:42:33 +02:00
Daniel Eklöf
0fceed6f00
search: implement move cursor word backward/forward 2019-08-30 19:37:18 +02:00
Daniel Eklöf
64460c5abe
search: implement delete word backward/forward 2019-08-30 19:37:06 +02:00
Daniel Eklöf
61318d068e
search: utility functions distance_{next,prev}_word()
These functions calculate the distance from the current cursor to the
next/previous word.
2019-08-30 19:36:37 +02:00
Daniel Eklöf
fcb0e05009
render: search box: fix glyph spacing
We're using the same font as in the terminal, so use the same glyph
spacing.
2019-08-30 19:35:47 +02:00
Daniel Eklöf
9f7ea6292e
main: use a timer FD to delay render refresh after client data
This ensures we never wait *longer* than 1ms (previously, we could end
up doing multiple polls, each with a timeout value of 1ms - thereby
potentially delaying the refresh indefinitely).
2019-08-30 17:57:46 +02:00
Daniel Eklöf
fb018eb64e
main: render_resize() scales the width and height
Thus, when we call render_resize() with *old* with/height values, we
must scale them back to their original values.

This fixes an issue where, for example, moving a window between
outputs with different scales caused the window to keep growing.
2019-08-30 17:56:23 +02:00
Daniel Eklöf
47da5b4086
main: request server-side decorations 2019-08-30 17:55:45 +02:00
Daniel Eklöf
f2fda437e7
README: mention that the PKGBUILD requires a running wayland session 2019-08-29 23:15:13 +02:00
Daniel Eklöf
0c8e5d39b0
README: clarify _how_ and _where_ makepkg is supposed to be run 2019-08-29 23:13:56 +02:00
Daniel Eklöf
0c0deef4f0
README: re-arrange: put requirements+installation last 2019-08-29 23:12:39 +02:00
Daniel Eklöf
8fa6b5fa2d
README: add an 'installation' section 2019-08-29 23:11:11 +02:00
Daniel Eklöf
f43fb5f13f
README: hopefully fix nested lists 2019-08-29 23:05:38 +02:00
Daniel Eklöf
9bdc3a8438
README: add index 2019-08-29 23:05:19 +02:00
Daniel Eklöf
72d918da92
README: more emphasis 2019-08-29 23:02:18 +02:00
Daniel Eklöf
da9b2d12e7
README: re-write font section 2019-08-29 23:00:49 +02:00