Commit Graph

259 Commits

Author SHA1 Message Date
Boris Faure 05d091483a fix changing state when swapping buffers. Closes T605
For some reason, this is not a real swap. Thanks to gregkh for the great
bug report.
2013-12-05 22:48:58 +01:00
Aleksandar Popadić b31638a630 Fix resize from width=1 to wider.
Test Plan:
Shrink terminal to width=1 and expand. Empty lines appear above
prompt line.

Reviewers: billiob

Differential Revision: https://phab.enlightenment.org/D361
2013-12-02 21:51:03 +01:00
Boris Faure fa0cdc0e1d remove unused parameter 2013-12-01 23:19:54 +01:00
Aleksandar Popadić d0c6c1d457 Rewrite reflow on resize
Summary:
simplify code (treat every resize as a single case) and fill the lines
from the bottom up

Reviewers: billiob

Differential Revision: https://phab.enlightenment.org/D355
2013-12-01 19:47:12 +01:00
Aleksandar Popadić 11db9a1117 Fix screen swap when using alternate buffer.
Summary:
The circular_offset should not be set to 0 because the first line from
screen2 is copied to the offset line in screen.

Test Plan:
Try "man echo", scroll down and exit. The screen is not restored
properly.

Reviewers: billiob

Reviewed By: billiob

Differential Revision: https://phab.enlightenment.org/D345
2013-11-22 22:17:02 +01:00
Boris Faure df2b87308b add termpty_screen_swap() to simplify code 2013-11-18 21:41:30 +01:00
Aleksandar Popadić 7447178071 Fix screen refresh with screen, ssh, vim, ...
Summary: This closes T143.

Reviewers: billiob

Reviewed By: billiob

Maniphest Tasks: T143

