Commit Graph

1903 Commits

Author SHA1 Message Date
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
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