Commit Graph

2235 Commits

Author SHA1 Message Date
Boris Faure 6b9a9d680f
win: ensure clear state when recreating tabs 2020-03-28 22:08:19 +01:00
Boris Faure 7eba4c97e0
drag: add animation when dragging tab over other tabs 2020-03-26 22:00:31 +01:00
Boris Faure 7c857b211e
win: show hand cursor when dragging tab 2020-03-26 22:00:31 +01:00
Boris Faure 5a2e394c36
tab drag: have a thumbnail of the tab 2020-03-26 22:00:30 +01:00
Boris Faure 1ca9c13ace
win: add _focus_validator() to help debug focus issues 2020-03-26 22:00:30 +01:00
Boris Faure 81d9063d65
win: handle case where tab dragged is the last term 2020-03-26 22:00:30 +01:00
Boris Faure 0edb5f7913
win: rollback tabs when dragging tabs made last tab lonely 2020-03-26 22:00:30 +01:00
Boris Faure 413e6eb2a2
win: move saved position of tab when other tab is closed 2020-03-26 22:00:30 +01:00
Boris Faure 0fc86663a4
win: rollback tab drag from tabs 2020-03-26 22:00:30 +01:00
Boris Faure 9a6ff3c16c
win: rollback splitted term on tab drag cancellation 2020-03-26 22:00:30 +01:00
Boris Faure 496a307f67
win: drag a tab to split 2020-03-26 22:00:29 +01:00
Boris Faure 7b97a64644
tab dnd: add anim on where to drag the tab to split 2020-03-26 22:00:29 +01:00
Boris Faure d4d7de118d
split icons: use them on controls
+ swap them since they look more natural to me like that
2020-03-26 21:54:51 +01:00
Boris Faure 2dc65380f7
controls: hide them when creating new tab or split 2020-03-25 23:27:18 +01:00
Boris Faure 00f08812be
win: avoid div by 0. CID1421876 2020-03-19 09:27:57 +01:00
Boris Faure 901e9692c1
win: simplify horizontal drag code 2020-03-18 23:31:06 +01:00
Boris Faure c338286195
win: ensure the term has a container when dragging it 2020-02-25 21:01:33 +01:00
Boris Faure 6f48f706f5
win: have only one tab drag at a time 2020-02-23 21:52:24 +01:00
Boris Faure 3d6a9e1bf5
Merge branch 'terminology-1.6' 2020-02-16 18:53:50 +01:00
Boris Faure 2a3a34f503
termptyesc: handle zero-width spaces, with test 2020-02-16 18:51:36 +01:00
Carsten Haitzler da88dd1128 scale - dont use nan as unsed but < 0.0 because this messes up
i found that the isnan messes up... and even tho it's nan it says its
not thus forcing tmp to be on all the time. using < 0 will be more
reliable for sure as scaling valuses <= 0 are just "invalid" anyway.
2020-02-16 13:11:46 +00:00
Boris Faure 1a7df68b84
win: test calloc()
Closes CID1419432
2020-02-15 23:09:32 +01:00
Boris Faure 2316b92d67
win: reinsert the tab when the mouse is 2020-02-15 22:33:51 +01:00
Boris Faure 82aa688f97
win: attach/detach term from structure to be able to move them 2020-02-15 21:28:15 +01:00
Boris Faure 033840c4c4
main: add --scale option to set scale factor
Useful for my tests :)
2020-02-15 21:27:57 +01:00
Boris Faure daf5e03406
win: no need to set "tabs" in object data 2020-02-13 19:24:32 +01:00
Boris Faure 9dc5249224
win: handle drag on tab shown in splits 2020-02-13 19:24:32 +01:00
Boris Faure 300ddee81a
win: remove animation on long press on tab 2020-02-13 19:24:32 +01:00
Boris Faure ee2c3e5ae9
theme: add active style to tabbar_back when tab is being dragged 2020-02-13 19:24:31 +01:00
Boris Faure ef29315736
drag tabs to reinsert them 2020-02-13 19:24:31 +01:00
Boris Faure 756e5d63a1
Merge branch 'terminology-1.6' 2020-02-09 23:12:25 +01:00
Boris Faure 91e6ae31fc
ipc/main: restore ability to set multiple commands at startup.
Closes T8563
2020-02-09 23:10:39 +01:00
Boris Faure 941328d3f2
win: remove useless elm_layout_content_unset() 2020-02-03 21:56:53 +01:00
Boris Faure 2051978591
win: fix sizing 2020-02-03 21:00:09 +01:00
Boris Faure d3147b1880
win: current tab shouldn't count for missed bell 2020-01-29 00:09:24 +01:00
Boris Faure bee2482fe7
win: add _tabcount_refresh() to simplify tabcount handling 2020-01-29 00:06:12 +01:00
Boris Faure dc2bcc94a1
win: remove unused variable 2020-01-27 23:53:59 +01:00
Boris Faure 5b8d6bd30d
win: add assert to close CID1412739 2020-01-19 18:51:27 +01:00
Boris Faure a90cb8e84e
win: be able to drag'n'drop tabs over the tabbar 2020-01-19 18:17:53 +01:00
Boris Faure 15e2921b14
win: rework tab management to ease tab drag'n'drop 2020-01-19 18:16:48 +01:00
Boris Faure 4e651fc647
win: add vim markers 2020-01-19 18:16:48 +01:00
Boris Faure da372bd1c8
win: use elm_layout for term->bg 2020-01-19 18:16:47 +01:00
Boris Faure 2526fc1cab
win: use term->core to manage edj group "terminology/core" 2020-01-19 18:16:47 +01:00
Carsten Haitzler 0420b20ef6 exe fd handling - make bsd handling same on linux ... as it must
now i've seen this on linux... so no more ifdef

