Commit Graph

551 Commits

Author SHA1 Message Date
Carsten Haitzler 40ea16d995 terminology - fix initial size hints to be stepped right
@fix
2019-05-18 02:41:16 +01:00
Boris Faure 67de5e75b2 termio: do replace \n by \r when pasting 2019-05-05 12:56:23 +02:00
Boris Faure f1837dbc0c termio: fix buffer overflow if too many \n 2019-05-05 11:41:10 +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 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 485d7a3edf termio: fix leak. CID1399746 CID1399747 2019-03-18 23:02:36 +01:00
Boris Faure 4bc04c5421 termiointernals: be able to mock mouse wheel 2019-02-19 20:03:14 +01:00
Boris Faure 35587220c7 termiointernals: add termio_internal_get_selection() 2019-02-10 20:09:20 +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 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 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 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 6952836a32 termio: allow 1 line or 1 column windows. Closes T7532 2019-01-04 23:34:08 +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 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 64b58bb094 termio/win: handle hyperlinks on right click
Fix segfault
2018-12-13 16:41:29 +01:00
Boris Faure 2589118d19 termio/win: handle hyperlinks on right click
Fix segfault
2018-12-12 21:42:42 +01: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 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 dc5c291bb9 highlight links on mouseover
+ related fixes
2018-10-13 19:21:19 +02:00
Boris Faure e3faaab83d termio: simplify _handle_query_esc() 2018-10-13 18:10:54 +02:00
Boris Faure bd0ca2c224 Merge branch 'terminology-1.2' 2018-09-29 17:24:47 +02:00
Boris Faure fccc114082 selection: handle scrolling and left/right margins 2018-09-29 17:21:27 +02:00
Boris Faure de3732d418 termio: extract _handle_query_esc();
simplifies the code and removes dead code
2018-09-23 22:49:31 +02:00
Boris Faure dccd1dec39 use Media_Type instead of int 2018-09-16 17:57:42 +02:00
Boris Faure a696d18165 termio: fix previous commit 2018-06-28 19:25:40 +02:00
Cedric BAIL a5f287e881 termio: make sure that reference to gesture layer are cleaned at the right time.
Reviewers: billiob

Reviewed By: billiob

Subscribers: cedric

Tags: #terminology

Differential Revision: https://phab.enlightenment.org/D6207
2018-06-28 19:25:18 +02:00
Boris Faure 68b65651a6 termio: fix previous commit 2018-05-28 19:35:17 +02:00
Cedric BAIL 33fd72a3e8 termio: make sure that reference to gesture layer are cleaned at the right time.
Reviewers: billiob

Reviewed By: billiob

Subscribers: cedric

Tags: #terminology

Differential Revision: https://phab.enlightenment.org/D6207
2018-05-28 19:31:57 +02:00
Boris Faure 3569f18cc8 Bring back the user title per tab
Summary: T6719

Reviewers: billiob

Reviewed By: billiob

Differential Revision: https://phab.enlightenment.org/D5852
2018-04-26 23:23:17 +02:00
Boris Faure 7c6d581465 Bring back the user title per tab
Summary: T6719

Reviewers: billiob

Reviewed By: billiob

