Carsten Haitzler
208e877e8f
dbl chars - another range with only some emoji to be doubled
2019-04-23 12:12:02 +01:00
Carsten Haitzler
ce61d0c648
dbl char - add final unicode full emoji list link
2019-04-23 11:21:08 +01:00
Boris Faure
d197d2207e
termptydbl: unbreak mutt/nethack/my shell prompt…
...
The following ranges are not double-width:
2500-257F Box Drawing
2580-259F Block Elements
25A0-25FF Geometric Shapes
E000- F8FF Private Use Area
2019-04-22 22:19:50 +02:00
Carsten Haitzler
f0191d0ffc
double width check - optimize by more tree-like parent range checks
2019-04-18 15:31:35 +01:00
Carsten Haitzler
1cf54d7dfd
emoji- handle as double width as they probably should
...
emoji render as if being double width and their origin is from asian
langs (japan came up with them), so we should make them double width.
2019-04-18 15:12:32 +01:00
Carsten Haitzler
bbe5b3eb03
focus - ensure focus is properly handled first time for unfocused wins
...
this fixes a case where ecore imf is never told about a newly focused
context because the relative term is already the child in an initial
case... this gets input methods working again
@fix
2019-04-15 17:19:33 +01:00
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