@fix
2020-01-19 12:27:53 +00:00
Carsten Haitzler 53a484bc48 tytools - fix ty_write to return lenght written and not 0 on success
the change to ty_write from write broke a bunch of tytools... this
fixes that. fix change broke it:

0eb8948d67
2020-01-07 10:48:08 +00:00
Alastair Poole bbf556f9b0 termptyesc: Add missing header.
We need to include utils.h for strchrnul if it doesn't exist on
the build system.
2020-01-03 12:56:28 +00:00
Alastair Poole bae700587e
settings: Improve UI 2020-01-01 19:05:26 +01:00
Boris Faure 43dc54e1f1
tyls: add audio icon for flac files 2019-12-09 20:30:52 +01:00
Boris Faure dbc618ed0b
options_elm: launch elementary_config or terminology.elementaryConfig
Lookup into $PATH to know which one is available.

Also use ecore_exe_run() instead of ecore_exe_pipe_run()
2019-12-08 23:10:02 +01:00
Boris Faure e6d3a848ef
utils: mv strchrnul() to utils.h from termptyesc.c 2019-12-08 20:51:23 +01:00
Boris Faure 2bffe3c078
main: add option --no-wizard 2019-12-08 17:02:02 +01:00
Boris Faure 7e3de5fad9
main: figure early whether the scale wizard needs to be shown 2019-12-08 16:46:49 +01:00
Boris Faure 37d622752a
utils: ensure an elementary config exists 2019-12-08 16:46:29 +01:00
Carsten Haitzler 4f75b58d6a cmdbox - allow multiple + or -'s for font command to go up or down more
so f+++ will increase font size 3 times in a row within a single
command, as will f--- do the reverse etc. ... use as many +'s and -'s
and needed.
2019-12-06 09:55:50 +00:00
Carsten Haitzler 557ad82e8d cmdbox - make font size up/down jump by larger steps 2019-12-06 09:46:24 +00:00
Carsten Haitzler 908fa7ee61 term cmd - font big - multiple size by 2 not set to fixed 20 size
this is a more sensible way to size up a scaleable font...
2019-12-06 09:32:53 +00:00
Carsten Haitzler 374d1b3e29 cmbox - fix focus handling to work again
alt+home opens the "command box" for terminology. this is an extended
control system where we can add lots of commands. it's been there for
a while. look at termcmd.c and termcmd_do() for current commands like:

f <- set font to normal size
fb <- set font to big size
f+ <- increase font size
f- <- decrease font size
/string <- search for "string" (not implemented yet but recognized)
g0 <- set geometry to 80x24
g1 <- set geometry to 80x40
g2 <- set geometry to 80x60
g3 <- set geometry to 80x80
g4 <- set geometry to 120x24
g5 <- set geometry to 120x40
g6 <- set geometry to 120x60
g7 <- set geometry to 120x80
g8 <- set geometry to 120x120
b <- clear backgorund
b/file/path.jpg <- set background to /file/path.jpg