Differential Revision: https://phab.enlightenment.org/D5852
2018-04-22 17:27:14 +02:00
Carsten Haitzler 0f24619dfa selection handling - donmt use null string selections if they are
fix a corner case where string selection is null when selection is
requested (empty selection). @fix
2018-04-05 13:36:01 +09:00
Boris Faure 33eb5261e6 termio: force refocus after ctx popup is deleted. Closes T6782 2018-03-19 22:12:28 +01:00
Boris Faure 740e96da66 handle DECSCUSR (changing cursor shape). Closes T6338 2018-03-15 19:20:09 +01:00
Boris Faure dad9e0db58 remove compatibility #ifs to work with EFL < 1.16 2018-03-13 18:58:41 +01:00
Boris Faure deaadfeb01 shift-selection: reduce timeout to 5s, seems enough. Ref T2254 2018-03-12 20:11:28 +01:00
Carsten Haitzler 0fcd99cda5 do a thaw eval after thaw to ensure we dont miss any events
freeze stops events (in/out/down/up and so on, not del etc.) and thaw
does the oppostie. the thing is thawing to 0 freeze level never
re-evaluated everything. it was an optimization and simpler. so to
re-evaluate state and not lose thngs like in and out evets you do have
to do a thaw eval after thaw that will evaluate that state and produce
in and out events if you thaw back to 0. i don't know if this
fixes T4194 or not, but it does dot an i and cross a t.
2018-03-11 18:30:06 +09:00
Boris Faure 6bf2116206 shift-selection: reduce timeout to 15s. Closes T2254 2018-03-10 21:10:34 +01:00
Boris Faure 3aac7976b7 termio: fix key bindings for scrolling 2018-02-12 22:03:02 +01:00
Boris Faure 4f261e922e imf: handle cursor move 2018-02-09 23:18:03 +01:00
Boris Faure ddb8e8160d termio: really constify preedit_str 2018-02-08 22:38:02 +01:00
Boris Faure d7432a52d6 move input handling to win.c 2018-02-05 00:07:47 +01:00
Boris Faure 39fb41024b early work on multi-input support 2018-01-05 00:27:25 +01:00
Carsten Haitzler 8cfa269b54 tysend - optimize sending - pretty much double the speed
yes. it's still inefficient because we transfer in ascii-ized nibbles
(4 bits) within a utf8 stream that becoems a 32bit per char unicode
buffer then back to utf8 before being "parsed" as a command etc. etc.
... it's not brilliant for transferring binary data. it's horrible
actually. but at least i've dropped overhead for some of the large
escape handling code.

