Commit Graph

2320 Commits

Author SHA1 Message Date
Boris Faure 2d9d1c6a82
md5: disable unsigned-integer-overflow sanitizer 2020-06-12 22:35:22 +02:00
Boris Faure c37a16151c
termiolink: no need to double semicolons (they don't make a colon…) 2020-06-04 22:44:39 +02:00
Boris Faure 11c7bb2c3b
termiolink: avoid long cascade of cases (implicit fallthrough) 2020-05-31 22:27:28 +02:00
Boris Faure 4144170cfc
termiointernals: use a switch/case
and let the compiler do the optimization and unroll the binary search
itself.

I wrote a micro benchmark:
1. switch_fallthrough: 9597502784 ns
2.      switch_return: 8921069697 ns
3.      binary_search: 18403018625 ns

The results are pretty consistent over multiple runs.
1st is switch case with one return at the end and lots of
fallthrough.
2nd is a return of each case,
3rd is the original code.
2020-05-26 23:27:08 +02:00
Boris Faure eba80af2ea
sb: extract tests 2020-05-24 19:00:24 +02:00
Boris Faure 745b93e95b
termiointernals: _codepoint_is_wordsep() is const 2020-05-24 18:19:48 +02:00
Boris Faure abdef9786c
have define BINARY_TYFUZZ/BINARY_TYTEST 2020-05-24 18:05:39 +02:00
Boris Faure 1702931b1b
mv src/bin/md5/md5.{c,h} src/bin/ 2020-05-24 17:48:59 +02:00
Boris Faure 4703e374b9
sb: add some more tests 2020-05-24 00:35:27 +02:00
Boris Faure c2c324c497
sb: fix error: applying zero offset to null pointer
Found by UndefinedBehaviorSanitizer
2020-05-24 00:19:33 +02:00
Boris Faure 04a47e0e19
sb: add unit tests + fix a few issues 2020-05-24 00:05:29 +02:00
Boris Faure 15ee3702db
sb: add ty_sb_spaces_ltrim() 2020-05-23 16:26:57 +02:00
Boris Faure 63815156aa
dumb framework to run unit tests in terminology 2020-05-23 11:59:34 +02:00
Boris Faure 392bfdb4a7
tests: rework tytest.c/tyfuzz.c to no longer #include one in the other 2020-05-23 11:59:24 +02:00
Boris Faure bb09c80ab4
Merge branch 'terminology-1.7' 2020-05-19 23:57:59 +02:00
Boris Faure 5cae99eee1
options: word-wrap some labels 2020-05-19 23:56:06 +02:00
Boris Faure ec344090aa
scale wizard: word-wrap the labels 2020-05-19 23:41:39 +02:00
Boris Faure 13fce0866c
Merge branch 'terminology-1.7' 2020-05-18 22:29:25 +02:00
Boris Faure 446823b6ea
options_elm: fix original _find_binary 2020-05-18 22:25:20 +02:00
Boris Faure 29cce7e73e
termiointernals.c: do not consider '-' as a word separator 2020-05-18 16:24:51 +02:00
Boris Faure de969e7cef
Merge branch 'terminology-1.7' 2020-05-16 19:09:53 +02:00
Boris Faure 1d5eee0e60
focus validator: be less strict when changing tabs
Closes T8722
2020-05-16 19:07:28 +02:00
Boris Faure 3be858b09b
termiointernals: handle EM (end of medium) as word separator 2020-05-11 23:22:58 +02:00
Boris Faure 876036f009
termptyesc: randomize new entry in the true color cache 2020-05-09 00:04:20 +02:00
Boris Faure 9977b8a63b
termpty: set TERM_PROGRAM/TERM_PROGRAM_VERSION env variables 2020-05-06 23:49:00 +02:00
Boris Faure 106f8b5c9a
termptyesc: handle terminal query
New, still debated on https://gitlab.freedesktop.org/terminal-wg/specifications/issues/8
2020-05-06 23:44:05 +02:00
Boris Faure 144db18649
termiointernals: no timer in tests 2020-05-05 21:51:40 +02:00
Boris Faure 38e4935427
termiointernals: skip invisible codepoints when assessing whether they changed 2020-05-05 21:51:40 +02:00
Boris Faure 19ffa91f15
termptyext: add operator to test whether selection is active 2020-05-05 21:51:40 +02:00
Boris Faure f679d28809
termiointernals: speed up selection scroll in tests + also in real life 2020-05-05 21:51:40 +02:00
Boris Faure 3be01d8b8b
meson: add tytest.{c,h} to improve testing with ENABLE_TEST_UI 2020-05-05 21:51:40 +02:00
Boris Faure 00bb99f3f0
tests: store mouse pointer and fallback evas_pointer_canvas_xy_get() 2020-05-05 21:51:40 +02:00
Carsten Haitzler 0df36aefc9 termio selection strings - fix ownership and alloc/free
this was a bit of a mess in terms of who owns, dups, copies etc. so i
fixed this up a bit and have termio_take_selection_text consistently
stringshare_add the string as its own copy so it can free it later.
also fix leak from ty_sb_steal_buf() as this is a malloced buffer not
stringshared and it wasnt freed after a steal

@fix
2020-05-04 10:47:00 +01:00
Boris Faure 286e2ebb59
win: on startup, force a window to be considered as focused 2020-04-29 22:54:50 +02:00
Boris Faure f3bf486777
win: handle early case when no child is present 2020-04-29 22:53:02 +02:00
Boris Faure f1857527da
termptyesc: mark _safechar() as pure 2020-04-25 15:20:54 +02:00
Boris Faure 18bfcb5aba
termptyesc: r,g,b are uint8_t 2020-04-22 23:59:02 +02:00
Boris Faure 00c427a20f
termptyesc: avoid issue with integer promotion
Found by UBSan:
sgr-truecolors.sh... ../src/bin/termptyesc.c:737:35: runtime error: left
shift of 244 by 24 places cannot be represented in type 'int'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior
../src/bin/termptyesc.c:737:35 in
2020-04-22 23:52:58 +02:00
Boris Faure f9b6f88be1
termptyesc: cache true color approximations
On my stupid benchmark ( https://github.com/billiob/fire ), this goes from
about 45 fps to about 125fps.
2020-04-22 23:43:45 +02:00
Boris Faure f497b9446c
termiolink: harden functions link_is_*() 2020-04-19 23:23:57 +02:00
Boris Faure 25eac3e842
termio: suspend is an int with values > 1 2020-04-19 23:22:57 +02:00
Boris Faure 32f317cc05
options: use an available default icon for each entry! 2020-04-17 23:54:48 +02:00
Boris Faure d06ac1c262
update copyright to 2020 2020-04-17 23:10:45 +02:00
Boris Faure 0b48853597
reduce scope of variables 2020-04-17 23:09:07 +02:00
Boris Faure 3172c2cf30
Revert "pleasing cppcheck?"
This reverts commit a848b0262f.
2020-04-17 22:02:09 +02:00
Boris Faure 1e89fcd020
termptyext.c: remove useless assignments 2020-04-17 21:52:06 +02:00
Boris Faure f56f6cd07e
termptyext: remove useless assignment 2020-04-17 00:02:57 +02:00
Boris Faure a848b0262f
pleasing cppcheck? 2020-04-17 00:01:32 +02:00
Boris Faure 16f750bee6
backlog: don't convert -1 to unsigned 2020-04-17 00:00:46 +02:00
Boris Faure d5d61a5b76
termio: hide links when content change underneath 2020-04-16 23:43:21 +02:00
Boris Faure 225b14a54f
win: hide tab bar when restoring the last term 2020-04-16 19:35:19 +02:00
Boris Faure 27f062ff1a
win: reswallow content when it's the only one left 2020-04-16 19:30:27 +02:00
Boris Faure 25496f6689
win: remove hand cursor when drag stops 2020-04-16 19:29:34 +02:00
Boris Faure 338b2c1865
win: fix rollback split + add debug 2020-04-16 17:16:18 +02:00
Boris Faure 985e0b56c5
win: put drag icon under the mouse 2020-04-15 22:52:31 +02:00
Boris Faure 472cfbcff4
win: remove some debug 2020-04-15 22:12:51 +02:00
Boris Faure 7ce4416311
win: save split position when dragging tab 2020-04-14 23:40:08 +02:00
Boris Faure 0d5a796703
win: fix focus display when focusing in/out and grouped input 2020-04-14 22:51:14 +02:00
Boris Faure cdcc6be05e
show grouped input on inactive tabs 2020-04-14 22:06:53 +02:00
Boris Faure 826801b607
group input: show it on active tabs 2020-04-13 20:30:51 +02:00
Boris Faure 51468de3fd
group input: add config option about default to visible ones or all 2020-04-12 17:16:14 +02:00
Boris Faure 2259519d10
video: no need to force emotion engine anymore 2020-04-12 16:59:43 +02:00
Boris Faure 87ce2720d5
controls: add shortcut to do grouped input 2020-04-11 11:59:36 +02:00
Boris Faure 537af736e8
win: constify 2020-04-11 10:01:13 +02:00
Boris Faure 210ec3b408
win: add win_has_single_child() 2020-04-11 09:55:52 +02:00
Boris Faure df9700c8a5
win: add win_evas_object_to_win() 2020-04-11 09:50:38 +02:00
Boris Faure b9f3c7bf05
win: don't resize to 0 + remove useless callback 2020-04-11 00:31:04 +02:00
Boris Faure f52ea76606
win.h: add missing void 2020-04-11 00:30:20 +02:00
Boris Faure ec2a96589c
controls: no need for ct_box3 2020-04-11 00:21:54 +02:00
Boris Faure 4c9091c9c6
controls: avoid uses after free
CID1422109
CID1422110
CID1422111
2020-04-06 23:11:10 +02:00
Boris Faure 6411f119ce
win: no need to check wn->config. Closes CID1422298 2020-04-06 22:59:26 +02:00
Boris Faure 5da6d66134
termptyesc: add missing debug line on bell 2020-04-06 22:58:48 +02:00
Boris Faure 0eac2752d3
win: don't call elm_win_alpha_set() too many times 2020-04-06 21:58:21 +02:00
Boris Faure 0fb87e2756
win: use edje_object_message_send on edj part… 2020-04-06 00:53:34 +02:00
Boris Faure cbbfe60aae
config: share translucent+opacity settings accross instances 2020-04-05 23:20:11 +02:00
Boris Faure 6b8da82722
tycommon: ensure common tools are running in terminology
This is done by reading the tertiary device attributes and expecting
terminology's value.
2020-04-05 15:50:12 +02:00
Boris Faure a119ac10cc
tycat/tyls: handle error on write()/scanf() 2020-04-05 15:49:26 +02:00
Boris Faure 58a1adac38
sb: ubsan: do not apply 0 offset to NULL pointer 2020-04-04 16:50:19 +02:00
Boris Faure d5d96cb655
termpty: only call ecore_main_fd_handler_active_set() on valid fd
+ reformat
2020-04-02 22:56:26 +02:00
Boris Faure ea2b80e5a2
termiolink: isspace can't be used on codepoint larger than uchar 2020-04-02 21:52:04 +02:00
Boris Faure 115cd1ebb4
link detection: handle unicode + mode surrounding cases + test 2020-04-02 00:13:59 +02:00
Boris Faure e93b8cf619
termiolink: left strip spaces on emails 2020-03-31 23:29:05 +02:00
Boris Faure 5d2e0479b9
win: simplify focus handling when dropping tab to split 2020-03-30 22:30:10 +02:00
Boris Faure 5c85b8c624
win: _focus_validator() saves focused tc + add debug 2020-03-30 22:30:10 +02:00
Boris Faure d267b57fb1
win: unfocus from correct parent + add focus checks 2020-03-29 13:34:59 +02:00
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