Commit Graph

1549 Commits

Author SHA1 Message Date
Boris Faure 669533fef5 do not add spurious whitespace when running a command (-e option) 2017-08-26 19:26:29 +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 9abf652003 Merge branch 'terminology-1.1' 2017-08-22 22:11:09 +02:00
Boris Faure 0478a36799 termptyops.c: fix scrolling wrt bottom margin
Thanks to @ncim for the report
2017-08-22 22:08:11 +02:00
Boris Faure 7c358c3592 termptyesc: correctly handle going to start of line when there is a left margin 2017-08-22 20:51:20 +02:00
Boris Faure 6315ed2949 termpty: remove termstate.had_cr since it's unused 2017-08-21 23:46:28 +02:00
Boris Faure 461848813b Merge branch 'terminology-1.1' 2017-08-21 23:33:40 +02:00
Boris Faure 2343efd6a1 termptyesc: clearing the screen (from ED2) should not reset bottom margin
Thanks to @ncim for the report.
2017-08-21 23:19:41 +02:00
Boris Faure 50c14419e0 we're in 2017! 2017-08-20 19:45:21 +02:00
Boris Faure 69fc67aa8b fix compilation on old efl 2017-08-16 21:42:23 +02:00
Carsten Haitzler 18c870d130 add fallthrough tags to have fewer warnings 2017-08-04 10:27:24 +09:00
Carsten Haitzler d80e60f25c fix buffer size - was 1 byte too short on stack
7 not 6 bytes. include nul byte.
2017-08-02 18:21:08 +09:00
Boris Faure 3a28d99649 termpty: fix inserting blank chars. Closes T5802 2017-07-27 23:27:23 +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 0844d86892 sizing: use 1px step when having visible tabs.
Closes T5421
2017-07-23 17:33:24 +02:00
Guilherme Iscaro 1b4ab6036c Add support for the Meson build system. 2017-07-20 14:17:33 -03: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 70c4ba6fdb tycommon: add "directly" to "not running in terminology" 2017-07-14 11:53:33 +02:00
Boris Faure b35c7cd539 termptyesc: add missing break. CID1377552 2017-07-11 22:01:31 +02:00
Boris Faure fd4ef6ec1f win: add binding (Alt+Up/Down/Left/Right) to move around panes 2017-07-11 00:04:31 +02:00
Boris Faure 6f1a2dd452 constify 2017-07-06 21:37:56 +02:00
Boris Faure 3cafc4272d feature: click-alt tries to handle wrapped CLI. Closes T5537 2017-07-06 20:17:47 +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 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 956f1eaa13 termptyesc: restrict right/bottom rectangle coordinates 2017-06-07 20:40:17 +02:00
Boris Faure e314dd2f29 termptyops: fix clearing cells on scroll
cells has already the offset taken into account
2017-06-06 23:49:24 +02:00
Boris Faure 400b675fc9 termptyesc: restrict CUP/HVP to right/bottom margins 2017-06-06 23:00:22 +02:00
Boris Faure 64d7150252 fix stupid segfault 2017-06-06 00:19:48 +02:00
Boris Faure cc5fcac03d termptyesc: fix handling of DECSLRM. Ref T5533 2017-06-05 23:53:07 +02:00
Boris Faure bbfa60120e termpty: handle DECERA 2017-06-05 21:04:29 +02:00
Boris Faure 9f72ea3a9d termptyesc: handle DECFRA 2017-06-05 20:47:41 +02:00
Boris Faure 7ea4b65c8d termptyops: handle right/left margins. Ref T5533 2017-06-05 17:43:23 +02:00
Boris Faure e117ff9153 termptyesc: correctly handle cursor wrt right/left margins 2017-06-05 16:49:36 +02:00
Boris Faure 7d497c08c6 termptyesc: extract handling CUP/HVP to one function 2017-06-05 01:04:24 +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
Jean Guyomarc'h ede4196eae termptyesc: fix invalid clamping on CSI X
Fixes a regression introduced by commit bd6c81e, which broke the ncurses
rendering of the Kernel menuconfig, making it impossible to be used.
2017-06-04 18:35:46 +02:00
Jean Guyomarc'h 20cbab21fc termptyesc: improve const-correctness of data 2017-06-04 18:35:22 +02:00
Boris Faure 10cdcdb41c private.h: include libintl.h to have gettext defined
Patch by Vincent Torri
2017-06-04 11:29:59 +02:00
Boris Faure c2d731aced termptyesc: cleanup handling of DECSTBM 2017-06-04 00:33:32 +02:00
Boris Faure 7ab925dc76 termpty: very early support of Right/Left margins 2017-06-03 23:17:33 +02:00
Boris Faure 91ce6e8960 termptyesc: correctly handle missing arguments in CUP/HVP 2017-06-01 23:33:58 +02:00
Boris Faure e0f6867a88 termptyesc: _csi_arg_get() now correctly handles missing arguments
Only affects when multiple ones were expected
2017-06-01 23:29:55 +02:00
Boris Faure dbc75a0cc0 termptyesc: only do IL/DL when inside margins 2017-06-01 22:52:16 +02:00
Boris Faure 339b72174c termptyesc: CUP/HVP are impacted by DECOM 2017-06-01 22:51:34 +02:00
Boris Faure 6c750c660c termpty: on reset, no longer restrict cursor 2017-06-01 21:34:01 +02:00
Boris Faure 8168b019c9 termptyesc: improve debug 2017-06-01 21:29:07 +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 fd05f3cab5 tyfuzz: read escape sequence from file given as argument in available 2017-05-29 23:12:19 +02:00
Boris Faure a4a26de7c3 termptyesc: fix parsing size on xterm 50 command 2017-05-28 23:32:37 +02:00
Boris Faure 72eaf53e26 options: use ecore_exe_pipe_run() instead of fork+exec
Patch provided by Vincent Torri
2017-05-28 23:30:05 +02:00
Boris Faure 7b5a9b74bc termptyesc: use macro to restrict field value 2017-05-17 23:40:19 +02:00
Boris Faure 490a065fb1 termptyesc: _csi_arg_get() could be called with nothing to read
Could be the case when an error was already found while decoding the
stream
2017-05-17 23:38:28 +02:00
Boris Faure 0517be32f4 termptyesc: no logging when fuzzing 2017-05-17 23:33:06 +02:00
Boris Faure 387cafa463 tyfuzz needs termpty_resize_tabs() 2017-05-17 22:35:01 +02:00
Boris Faure 6821c94a1c fuzz: disable logs when fuzzing 2017-05-17 22:34:51 +02:00
Boris Faure ce490ededc termptyesc: fix issue with tmux introduced by previous commit 2017-05-17 21:49:52 +02:00
Boris Faure 63d65ed4bb termptyesc: restrict values on scrolling regions 2017-05-16 22:48:18 +02:00
Boris Faure 17e5e1be55 termpyesc: only compute logging content if it's going to be printed 2017-05-15 23:54:25 +02:00
Boris Faure bd6c81ed39 termptyesc: restrict CSI values to avoid denial of service 2017-05-15 22:34:01 +02:00
Boris Faure 2b47545fac termptyesc: ensure colors are valid 2017-05-15 21:56:54 +02:00
Boris Faure c3767594d1 fix compilation with fuzzing enabled 2017-05-11 23:46:01 +02:00
Sanjeev BA 8f9b49a110 Add option to set current window size as default.
Summary: Without this the user needs to "find out" the current width and height by pointing and clicking at the edge of the window and then manually set the spinner values.

