Commit Graph

1933 Commits

Author SHA1 Message Date
Boris Faure 1ce26c51f7 termiointernals: fix regression on selecting word at start of line
In case of double-click.
2019-03-21 22:18:07 +01:00
Boris Faure 3378f033f5 termio: remove leak. CID1399747 2019-03-20 22:31:58 +01:00
Boris Faure 756a45e654 termio: skip pasted chars < ' ' but keep '\n'
See https://www.openwall.com/lists/oss-security/2018/03/05/2
2019-03-19 23:18:03 +01:00
Boris Faure 9785beaef0 termiointernals: fix possible NULL-dereference. CID1399748 2019-03-18 23:05:06 +01:00
Boris Faure 485d7a3edf termio: fix leak. CID1399746 CID1399747 2019-03-18 23:02:36 +01:00
Boris Faure 8076e4673f termiointernals: fix possible NULL-dereference CID1399745 2019-03-18 22:56:49 +01:00
Boris Faure 6c55ecf1a1 termptyesc: fix hangs spotted by afl-fuzz + tests 2019-03-18 22:34:21 +01:00
Boris Faure 674a87287d termiointernals: fix reporting mouse move with no button pressed + tests 2019-03-05 21:20:50 +01:00
Boris Faure 93a25e6123 termiointernals: report alt on mouse move + tests 2019-03-04 23:39:57 +01:00
Boris Faure 61a56ae029 termiointernals: handle mouse wheel with alt + tests 2019-03-04 23:05:40 +01:00
Boris Faure c9b5c52a5d termptyesc: typo in comment 2019-03-03 22:49:11 +01:00
Boris Faure 8bc4c030c3 termiointernals: handle mouse wheel on normal mode after pos 94 2019-03-03 19:40:19 +01:00
Boris Faure acee5d2d67 it's possible to use alt with mouse wheel 2019-03-03 19:26:45 +01:00
Boris Faure bc45dba7c9 termiointernals: after x:94, no more reporting in normal mode 2019-03-03 19:25:56 +01:00
Boris Faure 69e8255d25 termiointernals: cleanup 2019-03-03 18:36:09 +01:00
Boris Faure b9542183e6 termiointernals: handle meta & MOUSE_X10 in mouse_down 2019-03-03 18:35:27 +01:00
Boris Faure 36fcd2d2c4 tests: add tytest_termio_resize() 2019-03-03 18:22:18 +01:00
Boris Faure 490d388314 termptyesc: resize parameters were inverted 2019-03-03 15:55:01 +01:00
Boris Faure 72ff9cbe3c termiointernals: mouse wheel is not reported in X10 mode 2019-03-03 15:47:37 +01:00
Boris Faure 5a98842d63 termiointernals: do not emit mouse wheel on mode X10 2019-03-03 13:20:03 +01:00
Boris Faure 72afb80d6e win: use min_* as base step since the old formula may < 0
Closes T7699
2019-03-02 18:26:04 +01:00
Boris Faure f0605c697d private.h: helper for testing escape codes on terminology's binary 2019-03-01 13:28:01 +01:00
Boris Faure 0f45747925 termpty: fix _termpty_cell_is_empty()
was not working on cell = {}
2019-03-01 13:23:02 +01:00
Boris Faure 1c9c2a19ed termptyesc: handle window manipulations that resizes the terminal
only for testing purpose
2019-02-27 23:46:04 +01:00
Boris Faure 4d89080d71 termiointernal: handle empty celles in selections.
Condition was wrong
2019-02-27 20:23:41 +01:00
Boris Faure 5300a89013 termiointernals: fix segfault 2019-02-25 22:51:03 +01:00
Boris Faure 1e5825832f termiointernals: rewrite _sel_word_to() + update tests 2019-02-25 22:02:11 +01:00
Boris Faure 48496b2eb5 termpty: cell is empty if bg is invisible. Closes T7707 2019-02-24 17:06:31 +01:00
Boris Faure 52a0ba46e0 termiointernals: selection is based on relative y, not on-screen y 2019-02-23 17:56:25 +01:00
Boris Faure eaaf63172d tyfuzz: test terminal is only 24 lines 2019-02-23 17:52:42 +01:00
Boris Faure bebb0872c3 termiointernals: remove empty selections 2019-02-23 13:34:31 +01:00
Boris Faure 2ca440ba93 tytest: use same offset as "real life"
makes it easy to write tests
2019-02-23 11:19:20 +01:00
Boris Faure 5fedd2c0a4 termiointernals: unset selection when codepoint is different
but do not make a difference between space and no codepoint
2019-02-23 11:12:14 +01:00
Boris Faure 510032df70 termiointernals: fix leak in termio_internal_get_selection() 2019-02-22 20:15:16 +01:00
Boris Faure 16637c3515 termptyext: fix eina_stringshare_del() on bad pointer 2019-02-21 18:43:11 +01:00
Boris Faure e024618dba termpty: compute exact line length in termpty_cellrow_get() 2019-02-21 18:42:28 +01:00
Boris Faure 4bc04c5421 termiointernals: be able to mock mouse wheel 2019-02-19 20:03:14 +01:00
Boris Faure f93f1ef3ba termiointernals: right-trim line selections 2019-02-18 22:04:37 +01:00
Boris Faure b7305bfc59 tyfuzz: better mock termio_take_selection()
+ fix leak
+ make the code more readable to me
2019-02-18 20:57:38 +01:00
Boris Faure 376c0a962b termptyext: add testing escape code to set/unset selection corners 2019-02-17 12:32:16 +01:00
Boris Faure eb4a3f9920 termptyext: skip spurious \r + improve asserts + add doc 2019-02-14 22:16:33 +01:00
Boris Faure 7eaba7447c termiointernals: set mouse position on mouse down/up 2019-02-14 22:11:35 +01:00
Boris Faure 8169dcca63 termiointernals: evas_pointer_canvas_xy_get() is expecting an evas 2019-02-14 20:35:29 +01:00
Boris Faure 23a76357f9 termptyext: remove spurious return in _handle_selection_is() 2019-02-13 23:21:53 +01:00
Boris Faure b09a70f04d termptyext: clean up modifiers parsing 2019-02-13 23:21:32 +01:00
Boris Faure 07cd8089e0 termiointernals: don't use ecore_job_add in tests 2019-02-11 22:46:39 +01:00
Boris Faure 73f461e281 tytest: add test_textgrid_cellrow_get()
to mock evas_object_textgrid_cellrow_get()
2019-02-11 22:44:16 +01:00
Boris Faure 904b3cf62e termptyext: use real selection to test
And not just compare with the codepoint array that may not have \n and too
many spaces
2019-02-10 23:56:30 +01:00
Boris Faure 8533d8d042 termptyext: add escape codes to force internal rendering 2019-02-10 23:53:55 +01:00
Boris Faure 35587220c7 termiointernals: add termio_internal_get_selection() 2019-02-10 20:09:20 +01:00
Boris Faure ac82934c83 termptyext: add testing escape codes about selections 2019-02-10 19:36:46 +01:00
Boris Faure 5e4f814104 termiointernals: fix selection invalidation + add doc 2019-02-10 19:00:43 +01:00
Boris Faure 43c6777e57 termiointernals: add termio_internal_render()
used to test selection invalidation later on
2019-02-09 23:48:15 +01:00
Boris Faure e9ce3d02a3 tytest: add escape codes to simulate mouse interactions 2019-02-07 22:20:36 +01:00
Boris Faure fd8120091d tytest: add framework to add special escape codes for tests 2019-02-06 23:19:29 +01:00
Boris Faure 4e38d0d2c7 termio: simplify code by passing sd instead of obj
Stub function to get Termio from Evas_Object
2019-02-06 23:19:29 +01:00
Boris Faure 2f432dcd33 tyfuzz: stub functions from termio 2019-02-06 23:19:29 +01:00
Boris Faure e6886bcaee move some code to termiointernals to be able to test it 2019-02-06 23:19:29 +01:00
Boris Faure b05e20333d termio:_smart_update_queue() needs only sd 2019-02-06 23:19:29 +01:00
Boris Faure 4c8634686c termio: unset selection in _smart_apply if codepoints have changed in sel 2019-02-06 23:19:29 +01:00
Boris Faure 988a9dad4d termio: add functions to get selection as an array of codepoints 2019-02-06 23:19:29 +01:00
Boris Faure 5303f9eb28 termio: use ty_sb to deal with selections 2019-02-06 23:19:29 +01:00
Boris Faure 891168a9a7 termio/termptyops: remove termio_content_change()
It shall no longer be needed.
2019-02-06 23:19:29 +01:00
Boris Faure 3d82c70793 tests: get rid of that useless UTF8CC code
@glima: this should fix your issue
2019-02-06 22:35:12 +01:00
Boris Faure 09bd49ea34 termptyesc: better debug 2019-02-06 22:33:15 +01:00
Boris Faure 4eefb44ee1 termptyesc: handle DECSWBV + tests 2019-01-26 22:27:44 +01:00
Boris Faure 14e501c15a we're in 2019 2019-01-23 21:26:54 +01:00
Boris Faure 2e34b8e962 add configuration on whether to activate links
- on email
- on file paths
- on URLs
- from escape codes (called hyper links in the code)

