Commit Graph

110 Commits

Author SHA1 Message Date
Boris Faure b76bbbe455
termpty: better handle writes
- Use the event loop
- Check for EINTR/EAGAIN

This fixes pasting large amount of data.

Closes T4712
2019-12-04 23:13:30 +01:00
Boris Faure 6bfd508a58
tyfuzz: instead of writing to /dev/null, just do not write 2019-12-04 21:44:37 +01:00
Boris Faure e1ff4d877e termptyesc: store when tab are inserted and where they stop 2019-10-27 16:04:43 +01:00
Boris Faure 7b3110d4a2 termpty: attach a Config * to Termpty 2019-06-23 22:02:50 +02:00
Boris Faure 7e677abfb9 termpty: add termpty_color_class_get() 2019-05-26 22:55:22 +02:00
Boris Faure 5e4f814104 termiointernals: fix selection invalidation + add doc 2019-02-10 19:00:43 +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 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 a4418b85f6 termpty: display escape sequence when can't decode it 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
Boris Faure f83e66a478 add tytest, a tool to add tests on escape sequence parsing 2018-12-27 22:14:44 +01:00
Boris Faure 10f6dc4737 termpty: set environment variable WINDOWID. Closes T7484 2018-12-24 11:10:01 +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
Boris Faure dd8e9cedcc move code about hyperlinks to termpty.c to avoid issues with tyfuzz 2018-10-17 22:53:31 +02:00
Boris Faure 4f4875e27d hyperlinks: only highlight links with same url and id. Closes T6329 2018-10-15 21:41:27 +02:00
Boris Faure dc5c291bb9 highlight links on mouseover
+ related fixes
2018-10-13 19:21:19 +02:00
Boris Faure 258cf5c173 add termpty_cell_get() 2018-10-13 18:07:27 +02:00
Boris Faure 05ee717fc0 compute refcount on hyper links 2018-10-13 10:52:50 +02:00
Boris Faure cc83e6b6f2 parse hyperlinks
Ref: T6329
2018-10-13 10:52:50 +02:00
Boris Faure dccd1dec39 use Media_Type instead of int 2018-09-16 17:57:42 +02:00
Boris Faure 0991479fcb try to optimize cell copy
On my stupid benchmark: having tyfuzz parse a 628MB text file (few times
war and peace concatenated) over 10 sessions, it went from 15.2MB/s to
16.8MB/s \o/ That's a 10.5% improvement!
2018-04-24 23:41:18 +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
Boris Faure 9e0243d9f1 support encircled escape code. Closes T6769 2018-03-13 09:15:32 +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
Boris Faure 180799d2c5 support the REP escape code. Closes T6042 2017-09-18 22:01:42 +02: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 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 6315ed2949 termpty: remove termstate.had_cr since it's unused 2017-08-21 23:46:28 +02:00
Boris Faure 6f1a2dd452 constify 2017-07-06 21:37:56 +02:00
Boris Faure 7ac685b68c termpty: DECERA only changes codepoints 2017-06-26 21:58:59 +02:00
Boris Faure 7ab925dc76 termpty: very early support of Right/Left margins 2017-06-03 23:17:33 +02:00
Boris Faure 816f60369f termptyesc: correctly handle DECOM
also fix regions with only one argument
2017-05-31 00:39:02 +02:00
Boris Faure 6ce96da8c4 s/scroll_y1/top_margin/, s/scroll_y2/bottom_margin/ 2017-05-29 23:26:32 +02:00
Boris Faure 387cafa463 tyfuzz needs termpty_resize_tabs() 2017-05-17 22:35:01 +02: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 6cc0abd787 termpty: skip combining chars unless it can be used as strikethrough 2016-11-26 18:42:26 +01:00
Boris Faure c47b0c39d5 scrolling: fix issues with the beacon
Add a few comments on how it works
2016-11-20 18:23:56 +01:00
Boris Faure 566c6d3680 termpty: correctly handle saving cursor + switching to/from altbuf
Closes T4718
2016-10-18 00:15:06 +02: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 a925de13dc tyfuzz: read from stdin but write to /dev/null 2015-11-08 13:06:13 +01:00
Boris Faure 01421754ec make termpty_handle_buf() public to ease fuzzing 2015-11-08 13:05:43 +01:00
Boris Faure 9c4167f74f always support double-width 2015-09-19 16:23:41 +02:00
Boris Faure 2b3eda694f always support italic 2015-09-19 16:18:17 +02:00
Boris Faure 7af60a58c8 BACKLOG_ROW_GET() should not be called with a "screen" value
the backlog is independent of the screen size. Thus a single line in the
backlog can span many lines on the screen.
2015-08-09 14:10:12 +02:00
Boris Faure 8fbffdd869 renames to make the code more consistant 2015-08-03 20:44:55 +02:00
Boris Faure 35c8fd79c0 speed up browsing backlog
have a "beacon": single point where the link between an offset in the
backlog and one in screen coordinates
2015-08-03 20:44:55 +02:00
Boris Faure 34592ab5b3 new resize/backlog implementation. Closes T2461
idea: store full lines in the backlog. No need to change them on resize
2015-08-03 20:43:17 +02:00
Boris Faure 681bb029c2 ensure cursor coordinates are always valid, 2nd version 2015-06-03 23:02:31 +02:00
Carsten Haitzler 074eece5f7 Revert "ensure cursor coordinates are always valid"
This reverts commit 1f3f779258.

this breaks terminal scrolling entirely! can't scroll anymore at all
in standard shell. just try a simple: find / -print
2015-06-03 15:00:13 +09:00