Differential Revision: https://phab.enlightenment.org/D340
2013-11-18 20:45:47 +01:00
Boris Faure 4d629c5575 do not try to reflow altbuf 2013-11-10 15:34:40 +01:00
Cedric Bail 433b18b211 terminology: let the compiler inline more agressively the common case for a 1% win. 2013-10-28 18:55:19 +09:00
Carsten Haitzler 8585c3e9c2 maybe speed up term scroll byt skipping compare work
since nothing useful is actually done unless either oldc or newc have
a media char - then try return/skip early. might speed up by 2-5%...
(i see 4.05 vs 4.15 or so cat times for a test case).
2013-10-25 23:37:10 +09:00
Boris Faure f539eba7ca screw terminfo: have a config to decide whether erase is del or backspace
One day I'll have to dig into the terminfo/termcap mess :(
Maybe get the O'Reilly book about it…
2013-09-26 21:19:18 +02:00
Boris Faure ed36063690 set correct mode with fcntl 2013-09-26 21:19:08 +02:00
Boris Faure ef543aa753 have a config to choose whether to set TERM to xterm-256color 2013-09-26 21:18:27 +02:00
Cedric Bail 40c3cedd6a terminology: let's help the compiler and tell him about this hot spot. 2013-08-30 16:06:49 +09:00
Carsten Haitzler e8addbac90 don t consider greantpt failure an error, but a warning. 2013-08-30 14:17:42 +09:00
Carsten Haitzler 6c2884bdcb oops.. , not m 2013-08-30 12:15:07 +09:00
Carsten Haitzler 3a2a58473b ad erro handling for pty alloc (never seen it fail!) 2013-08-30 12:14:18 +09:00
Boris Faure 30392f23a9 s/__UNUSED__/EINA_UNUSED/g 2013-08-27 15:36:50 +02:00
Boris Faure 9d000c7c1d fix word selection on multiple lines. Closes T305 2013-08-26 20:44:46 +02:00
Boris Faure 8e576f3978 reflow: do not add a newline when consolidation backscroll 2013-05-23 23:04:33 +02:00
Boris Faure e8499b46aa fix reflow on horizonal expansion 2013-05-23 22:34:14 +02:00
Carsten Haitzler 5549fc05a0 add compressed backscroll to terminology...
we get about 0.35-0.4 or so ratio of compression. it also now
defragments memory used for backscroll and holed it in mmaped blocks
so when the blocks go all memory goes used for backscroll.
2013-05-05 23:10:44 +09:00
Carsten Haitzler 3fc3ce4c79 add whitepsace debug mode and termsave abstraction infra. 2013-05-04 11:45:45 +09:00
Carsten Haitzler 854dd69c31 clean some formatting. 2013-05-03 19:53:41 +09:00
Boris Faure 7a92b145e5 fix issue when buffer cuts last unicode 2013-04-28 22:47:14 +02:00
Boris Faure 07f4b23b16 reflow: fix segv sometimes when vertically shrinking 2013-04-20 17:38:31 +02:00
Carsten Haitzler f5b84edbfd more work ok direct edje inline content. u can send messages toit now
on init... and get signals... and drag events... but cant get messages
yet.
2013-04-20 16:54:11 +09:00
Carsten Haitzler bbdf50fd62 protect against segv. see comments. 2013-04-20 12:50:31 +09:00
Carsten Haitzler ef00ad2010 1. make notes of crash in term resizing.
2. fix memset to use term cell filler that handles block refs.
2013-04-20 12:07:13 +09:00
Carsten Haitzler 3aa98cd6f6 allow for raw edje files to be inlined ANd to set tet, emit signals to
them etc.
2013-04-20 10:37:05 +09:00
Boris Faure 0c47c4ba4d reflow: fix horizontal shrinking 2013-04-12 22:13:17 +02:00
Boris Faure 274e2b13b2 reflow: fix vertical shrinking 2013-04-12 22:13:17 +02:00
Boris Faure ce65369d57 reflow: fix displaying history on vertical expansion 2013-04-12 22:13:17 +02:00
Boris Faure b749acfc3c reflow: use termpty_cell_copy() instead of memcpy()
Also get rid of _termpty_text_copy().
2013-04-12 22:13:17 +02:00
Boris Faure ea60fdf9a4 reflow: fix setting cursor position on vertical shrink 2013-04-12 22:13:17 +02:00
Boris Faure 66e8493154 reflow: skip last empty lines when vertically shrinking 2013-04-12 22:13:17 +02:00
Boris Faure a7858ecc2e reflow: display content from backlog when vertically expanding 2013-04-12 22:13:17 +02:00
Boris Faure fc7dcbdad6 reflow: don't let resize to 1x1
this occurs on terminolog start. dunno why ftm but it annoys me
2013-04-12 22:13:17 +02:00
Boris Faure 57032d607e reflow: do not shrink unused lines 2013-04-12 22:13:17 +02:00
Boris Faure 9c9a05e958 reflow: do not always reset circular_offset on resize 2013-04-12 22:13:16 +02:00
Boris Faure df08549f84 reflow: horizontally shrink the screen buffer 2013-04-12 22:13:16 +02:00
Boris Faure 74aa62f13c reflow: horizontally shrink backlog 2013-04-12 22:13:16 +02:00
Boris Faure d90396a803 reflow: define OLD_SCREEN() on a higher level 2013-04-12 22:13:16 +02:00
Boris Faure f810600875 reflow: move cursor line when horizontally expanding 2013-04-12 22:13:16 +02:00
Boris Faure 25928a31b4 reflow: shrink vertically in place if needed 2013-04-12 22:13:16 +02:00
Boris Faure 55d2d0e483 reflow: dummy vertical shrink 2013-04-12 22:13:16 +02:00
Boris Faure b605913b1d reflow: fix backscroll expansion when full 2013-04-12 22:13:16 +02:00
Boris Faure 18c8aff57c reflow: add vertically expansion support 2013-04-12 22:13:16 +02:00
Boris Faure 591529c05f reflow: WIP: vertical expansion 2013-04-12 22:13:16 +02:00
Boris Faure 852400f039 reflow: correctly set line length when pushing to backscroll 2013-04-12 22:13:16 +02:00
Boris Faure 050892a04c reflow: remove empty lines due to screen expansion 2013-04-12 22:13:16 +02:00
Boris Faure 04cfd43af4 reflow: rewrap correctly between backscroll and screen
Refs: #1184
2013-04-12 22:13:16 +02:00
Boris Faure ee9e6af8c0 reflow: add backscroll expanding
Refs: #1184
2013-04-12 22:13:16 +02:00
Boris Faure 8208428e89 reflow: expand screen
Refs: #1184
2013-04-12 22:13:16 +02:00
Carsten Haitzler 735d93fbc4 1. add the ability to have a link AND image path in inline images and
thumbs (allows for different thumbnail compared to what it links to).
2. fix if media obj is deleted on its own (stop button).
2013-03-11 16:56:07 +09:00
Carsten Haitzler f32952ce49 redundant set to 0.
SVN revision: 83568
2013-02-02 07:39:29 +00:00
Carsten Haitzler 0015767f4b tidy yp tycat - handle edj and mp3/audio files - ahare extensions
handling and filtering, actually free tup termblocks when no longer
referenced without needing a gc, etc. ...



