Commit Graph

2250 Commits

Author SHA1 Message Date
Boris Faure a05db78239
termpty: make provided title as forced title 2020-09-12 17:43:16 +02:00
Boris Faure 423ad1f52c
color schemes: add eet-related code 2020-09-10 23:47:10 +02:00
Boris Faure b1bdf50671
config: rename Config_Color type to Color + reorganise eet setup 2020-09-09 21:32:29 +02:00
Boris Faure ff9b4aacc5
config: eet_data_descriptor_free accepts NULL 2020-09-08 23:10:46 +02:00
Boris Faure 6b93176f92
Merge branch 'terminology-1.8' 2020-09-07 21:19:09 +02:00
Boris Faure c2bb4dcf81
win: focus new split. Closes T8804 2020-09-07 21:18:03 +02:00
Boris Faure c17f3a6f26
colors.h: change name of header guard 2020-09-06 22:40:28 +02:00
Boris Faure 8cb6be667a
color schemes: proof of work on colorschemes with the nord theme 2020-09-01 19:11:34 +02:00
Boris Faure cc552d7ea5
win: make code more "as usual" 2020-09-01 19:08:52 +02:00
Boris Faure 84a46280f6
private.h: add static_strequal() 2020-09-01 19:00:30 +02:00
Boris Faure 12963c304c
Merge remote-tracking branch 'origin/terminology-1.8' 2020-08-29 18:40:32 +02:00
Boris Faure 214c72eb0c
win: use theme_apply_elm on elm_layout 2020-08-29 18:38:11 +02:00
Boris Faure 7dad6d46ac
keyin: rename macro to improve readability 2020-08-24 18:55:39 +02:00
Boris Faure dbba452a8b
cleanup src/bin/colors.h 2020-08-20 16:23:19 +02:00
Boris Faure 19fb6afd73
mv src/bin/col.{c,h} src/bin/colors.{c,h} 2020-08-20 16:21:51 +02:00
Boris Faure 698e8bb985
termptydbl: be strict on what is wide and do not try to be smart.
Too bad if ❤ is considered single-width

(cherry picked from commit d3c15c59db)
2020-08-10 22:44:41 +02:00
Boris Faure df6b013895
win/options_mouse: apply mouse timer change to current terms
(cherry picked from commit d082b0d6d7)
2020-08-10 22:43:34 +02:00
Boris Faure d3c15c59db
termptydbl: be strict on what is wide and do not try to be smart.
Too bad if ❤ is considered single-width
2020-08-05 23:05:47 +02:00
Boris Faure d082b0d6d7
win/options_mouse: apply mouse timer change to current terms 2020-07-29 22:43:25 +02:00
Boris Faure 596d234ba1
about: add youtube channel 2020-07-23 22:52:47 +02:00
Boris Faure 3c21c13d39
about: add context menu on twitter link 2020-07-22 23:46:49 +02:00
Boris Faure 6b8409dfda
about: add twitter link 2020-07-21 23:46:02 +02:00
Boris Faure ce788a69f6
about: dismiss when clicking on the terminal 2020-07-18 16:17:47 +02:00
Boris Faure 544a4376f7
termiolink: fix _hsl_to_rgb() + update tests 2020-07-17 12:58:22 +02:00
Boris Faure 98ee7bdcca
termptydbl: be more precise on emoji as double-width
+ set all of "Misc_Pictographs" as double-width
2020-07-15 22:10:55 +02:00
Boris Faure a56a76afc7
termptyesc: handle single osc arg 2020-07-15 21:11:05 +02:00
Boris Faure f29190bdaa
termptyesc: debug (re)setting cursor color + test
Do nothing for the moment. One could think about using color class for
that.
2020-07-06 23:57:37 +02:00
Boris Faure 8c970b8804
termptydbl: generate the exact double width test
This based on unicode 13.0:
https://www.unicode.org/reports/tr44/

Code is generated by tools/unicode_dbl_width.py

I'm using switch-case + fall through as I've found it was the best:
f46d550a8b
2020-07-05 23:34:13 +02:00
Boris Faure 9f2f8464f3
Fix typos
Summary: Fix some typos.

Differential Revision: https://phab.enlightenment.org/D12032
2020-07-05 20:19:59 +02:00
Boris Faure 3ee79131e4
termptyesc: no sanitize with musl when calling isnan() 2020-07-02 23:51:25 +02:00
Boris Faure c2dd1815c8
termptyesc: avoid issues with cast from double
+ no buffer overflow
2020-07-02 23:45:32 +02:00
Boris Faure ac9a92480b
termptyesc: handle xterm color format starting with "rgbi:" 2020-07-02 23:01:42 +02:00
Boris Faure 2245782dd4
termptyesc: handle xterm color format starting with "rgb:" 2020-07-02 22:33:34 +02:00
Boris Faure 5df92ee2ac
Fix typo
Summary: Fix typo on "preferred"

Reviewers: billiob

Reviewed By: billiob

Differential Revision: https://phab.enlightenment.org/D12028
2020-06-24 22:50:48 +02:00
Boris Faure 26e91924d9
Get rid of trailing whitespaces
Summary: Remove trailing whitespaces

Reviewers: billiob

Reviewed By: billiob