you get the idea ... it's a command character (or set of chars)
followed by paramters, then hit enter to finish.
2019-12-06 09:14:40 +00:00
Carsten Haitzler bcb4e27bed close fd's from the host terminal so shell doesnt inherit them all
only inherit the fd's we need/want. use eina_file_close_from()
2019-12-06 08:49:40 +00:00
Boris Faure cfbbe60164
Merge branch 'terminology-1.6' 2019-12-05 19:59:44 +01:00
Boris Faure 0eb8948d67
tycommon: add ty_write() to handle EINTR/EAGAIN on write() 2019-12-05 19:58:25 +01:00
Boris Faure a782ce61e2
test return of ty_sb_add(). Closes CID1408482 2019-12-05 19:08:05 +01:00
Boris Faure 20b656d1f4
Merge branch 'terminology-1.6' 2019-12-04 23:16:30 +01:00
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 e1f3a4d486
sb: when skipping buffer on the left and the buffer is empty, remove gap 2019-12-04 23:10:39 +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 1eb9b4cb80
Merge branch 'terminology-1.6' 2019-12-02 23:45:49 +01:00
Boris Faure 99d8436f5a
termpty: retry read() on EINTR 2019-12-02 23:42:38 +01:00
Boris Faure 992936d156
termptyesc: add title/icon stack + tests 2019-11-29 23:31:18 +01:00
Boris Faure a5aaeefc18
remove condition on if (X) eina_stringshare_del(X) 2019-11-29 23:31:14 +01:00
Boris Faure 2e75539fb9
termptyesc: handle invalid values for OSC + test
- missing value is as if 0
- overflow
- hex
- negative value
2019-11-25 20:07:00 +01:00
Boris Faure bde94adf21
termptyesc: rename csi_arg_error to esc_arg_error 2019-11-25 19:44:30 +01:00
Boris Faure 1488b41342
backlog: cleanup 2019-11-24 19:57:48 +01:00
Boris Faure 787e16f215
backlog: simplify code. Closes CID1407754 2019-11-24 19:50:08 +01:00
Boris Faure e16505f5f7
backlog: take alignement into account for memory accounting 2019-11-24 19:00:31 +01:00
Boris Faure 9f58d68371
options_behavior: display current memory usage of the backlog 2019-11-24 18:06:21 +01:00
Boris Faure 77ab1efb9d
backlog: be smarter when changing backlog's size 2019-11-24 16:14:00 +01:00
Boris Faure e6b78bd406
backlog: take the size of backlog into account 2019-11-24 16:13:43 +01:00
Boris Faure cf80e70faf
backlog: move related functions to that file 2019-11-24 16:12:26 +01:00
Boris Faure 0c87de9f5e
backlog: early work to have memory accounting of the backlogs 2019-11-23 23:06:34 +01:00
Boris Faure 62302496dc
git mv src/bin/termptysave.{c,h} src/bin/backlog.{c,h} 2019-11-23 18:31:23 +01:00
Boris Faure dcf31cf140 main: do not set config as temporary by default 2019-11-14 12:57:59 +01:00
Boris Faure 2a02a03625 config: add error message if config is from a new Terminology
Also mark it as temporary
2019-11-12 10:57:01 +01:00
Boris Faure b327ff2f19 config: add error messages when saving config 2019-11-12 10:56:41 +01:00
Boris Faure 02f4173387 build: detect whether there is strchrnul
This should help compiling on macosx
2019-11-07 20:43:47 +01:00
Boris Faure 998f25ba77 termio: only the TEXT case shouldn't happen in that switch-case 2019-10-28 09:56:03 +01:00
Boris Faure e197c04f65 termiointernals: be able to select tabs + test 2019-10-27 16:14:28 +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 7dcb9e4e43 termio_selection_get(): simplify by using macros 2019-10-27 12:06:18 +01:00
Boris Faure 7634b61283 termio: allow \t to be pasted 2019-10-27 11:32:51 +01:00
Boris Faure 1195c022f3 default.edc: move tab selector on the tab line 2019-10-26 18:18:03 +02:00
Boris Faure c130c6f683 main: change prototype for main_new() 2019-10-26 18:13:25 +02:00
Boris Faure 0f5e928e37 Revert "wip"
This reverts commit fc865e97b0.
2019-10-21 23:28:42 +02:00
Boris Faure fc865e97b0 wip 2019-10-20 23:01:10 +02:00
Boris Faure 9b23e02b4e win: clean up tabs list asap 2019-10-20 20:05:02 +02:00
Boris Faure 9ce403d29b media: remove useless condition 2019-10-20 18:32:35 +02:00
Boris Faure 71ee21af32 main: only one place to configure a running instance 2019-10-20 18:16:10 +02:00
Boris Faure 984d7e07c6 ipc: set theme on new instance 2019-10-19 10:57:57 +02:00
Boris Faure 98787cfc2d main: unsetenv("DESKTOP_STARTUP_ID") when it won't ever be used again
Also remove one as it might be used by apps
2019-10-17 09:58:40 +02:00
Boris Faure e9b2d22ff7 main: putenv() can't use stack mem as it might become part of env
and use later.