SVN revision: 83441
2013-01-29 15:54:47 +00:00
Carsten Haitzler 95c757c449 allow terminology top build with 1.7?
SVN revision: 83400
2013-01-29 03:52:57 +00:00
Carsten Haitzler 3b9b38b86c make block insert allow the inserter to specify a character to replace
on insert. this allows multiple insertions to be "active
simultaneously". until all the inset chars are used up. need to wrap
these insert chars with begin/end escapes still for efficiency and so
you can use insert chars elsewhere in the same text output area.

also clean up warnings.



SVN revision: 83394
2013-01-29 00:43:13 +00:00
Carsten Haitzler 2781da8076 tcat... comes out to play fir the first time. not final... but a start.
SVN revision: 83385
2013-01-28 16:06:26 +00:00
Cedric BAIL 1b69c6c544 efl: deprecate eina_unicode_utf8_get_next, add eina_unicode_utf8_next_get.
SVN revision: 83048
2013-01-22 02:00:55 +00:00
Cedric BAIL e36295ce3e terminology: improve speed of text scrolling by using a circular buffer.
SVN revision: 83038
2013-01-21 14:02:32 +00:00
Cedric BAIL 548e12472e terminology: revert previous commit at it is not ready yet for primetime.
SVN revision: 83013
2013-01-20 10:48:17 +00:00
Cedric BAIL 61576f1496 terminology: use a circular buffer for the screen.
SVN revision: 83012
2013-01-20 10:15:47 +00:00
Cedric BAIL 37d7bdd9c2 terminology: small speedup by calling directly the underlying function.
SVN revision: 82934
2013-01-17 12:15:02 +00:00
Carsten Haitzler e401e87660 terminology can do multi instance now (in a single process). that
means 2 or 3 or more windows == same terminology process. there is a
checkbox to turn it on.

in theory it CAN do multipe terms within 1 windows, except there's
incomplete sizing logic code for hansling step sizing and min size
with multielp terms in the same window (imagine u laid them out in a
table grid... all we need is a table and pack n terms in and presto..
but the sizing will be "bizarre" at the moment)... if they are packed
on top of eachother like a notebook... sure - but no notebook widget
and no way to sensibly display and switch... but the code infra now
all supports it in theory. this is more about testing and making that
infra work. first will probably be a grid layout of some sort because
frankly... it's easier.

but for now... lets get this multi-instance fun on the table.



SVN revision: 81740
2012-12-27 11:20:32 +00:00
Gustavo Sverzut Barbieri 84d381344a big time improvement: relative paths: ~/file, ./file and ../file
The current working directory is assumed to be the cwd of our shell
pid, discovered from /proc/$PID/cwd link.



SVN revision: 77662
2012-10-09 17:09:26 +00:00
Sebastian Dransfeld c8e8753ed7 terminology: input data is unsigned
Code inside debug block

SVN revision: 77196
2012-09-28 11:10:58 +00:00
Carsten Haitzler 57ef054525 support a login shell option.
SVN revision: 77141
2012-09-27 09:33:33 +00:00
Carsten Haitzler 75696669c2 close tty fd before doing signal killing on shutdown.
SVN revision: 74894
2012-08-06 04:11:14 +00:00
Carsten Haitzler 2f851c1d0a be a bit more paranoid about killling off child process from
terminology.