this increases buffer size to 32k per block sent, and have the
terminal escape/buffer handling track if a zero byte exists in the
buffer at all to avoid hunting for one if none is there, making
terminology escape handling much more efficient for large escapes and
buffers.
2017-12-18 15:32:02 +09:00
Carsten Haitzler 15e3c87390 tysend - i was only testing ascii files. binary doesnt trasnfer well...
so move to 4 bit nibbles encoded as ascii. inefficient but works
reliably.
2017-12-18 00:51:52 +09:00
Carsten Haitzler 125d475068 add tysend cmdline and support in escapes for sending single files
this allows you to send a file via escapes to terminology which will
pop up a file save dialog and ask what to save it as and where (based
on the original name). terminology will show a progress bar too. this
is not useful locally but remotely (e.g. you ssh'd into another
machine) it's a VERY handy way of fetching a file from the remote
machine to the local machine with a display just with tysend FILE. you
can send multiple in a sequence with tysend FILE1 FILE2 FILE3 ... ...
and terminology will ask for a location and filename per file you send
(just hit cancel if you don't want to do it).

note - it needs new theme features to work. it'll fail without them.

@feature
2017-12-17 23:41:26 +09:00
Boris Faure 496a5f178e have only one concept of title. Ref T5704 2017-08-28 21:41:21 +02:00
Boris Faure 38da9b2ded correctly handle -T option. Ref T5704 2017-08-28 21:41:10 +02:00
Boris Faure 6bb1552c84 empty string resets tab title 2017-08-26 19:27:14 +02:00
Boris Faure acbf3387fa fix selections in the backlog. Closes T5743
In the backlog, every cell but the last one has the autowrapped flag set.
_termpty_cellrow_from_beacon_get() now returns a length in the
"screen space".
2017-08-26 18:51:22 +02:00
Boris Faure bbb7272910 teamwork: remove the feature since it's no longer supported in elm 2017-07-23 17:41:20 +02:00
Boris Faure e7b3265662 font: update all terms to this window when changing font (size)
Closes T5012
Closes T5445
2017-07-14 22:10:54 +02:00
Boris Faure 6f1a2dd452 constify 2017-07-06 21:37:56 +02:00
Boris Faure de3890dad3 feature: move cursor to position on click+alt. Closes T5537 2017-06-29 23:45:05 +02:00
Boris Faure a168dc6645 termio: ev was unused 2017-06-05 01:02:41 +02:00
Jean Guyomarc'h 97469490fb termio: fix mouse button event tracking in vim
Commit 9e0b63403f caused mouse events not
to be processed correctly by vim. Resizing subwindows with the mouse was
fully broken.

Without the mouse button information, the button event tracking could
not be forwarded to the terminal.
2017-06-04 23:56:38 +02:00
Mike Blumenkrantz 9309941875 add behavior option to disable focus-in/out animations and visuals
this is useful for CI
2017-03-13 19:34:54 +01:00
Boris Faure 566dc187d6 termio: reset size when size looks boggus.
Patch by netstar
2017-03-05 16:40:10 +01:00
Boris Faure f4813a229d termio: remove dead code. CID1371738 2017-03-05 16:36:35 +01:00
Boris Faure 9e0b63403f may fix mouse motion reporting. T4874 2017-03-04 17:37:03 +01:00
Boris Faure e5f3676e32 termio: fix getting selection of known link. CID1367486 2016-12-20 20:20:34 +01:00
Boris Faure f3dd6f62fb termpty: Tab markers are the same for each line. Ref 4992 2016-12-18 18:48:03 +01:00
Boris Faure 5af5ec084e termio: do nothing special when extracting text and .tab is set 2016-12-15 23:11:22 +01:00
Boris Faure 45539d433c termio: small cleanup 2016-12-06 23:49:03 +01:00
Al Poole 8dd7aefcb4 Fix bogus hack and restore cursor position to its right place. On OpenBSD and DragonFly the cursor is being incorrectly placed. Seems there was a Linux workaround too. My guess is this will fix that also.
Summary: Should help anyway.

Reviewers: billiob, raster

Differential Revision: https://phab.enlightenment.org/D4465
2016-12-06 23:42:10 +01:00
Marcel Hollerbach 786dd890cc termio: dont show full/relative for emails or protocols
if there is a link like bu5hm4n@efl.so or http://enlightenment.org/ , then
there is no need to show relative or absolut coping in the ctxpopup,
just copy is enought.
2016-11-20 20:51:21 +01:00
Boris Faure 8658ea9d57 termio: fix leak. CID1365971 2016-11-19 11:02:57 +01:00
Marcel Hollerbach ddbdd96349 add copy link item in rightclick menu
Summary:
this will just copy the link content instead of the resolved link.
Makes the link detection feature also useable for ssh/tmux/screen
session.

Test Plan: Hover over a link and rightclick

Reviewers: billiob

Differential Revision: https://phab.enlightenment.org/D4217
2016-11-17 20:04:50 +01:00
Boris Faure 55db8930b2 termio: elm_layout_add() expects and elm widget
This should remove the noisy message:
ERR<21781>:elementary lib/elementary/elm_widget.c:1130
elm_widget_sub_object_parent_add() You passed a wrong parent parameter
(0x400000089000008a termio). Elementary widget's parent should be an
elementary widget.
2016-11-15 20:29:17 +01:00
Boris Faure c41fc2a56e sb: add some utilities like prepend, free, steal… 2016-11-06 19:45:05 +01:00
Boris Faure dab654c278 termio_link_find() is not static, remove its '_' prefix 2016-11-06 13:03:19 +01:00
Boris Faure d47b350e8c ty: add sb.{c,h} (was in termio.c) 2016-11-06 11:42:17 +01:00
Boris Faure 76f1bf4342 prefix EINA_UNUSED parameters with an underscore
and fix related issues
2016-10-05 22:00:22 +02:00
Boris Faure b7817a88b3 keys: add Shift+Home to get to the top of the backlog. Closes T3582 2016-05-31 21:34:44 +02:00
Arnout Engelen 4e5a07e795 Check if the font size really needs to be changed
Changing the font size also causes the current selection to be lost, so it's
nice to avoid it when not needed.
2016-05-26 17:57:46 +02:00
Boris Faure bd769a926b configure.ac: actually look for elm_win_teamwork_show() to know if available 2016-05-21 22:29:38 +02:00
Mike Blumenkrantz f1e1a6edd8 upgrade to teamwork v2, remove dbus (v1) usage 2016-05-20 15:37:55 -04:00
Boris Faure d9276909a4 add option to enable bold/italic (on by default) 2016-03-18 20:04:10 +01:00
Boris Faure 629e604704 termpty_cellrow_get() might return NULL. CID1352819 2016-03-12 17:23:37 +01:00
Boris Faure 8d0e13eff9 ensure CWD is NULL-terminated. CID1352820 2016-03-12 17:11:01 +01:00
José Roberto de Souza ae7e96633a Allow user to set the title of the each tab 2016-03-04 11:34:24 -03:00
Boris Faure b74cfc752a do not append \n at end of box selection 2016-02-07 18:15:00 +01:00
Boris Faure bed1532e19 remove callbacks early when pty exists 2016-02-02 23:34:54 +01:00