Boris Faure
feb7495fbb
termptyesc: DSR-CPR takes cursor restriction into account + test
2018-12-27 22:14:44 +01:00
Boris Faure
479d96e5dc
termptyesc: act like xterm, do not report title/icon-name
2018-12-27 22:14:44 +01:00
Boris Faure
e4d7cb93f2
termptyesc: act as xterm-337
2018-12-27 22:14:44 +01:00
Boris Faure
d43110e0fd
termptyesc: fix decera/decfra when bottom coordinate is too large
2018-12-27 22:14:44 +01:00
Boris Faure
713bb211fc
termptyesc: fix VPR (now goes down instead of up)
2018-12-27 22:14:44 +01:00
Boris Faure
2db4a0e980
termptyesc: fix _clean_up_rect_coordinates() when cursor is restricted
2018-12-27 22:14:44 +01:00
Boris Faure
f83e66a478
add tytest, a tool to add tests on escape sequence parsing
2018-12-27 22:14:44 +01:00
Boris Faure
8fb44906cc
Revert "termpty: better handle ';' in escape sequences. Closes T7475"
...
This reverts commit 3f432544df
.
2018-11-20 10:34:37 +01:00
Boris Faure
3f432544df
termpty: better handle ';' in escape sequences. Closes T7475
2018-11-19 23:14:51 +01:00
Boris Faure
df81992e90
termptyesc: fix bug found by tyfuzz
2018-10-17 22:54:24 +02:00
Boris Faure
4c54edaa52
termptyesc: handle some utf8 control codes
2018-10-14 11:12:04 +02:00
Boris Faure
a11c591cce
fix const on hyperlink urls
2018-10-13 22:05:48 +02:00
Boris Faure
dc5c291bb9
highlight links on mouseover
...
+ related fixes
2018-10-13 19:21:19 +02:00
Boris Faure
05ee717fc0
compute refcount on hyper links
2018-10-13 10:52:50 +02:00
Boris Faure
cc83e6b6f2
parse hyperlinks
...
Ref: T6329
2018-10-13 10:52:50 +02:00
Boris Faure
43ad696570
Merge branch 'terminology-1.2'
2018-10-12 20:19:06 +02:00
Boris Faure
aa0f968860
termpty: soft reset should only reset attributes
2018-10-12 20:17:50 +02:00
Boris Faure
bd0ca2c224
Merge branch 'terminology-1.2'
2018-09-29 17:24:47 +02:00
Boris Faure
9fc660ccb2
termptyesc: DECFRA/DECERA finishes by $x/$z
...
And not just x/z
2018-09-29 12:17:51 +02:00
Boris Faure
873656483b
termpty: remove useless code. termio.h is already included
2018-09-26 08:13:47 +02:00
Boris Faure
7855175ea4
tyfuzz: make it compile again!
2018-05-02 16:19:55 +02:00
Boris Faure
0991479fcb
try to optimize cell copy
...
On my stupid benchmark: having tyfuzz parse a 628MB text file (few times
war and peace concatenated) over 10 sessions, it went from 15.2MB/s to
16.8MB/s \o/ That's a 10.5% improvement!
2018-04-24 23:41:18 +02:00
Boris Faure
8308514420
termptyesc: document Media Copy
2018-03-19 23:54:00 +01:00
Boris Faure
4e1beca3f8
termptyesc: handle Horizontal Position Absolute (HPA)
2018-03-19 23:24:31 +01:00
Boris Faure
740e96da66
handle DECSCUSR (changing cursor shape). Closes T6338
2018-03-15 19:20:09 +01:00
Boris Faure
71c1b37675
termptyesc: sort CSI escape code by ascii value
2018-03-15 17:58:41 +01:00
Boris Faure
dad9e0db58
remove compatibility #ifs to work with EFL < 1.16
2018-03-13 18:58:41 +01:00
Boris Faure
9e0243d9f1
support encircled escape code. Closes T6769
2018-03-13 09:15:32 +01:00
Boris Faure
0a0f3605e4
termptyesc: handle CMY/CMYK in SGR38/SGR48. Ref T746
2018-03-11 22:38:45 +01:00
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
Boris Faure
566c6d3680
termpty: correctly handle saving cursor + switching to/from altbuf
...
Closes T4718
2016-10-18 00:15:06 +02:00
Boris Faure
76f1bf4342
prefix EINA_UNUSED parameters with an underscore
...
and fix related issues
2016-10-05 22:00:22 +02:00
Boris Faure
0c466d767c
Merge remote-tracking branch 'raboof/comment'
2016-05-21 22:39:14 +02:00
Boris Faure
f33aa07b81
termptyesc: fix signedness comparison
2016-05-21 22:38:39 +02:00
Arnout Engelen
9a501470aa
Fix comment for 't' escape sequence
2016-05-21 15:15:19 +02:00
Arnout Engelen
ef8ee3fbda
Allow font size to be updated via escape sequence
2016-05-21 14:53:17 +02:00
José Roberto de Souza
ae7e96633a
Allow user to set the title of the each tab
2016-03-04 11:34:24 -03:00
Boris Faure
a0c249e6ca
fix crash when running tyfuzz. not in terminology
2015-11-14 21:26:37 +01:00
Boris Faure
4913364a22
fix int overflow
2015-11-08 13:06:13 +01:00
Boris Faure
9c4167f74f
always support double-width
2015-09-19 16:23:41 +02:00
Boris Faure
2b3eda694f
always support italic
2015-09-19 16:18:17 +02:00
Boris Faure
3a7238978e
turn error messages about unhandled escape codes into warnings
2015-09-08 21:59:11 +02:00
Boris Faure
144e0b5068
add option to disable terminology escape codes that could be considered
...
security issues by some
They are enabled by default.
2015-08-23 20:57:49 +02:00
Boris Faure
7fd86d8968
warn about window operations' escape codes being not supported
2015-08-17 23:18:50 +02:00
Boris Faure
b80bedc7c2
do not report unsanitized input. See CVE-2003-0063
2015-08-17 23:18:49 +02:00
Boris Faure
f40c63bbb6
typo
2015-08-03 20:52:54 +02:00
Jean-Philippe Andre
09b4fddf84
escapes: pretty-print some escapse and avoid ESC in debug logs
...
ERR("Hello '%c'", ESC) would result in "Hello '\033'" which means
the parent terminal (another terminology, maybe) would then try to
interpret ' as an escape char (ESC is \033 or 0x1b), and so it would
then forward more escapes to the parent.
Also, avoid printing BEL (and, well, beeping) when we are just
printing an error log.
I believe all those "Unhandled escape" logs should go to WRN or higher
log levels. Any thoughts, @billiob ?
See T2506 (for the test file)
2015-06-24 13:46:48 +09:00
Boris Faure
681bb029c2
ensure cursor coordinates are always valid, 2nd version
2015-06-03 23:02:31 +02:00
Carsten Haitzler
074eece5f7
Revert "ensure cursor coordinates are always valid"
...
This reverts commit 1f3f779258
.
this breaks terminal scrolling entirely! can't scroll anymore at all
in standard shell. just try a simple: find / -print
2015-06-03 15:00:13 +09:00
Boris Faure
1f3f779258
ensure cursor coordinates are always valid
2015-06-02 22:48:50 +02:00
Boris Faure
c86b35309c
rename a bunch of _termpty_*() to termpty_*()
2015-06-02 21:47:06 +02:00