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
Daniel Eklöf
d9bd1ef2d4
dcs: bsu/esu: add link to spec
2020-01-12 12:49:42 +01:00
Daniel Eklöf
14982159e4
dcs: abort() in bsu/esu
...
Since I haven't seen this in the wild, let's abort() to make sure we
catch when an application does this, so we can verify it really works.
2020-01-12 12:47:41 +01:00
Daniel Eklöf
21646f0059
Merge branch 'synchronized-updates'
2020-01-12 12:46:25 +01:00
Daniel Eklöf
95d2ee0cc1
term: app sync updates: disable delayed rendering timers once only
...
Disable the delayed rendering timers when enabling application
synchronized updates, not every time we've received ptmx data.
2020-01-12 12:45:34 +01:00
Daniel Eklöf
bdf127fc7e
term/render: move {enable,disable}_application_synchronized_updates()
...
From render -> terminal
2020-01-12 12:43:28 +01:00
Daniel Eklöf
afa1dbb7cc
render: add a timeout for application synchronized updates
...
This ensures we can recover from a crashing (or bad behaving)
application that sends a BSU but then never sends an ESU.
2020-01-12 12:40:42 +01:00
Daniel Eklöf
6e474e77e5
render: rename render_{enable,disable}_refresh()
2020-01-12 12:28:00 +01:00
Daniel Eklöf
cb8a0260f3
term: rename refresh_prohibited -> application_synchronized_updates
2020-01-12 12:25:58 +01:00
Daniel Eklöf
84f836c0c8
term: ptmx: cancel, and don't re-arm, delay timers when refresh has been disabled
2020-01-12 12:23:29 +01:00
Daniel Eklöf
7b27fa857f
dcs: bsu/esu: call render_{disable,enable}_refresh()
2020-01-12 12:21:31 +01:00
Daniel Eklöf
b2935e2b89
render: add render_{enable,disable}_refresh()
...
Calling render_disable_refresh() causes update requests to that
terminal to be ignored.
Calling render_enable_refresh() re-enables updates.
2020-01-12 12:19:38 +01:00
Daniel Eklöf
5ef55a7f52
dcs: abort() in bsu/esu
...
I **really** want to know if someone is using these...
2020-01-12 12:02:39 +01:00
Daniel Eklöf
a2652d2447
dcs: put: don't append data if buffer resize failed
2020-01-12 12:00:43 +01:00
Daniel Eklöf
a1ce31cd1d
dcs: use default param value of 0 in log message
2020-01-12 12:00:30 +01:00
Daniel Eklöf
35e696aa55
Merge branch 'dcs'
2020-01-12 11:58:53 +01:00
Daniel Eklöf
5a6cbb8c3e
dcs: initial handling of DCS in general
...
Add data structure to term->vt. This structure tracks the free-form
data that is passed-through, and the handler to call at the end.
Intermediates and parameters are collected by the normal VT
parser. Then, when we enter the passthrough state, we call dcs_hook().
This function checks the intermediate(s) and parameters, and selects
the appropriate unhook handler (and optionally does some execution
already).
In passthrough mode, we simply append strings to an internal
buffer. This might have to be changed in the future, if we need to
support a DCS that needs to execute as we go.
In unhook (i.e. when the DCS is terminated), we execute the unhook
handler.
As a proof-of-concept, handlers for BSU/ESU (Begin/End Synchronized
Update) has been added (but are left unimplemented).
2020-01-12 11:55:22 +01:00
Daniel Eklöf
0b30316261
render: don't bother trying to lookup glyph for empty cells
...
Depending on the font, it may not have an entry for code point '0',
which will cause us to try to load fallback fonts.
2020-01-12 01:19:41 +01:00