Avoid stack-use-after-scope.
2019-10-17 09:58:40 +02:00
Boris Faure 5e5ac579b5 win: cleanup windows_free() 2019-10-17 09:58:40 +02:00
Boris Faure cd84ce0a34 main: fix execv() usage 2019-10-17 09:58:40 +02:00
Boris Faure 3e40f46f9b Revert "Revert "main: better handle stalled unix socket used to spawn multiple instances""
This reverts commit e716ad5812.
2019-10-17 09:58:40 +02:00
Boris Faure 688a45dc15 Merge branch 'terminology-1.5'
Conflicts:
	src/bin/options_font.c
2019-10-17 00:11:13 +02:00
Boris Faure fd2212afd8 options_font: fix use after free 2019-10-17 00:05:57 +02:00
Boris Faure bb6d540145 Merge branch 'terminology-1.5' 2019-10-14 21:55:53 +02:00
Boris Faure 96095b5b9d win: remove hide_cursor_timer when closing a window
@fix
2019-10-14 21:54:47 +02:00
Boris Faure e716ad5812 Revert "main: better handle stalled unix socket used to spawn multiple instances"
This is not stable enough.

This reverts commit fb2c8deb74.
2019-10-13 18:39:58 +02:00
Boris Faure fb2c8deb74 main: better handle stalled unix socket used to spawn multiple instances
Have a 2-seconds waiter and if we couldn't create a new instance, unlink
the unix socket and restart Terminology.
2019-10-13 17:58:25 +02:00
Boris Faure a9ec48191d win: clean up popmedia code. Closes T8330
Mainly add _popmedia_now() that flushes down the queue then add an
element.  This is no longer the job of _popmedia_show().
Also add _popmedia_queue_free().
2019-10-10 23:40:32 +02:00
Boris Faure 4b24157e2b typop: with many args, pop first then queue the others 2019-10-10 23:37:51 +02:00
Boris Faure 80124a72ca win: no longer segfaults from typop with multiple files 2019-10-10 22:55:21 +02:00
Boris Faure 6b8e6f0516 win: reorganize code to have popup media fold 2019-10-10 22:29:30 +02:00
Boris Faure 424ddba2c8 splits: show missed bells when a title tab is shown 2019-10-06 23:36:28 +02:00
Boris Faure a32b9cee88 tabs: show tabs that have a bell 2019-10-05 15:31:12 +02:00
Boris Faure 109e804eae Merge branch 'terminology-1.5' 2019-10-01 22:44:24 +02:00
Boris Faure fe63070139 options_behavior: disable "hide cursor"'s slider when needed 2019-10-01 22:43:05 +02:00
Boris Faure 9a2ddd8468 win: update terms on change of config about show_tabs 2019-09-30 21:55:47 +02:00
Boris Faure dc1ddf7e40 config: turn "notabs" into "show_tabs" 2019-09-30 21:55:47 +02:00
Boris Faure 5996e5eb2c win: show title tab on splits when config is set accordingly 2019-09-30 21:55:42 +02:00
Boris Faure 9f156eb948 Merge branch 'terminology-1.5' 2019-09-29 13:56:16 +02:00
Boris Faure 61bb7955da sel: selector was not taking into account the new destination 2019-09-29 13:53:35 +02:00
Boris Faure c11f7e4c19 termptyesc: restrict DSR-DECCKSR argument to 16bit (unsigned) 2019-09-15 23:05:38 +02:00
Boris Faure dbf92b1346 termptyesc: use correct format specifier for int 2019-09-15 22:43:29 +02:00
Boris Faure e235cb00a3 termiolink: fix link detection over spaces 2019-09-15 20:58:52 +02:00
Boris Faure 02a418b290 termptyext: add tests on link detection 2019-09-15 20:39:41 +02:00
Boris Faure 2c5bab7b8d termptyext: get rid of "unused" warnings
+ abort on unknown test escape code
2019-09-15 17:47:42 +02:00
Boris Faure 259722a3f3 move link_is_* to termiolink.c 2019-09-15 17:47:07 +02:00
Boris Faure 7bfef215b0 termptyext: remove 'a' example
Because we have plenty of other examples in the file
2019-09-14 14:34:07 +02:00
Boris Faure 77ed56bf00 termpty: reduce log severity 2019-09-08 21:25:52 +02:00
Boris Faure 822bd70afd utils: avoid using functions too new (only in EFL >=1.21) 2019-09-08 21:18:53 +02:00
Boris Faure 2b43b9bab2 options_elm: add scale slider 2019-09-08 20:19:25 +02:00
Boris Faure b8af21128e config: simplify API 2019-09-08 19:41:16 +02:00
Boris Faure 67805411a4 add wizard to set scaling when config does not exist 2019-09-08 19:28:52 +02:00
Boris Faure f01c312f01 fix leaks when looking for links 2019-09-04 00:28:21 +02:00
Boris Faure 421e40dbfc termio: evas_object_focus_get() agains obj is not valid
Focus is not handled at that layer.
Closes T8176
2019-09-02 23:45:46 +02:00
Boris Faure 98017f1647 hide cursor: fix unchecking "auto hide cursor". Closes T8148 2019-09-02 23:27:42 +02:00
Carsten Haitzler e33d07f492 selection in backbuffer fix try #2
get rid of segv's by trying this again in a different way

