Daniel Eklöf
d7d2aae053
log: log to stderr, not stdout
2020-02-04 18:29:04 +01:00
Daniel Eklöf
9c5557539f
completions: zsh: --hold has no arguments
2020-02-04 18:28:53 +01:00
Daniel Eklöf
8f4ec9aa47
Implement --hold
...
When specified, we don't exit when the slave/client process exits.
2020-02-03 19:58:32 +01:00
Daniel Eklöf
31baf334b3
fcft: update to 1.1.0
2020-02-01 20:20:22 +01:00
Daniel Eklöf
8c32e3ccf0
vt: ensure we never step outside our parameter and sub-parameter arrays
...
We only support 16 parameters, and for each parameter, 16
sub-parameters. If we ever hit that limit (or rather, if the client
writes 17 (sub) parameters), log this and stop incrementing the
parameter index variable.
For performance reason, we implement the following behavior:
* We never increment the parameter index past the supported
number. This ensures all code *accessing* the parameter list can do
so without verifying the validity of the index.
* The *first* time we see too many parameters, and the first time we
see too many sub parameters, log this. Then *never* log again. Even
if we see too many parameters in a completely different escape. This
is so that we don't have to keep a "have warned" boolean in the
terminal struct, but can use a simple function local static
variable.
2020-02-01 19:44:56 +01:00
Daniel Eklöf
cc5d596cd9
csi: log only the un-handled parameter in a multi-operation CSI
...
Assume we don't handle 'CSI 4 X'. Furthermore, assume we receive the
following: 'CSI 1;2;3;4X'. In this case, only log '4X' as un-handled,
not the entire CSI string.
2020-02-01 19:42:31 +01:00
Daniel Eklöf
07a0c7238c
vt: collect (intermediate): log a warning if user supplied more than two intermediates
2020-02-01 19:29:31 +01:00
Daniel Eklöf
bbb7b60b17
vt: collect (intermediate): log _which_ character we collected
2020-02-01 19:29:14 +01:00
Daniel Eklöf
4dde699107
csi: implement window and cell size reporting escapes
...
This implements the following queries:
* report window size in pixels
* report cell size in pixels
* report window size in chars
We also log a warning for the remaining window operation queries.
2020-02-01 19:27:52 +01:00
Daniel Eklöf
dfa5cb41e0
csi: recognize the X10 mouse tracking enabler/disabler
...
We still don't implement it, but now we at least recognize it and log
a warning when it is implemented.
2020-02-01 19:27:06 +01:00
Daniel Eklöf
38e2e037e6
csi: drop '28' from our DA response
...
We don't support rectangular editing
2020-02-01 19:26:08 +01:00
Daniel Eklöf
f13adf50dc
vt: use 8-bit indices for parameters and sub parameters
...
We only support 16 (sub) parameters and thus there's no need for
64-bit index variables.
2020-02-01 19:24:46 +01:00
Daniel Eklöf
26d39fe96e
dcs: fix comment: ESU is *End* synchronized update
2020-01-29 19:43:58 +01:00
Daniel Eklöf
f74364979d
dcs: bsu/esu: convert warning log to debug log
2020-01-26 15:28:30 +01:00
Daniel Eklöf
4a64e4aebc
vt: bug: state machine: csi entry: handle 0x3a/0x3b correctly
...
0x3a/0x3b are ':' and ';'. These should not only switch to the 'csi
param' state, but also be parsed as a parameter.
This fixes an issue where a multi-parameter escape with the first
parameter omitted was parsed incorrectly - as if the first parameter
wasn't there.
I.e. "\e[;123r" was parsed as "\e[123r"
2020-01-26 00:44:53 +01:00
Daniel Eklöf
16237eccde
dcs: remove abort() from BSU/ESU
2020-01-25 23:43:36 +01:00
Daniel Eklöf
506c1da390
desktop: add foot-server.desktop - launches a foot server instance
2020-01-24 22:27:11 +01:00
Daniel Eklöf
11f35434cb
terminfo: use ST, not BEL as OSC terminator
2020-01-23 17:40:30 +01:00
Daniel Eklöf
75b8fc52b8
vt: bug: fix check for error from mbrtowc()
...
mbrtowc() returns an unsigned. Need to cast to signed before checking
if less than zero.
This fixes an issue where invalid utf-8 sequences where treated as valid.
2020-01-23 17:39:25 +01:00
Daniel Eklöf
51f8453f9d
csi: disable save/restore highlight mouse tracking
...
We don't implement it, so no point in warning about save/restore not
begin implemented.
2020-01-23 17:38:45 +01:00
Daniel Eklöf
e6d1ebbbfc
csi: warn when client tries to enable "highlight mouse tracking"
2020-01-23 17:38:23 +01:00
Daniel Eklöf
08eb0532ad
terminal: regression: char printed to wrong column
...
When term_print() was implemented, it introduced a regression where
printing a character when the last cursor was in the last column on a
line would print the character in the wrong column.
This is because term_print() retrieved a pointer to the current
cell *before* line wrapping (and possibly inserting empty cells).
2020-01-22 18:22:15 +01:00
Daniel Eklöf
d6ea676ef2
presentation: store input timestamp in a per-commit context
...
This should reduce the risk of mixing up an input timestamp with the
corresponding rendered frame.
2020-01-21 18:51:04 +01:00
Daniel Eklöf
3600099b52
doc: foot.1: document alt/meta characters
2020-01-20 21:28:15 +01:00
Daniel Eklöf
bd7a59f2e0
doc: foot.1: use BOLD for things that should by typed as-is
2020-01-20 21:27:52 +01:00
Daniel Eklöf
b40b1ba62c
terminfo: sort
2020-01-20 18:45:14 +01:00
Daniel Eklöf
4d2d3b2d95
terminfo: add 'oc' (orig colors)
...
We already had the functionality, we just didn't expose it in the
terminfo.
2020-01-20 18:45:14 +01:00
Daniel Eklöf
a3d919a90d
input: implement metaSendsEscape and eightBitMeta
2020-01-20 18:45:14 +01:00
Daniel Eklöf
4e87426712
csi: implement REP - CSI Ps b
2020-01-20 18:45:14 +01:00
Daniel Eklöf
2c8b31204f
render: fallback to background color if cursor text color is not set
2020-01-20 18:36:44 +01:00
Daniel Eklöf
5d702e6fbf
osc: implement OSC 12 and OSC 112 (set/reset text cursor color)
2020-01-20 18:36:19 +01:00
Daniel Eklöf
97afba1b14
dcs: remove assert; handler may be zero on unimplemented OCS command
2020-01-20 18:35:34 +01:00
Daniel Eklöf
0c11459eef
term: fix reset state of VT state
2020-01-20 18:35:13 +01:00
Daniel Eklöf
300f83e66b
term: factor out character printing to new function term_print()
2020-01-20 18:34:32 +01:00
Daniel Eklöf
767a0ec232
fcft: update to 1.0.0
...
Allow/disallow subpixel antialiasing in font_glyph_for_wc(), not using
font_enable_subpixel_antialias().
2020-01-19 12:44:21 +01:00
Daniel Eklöf
15ef3ecfad
meson/PKGBUILD: need fcft >= 0.4.3 to configure subpixel antialiasing
2020-01-18 19:58:50 +01:00
Daniel Eklöf
7a00c7ddf4
term: enable subpixel antialiasing if background is opaque
2020-01-18 19:58:14 +01:00
Daniel Eklöf
751e079196
Merge branch 'releases/1.1'
2020-01-15 14:41:28 +01:00
Daniel Eklöf
9567b29d1e
meson/PKGBUILD: bump version to 1.1.0
2020-01-15 14:22:01 +01:00
Daniel Eklöf
3ccd2b6f99
ci: checkout/clone (doh!)
2020-01-14 19:38:17 +01:00
Daniel Eklöf
93cc959db2
ci: no 'git' available by default, need to install it
2020-01-14 19:36:37 +01:00
Daniel Eklöf
9d7713c56c
ci; no pushd/popd available
2020-01-14 19:35:25 +01:00
Daniel Eklöf
c645a4b180
input: reset XKB compose state on keyboard leave
2020-01-14 19:32:02 +01:00
Daniel Eklöf
493a7a3202
ci: checkout tllist/fcft subprojects
2020-01-14 19:29:57 +01:00
Daniel Eklöf
3a108499ce
Revert "input: generate key down events on keyboard-enter"
...
This reverts commit 84739d78c6 .
2020-01-14 19:28:37 +01:00
Daniel Eklöf
84739d78c6
input: generate key down events on keyboard-enter
2020-01-13 19:59:18 +01:00
Daniel Eklöf
c80cbc9a79
input: reset modifier state on keyboard-leave
2020-01-13 19:58:57 +01:00
Daniel Eklöf
727be358df
render: resize: TIOCSWINSZ: don't include padding in ws_{x,y}pixel
2020-01-12 14:42:49 +01:00
Daniel Eklöf
1623fc0c0a
term: shorten application_synchronized_updates -> app_sync_updates
2020-01-12 12:55:19 +01:00
Daniel Eklöf
02c310d241
term: enable_application_synchronized_updates: not a noop if already enabled
...
If synchronized updates are already enabled when we receive a request
to enable them, extend the timeout.
2020-01-12 12:51:21 +01:00