Commit Graph

181 Commits

Author SHA1 Message Date
Boris Faure c7c054bf0d termptyesc: handle transparent in SGR38/SGR48 2018-03-11 22:35:41 +01:00
Boris Faure 91ced6390f termptyesc: skip colorspace id if present. Ref T746 2018-03-11 20:31:56 +01:00
Boris Faure 0eb223f1b8 termptyesc: approximate true color. Ref T746 2018-03-11 19:51:11 +01:00
Carsten Haitzler 8cfa269b54 tysend - optimize sending - pretty much double the speed
yes. it's still inefficient because we transfer in ascii-ized nibbles
(4 bits) within a utf8 stream that becoems a 32bit per char unicode
buffer then back to utf8 before being "parsed" as a command etc. etc.
... it's not brilliant for transferring binary data. it's horrible
actually. but at least i've dropped overhead for some of the large
escape handling code.

this increases buffer size to 32k per block sent, and have the
terminal escape/buffer handling track if a zero byte exists in the
buffer at all to avoid hunting for one if none is there, making
terminology escape handling much more efficient for large escapes and
buffers.
2017-12-18 15:32:02 +09:00
Boris Faure 180799d2c5 support the REP escape code. Closes T6042 2017-09-18 22:01:42 +02:00
Boris Faure 6100f8f4e3 harden the code around manipulation of cursor_state 2017-09-08 23:06:19 +02:00
Boris Faure 496a5f178e have only one concept of title. Ref T5704 2017-08-28 21:41:21 +02:00
Boris Faure 7c358c3592 termptyesc: correctly handle going to start of line when there is a left margin 2017-08-22 20:51:20 +02:00
Boris Faure 6315ed2949 termpty: remove termstate.had_cr since it's unused 2017-08-21 23:46:28 +02:00
Boris Faure 2343efd6a1 termptyesc: clearing the screen (from ED2) should not reset bottom margin
Thanks to @ncim for the report.
2017-08-21 23:19:41 +02:00
Carsten Haitzler d80e60f25c fix buffer size - was 1 byte too short on stack
7 not 6 bytes. include nul byte.
2017-08-02 18:21:08 +09:00
Boris Faure 3a28d99649 termpty: fix inserting blank chars. Closes T5802 2017-07-27 23:27:23 +02:00
Boris Faure b35c7cd539 termptyesc: add missing break. CID1377552 2017-07-11 22:01:31 +02:00
Boris Faure 6f1a2dd452 constify 2017-07-06 21:37:56 +02:00
Boris Faure b0226726f8 termpty: correctly handle DECFRA wrt SGR 0 2017-06-26 23:36:23 +02:00
Boris Faure 7ac685b68c termpty: DECERA only changes codepoints 2017-06-26 21:58:59 +02:00
Boris Faure 956f1eaa13 termptyesc: restrict right/bottom rectangle coordinates 2017-06-07 20:40:17 +02:00
Boris Faure 400b675fc9 termptyesc: restrict CUP/HVP to right/bottom margins 2017-06-06 23:00:22 +02:00
Boris Faure cc5fcac03d termptyesc: fix handling of DECSLRM. Ref T5533 2017-06-05 23:53:07 +02:00
Boris Faure bbfa60120e termpty: handle DECERA 2017-06-05 21:04:29 +02:00
Boris Faure 9f72ea3a9d termptyesc: handle DECFRA 2017-06-05 20:47:41 +02:00
Boris Faure e117ff9153 termptyesc: correctly handle cursor wrt right/left margins 2017-06-05 16:49:36 +02:00
Boris Faure 7d497c08c6 termptyesc: extract handling CUP/HVP to one function 2017-06-05 01:04:24 +02:00
Jean Guyomarc'h ede4196eae termptyesc: fix invalid clamping on CSI X
Fixes a regression introduced by commit bd6c81e, which broke the ncurses
rendering of the Kernel menuconfig, making it impossible to be used.
2017-06-04 18:35:46 +02:00
Jean Guyomarc'h 20cbab21fc termptyesc: improve const-correctness of data 2017-06-04 18:35:22 +02:00
Boris Faure c2d731aced termptyesc: cleanup handling of DECSTBM 2017-06-04 00:33:32 +02:00
Boris Faure 7ab925dc76 termpty: very early support of Right/Left margins 2017-06-03 23:17:33 +02:00
Boris Faure 91ce6e8960 termptyesc: correctly handle missing arguments in CUP/HVP 2017-06-01 23:33:58 +02:00
Boris Faure e0f6867a88 termptyesc: _csi_arg_get() now correctly handles missing arguments
Only affects when multiple ones were expected
2017-06-01 23:29:55 +02:00
Boris Faure dbc75a0cc0 termptyesc: only do IL/DL when inside margins 2017-06-01 22:52:16 +02:00
Boris Faure 339b72174c termptyesc: CUP/HVP are impacted by DECOM 2017-06-01 22:51:34 +02:00
Boris Faure 8168b019c9 termptyesc: improve debug 2017-06-01 21:29:07 +02:00
Boris Faure 816f60369f termptyesc: correctly handle DECOM
also fix regions with only one argument
2017-05-31 00:39:02 +02:00
Boris Faure 6ce96da8c4 s/scroll_y1/top_margin/, s/scroll_y2/bottom_margin/ 2017-05-29 23:26:32 +02:00
Boris Faure a4a26de7c3 termptyesc: fix parsing size on xterm 50 command 2017-05-28 23:32:37 +02:00
Boris Faure 7b5a9b74bc termptyesc: use macro to restrict field value 2017-05-17 23:40:19 +02:00
Boris Faure 490a065fb1 termptyesc: _csi_arg_get() could be called with nothing to read
Could be the case when an error was already found while decoding the
stream
2017-05-17 23:38:28 +02:00
Boris Faure 0517be32f4 termptyesc: no logging when fuzzing 2017-05-17 23:33:06 +02:00
Boris Faure ce490ededc termptyesc: fix issue with tmux introduced by previous commit 2017-05-17 21:49:52 +02:00
Boris Faure 63d65ed4bb termptyesc: restrict values on scrolling regions 2017-05-16 22:48:18 +02:00
Boris Faure 17e5e1be55 termpyesc: only compute logging content if it's going to be printed 2017-05-15 23:54:25 +02:00
Boris Faure bd6c81ed39 termptyesc: restrict CSI values to avoid denial of service 2017-05-15 22:34:01 +02:00
Boris Faure 2b47545fac termptyesc: ensure colors are valid 2017-05-15 21:56:54 +02:00
Boris Faure 99f55b7bbc termptyesc: support DECSED3 to erase the backlog. Closes T3713 2016-12-20 22:43:37 +01:00
Boris Faure b9d5a55aa4 termptyesc: correctly handle tab forward. Closes T4992 2016-12-18 19:17:42 +01:00
Boris Faure f3dd6f62fb termpty: Tab markers are the same for each line. Ref 4992 2016-12-18 18:48:03 +01:00
Boris Faure 82d9ead6f2 termptyesc: handle correctly Character Tabulation Set (HTS). Ref T4992 2016-12-15 23:11:22 +01:00
Boris Faure 7c720058a1 termptyesc: add some debug 2016-12-15 23:11:22 +01:00
Boris Faure fae0d7ccee termptyesc: handle correctly Cursor Back Tab. Ref T4992 2016-12-15 23:11:22 +01:00
Boris Faure f4263d5098 termptyesc: add missing break (CID1365404) 2016-11-07 11:35:50 +01:00