Commit Graph

1903 Commits

Author SHA1 Message Date
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
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 4ba31c3fba tests: differentiate NULL on prop.icon or prop.title 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 3751ce8083 build: better way to compile tyfuzz/tytest 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 10f6dc4737 termpty: set environment variable WINDOWID. Closes T7484 2018-12-24 11:10:01 +01:00
Boris Faure ddef1ec515 Merge remote-tracking branch 'origin/terminology-1.3' 2018-12-23 10:22:08 +01:00
Boris Faure 744c93a37d termio: fix potential segv. CID1397077 2018-12-23 10:20:50 +01:00
Boris Faure 070450aadd termio: fix use of uninitialized variable 2018-12-22 23:50:10 +01:00
Boris Faure e7cbae77e1 media/win: allow fallback to xdg-open after user interaction
Closes T7504
2018-12-17 21:53:01 +01:00
Boris Faure 1ac204da91 media: only popup known media types through special escape codes. Closes T7504
Those media files are opened within Terminology and not through an
external component, thus reducing the attack surface.
It is still possible to disable Terminology's escape codes in the
settings panel.
2018-12-16 11:36:15 +01:00
Boris Faure 64b58bb094 termio/win: handle hyperlinks on right click
Fix segfault
2018-12-13 16:41:29 +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 15ec4cb8d4 add some more coverity hacks 2018-11-18 17:51:58 +01:00
Carsten Haitzler 0d7473cd5d keyin - remove strncpy (so its strcpy) because its useless
wel alloc the buffer to be precisely the right size anyway so strncpy
is just more complex code that leads to warnings.
2018-11-16 12:58:27 +00:00
Carsten Haitzler 0d19a81c7f warning fix - compare unsigned vs unsigned
use Eina_Unicode so we compare the same type
2018-11-16 12:55:30 +00:00
Carsten Haitzler b389ed2b89 check if buffer size is too small strunc was truncated 2018-11-16 12:54:39 +00:00
Boris Faure df81992e90 termptyesc: fix bug found by tyfuzz 2018-10-17 22:54:24 +02:00
Boris Faure 5e06ee1d78 tyfuzz: support hyperlinks 2018-10-17 22:54:03 +02:00
Boris Faure dd8e9cedcc move code about hyperlinks to termpty.c to avoid issues with tyfuzz 2018-10-17 22:53:31 +02:00
Boris Faure 4f4875e27d hyperlinks: only highlight links with same url and id. Closes T6329 2018-10-15 21:41:27 +02:00
Boris Faure b8488a2059 termio: obj is unused 2018-10-15 21:34:15 +02:00
Boris Faure 9fc4f6c096 termio: remove unused same_link parameter. CID1396157 2018-10-14 12:49:04 +02:00
Boris Faure 1b909cb569 gravatar: also with hyperlinks starting with "mailto:" 2018-10-14 11:57:11 +02:00
Boris Faure 0a6589ca31 termio: fully cleanup past links when hovering hyperlink 2018-10-14 11:32:21 +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