SVN revision: 74892
2012-08-06 01:13:20 +00:00
Carsten Haitzler 00e10bda2a add bunch of option s to terminology suggested by Thanatermesis - not
in the exact way asked due to ecore-getopt, but they are there
functionally.



SVN revision: 74884
2012-08-05 09:38:58 +00:00
Carsten Haitzler 6f3f7c10f9 go back to xterm - 256 colors extn makes apps look like arse.
SVN revision: 74480
2012-07-27 09:41:58 +00:00
Carsten Haitzler a40115fb3b lets try pretend to be xterm-256color and see how this works?
SVN revision: 74333
2012-07-24 02:16:21 +00:00
Carsten Haitzler 197e0bbf46 splut up termpty a lot. still escape handling is the largest bit -
1200 lines or so, but not a lot that canbe done about that as its the
smallest really logical unit there.



SVN revision: 73798
2012-07-13 08:46:33 +00:00
Carsten Haitzler 92d58dc532 mouve doublewidth checking to its own file to not "pollute" termpty.c.
also make it more of a tree to minimize compares.



SVN revision: 73787
2012-07-13 06:22:46 +00:00
Boris Faure e48f693aea terminology: display ACS_*. should fix ncurses issues
SVN revision: 73369
2012-07-05 16:22:57 +00:00
Sebastian Dransfeld 5ecbbb7f23 terminology: Move mouse_rep out of state
Seems it shouldn't be swapped vim does:
mouse_rep = on
swap
mouse_rep = off
swap

which breaks mouse usage after using vim

SVN revision: 73137
2012-07-02 08:58:49 +00:00
Carsten Haitzler 689e2c2dd7 begin on custom command infra, fix home/end for emacs, and fix about
dialog to restart properly and dismiss layer to be above about.



SVN revision: 73085
2012-07-01 00:24:30 +00:00
Carsten Haitzler a7dce6cb45 actuallly syslexia - 7f not f7!!!!
SVN revision: 72936
2012-06-27 10:09:50 +00:00
Carsten Haitzler d393562526 fix handling - filtering out 0xf7 -> del. don't do it. it's a divide
sign in unicode.



SVN revision: 72935
2012-06-27 10:08:14 +00:00
Carsten Haitzler 553db8906e support double-wide asian chars with ugly tables and stuff!
SVN revision: 72836
2012-06-26 01:38:13 +00:00
Carsten Haitzler 2a2048d40f first cut visul bell and bewll handling with urgent enable while not
focued and bell goes off (optional). gfx can be much nicer - really
quick and dirty led img



SVN revision: 72718
2012-06-23 09:25:01 +00:00
Cedric BAIL e2c25bc45b terminology: apparently insert doesn't move the cursor.
NOTE: please test it and report issue, but apparently this
fix emacs and bash for me.


SVN revision: 72717
2012-06-23 08:32:48 +00:00
Carsten Haitzler 791a1630a6 printf--
SVN revision: 72713
2012-06-23 06:44:20 +00:00
Carsten Haitzler 099de44801 handle a lot more escape codes now and mouse tracking too.
SVN revision: 72712
2012-06-23 06:43:02 +00:00
Carsten Haitzler e672d4b895 remove artwiz fonts -> dont do terminal drawing chars. also map point
draw char to unicode one. evas maps back if needed.



SVN revision: 72711
2012-06-23 02:33:52 +00:00
Carsten Haitzler cba16ddb2e update mapping notes.
SVN revision: 72605
2012-06-21 13:50:10 +00:00
Carsten Haitzler 3de1d85a71 finally i knwo whjat the unicode gfx char table has in it!
SVN revision: 72596
2012-06-21 11:55:55 +00:00
Carsten Haitzler 26a88cd2dd fix exit code handling and propagate exit from pty->io->main
SVN revision: 72545
2012-06-20 14:12:26 +00:00
Carsten Haitzler aed804227b comment table for draw chrs - need to actuallly specfy them in
comments tyho - next.