Closes T6339
2019-01-21 22:11:22 +01:00
Boris Faure 54565e32a6 options_keys: clean up a bit
options: no need for delay
2019-01-20 23:13:05 +01:00
Boris Faure 2ffbe38d43 termptyesc: support aliases for cursor Up/Left + tests 2019-01-20 20:09:32 +01:00
Boris Faure 7dccab5481 termptyesc: export VPA handler to its own function + tests 2019-01-20 18:44:08 +01:00
Boris Faure bef8cb1373 termptyesc: add debug on CUD or VPR 2019-01-20 18:35:03 +01:00
Boris Faure 392c04bbe0 termptyesc: support Unset Tab Stop (only VTE so far) + tests 2019-01-20 12:06:19 +01:00
Boris Faure 96bbfd054b termptyesc: export DA handler to its own function + tests
Also support DA3.
2019-01-19 23:50:31 +01:00
Boris Faure b7e84963c7 reindent code 2019-01-19 23:07:07 +01:00
Boris Faure 3833252ad2 termptyesc: extract REP handler to its own function + tests 2019-01-19 23:02:51 +01:00
Boris Faure a0738339dd termptyesc: CHA and HPA are the same 2019-01-19 22:10:12 +01:00
Marcel Hollerbach b37a3eefb6 terminology: move log dom registering
the log domain should be registered when there is a new window, not when
there is a new term. A windows can exist before a term can exist.
Further more, win_new function is using this log domain so it should be
inited.
2019-01-14 22:45:32 +00:00
Boris Faure c1d030da0a termptyesc: extract CBT handler to its own function + tests 2019-01-13 00:08:52 +01:00
Boris Faure 505772602e termptyops: do not wrap to left margin when already past right margin
Fix ech.sh test that detected the issue
2019-01-12 16:14:14 +01:00
Boris Faure 89a6a9d652 termptyesc: extract ECH handler to its own function + test
Test is not fully working at the moment.
There seems to be an issue with appending text outside margins
2019-01-11 23:30:43 +01:00
Boris Faure ff830fbc42 termptyesc: extract TBC to its own function + tests 2019-01-08 23:16:06 +01:00
Boris Faure 395404c243 termptyesc: handle CTC + tests 2019-01-08 22:55:48 +01:00
Boris Faure 24cc5eaf8d termptyesc: Printer and Selective Erase are not supported 2019-01-07 23:39:34 +01:00
Boris Faure 5475920c56 termptyesc: add debug on sixel/regis graphics attributes 2019-01-07 23:31:31 +01:00
Boris Faure a2656754bd termptyesc: support DECST8C + tests 2019-01-07 23:13:52 +01:00
Boris Faure 19631a70f6 termptyesc: 'T' can also refer to Unset Title Modes (not handled) 2019-01-07 22:32:42 +01:00
Boris Faure ca9616bad8 termptyesc: extract SD/SU to their own functions
SD 0 is used for "track mouse" (TODO).
2019-01-06 23:01:52 +01:00
Boris Faure 5b16b455ff termptyesc: DL moves the cursor to left margin + tests
also remove some debug leftover
2019-01-06 22:30:09 +01:00
Boris Faure 822f959163 termpty: handle IL with left/right margins + tests 2019-01-05 19:25:37 +01:00
Boris Faure 571d2d03f1 Merge branch 'terminology-1.3' 2019-01-05 18:33:53 +01:00
Boris Faure 09d6660ae7 termio: fix invalid initial resize. Closes T7548 2019-01-05 18:28:43 +01:00
Boris Faure 8841e5259a Merge branch 'terminology-1.3' 2019-01-04 23:37:48 +01:00
Boris Faure 007dfb60e3 termpty: reset circular_offset2 (for the 2nd buffer) to 0 (as it's cleared)
Closes T7543
2019-01-04 23:35:48 +01:00
Boris Faure 6952836a32 termio: allow 1 line or 1 column windows. Closes T7532 2019-01-04 23:34:08 +01:00
Boris Faure a5d364bcbf termptyops: ensure clearing cells do not increase link count 2019-01-03 22:46:07 +01:00
Boris Faure 99da684d81 config: s/;;/;/ 2019-01-02 23:45:49 +01:00
Boris Faure 0ca634cd69 termptyesc: export EL handler to its own function + add tests 2019-01-02 23:32:38 +01:00
Boris Faure 06abd7e9bc termptyesc: move ED handler to its own functions + add tests 2019-01-02 22:41:41 +01:00
Boris Faure f7576fb01c termptyesc: move CHT handler to its own function 2019-01-01 20:32:45 +01:00
Boris Faure 36682a1b4e termptyesc: CHA has to take into account DECOM + tests 2019-01-01 20:19:17 +01:00
Boris Faure a0db416469 termptyesc: cleanup 2019-01-01 20:13:09 +01:00
Boris Faure eb84e538b1 termptyesc: move CUF/CUB handlers to their own functions 2019-01-01 18:53:46 +01:00
Boris Faure bf853e8b91 termptyesc: move CUU/CUD handlers to their own functions 2019-01-01 18:53:01 +01:00
Boris Faure 59c547179d termptyesc: support DECCRA + tests 2019-01-01 18:12:06 +01:00
Boris Faure 6661719829 termptyesc: extract ICH to its own function and add tests 2019-01-01 18:10:36 +01:00
Boris Faure 12cc6aaf42 termptyesc: support DECIC/DECDC + tests 2018-12-30 18:36:27 +01:00
Boris Faure fee45b5492 termptyesc: DECCRARA/DECRARA when not in rectangle mode + tests 2018-12-29 22:13:58 +01:00
Boris Faure 288bea982d termptyesc: handle DECRARA in its rectangular form + tests 2018-12-29 18:00:57 +01:00
Boris Faure 68787ad524 tests/termptyesc: handle DECSACE
Also regenerate tests since checksums changed due to new attribute
2018-12-29 17:21:07 +01:00
Boris Faure 63911989fc termptyesc: handle deccara in its rectangular form + tests 2018-12-29 16:58:36 +01:00
Boris Faure 9cb340e29f termio: inverse colors only after applying bold/faint (more precise) 2018-12-29 16:57:44 +01:00
Boris Faure 6e8faa30a7 termptyesc: refuse no value on decfra on the character to fill up + tests 2018-12-29 15:19:31 +01:00
Boris Faure 19a99dadff termptyesc: support DECFI
Introduce different behaviour from xterm as I don't see why it behaves
like that when outside of left/right margin and on right border. Xterm
does not wrap.
2018-12-28 23:11:54 +01:00
Boris Faure fd92428c57 termptyesc: add debug on DECCAPSLK and clean up other debug 2018-12-28 22:01:47 +01:00
Boris Faure 02a9c5325a termptyesc: add debug on DECCANSM 2018-12-28 21:59:42 +01:00
Boris Faure 7d668d79d1 termptyesc: remove unused parameter 2018-12-28 21:56:29 +01:00
Boris Faure 090f6a64f2 termptyesc: support DECBI 2018-12-28 21:56:02 +01:00
Boris Faure 6f1e3ea077 termptyesc: always check return of _csi_truecolor_arg_get()
CID1398478
CID1398479
CID1398480
2018-12-28 19:04:43 +01:00
Boris Faure a940556cff termpty: correctly handle wrap (DECAWM) 2018-12-28 17:41:33 +01:00
Boris Faure a95bbbe731 termptyesc: DECALN only reset margins and cursor position 2018-12-28 17:25:28 +01:00
Boris Faure 54c3e4790b termptyesc: add debug on DECARSM 2018-12-27 22:14:44 +01:00
Boris Faure edc469d16f termptyesc: add debug on DECARM 2018-12-27 22:14:44 +01:00
Boris Faure 19e8bf13f9 termptyesc: add debug on DECANM 2018-12-27 22:14:44 +01:00
Boris Faure 81fb1959eb termptyesc: add debug on DECAAM 2018-12-27 22:14:44 +01:00
Boris Faure e23d78e102 termptyesc: cpl and margins + tests 2018-12-27 22:14:44 +01:00
Boris Faure 3c47cc36e0 termptyesc: CNL and margins + tests 2018-12-27 22:14:44 +01:00
Boris Faure 4b32aec0ed termptyesc: DCH shall handle margins. space created follows SGR + test 2018-12-27 22:14:44 +01:00
Boris Faure c162b07b16 col: assert in case of invalid values 2018-12-27 22:14:44 +01:00
Boris Faure fb24dfabb1 termptyesc: add some debug 2018-12-27 22:14:44 +01:00
Boris Faure 5f715b9290 termpty: add debug on CHA + test 2018-12-27 22:14:44 +01:00
Boris Faure 9c2b3887d1 termptyesc: support DECSCLM but ignore it + test 2018-12-27 22:14:44 +01:00
Boris Faure eab5ffb956 termptyesc: 98/108 are not valid color codes + test 2018-12-27 22:14:44 +01:00
Boris Faure add8b71778 termptyesc: fix truecolors parsing + tests 2018-12-27 22:14:44 +01:00
Boris Faure 3cc3f3ee2a add tytest.h and colors_256_get() to be able to test truecolor 2018-12-27 22:14:44 +01:00
Boris Faure 119a4d12af termptyesc: handle CSI_ARG_ERROR in some SGR.
Closes T7475
2018-12-27 22:14:44 +01:00
Boris Faure 6931f96d0d termptyesc: handle CSI_ARG_ERROR 2018-12-27 22:14:44 +01:00
Boris Faure a4418b85f6 termpty: display escape sequence when can't decode it 2018-12-27 22:14:44 +01:00
Boris Faure e6d13fceb5 termptyesc: support DSR-UDK + test 2018-12-27 22:14:44 +01:00
Boris Faure d2958cd301 termpty: support DSR-PP (Printer Port) + test 2018-12-27 22:14:44 +01:00
Boris Faure 8f2e15478d termptyesc: support DSR-OS + test 2018-12-27 22:14:44 +01:00
Boris Faure aebbed39e6 termptyesc: add support DSR-DECCKSR + test 2018-12-27 22:14:44 +01:00
Boris Faure f54bd2350f termptyesc: support DSR-MSR (0 Macro Space) + test 2018-12-27 22:14:44 +01:00
Boris Faure 5cef3b68b6 tytest: add write buffer to checksum 2018-12-27 22:14:44 +01:00
Boris Faure e0ed4b4ad9 termptyesc: handle DSR-KBD but hardcode keyboard + test 2018-12-27 22:14:44 +01:00
Boris Faure 9ed1b61f23 termptyesc: handle DSR-DIR (Data Integrity Report) + test 2018-12-27 22:14:44 +01:00
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 ce07e81180 tests: on cursor shapes and regen tests.results 2018-12-27 22:14:44 +01:00