Commit Graph

1939 Commits

Author SHA1 Message Date
Boris Faure 048c5cb825 clean up mess with libintl
The header must exist, the lib itself may not
2019-07-08 21:30:27 +02:00
Boris Faure fb922e0ec4 coverity fixed their stuff, remove hack 2019-07-08 21:30:27 +02:00
Boris Faure 344e466eba tyfuzz/tytest: fix leak 2019-07-08 21:30:27 +02:00
Boris Faure fa07767115 tytest: fix runtime error: null pointer passed as argument 2, which is declared to never be null 2019-07-08 21:30:27 +02:00
Boris Faure 58df5715d1 win: remove shadowed variable 2019-07-08 21:30:27 +02:00
Boris Faure c1eb0bad4a sel: clean up: use sd directly whenever possible 2019-07-08 21:30:27 +02:00
Boris Faure 14d799d63e tab_selector: fix focus issue 2019-07-08 21:30:27 +02:00
Boris Faure 432485dae3 win: start the hide_cursor timer on window creation 2019-07-08 21:30:27 +02:00
Boris Faure b7fff38636 win: hide mouse cursor when idle after timer 2019-07-08 21:30:27 +02:00
Boris Faure 38404d93ff options_behavior: add ui to change "hide cursor" setting 2019-07-08 21:30:27 +02:00
Boris Faure 96218a733c config: add item to hide cursor 2019-07-08 21:30:27 +02:00
Boris Faure ba980a594c termptydbl: oops 2019-06-23 22:16:47 +02:00
Boris Faure ef483dba0d termptydbl: add special case for emoji that were single width before 2019-06-23 22:02:50 +02:00
Boris Faure 50f4f6308d termptyops: skip variation selectors
We should take into account VS1, 15 and 16…
2019-06-23 22:02:50 +02:00
Boris Faure 7b3110d4a2 termpty: attach a Config * to Termpty 2019-06-23 22:02:50 +02:00
Boris Faure 7cc1197a53 config: add option to treat emojis as double-width 2019-06-23 22:02:49 +02:00
Boris Faure cdaae389aa utf8: only encode codepoints ≤ U+10FFFF. Closes T8022 2019-06-23 16:44:28 +02:00
Alastair Poole 18bff78895 build: Fix build and behaviour on OpenBSD.
Summary:
OpenBSD does not have strchrnul. Also, fix range
issue with window size.

The geometry is broken on OpenBSD and DragonFlyBSD.
A previous patch solved this issue. Range was
changed to <= 0, but needs to be <= 1 to  ensure
the terminal opens and displays content.

Reviewers: billiob

Reviewed By: billiob

Differential Revision: https://phab.enlightenment.org/D9157
2019-06-23 16:39:17 +02:00
Boris Faure 253446db49 debug: remove some 2019-06-18 22:09:29 +02:00
Boris Faure cf060d2a04 focus: block focus manager from getting key inputs when they are consumed 2019-06-18 22:06:44 +02:00
Boris Faure c151c3c0a0 termio: use term_is_focused() since it is now more reliable
sd->self is not the evas object that is being focused
2019-06-17 22:13:39 +02:00
Boris Faure ff136b78f1 win: export term_is_focused() 2019-06-17 22:12:59 +02:00
Boris Faure b464932d2d Revert "Revert "win: let elm handle focus""
This reverts commit 8354e83726.
2019-06-17 21:22:17 +02:00
Boris Faure 8354e83726 Revert "win: let elm handle focus"
This reverts commit 113bf27619.

Not yet fully working. Previous behaviour was better.
2019-06-14 11:19:30 +02:00
Boris Faure 113bf27619 win: let elm handle focus 2019-06-13 20:45:53 +02:00
Boris Faure 5f19ccb841 win: use elm_layout funcs on base object in About 2019-06-13 20:45:33 +02:00
Carsten Haitzler 5c74541206 config - font size - go back to 10 as default
so a whole back terminology moved from the shipepd nexus bitmap font
to system monospace fonts and 12 pt. it has always looked wrong as
efl's default theme is 10 and relies on a system-wide scale factor to
do this. 12 has looked totally out of place for a long time and it's
time that this not be hacked around in terminology but be solved at
the system level - maybe efl. if you use e then you will have selected
the scaling factor already and it will affect efl apps and all work.
outside of e is "not solved". to date it's been "other desktosp have
to support efl - up to them". perhaps looking at some level of "well
user has no config so let's guess what scale factor should maybe be
based on dpy and other toolkit configs we can find etc." in EFL... not
terminology.
2019-06-11 11:57:24 +01:00
Boris Faure 417cf716c6 termptyesc: handle some OSC where there's nothing to do 2019-05-27 19:20:28 +02:00
Boris Faure 16db713a44 termptyesc: just ignore screen mode 2019-05-27 19:20:09 +02:00
Boris Faure 50e1371006 termptyesc: osc 11's format is weird 2019-05-27 00:13:22 +02:00
Boris Faure 33b2d68aa9 termptyesc: handle OSC 11 that reports background color
It can also be used to set background color but that's not implemented
2019-05-26 23:02:53 +02:00
Boris Faure 7e677abfb9 termpty: add termpty_color_class_get() 2019-05-26 22:55:22 +02:00
Boris Faure f6d6ce481e termpty: fix unsigned comparison 2019-05-26 22:54:38 +02:00
Boris Faure d29533e341 win: add term_bg_get() 2019-05-26 22:52:57 +02:00
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