Boris Faure
0f45747925
termpty: fix _termpty_cell_is_empty()
...
was not working on cell = {}
2019-03-01 13:23:02 +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
e024618dba
termpty: compute exact line length in termpty_cellrow_get()
2019-02-21 18:42:28 +01:00
Boris Faure
8841e5259a
Merge branch 'terminology-1.3'
2019-01-04 23:37:48 +01:00
Boris Faure
007dfb60e3
termpty: reset circular_offset2 (for the 2nd buffer) to 0 (as it's cleared)
...
Closes T7543
2019-01-04 23:35:48 +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
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
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
643e783558
termpty: rewrite conditions on size_t ty->backsize
2018-09-13 07:47:49 +02:00
Boris Faure
0bf5343c34
termpty: simplify code
2018-09-13 07:43:57 +02:00
Boris Faure
780e95a8fb
termpty: remove useless code
2018-08-12 19:22:39 +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
Carsten Haitzler
1a55a67654
termpty - set ty_hand to null if returning cancel which dels the fdhand
...
this avoids later accidentally accessing an invlid hd handler.
@fix
2018-03-26 23:18:31 +09:00
Boris Faure
dad9e0db58
remove compatibility #ifs to work with EFL < 1.16
2018-03-13 18:58:41 +01:00
Boris Faure
d7432a52d6
move input handling to win.c
2018-02-05 00:07:47 +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
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
b0226726f8
termpty: correctly handle DECFRA wrt SGR 0
2017-06-26 23:36:23 +02:00
Boris Faure
7ac685b68c
termpty: DECERA only changes codepoints
2017-06-26 21:58:59 +02:00
Boris Faure
387cafa463
tyfuzz needs termpty_resize_tabs()
2017-05-17 22:35:01 +02:00
Boris Faure
e188244c72
pty: fallback to ~ or / when creating new term if current dir is not available
...
Closes T5186
2017-02-17 21:57:57 +01:00
Carsten Haitzler
71f1fdc66c
terminology tabs resize - fix access of invalid memory beyond bounds
...
we memcpy'd the currenty size over, so if prev size was smaller - this
was wrong and valgrind threw a complaint. also the rounding seems
utterly bizarre. it looks like it was meant to round up to the nearest
"lot of 8 tabs" so actually do that... which makes is easy to pass in
old width nicely now to fix the problem.
@fix
2017-01-31 13:03:36 +09:00
Boris Faure
41c4479dc5
termpty: verify that $SHELL is valid before using it. CID1366816
2016-12-24 18:40:18 +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
fae0d7ccee
termptyesc: handle correctly Cursor Back Tab. Ref T4992
2016-12-15 23:11:22 +01:00
Carsten Haitzler
60d1c6d05c
term pty fd - properly shut down without a 100% cpu hang
...
i've noticed that the exe cb tries to drain the pty fd but reads
return -1 with EAGAIN so terminology just spins forever in cpu trying
to drain a buffer that does not drain, so make a special case on exe
exit - drain until there just is nothing else to read then give up.
@fix
2016-12-13 11:53:50 +09: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
Boris Faure
273a85af00
termpty: handle BSD special case when the other side of the tty pair has quit
2016-12-06 21:49:15 +01:00
Boris Faure
5770c51d86
termpty: handle read() from tty pair when the other end has died, on some BSD
...
In such a case, read() returns 0 and sets errno to ECHILD…
2016-12-05 23:39:29 +01:00
Boris Faure
7508c8658b
termpty: ensure we're not reading from invalid fd
2016-12-05 22:45:44 +01:00
Boris Faure
9b6bed8033
termpty: fix dead code and remove debugging code. CID1366815
2016-12-05 22:13:54 +01:00
Boris Faure
4b3225bfa9
termpty: make verify_beacon silent by default
2016-12-05 22:13:30 +01:00
Boris Faure
390e4193d0
termpty: fix possible issue when reading and the shell exited
2016-12-05 21:53:15 +01:00
Boris Faure
1f62588e97
termpty: avoid race between exit of the program and reading from it
...
Also ensure we read what was already in the pipe before we ever polled it.
Closes T4925
2016-12-04 23:24:28 +01:00
Boris Faure
32dbc65c6d
env: unset COLUMNS, LINES, TERMCAP
2016-12-04 23:21:58 +01:00
Boris Faure
86f27f0474
termpty: remove useless code
2016-12-04 23:17:56 +01:00
Boris Faure
d5f4811b2d
improve error message
2016-12-04 18:05:43 +01:00
Boris Faure
51fe6b3428
fix getting lines with the beacon
...
add quite some testing that is disabled by default, used to ensure that
the beacon is always valid
2016-11-30 23:25:33 +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