@fix
2019-09-02 21:47:50 +02:00
Boris Faure fcfd797a38 options_keys: force delete of genlist to avoid races 2019-08-06 22:56:48 +02:00
Boris Faure 9299566707 options_behavior: avoid eo message
I have no idea why this fixes anything
2019-08-06 22:42:44 +02:00
Boris Faure 241c5b5944 termptyesc: use "ESC\", the 7-bit version of ST.
Ref T8054
2019-07-18 00:09:06 +02:00
Boris Faure 6a8a515c01 termptyesc: xterm is actually emitting \033 and not ST
ST is as described in https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Operating-System-Commands
2019-07-17 23:57:44 +02:00
Boris Faure 5e67443379 termptyesc: fix osc-11 reporting. It ends with ST
Closes T8054
2019-07-17 23:43:32 +02:00
Boris Faure 8562d1cf6b avoid redefinition of Term and Win 2019-07-14 18:42:24 +02:00
Boris Faure 7f4d891610 termiointernals: no out-of-band read when selecting empty lines 2019-07-10 23:14:53 +02:00
Boris Faure dff54aeca2 termiointernals: remove leak 2019-07-08 23:02:41 +02:00
Boris Faure 54340c464d termio: fix CID1402874, buffer overrun
Also fix CID1402875, CID1402876, CID1402877, CID1402878
2019-07-08 22:19:47 +02:00
Boris Faure 048c5cb825 clean up mess with libintl
The header must exist, the lib itself may not
2019-07-08 21:30:27 +02:00
Boris Faure fb922e0ec4 coverity fixed their stuff, remove hack 2019-07-08 21:30:27 +02:00
Boris Faure 344e466eba tyfuzz/tytest: fix leak 2019-07-08 21:30:27 +02:00
Boris Faure fa07767115 tytest: fix runtime error: null pointer passed as argument 2, which is declared to never be null 2019-07-08 21:30:27 +02:00
Boris Faure 58df5715d1 win: remove shadowed variable 2019-07-08 21:30:27 +02:00
Boris Faure c1eb0bad4a sel: clean up: use sd directly whenever possible 2019-07-08 21:30:27 +02:00
Boris Faure 14d799d63e tab_selector: fix focus issue 2019-07-08 21:30:27 +02:00
Boris Faure 432485dae3 win: start the hide_cursor timer on window creation 2019-07-08 21:30:27 +02:00
Boris Faure b7fff38636 win: hide mouse cursor when idle after timer 2019-07-08 21:30:27 +02:00
Boris Faure 38404d93ff options_behavior: add ui to change "hide cursor" setting 2019-07-08 21:30:27 +02:00
Boris Faure 96218a733c config: add item to hide cursor 2019-07-08 21:30:27 +02:00
Boris Faure ba980a594c termptydbl: oops 2019-06-23 22:16:47 +02:00
Boris Faure ef483dba0d termptydbl: add special case for emoji that were single width before 2019-06-23 22:02:50 +02:00
Boris Faure 50f4f6308d termptyops: skip variation selectors
We should take into account VS1, 15 and 16…
2019-06-23 22:02:50 +02:00
Boris Faure 7b3110d4a2 termpty: attach a Config * to Termpty 2019-06-23 22:02:50 +02:00
Boris Faure 7cc1197a53 config: add option to treat emojis as double-width 2019-06-23 22:02:49 +02:00
Boris Faure cdaae389aa utf8: only encode codepoints ≤ U+10FFFF. Closes T8022 2019-06-23 16:44:28 +02:00
Alastair Poole 18bff78895 build: Fix build and behaviour on OpenBSD.
Summary:
OpenBSD does not have strchrnul. Also, fix range
issue with window size.

