Commit Graph

2109 Commits

Author SHA1 Message Date
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