Boris Faure
372893297b
options_behavior: remove unused variable
2019-05-26 22:41:26 +02:00
Boris Faure
fff087bead
use layout api in controls/options
2019-05-26 19:25:44 +02:00
Boris Faure
3c12162dcf
win: use elm_layout for the base objects
2019-05-24 21:47:25 +02:00
Marcel Hollerbach
2168e6a85f
terminology: call donecb later
...
donecb must be called after the settings objects have been deleted.
Otherwise focus manager will detect that a focused object is deleted,
and performe recoverty things. Those recovery things end up in
terminology in focusing nothing, since the terminal object is not a
elementary widget. Not beeing a elementery widget here means that it is
not visible from the POV of the focus manager.
However, when we emit donecb later on, then the focus is restored (in
the callback) after focus manager has performed its voodoo.
This fixes focus disappearing after going into the settings and going
out of them again.
Reviewed-by: Boris Faure <billiob@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8932
2019-05-21 21:07:53 +02:00
Carsten Haitzler
40ea16d995
terminology - fix initial size hints to be stepped right
...
@fix
2019-05-18 02:41:16 +01:00
Carsten Haitzler
03d15389a5
fix sign compare warn - no real bug to see here
2019-05-13 15:03:32 +01:00
Boris Faure
43224731e0
Merge branch 'terminology-1.4'
2019-05-05 12:57:28 +02:00
Boris Faure
67de5e75b2
termio: do replace \n by \r when pasting
2019-05-05 12:56:23 +02:00
Boris Faure
daa4f1bae0
Merge branch 'terminology-1.4'
2019-05-05 11:41:58 +02:00
Boris Faure
f1837dbc0c
termio: fix buffer overflow if too many \n
2019-05-05 11:41:10 +02:00
Boris Faure
766c3bfebc
Merge branch 'terminology-1.4'
2019-05-03 23:28:34 +02:00
Boris Faure
16ee36dbe3
termio: decode pasted string as utf8 and skip some codepoints
...
Should fix issue pasting codepoints that fit on multiple bytes
2019-05-03 23:27:29 +02:00
Boris Faure
fd27c910b1
termptydbl: fix comparison.
2019-05-01 13:11:56 +02:00
Boris Faure
35b6f3c630
termptydbl: private use area is not double-width
2019-05-01 12:52:17 +02:00
Boris Faure
955195d2ae
termptydbl: greek, cyrillic, armenian, arabic, … are not double width
2019-05-01 12:39:53 +02:00
Boris Faure
3880157adc
termptydbl: consider [0x2630, 0x2638] as single width. Closes T7821
2019-05-01 11:41:14 +02:00
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