Boris Faure
01421754ec
make termpty_handle_buf() public to ease fuzzing
2015-11-08 13:05:43 +01:00
Boris Faure
755a4c3f2f
enable fuzzing with --enable-fuzzing
...
Only enable it if you know what you're doing
2015-11-08 13:05:43 +01:00
Boris Faure
d11ebd1247
add code to fuzz terminology (wip)
2015-11-08 13:05:43 +01:00
Boris Faure
a334bf6554
termpty: fix resizing
...
do not add a useless newline
do not copy the same content few times
2015-09-13 23:17:17 +02:00
Boris Faure
386cf11b19
fix backlog locking
2015-09-13 23:17:03 +02:00
Boris Faure
78cb50c7a3
fix line length computation
2015-09-13 23:16:30 +02:00
Boris Faure
fe58cd058b
only use beacon when it seems efficient
2015-08-10 21:44:05 +02:00
Boris Faure
d0bedb9a8a
backlog: update beacon while browsing
2015-08-10 21:31:24 +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
b4c91eee47
fix scroll after resize
2015-08-08 16:40:05 +02:00
Boris Faure
5c37589e39
fix resize when cursor alone on last line
2015-08-05 22:57:01 +02:00
Boris Faure
21764bbf85
remove wrong assert when no backlog ever generated
2015-08-03 21:23:38 +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
Boris Faure
1f3f779258
ensure cursor coordinates are always valid
2015-06-02 22:48:50 +02:00
Boris Faure
c86b35309c
rename a bunch of _termpty_*() to termpty_*()
2015-06-02 21:47:06 +02:00
Boris Faure
be62d87f89
separate "termstate" from cursor state and screens. Closes T725
2015-04-23 20:02:53 +02:00
Boris Faure
4abdf4b327
code cleanup: s/if (X) free(X);/free(X);/
2015-03-18 15:23:39 +01:00
Boris Faure
ed178f5a13
typo
2015-03-17 18:47:26 +01:00
Boris Faure
7edeea3503
correctly swap term states. Ref T725
2015-03-17 17:15:50 +01:00
Boris Faure
b4ba773e17
fix CSI DECSET 1049. Should fix T725
2015-03-01 17:20:18 +01:00
Boris Faure
27304c456f
make terminology start on solaris
2015-02-23 23:33:06 +01:00
Boris Faure
cf1a9a3a01
verify that tcgetattr() does not fail
2015-02-23 23:33:01 +01:00
Boris Faure
e4d357ace2
make terminology work on solaris
...
tcsetattr() should only be called on the slave fd. On linux, both master
or slave are accepted, not on solaris.
2015-02-17 22:08:47 +01:00
Carsten Haitzler
6268dc32e4
terminology - fix double click selection and jed display
...
this fixes breaks introduced by
e94051dd86
(the previous commit).
latest commit: e94051dd86
breaks 2 things.
1. double-click to select a "word" is broken. the right end of the selection is
stuck at the point where the cursor is, not the right end of the word. try it.
at least that is what i see. either way double-click to select a word is now
broken. ;(
2. what used to be black whitespace bg is now "empty" chars (so i see
terminology bg). this breaks jed output pretty badly.
see...
working:
http://www.enlightenment.org/ss/e-54d05f357a3391.24747752.png
not working:
http://www.enlightenment.org/ss/e-54d05f672a4df7.83729511.png
2015-02-03 14:45:23 +09:00
Boris Faure
e94051dd86
make selection consistent when selecting space with no text. Closes T2013
2015-01-30 00:24:55 +01:00
Boris Faure
cd04b71611
check tcsetattr()
2015-01-10 21:02:05 +01:00
Boris Faure
7f98dba714
set a title to the term based on the shell started
2014-12-16 22:11:06 +01:00
Boris Faure
cbc92a55fc
Fix screen mangling from prompt redraws on resize. Closes T1193
...
There are still some oddities because the shell doesn't expect us to
reflow.
Let's say we have the following where X is the cursor.
+-------+
|foobar$|
|X |
+-------+
Here, the shell explicitly told us to go to a new line after '$'. We don't
consider '$' is on the same line as 'foobar'.
Decrease the width of that window.
+------+
|foobar|
|$ |
|X |
+------+
Let the shell know the new size. It decides to redraw the prompt. It
remembers it told us to go to a new line, so the first thing it tells us
is to go one line up: to '$' and not 'foobar'. Then it tells us to clear
the screen downward from there and to print "foobar$" (and go to new
line).
Thus we have the following:
+------+
|foobar|
|foobar|
|$ |
|X |
+------+
2014-12-07 23:51:23 +01:00
Boris Faure
978f83dc03
just sighup the shell, don't sigpipe it. Closes T1685
2014-09-28 13:46:04 +02:00
Boris Faure
b9a994c4bd
fix compilation. I'm tired…
2014-09-15 23:30:48 +02:00
Boris Faure
2eb2b9646f
fix segfault when OOM on the termpty_save module
2014-09-15 22:07:22 +02:00
Boris Faure
90c53f5974
fix CID 1238659: Dereference after null check (FORWARD_NULL)
2014-09-15 21:04:26 +02:00
Boris Faure
51555f9c35
fork can fail
2014-09-14 22:46:22 +02:00
Boris Faure
6d4219137f
try to handle OOM on "termpty_save"
2014-09-14 14:11:14 +02:00
Carsten Haitzler
15b55d5eb7
Revert "do not crash when the scrollback mempool is OOM"
...
This reverts commit 815a357ad9
.
this patch breaks paging and backscroll completely. just try less or
more - eg
man ls
then resize the window. :)
2014-09-10 16:57:32 +09:00
Boris Faure
815a357ad9
do not crash when the scrollback mempool is OOM
2014-09-08 21:28:26 +02:00
Boris Faure
601450db01
review translation strings. Closes T1433
2014-07-26 11:37:27 +02:00
Boris Faure
8a3c15e08e
gettextify termcmd.c,termio.c,termpty.c,termptyesc.c
2014-07-26 11:37:26 +02:00
Boris Faure
2b9c9a8351
add some padding fields to be sure holes are initialized (hi valgrind!)
2014-05-08 13:55:01 +02:00
Boris Faure
9346db3ba7
initialize some variables
2014-03-25 21:57:34 +01:00
Boris Faure
0313446e79
let's try to recover from malloc failure: ahah
2014-03-25 21:43:49 +01:00
Boris Faure
8f3258f1b3
use a bit more Eina_Unicode
2014-03-25 21:35:31 +01:00
Sebastian Dransfeld
2263fd872e
return after failed memory allocation
...
CID 1100649
2014-03-24 13:38:42 +01:00
Sebastian Dransfeld
1c53e10b42
don't write to NULL buffer
...
If we have checked for allocation failure, no need to write to buffer.
CID 1100648
2014-03-24 13:37:07 +01:00
Sebastian Dransfeld
fe45b5c73f
remove weird check
...
After allocation of new_screen, we should check the allocation of this
variable, and return if we cannot allocate.
CID 1100647
2014-03-24 13:35:08 +01:00
Aleksandar Popadić
ca143565a4
Fix disappearing prompt on resize
...
...and break reflow of multiline prompt lines.
2014-03-15 21:40:05 +01:00