Commit graph

16 commits

Author SHA1 Message Date
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
16237eccde
dcs: remove abort() from BSU/ESU 2020-01-25 23:43:36 +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
1623fc0c0a
term: shorten application_synchronized_updates -> app_sync_updates 2020-01-12 12:55:19 +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
bdf127fc7e
term/render: move {enable,disable}_application_synchronized_updates()
From render -> terminal
2020-01-12 12:43:28 +01:00
Daniel Eklöf
6e474e77e5
render: rename render_{enable,disable}_refresh() 2020-01-12 12:28:00 +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
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
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
2096753b52
dcs: we have no parent terminal to pass through to 2019-07-21 18:22:26 +02:00
Daniel Eklöf
b953326768
dcs: sort of implement DCS passthrough
We now store the passthrough characters in a buffer, and call
dcs_passthrough() on unhook.

However, dcs_passthrough() doesn't do anything.
2019-07-19 09:55:07 +02:00