SVN revision: 72512
2012-06-20 04:50:33 +00:00
Gustavo Sverzut Barbieri e0e7fbfd94 log: separate termpty logging from the rest.
Make raster the-crying-baby stop complain about log. Now we can have
only termpty logging, with a short format, by using:

{{{
    export EINA_LOG_FILE_DISABLE=1
    export EINA_LOG_LEVELS=termpty:4
    terminology
}}}



SVN revision: 72503
2012-06-19 19:53:02 +00:00
Gustavo Sverzut Barbieri b99a543304 improve logging.
SVN revision: 72502
2012-06-19 19:40:40 +00:00
Gustavo Sverzut Barbieri ba1b55fc85 ignore libreadline6's \033[?1034s
seems libreadline6 will issue such escape to toggle 8-bit input, but
it shouldnt:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=577012

Thanks to KainX for helping.



SVN revision: 72500
2012-06-19 18:57:56 +00:00
Carsten Haitzler 5556daa373 warn--
SVN revision: 72466
2012-06-19 09:59:30 +00:00
Gustavo Sverzut Barbieri 40a519c8d9 support box drawing codes.
Many thanks to KainX for his help to understand the code and
rxvt-unicode for his table to convert the code to unicode codepoints.



SVN revision: 72419
2012-06-18 21:24:33 +00:00
Carsten Haitzler a36cce4ef6 support intense colors.
SVN revision: 72406
2012-06-18 13:59:09 +00:00
Carsten Haitzler bb5a03f0af limit updates to fps.
SVN revision: 72388
2012-06-18 12:14:36 +00:00
Carsten Haitzler 4a071403a0 fix backscroll reconfig segv
SVN revision: 72384
2012-06-18 11:18:46 +00:00
Gustavo Sverzut Barbieri 35e7dbbf4e better handle -e 'command' if there is a shell expression.
If command contains spaces, $ or other known shell commands, it's
spawned with a "sh -c $COMMAND" instead.

this allows us to start terminology to "watch ps" or things like that.

Also changed the return code on failure to 127, similar to system(3).

NOTE: should we reset some signals? Remember that ecore traps most of them.



SVN revision: 72313
2012-06-17 19:13:03 +00:00
Gustavo Sverzut Barbieri 1a15b87491 use $SHELL and simplify logic a bit.
SVN revision: 72310
2012-06-17 18:28:19 +00:00
Gustavo Sverzut Barbieri 7f0c9cdc47 remove shadow warning.
"i" is already defined at the beginning of the function and is
(ab)used everywhere.

I'd rather narrow the variable scope to where it's used, but would
require a major refactor of the code.



SVN revision: 72307
2012-06-17 17:38:03 +00:00
Gustavo Sverzut Barbieri 4a31ed1658 remove shadow warnings of math.h y1 constant.
to make it readable I've used 'start_y = y1'

to make it sane, I've replaced 'end_y = y2', then x1, x2 as well.



SVN revision: 72303
2012-06-17 17:13:50 +00:00
Gustavo Sverzut Barbieri 3fe325aad5 reduce number of warnings with -Wall -Wextra.
there are still some shadow cases to be fixed and some parameters I've
left unused since it seems like a bug in the API or code.



SVN revision: 72302
2012-06-17 17:04:17 +00:00
Gustavo Sverzut Barbieri fec0f1e071 add logging for our sanity
SVN revision: 72300
2012-06-17 16:32:23 +00:00
Gustavo Sverzut Barbieri 98a197c4b2 use autoconf to define system extensions for us.
SVN revision: 72299
2012-06-17 16:28:02 +00:00
Carsten Haitzler 4aed1d8a50 behavior entries now should all work and save.
SVN revision: 72242
2012-06-16 17:31:54 +00:00
Jihoon Kim d27a42884b terminology: remove trailing whitespace
SVN revision: 72053
2012-06-13 00:26:00 +00:00
Carsten Haitzler 8b822a61d7 finally a terminal emulator for efl! sure - uses a lot of text
objects. need evas textgrid obj and more, but this marks a first
"usable" state for terminology. more needs doing like underline and
strikethrough support, blink support, visual bell, config panel etc.



SVN revision: 72007
2012-06-12 10:10:01 +00:00