The geometry is broken on OpenBSD and DragonFlyBSD.
A previous patch solved this issue. Range was
changed to <= 0, but needs to be <= 1 to  ensure
the terminal opens and displays content.

Reviewers: billiob

Reviewed By: billiob

Differential Revision: https://phab.enlightenment.org/D9157
2019-06-23 16:39:17 +02:00
Boris Faure 253446db49 debug: remove some 2019-06-18 22:09:29 +02:00
Boris Faure cf060d2a04 focus: block focus manager from getting key inputs when they are consumed 2019-06-18 22:06:44 +02:00
Boris Faure c151c3c0a0 termio: use term_is_focused() since it is now more reliable
sd->self is not the evas object that is being focused
2019-06-17 22:13:39 +02:00
Boris Faure ff136b78f1 win: export term_is_focused() 2019-06-17 22:12:59 +02:00
Boris Faure b464932d2d Revert "Revert "win: let elm handle focus""
This reverts commit 8354e83726.
2019-06-17 21:22:17 +02:00
Boris Faure 8354e83726 Revert "win: let elm handle focus"
This reverts commit 113bf27619.

Not yet fully working. Previous behaviour was better.
2019-06-14 11:19:30 +02:00
Boris Faure 113bf27619 win: let elm handle focus 2019-06-13 20:45:53 +02:00
Boris Faure 5f19ccb841 win: use elm_layout funcs on base object in About 2019-06-13 20:45:33 +02:00
Carsten Haitzler 5c74541206 config - font size - go back to 10 as default
so a whole back terminology moved from the shipepd nexus bitmap font
to system monospace fonts and 12 pt. it has always looked wrong as
efl's default theme is 10 and relies on a system-wide scale factor to
do this. 12 has looked totally out of place for a long time and it's
time that this not be hacked around in terminology but be solved at
the system level - maybe efl. if you use e then you will have selected
the scaling factor already and it will affect efl apps and all work.
outside of e is "not solved". to date it's been "other desktosp have
to support efl - up to them". perhaps looking at some level of "well
user has no config so let's guess what scale factor should maybe be
based on dpy and other toolkit configs we can find etc." in EFL... not
terminology.
2019-06-11 11:57:24 +01:00
Boris Faure 417cf716c6 termptyesc: handle some OSC where there's nothing to do 2019-05-27 19:20:28 +02:00
Boris Faure 16db713a44 termptyesc: just ignore screen mode 2019-05-27 19:20:09 +02:00
Boris Faure 50e1371006 termptyesc: osc 11's format is weird 2019-05-27 00:13:22 +02:00
Boris Faure 33b2d68aa9 termptyesc: handle OSC 11 that reports background color
It can also be used to set background color but that's not implemented
2019-05-26 23:02:53 +02:00
Boris Faure 7e677abfb9 termpty: add termpty_color_class_get() 2019-05-26 22:55:22 +02:00
Boris Faure f6d6ce481e termpty: fix unsigned comparison 2019-05-26 22:54:38 +02:00
Boris Faure d29533e341 win: add term_bg_get() 2019-05-26 22:52:57 +02:00
Boris Faure 372893297b options_behavior: remove unused variable 2019-05-26 22:41:26 +02:00
Boris Faure fff087bead use layout api in controls/options 2019-05-26 19:25:44 +02:00
Boris Faure 3c12162dcf win: use elm_layout for the base objects 2019-05-24 21:47:25 +02:00
Marcel Hollerbach 2168e6a85f terminology: call donecb later
donecb must be called after the settings objects have been deleted.
Otherwise focus manager will detect that a focused object is deleted,
and performe recoverty things. Those recovery things end up in
terminology in focusing nothing, since the terminal object is not a
elementary widget. Not beeing a elementery widget here means that it is
not visible from the POV of the focus manager.

However, when we emit donecb later on, then the focus is restored (in
the callback) after focus manager has performed its voodoo.

This fixes focus disappearing after going into the settings and going
out of them again.