Test Plan:
Run terminology.
Get to options->behaviour menu. Resize the window.

Reviewers: jpeg, cedric, raster

Differential Revision: https://phab.enlightenment.org/D4823
2017-04-26 16:15:33 +09:00
Boris Faure 1fa0fd7148 config: change Disable focus-out visuals to be more positive :) 2017-03-13 20:44:53 +01: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 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
Boris Faure 74c1ceffd8 win: double click on tab title to change it. Closes T3143 2017-02-17 21:47:57 +01:00
Boris Faure 6c5c7d486c controls: clean up code 2017-02-08 21:34:46 +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 afe4b928bc improve link detection when stored in xml
example:
<url>https://terminolo.gy/</url>
2016-12-25 18:18:16 +01:00
Boris Faure 41c4479dc5 termpty: verify that $SHELL is valid before using it. CID1366816 2016-12-24 18:40:18 +01:00
Boris Faure 99f55b7bbc termptyesc: support DECSED3 to erase the backlog. Closes T3713 2016-12-20 22:43:37 +01:00
Boris Faure e5f3676e32 termio: fix getting selection of known link. CID1367486 2016-12-20 20:20:34 +01:00
Boris Faure 240a4a02d3 termpty: fix potential NULL dereference. CID1367485 2016-12-19 23:38:32 +01:00
Boris Faure b9d5a55aa4 termptyesc: correctly handle tab forward. Closes T4992 2016-12-18 19:17:42 +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 836baf5d63 private: add macros ROUND_UP and DIV_ROUND_UP 2016-12-18 18:46:41 +01:00
Boris Faure 82d9ead6f2 termptyesc: handle correctly Character Tabulation Set (HTS). Ref T4992 2016-12-15 23:11:22 +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 7c720058a1 termptyesc: add some debug 2016-12-15 23:11:22 +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
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
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