Differential Revision: https://phab.enlightenment.org/D12025
2020-06-24 22:49:17 +02:00
Boris Faure bf60e5cb6d
config: do copy active_links_color between configs 2020-06-23 23:48:42 +02:00
Boris Faure 8e31c28f9b
termptyesc: handle larger sharp-based colors + tests 2020-06-23 23:21:56 +02:00
Boris Faure 8c88c876cd
Merge branch 'terminology-1.7' 2020-06-23 22:39:46 +02:00
Boris Faure 157d65e7ec
win: reorder calls to please _focus_validator() 2020-06-23 22:38:28 +02:00
Boris Faure dd7d88815c
utils: add the source files 2020-06-23 13:27:07 +02:00
Boris Faure 3cbcbcd717
theme.h: no need to define EINA_FALLTHROUGH 2020-06-23 13:16:58 +02:00
Boris Faure 4bc712b07d
utils.{c,h} is needed 2020-06-23 13:16:51 +02:00
Boris Faure ab35c9b7dd
mv utils.{c,h} theme.{c,h} 2020-06-23 12:48:27 +02:00
Boris Faure a6828665dc
termptyesc: oops 2020-06-23 00:09:54 +02:00
Boris Faure 196973fcd3
rewrite changing of background/foreground colors from escape codes 2020-06-22 23:41:27 +02:00
Boris Faure d845bb256a
Merge branch 'terminology-1.7' 2020-06-21 23:48:20 +02:00
Boris Faure 30b74f84f3
win: better handle initial focus when creating splits
Closes T8756
2020-06-21 23:46:22 +02:00
Boris Faure 171f99c80c
Merge branch 'terminology-1.7' 2020-06-16 21:12:37 +02:00
Boris Faure e7894a887f
termptyesc: fix issue found by fuzzing by Øyvind Kolås (pippin from GIMP) 2020-06-16 20:54:09 +02:00
Boris Faure 50de16cca2
termio{,link}: correct check + remove useless 'if' 2020-06-15 23:08:52 +02:00
Boris Faure 548027a656
termiolink: protect isnan() usage with ubsan and musl 2020-06-15 23:03:36 +02:00
Boris Faure f9e4cd9699
reorganise settings between options_behavior and options_mouse 2020-06-15 13:21:01 +02:00
Boris Faure 24400e9c69
options_mouse: add links settings 2020-06-15 13:21:01 +02:00
Boris Faure 62b101efd7
options_links: clean up 2020-06-15 13:21:00 +02:00
Boris Faure 75e7e211f2
options_behavior: share OPTIONS_CB/OPTIONS_CX/OPTIONS_SEPARATOR 2020-06-15 13:21:00 +02:00
Boris Faure af257f2606
options_behavior: remove ELM_WRAP_WORD as it makes labels disappear… 2020-06-15 13:21:00 +02:00
Boris Faure 08bfebcf6d
mv options_helpers.{c,h} options_mouse.{c,h} 2020-06-15 13:21:00 +02:00
Boris Faure c011c48720
config: add "active_links_color" 2020-06-15 13:21:00 +02:00
Boris Faure d84304fc2e
termio: color link is not really clickable 2020-06-15 13:21:00 +02:00
Boris Faure 3973f4c348
termiolink: be able to fuzz color parser 2020-06-15 13:21:00 +02:00
Boris Faure 1866e43386
termiolink: parse css hsl color + unit test 2020-06-15 13:21:00 +02:00
Boris Faure 4b0de53914
termiolink: use eina_convert_strtod_c() to avoid issues with $LANG
because it may parse ',' as a separator (in french for example).

+ stop parsing forward on ')'
2020-06-15 13:20:59 +02:00
Boris Faure 129cda9536
termiolink: switch case is better than broken bsearch
(list was not correctly sorted)
2020-06-15 13:20:59 +02:00
Boris Faure 6dc89a5f6a
termiolink: detect rgb() colors + utest 2020-06-15 13:20:59 +02:00
Boris Faure 2f040f9532
termiolink: handle tabs in (color) links 2020-06-15 13:20:59 +02:00
Boris Faure f23467407c
termiolink: add unit test on parsing edc color 2020-06-15 13:20:59 +02:00
Boris Faure 0051a28996
termiolink: add tests on some parsing functions 2020-06-15 13:20:59 +02:00
Boris Faure 10c720aa00
termiolink: rework color finder 2020-06-15 13:20:59 +02:00
Boris Faure 2832f79b59
theme: add name to the color being previewed 2020-06-15 13:20:58 +02:00
Boris Faure 2be609daab
termio: add popup on right click on color to copy it 2020-06-15 13:20:58 +02:00
Boris Faure 990ef95c8b
termptyext: be able to test color links 2020-06-15 13:20:58 +02:00
Boris Faure b05a48d0c9
termiolink: constify 2020-06-15 13:20:58 +02:00
Boris Faure c1ac8e05a3
color preview: have a better background 2020-06-15 13:20:58 +02:00
Boris Faure 127f0987ee
link: display tooltip on colors like #ff00ff 2020-06-15 13:20:58 +02:00
Boris Faure f5fe32f70b
termiolink: isalpha() may produce unsigned-integer-overflow 2020-06-15 13:18:56 +02:00
Boris Faure 42cff98227
tytest: reset color just after using it 2020-06-15 12:56:14 +02:00
Boris Faure 2b5f698c91
utf8: avoid implicit signedness conversions 2020-06-13 00:13:18 +02:00
Boris Faure 442ce78874
termiointernals: avoid implicit signedness conversions 2020-06-13 00:13:18 +02:00
Boris Faure db7ca27635
termptyesc: explicit conversions 2020-06-13 00:13:12 +02:00
Boris Faure 6aff48abe1
termpty: fix ubsan-detected issue
../src/bin/termpty.c:988:9: runtime error: implicit conversion
from type 'int' of value -1 (32-bit, signed) to type 'unsigned long'
changed the value to 18446744073709551615 (64-bit, unsigned)
2020-06-12 22:38:33 +02:00
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