Reviewed-by: Boris Faure <billiob@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8932
2019-05-21 21:07:53 +02:00
Carsten Haitzler 40ea16d995 terminology - fix initial size hints to be stepped right
@fix
2019-05-18 02:41:16 +01:00
Carsten Haitzler 03d15389a5 fix sign compare warn - no real bug to see here 2019-05-13 15:03:32 +01:00
Boris Faure 43224731e0 Merge branch 'terminology-1.4' 2019-05-05 12:57:28 +02:00
Boris Faure 67de5e75b2 termio: do replace \n by \r when pasting 2019-05-05 12:56:23 +02:00
Boris Faure daa4f1bae0 Merge branch 'terminology-1.4' 2019-05-05 11:41:58 +02:00
Boris Faure f1837dbc0c termio: fix buffer overflow if too many \n 2019-05-05 11:41:10 +02:00
Boris Faure 766c3bfebc Merge branch 'terminology-1.4' 2019-05-03 23:28:34 +02:00
Boris Faure 16ee36dbe3 termio: decode pasted string as utf8 and skip some codepoints
Should fix issue pasting codepoints that fit on multiple bytes
2019-05-03 23:27:29 +02:00
Boris Faure fd27c910b1 termptydbl: fix comparison. 2019-05-01 13:11:56 +02:00
Boris Faure 35b6f3c630 termptydbl: private use area is not double-width 2019-05-01 12:52:17 +02:00
Boris Faure 955195d2ae termptydbl: greek, cyrillic, armenian, arabic, … are not double width 2019-05-01 12:39:53 +02:00
Boris Faure 3880157adc termptydbl: consider [0x2630, 0x2638] as single width. Closes T7821 2019-05-01 11:41:14 +02:00
Carsten Haitzler 208e877e8f dbl chars - another range with only some emoji to be doubled 2019-04-23 12:12:02 +01:00
Carsten Haitzler ce61d0c648 dbl char - add final unicode full emoji list link 2019-04-23 11:21:08 +01:00
Boris Faure d197d2207e termptydbl: unbreak mutt/nethack/my shell prompt…
The following ranges are not double-width:
2500-257F Box Drawing
2580-259F Block Elements
25A0-25FF Geometric Shapes
E000- F8FF Private Use Area
2019-04-22 22:19:50 +02:00
Carsten Haitzler f0191d0ffc double width check - optimize by more tree-like parent range checks 2019-04-18 15:31:35 +01:00
Carsten Haitzler 1cf54d7dfd emoji- handle as double width as they probably should
emoji render as if being double width and their origin is from asian
langs (japan came up with them), so we should make them double width.
2019-04-18 15:12:32 +01:00
Carsten Haitzler bbe5b3eb03 focus - ensure focus is properly handled first time for unfocused wins
this fixes a case where ecore imf is never told about a newly focused
context because the relative term is already the child in an initial
case... this gets input methods working again

@fix
2019-04-15 17:19:33 +01:00
Boris Faure 1ce26c51f7 termiointernals: fix regression on selecting word at start of line
In case of double-click.
2019-03-21 22:18:07 +01:00
Boris Faure 3378f033f5 termio: remove leak. CID1399747 2019-03-20 22:31:58 +01:00
Boris Faure 756a45e654 termio: skip pasted chars < ' ' but keep '\n'
See https://www.openwall.com/lists/oss-security/2018/03/05/2
2019-03-19 23:18:03 +01:00
Boris Faure 9785beaef0 termiointernals: fix possible NULL-dereference. CID1399748 2019-03-18 23:05:06 +01:00
Boris Faure 485d7a3edf termio: fix leak. CID1399746 CID1399747 2019-03-18 23:02:36 +01:00
Boris Faure 8076e4673f termiointernals: fix possible NULL-dereference CID1399745 2019-03-18 22:56:49 +01:00
Boris Faure 6c55ecf1a1 termptyesc: fix hangs spotted by afl-fuzz + tests 2019-03-18 22:34:21 +01:00
Boris Faure 674a87287d termiointernals: fix reporting mouse move with no button pressed + tests 2019-03-05 21:20:50 +01:00
Boris Faure 93a25e6123 termiointernals: report alt on mouse move + tests 2019-03-04 23:39:57 +01:00
Boris Faure 61a56ae029 termiointernals: handle mouse wheel with alt + tests 2019-03-04 23:05:40 +01:00
Boris Faure c9b5c52a5d termptyesc: typo in comment 2019-03-03 22:49:11 +01:00
Boris Faure 8bc4c030c3 termiointernals: handle mouse wheel on normal mode after pos 94 2019-03-03 19:40:19 +01:00
Boris Faure acee5d2d67 it's possible to use alt with mouse wheel 2019-03-03 19:26:45 +01:00
Boris Faure bc45dba7c9 termiointernals: after x:94, no more reporting in normal mode 2019-03-03 19:25:56 +01:00
Boris Faure 69e8255d25 termiointernals: cleanup 2019-03-03 18:36:09 +01:00
Boris Faure b9542183e6 termiointernals: handle meta & MOUSE_X10 in mouse_down 2019-03-03 18:35:27 +01:00
Boris Faure 36fcd2d2c4 tests: add tytest_termio_resize() 2019-03-03 18:22:18 +01:00
Boris Faure 490d388314 termptyesc: resize parameters were inverted 2019-03-03 15:55:01 +01:00
Boris Faure 72ff9cbe3c termiointernals: mouse wheel is not reported in X10 mode 2019-03-03 15:47:37 +01:00
Boris Faure 5a98842d63 termiointernals: do not emit mouse wheel on mode X10 2019-03-03 13:20:03 +01:00
Boris Faure 72afb80d6e win: use min_* as base step since the old formula may < 0
Closes T7699
2019-03-02 18:26:04 +01:00
Boris Faure f0605c697d private.h: helper for testing escape codes on terminology's binary 2019-03-01 13:28:01 +01:00
Boris Faure 0f45747925 termpty: fix _termpty_cell_is_empty()
was not working on cell = {}
2019-03-01 13:23:02 +01:00
Boris Faure 1c9c2a19ed termptyesc: handle window manipulations that resizes the terminal
only for testing purpose
2019-02-27 23:46:04 +01:00
Boris Faure 4d89080d71 termiointernal: handle empty celles in selections.
Condition was wrong
2019-02-27 20:23:41 +01:00
Boris Faure 5300a89013 termiointernals: fix segfault 2019-02-25 22:51:03 +01:00
Boris Faure 1e5825832f termiointernals: rewrite _sel_word_to() + update tests 2019-02-25 22:02:11 +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 52a0ba46e0 termiointernals: selection is based on relative y, not on-screen y 2019-02-23 17:56:25 +01:00
Boris Faure eaaf63172d tyfuzz: test terminal is only 24 lines 2019-02-23 17:52:42 +01:00
Boris Faure bebb0872c3 termiointernals: remove empty selections 2019-02-23 13:34:31 +01:00
Boris Faure 2ca440ba93 tytest: use same offset as "real life"
makes it easy to write tests
2019-02-23 11:19:20 +01:00
Boris Faure 5fedd2c0a4 termiointernals: unset selection when codepoint is different
but do not make a difference between space and no codepoint
2019-02-23 11:12:14 +01:00
Boris Faure 510032df70 termiointernals: fix leak in termio_internal_get_selection() 2019-02-22 20:15:16 +01:00
Boris Faure 16637c3515 termptyext: fix eina_stringshare_del() on bad pointer 2019-02-21 18:43:11 +01:00
Boris Faure e024618dba termpty: compute exact line length in termpty_cellrow_get() 2019-02-21 18:42:28 +01:00
Boris Faure 4bc04c5421 termiointernals: be able to mock mouse wheel 2019-02-19 20:03:14 +01:00
Boris Faure f93f1ef3ba termiointernals: right-trim line selections 2019-02-18 22:04:37 +01:00
Boris Faure b7305bfc59 tyfuzz: better mock termio_take_selection()
+ fix leak
+ make the code more readable to me
2019-02-18 20:57:38 +01:00
Boris Faure 376c0a962b termptyext: add testing escape code to set/unset selection corners 2019-02-17 12:32:16 +01:00
Boris Faure eb4a3f9920 termptyext: skip spurious \r + improve asserts + add doc 2019-02-14 22:16:33 +01:00
Boris Faure 7eaba7447c termiointernals: set mouse position on mouse down/up 2019-02-14 22:11:35 +01:00
Boris Faure 8169dcca63 termiointernals: evas_pointer_canvas_xy_get() is expecting an evas 2019-02-14 20:35:29 +01:00
Boris Faure 23a76357f9 termptyext: remove spurious return in _handle_selection_is() 2019-02-13 23:21:53 +01:00
Boris Faure b09a70f04d termptyext: clean up modifiers parsing 2019-02-13 23:21:32 +01:00
Boris Faure 07cd8089e0 termiointernals: don't use ecore_job_add in tests 2019-02-11 22:46:39 +01:00
Boris Faure 73f461e281 tytest: add test_textgrid_cellrow_get()
to mock evas_object_textgrid_cellrow_get()
2019-02-11 22:44:16 +01:00
Boris Faure 904b3cf62e termptyext: use real selection to test
And not just compare with the codepoint array that may not have \n and too
many spaces
2019-02-10 23:56:30 +01:00