Compare commits

...

120 Commits

Author SHA1 Message Date
Boris Faure d25a9a736b
add Selenized colorschemes 53 minutes ago
Oğuz Ersen 0a24ce75a6
Translated using Weblate (Turkish) 4 days ago
Boris Faure 5638ccdc8a
colors: be able to load a different Default 2 weeks ago
Boris Faure 1e28ad776e
win: remove unused but set variable 2 weeks ago
Luna Jernberg 36720f0570
Translated using Weblate (Swedish) 1 month ago
Hugo Carvalho a6d634fc3f
Translated using Weblate (Portuguese) 1 month ago
Milo Ivir 9c93b2b139
Translated using Weblate (Croatian) 1 month ago
Eduardo Malaspina 72c0e6358d
Translated using Weblate (Spanish) 1 month ago
Boris Faure 979759f279
NEWS: fix sections 1 month ago
Philippe Jean Guillaumie 6bdd805eb3
Translated using Weblate (French) 2 months ago
Boris Faure f7e38a19ad
Merge remote-tracking branch 'weblate/weblate-terminology-terminology' 2 months ago
Boris Faure d79cdef0f1
win: make background opacity work with color scheme 2 months ago
Durver Eriksson 2061b2d017
Translated using Weblate (Swedish) 2 months ago
Boris Faure 1de8762caf
win: remove background rect 2 months ago
Boris Faure 30035074ff
po: update files 2 months ago
Boris Faure f68b02c182
option_background: add opacity label 2 months ago
Boris Faure 0906e3d716
default theme: add fixed to cursor parts 2 months ago
Boris Faure da4a706e23
win: change the background color when the theme/colorscheme changes 2 months ago
Boris Faure ea7e8aef10
termio/meson: support ELM_SEL_FORMAT_URILIST 2 months ago
Boris Faure 2eba25b730
tyalpha: better documentation 2 months ago
Maite Guix 65c0dfcfb2
Translated using Weblate (Catalan) 2 months ago
Boris Faure 7f1c5de093
termio: fix CID1498353 about function not checked 2 months ago
Boris Faure 3ebf55310d
termio: fix CID1498352 about function not checked 2 months ago
Boris Faure 975a98092e
colors: test return of edje_object_color_class_set() Fix CID1498351 2 months ago
Boris Faure e7c29b78a1
colorschemes: update selection arrows 2 months ago
Boris Faure d51d45a308
default theme: fix typo in comment 2 months ago
Boris Faure 3d56585466
THEMES: update on colorschemes used for selection arrows 2 months ago
Boris Faure 0c918a1498
colorschemes/default theme: apply the color defined for the selection arrows 2 months ago
Boris Faure b92927d781
theme: remove dead code 2 months ago
Boris Faure 4b45b77791
Merge remote-tracking branch 'weblate/weblate-terminology-terminology' 2 months ago
Boris Faure 293081bb3c
background: fade it with the color defined as background in the color scheme 2 months ago
Eduardo Malaspina 339498199d
Translated using Weblate (Spanish) 2 months ago
Boris Faure 7c6f9f1e6b
ChangeLog.theme: add missing update on colorschemes 2 months ago
Hugo Carvalho 86d6da32ab
Translated using Weblate (Portuguese) 3 months ago
Boris Faure a4edc96d1f
add_color_scheme.sh: no need for temporary EET file 3 months ago
Boris Faure 5a058e433a
colorschemes: better comment in script to install colorschemes 3 months ago
Boris Faure dab92df313
README: add about running on the framebuffer 3 months ago
Boris Faure cf7806d7d8
colorschemes: add Fir Dark 3 months ago
Boris Faure fccf4b18e4
colorschemes helper: compute pre-multiplied alpha 3 months ago
Boris Faure 909eac8657
colorschemes: del the pointer that is by construction a stringshare 3 months ago
xero-lib 4fb52c7d51 Basic typo correction 4 months ago
135e2 031387f1f9
Translated using Weblate (Chinese (Simplified)) 5 months ago
Maite Guix dd2dde2ff6
Translated using Weblate (Catalan) 5 months ago
Boris Faure 731e5781f4
termptyesc.c: oops 5 months ago
Boris Faure 9963645ba7
coccinelle: check return type 5 months ago
Boris Faure 7a9d852a0d
coccinelle: use macro MIN/MAX 5 months ago
Boris Faure e1924c7fa0
coccinelle: use ROUND_UP() 5 months ago
Boris Faure 69eb930f97
coccicheck: fix script 5 months ago
Boris Faure 1650d61466
coccicheck: oops 5 months ago
Boris Faure a0a33d0896
add div_round_up.cocci 5 months ago
Boris Faure 62a8e0a021
use DIV_ROUND_UP() 5 months ago
Boris Faure 2c254526b9
gh workflow: use the github token 6 months ago
Boris Faure f1deb12784
add github workflow with coccinelle 6 months ago
Boris Faure 13ffb1de64
add scripts/coccinelle 6 months ago
Durver Eriksson 1d264ea580
Translated using Weblate (Swedish) 6 months ago
Boris Faure be58ef9b41
Merge remote-tracking branch 'weblate/weblate-terminology-terminology' 6 months ago
Carsten Haitzler 9f97aaae8c tyls - add pls files to glob list 6 months ago
Andika Triwidada 74a3f2fb7c
Added translation using Weblate (Indonesian) 6 months ago
Carsten Haitzler af8d75201a readme - fix typos 6 months ago
Carsten Haitzler c36fe098bf readme - fix readme icon - higher res from svg 6 months ago
Carsten Haitzler 66ba50943e readme remove typo in compil and install 6 months ago
Carsten Haitzler b879f1e0a5 more massaging of readme 6 months ago
Carsten Haitzler bf6caeecbd more README massaging 6 months ago
Carsten Haitzler e2b1cf6550 some more readme massaging 6 months ago
Carsten Haitzler 840b5da52a merge install into readme 6 months ago
Carsten Haitzler 90987075cc used special readme icon 6 months ago
Carsten Haitzler dac6910c21 improve readme like efl, rage, e etc. 6 months ago
Carsten Haitzler a1b0cf0cca remove files no longer needed 6 months ago
Boris Faure 4b3335283a
Merge remote-tracking branch 'weblate/weblate-terminology-terminology' 6 months ago
Andrea Dalseno ccefcb36ed
Translated using Weblate (Italian) 6 months ago
Milo Ivir 8497b2bcbc
Translated using Weblate (Croatian) 6 months ago
Carsten Haitzler afb6d608f0 tyls - fix warnings about small buffer for snprintf 7 months ago
Boris Faure cc547196a8
README: remove codacy badge 7 months ago
styx 9f371e0baa
Translated using Weblate (German) 7 months ago
Arthur Nikitenko ed27452ab5
Translated using Weblate (Russian) 7 months ago
Ingo Noelleke a435c53d8d
Translated using Weblate (German) 7 months ago
Boris Faure 5a12ff7b1f
termio: use memcpy() is enough here 7 months ago
Boris Faure 056b56c55b
Merge remote-tracking branch 'weblate/master' 7 months ago
Philippe Jean Guillaumie df1de66f4f
Translated using Weblate (French) 7 months ago
Boris Faure d7cd427563
update pot/po 7 months ago
Boris Faure e4c4f64789
options_behavior: better named option to enable/disable typing sounds 7 months ago
Sabri Ünal 85cbd7b32a
Translated using Weblate (Turkish) 7 months ago
gbonaspetti 4469a30d63
Translated using Weblate (Portuguese (Brazil)) 8 months ago
Boris Faure 33418ffd41
config: remove shine parameter 8 months ago
Koichi Murase 40bd9a0161 termpty (_termpty_cell_is_empty): resolve a conflict of color9 vs COL_INVIS 9 months ago
Koichi Murase 7e4ab152a5 tests: test the conflict of color9 vs COL_INVIS 9 months ago
Koichi Murase 4d7dad2a79 *.{h,c}: do not use the C reserved identifiers for macro names/params 9 months ago
Koichi Murase 2e5e0a5b67 *.{h,c}: do not use the C reserved identifiers for tag names 9 months ago
Koichi Murase a6ca0111de *.h: do not use the C reserved identifiers for the include guards 9 months ago
Boris Faure 50ea966dff
tests: test that cursor restore does restore wrapnext status 9 months ago
Koichi Murase 0f40fb4845 tests: update tests.results 9 months ago
Koichi Murase a0a2238272 termptyops (termpty_cursor_copy): copy entire "cursor_state" 9 months ago
Koichi Murase a3f9887ee4 termpty: move the bitfield "wrapnext" from "ty->termstate" to "ty->cursor_state" 9 months ago
Boris Faure b7e8de3c5b
Merge remote-tracking branch 'weblate/weblate-terminology-terminology' 10 months ago
Carsten Haitzler 0d5465f507 scaling - handle scale settings changes... on the fly... 10 months ago
E-Akcaer ba1522be56
Translated using Weblate (Turkish) 10 months ago
E-Akcaer 77ae427a14
Translated using Weblate (Turkish) 11 months ago
E-Akcaer 3f19b25c29
Translated using Weblate (Turkish) 11 months ago
Ruud Bos 076e34c77a
Translated using Weblate (Dutch) 11 months ago
Boris Faure e66e254e0a
colors: fix typo 11 months ago
Carsten Haitzler fa07673a4e colors - default- fix default colorscheme to match actual default 11 months ago
Boris Faure 3f2fbd83d7
tests: update due to new release 11 months ago
Boris Faure 034631fec6
Terminology 1.12.1 11 months ago
Boris Faure a7d4685a90
meson: build&install Default colorscheme 11 months ago
Boris Faure 7ec0380755
Terminology 1.12.0 11 months ago
Boris Faure 494fcd1cc7
update po/pot 11 months ago
Boris Faure 5a079bcaa7
ci: disable some tests with msan since they look broken 11 months ago
Boris Faure 3b63c4479b
termiolink: fix use-of-uninitialized-value 11 months ago
Boris Faure 4765573b51
termio: this variable is not needed shadows the real one 11 months ago
Boris Faure 32d68b4feb
termio: fix indentation 11 months ago
Boris Faure 09e0875adc
ci: add some sanitizers 11 months ago
Boris Faure 026bf7f1c8
ci: fix shell wrapping 11 months ago
Boris Faure 88a6b3e602
ci: only use efl latest for the moment 11 months ago
Carsten Haitzler 3e95d2ad9f time to require efl 1.26 or better finally 11 months ago
Carsten Haitzler 0b1b9fc9d1 theme - selection - fix signal handling for all the sel modes 12 months ago
Carsten Haitzler 7bf32b653e nyanology - remove deps on removed imgs 12 months ago
Carsten Haitzler 58c718d1f5 theme - the great flattening of terminology 12 months ago
Carsten Haitzler f44725fcbc sel - call callback on an object not struct ptr 12 months ago
Carsten Haitzler c975e23946 set default theme as overlay with file extn to file isnt found 12 months ago
Boris Faure caba4bf828
colorschemes: simplify build and allow parallel compilation 1 year ago
  1. 7
      .arcconfig
  2. 159
      .circleci/config.yml
  3. 19
      .github/workflows/coccinelle.yaml
  4. 4
      COLORSCHEMES.md
  5. 12
      ChangeLog
  6. 21
      ChangeLog.theme
  7. 2
      DESIGN.md
  8. 59
      INSTALL
  9. 23
      NEWS
  10. 337
      README.md
  11. 20
      THEMES.md
  12. 5
      autogen.sh
  13. 4
      data/colorschemes/Belafonte Day.ini
  14. 2
      data/colorschemes/Belafonte Night.ini
  15. 2
      data/colorschemes/Black.ini
  16. 2
      data/colorschemes/Cobalt2.ini
  17. 17
      data/colorschemes/Default.ini
  18. 2
      data/colorschemes/Dracula.ini
  19. 2
      data/colorschemes/Fahrenheit.ini
  20. 78
      data/colorschemes/Fir Dark.ini
  21. 2
      data/colorschemes/Mild.ini
  22. 2
      data/colorschemes/Mustang.ini
  23. 2
      data/colorschemes/Nord.ini
  24. 2
      data/colorschemes/Ocean Dark.ini
  25. 2
      data/colorschemes/One Dark.ini
  26. 2
      data/colorschemes/PaleNight.ini
  27. 2
      data/colorschemes/PaperColor.ini
  28. 75
      data/colorschemes/Selenized Black.ini
  29. 75
      data/colorschemes/Selenized Dark.ini
  30. 75
      data/colorschemes/Selenized Light.ini
  31. 75
      data/colorschemes/Selenized White.ini
  32. 2
      data/colorschemes/Smyck.ini
  33. 4
      data/colorschemes/Soft Era.ini
  34. 6
      data/colorschemes/Solarized Light.ini
  35. 2
      data/colorschemes/Solarized.ini
  36. 2
      data/colorschemes/Tango Dark.ini
  37. 4
      data/colorschemes/Tango Light.ini
  38. 10
      data/colorschemes/add_color_scheme.sh
  39. 14
      data/colorschemes/builder.sh
  40. 16
      data/colorschemes/ini2desc.py
  41. 90
      data/colorschemes/meson.build
  42. BIN
      data/readme/terminology.png
  43. 196
      data/themes/default.edc
  44. 41
      data/themes/default/about.edc
  45. 1734
      data/themes/default/background.edc
  46. 492
      data/themes/default/base.edc
  47. 37
      data/themes/default/color_preview.edc
  48. 51
      data/themes/default/colors.edc
  49. 17
      data/themes/default/core.edc
  50. 1037
      data/themes/default/cursor.edc
  51. 40
      data/themes/default/fontpreview.edc
  52. 18
      data/themes/default/icon.edc
  53. 23
      data/themes/default/keybinding.edc
  54. 104
      data/themes/default/link.edc
  55. 167
      data/themes/default/media.edc
  56. 90
      data/themes/default/miniview.edc
  57. 391
      data/themes/default/sel.edc
  58. 942
      data/themes/default/selection.edc
  59. 256
      data/themes/default/tab_drag_thumb.edc
  60. 166
      data/themes/default/tabbar_back.edc
  61. BIN
      data/themes/images/arrow-d-015.png
  62. BIN
      data/themes/images/arrow-d-030.png
  63. BIN
      data/themes/images/arrow-d-060.png
  64. BIN
      data/themes/images/arrow-l-015.png
  65. BIN
      data/themes/images/arrow-l-030.png
  66. BIN
      data/themes/images/arrow-l-060.png
  67. BIN
      data/themes/images/arrow-r-015.png
  68. BIN
      data/themes/images/arrow-r-030.png
  69. BIN
      data/themes/images/arrow-r-060.png
  70. BIN
      data/themes/images/arrow-u-015.png
  71. BIN
      data/themes/images/arrow-u-030.png
  72. BIN
      data/themes/images/arrow-u-060.png
  73. BIN
      data/themes/images/bg_bevel.png
  74. BIN
      data/themes/images/bg_glint.png
  75. BIN
      data/themes/images/bg_glow_in.png
  76. BIN
      data/themes/images/bg_led.png
  77. BIN
      data/themes/images/bg_led_base.png
  78. BIN
      data/themes/images/bg_led_glow.png
  79. BIN
      data/themes/images/bg_led_strobe.png
  80. BIN
      data/themes/images/bg_shadow.png
  81. BIN
      data/themes/images/bg_shadow2.png
  82. BIN
      data/themes/images/bg_shadow3.png
  83. BIN
      data/themes/images/bg_shine.png
  84. BIN
      data/themes/images/bg_shine2.png
  85. BIN
      data/themes/images/bg_shine3.png
  86. BIN
      data/themes/images/bg_shine4.png
  87. BIN
      data/themes/images/bg_shine5.png
  88. BIN
      data/themes/images/checks.png
  89. BIN
      data/themes/images/circle-1200.png
  90. BIN
      data/themes/images/close-015.png
  91. BIN
      data/themes/images/close-030.png
  92. BIN
      data/themes/images/close-060.png
  93. BIN
      data/themes/images/cr_bar_glow.png
  94. BIN
      data/themes/images/cr_bar_out.png
  95. BIN
      data/themes/images/cr_bar_pulse.png
  96. BIN
      data/themes/images/cr_glow.png
  97. BIN
      data/themes/images/cr_key.png
  98. BIN
      data/themes/images/cr_out.png
  99. BIN
      data/themes/images/cr_pulse.png
  100. BIN
      data/themes/images/cr_underline_glow.png
  101. Some files were not shown because too many files have changed in this diff Show More

@ -1,7 +0,0 @@
{
"project_id" : "terminology",
"projects" : "terminology",
"conduit_uri" : "https://phab.enlightenment.org/",
"phabricator.uri" : "https://phab.enlightenment.org/",
"repository.callsign" : "TRM"
}

@ -4,9 +4,9 @@ jobs:
checkout_code:
docker:
- image: borisfaure/terminology-ci:latest
shell: /bin/sh -leo pipefail
environment:
- BASH_ENV: /etc/profile
- COLUMNS: 150
- TERM: xterm-256color
steps:
- run: |
cd /terminology
@ -24,63 +24,106 @@ jobs:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
paths:
- /terminology
build_minimal_gcc_efl-1_22:
build_and_test_debug_gcc_efl_latest:
docker:
- image: borisfaure/terminology-ci:latest
environment:
- COLUMNS: 150
- TERM: xterm-256color
steps:
- restore_cache:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
- run:
name: Install EFL
command: apk add /pkg/efl-1.22.6-r0.apk /pkg/efl-dev-1.22.6-r0.apk
command: apk add /pkg/efl-latest.apk /pkg/efl-dev-latest.apk
- run:
name: Compile with GCC
environment:
CFLAGS: -O0 -g
command: |
cd /terminology
meson -Dnls=false . build
meson -Dnls=false -Dtests=true -Dfuzzing=true -Db_coverage=true -Dbuildtype=debug . build
meson configure build
cd build
ninja -j4
build_minimal_gcc_efl-1_23:
- run:
name: Launch tests
command: |
cd /terminology
tests/run_tests.sh -v -t build/src/bin/tytest -r tests/tests.results -d tests/
build/src/bin/tytest dummy
build/src/bin/tytest all
- run:
name: codecov
command: |
cd /terminology/build/
cd src/bin
rm -fr *@@terminology@exe *@@tyalpha@exe *@@tybg@exe *@@tycat@exe
rm -fr *@@tyfuzz@exe *@@tyls@exe *@@typop@exe *@@tyq@exe
rm -fr *@@tysend@exe
cd /terminology/build/
curl -s https://codecov.io/bash > .codecov
chmod +x .codecov
sed -i.bak 's/execdir/exec/' .codecov
./.codecov -Z
build_and_test_release_gcc_efl_latest:
docker:
- image: borisfaure/terminology-ci:latest
environment:
- COLUMNS: 150
- TERM: xterm-256color
steps:
- restore_cache:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
- run:
name: Install EFL
command: apk add /pkg/efl-1.23.3-r2.apk /pkg/efl-dev-1.23.3-r2.apk
command: apk add /pkg/efl-latest.apk /pkg/efl-dev-latest.apk
- run:
name: Compile with GCC
environment:
CFLAGS: -O0 -g
command: |
cd /terminology
meson -Dnls=false . build
meson -Dnls=false -Dtests=true -Dbuildtype=release . build
meson configure build
cd build
ninja -j4
build_minimal_gcc_efl-1_24:
- run:
name: Launch tests
command: |
cd /terminology
tests/run_tests.sh -v -t build/src/bin/tytest -r tests/tests.results -d tests/
build/src/bin/tytest dummy
build/src/bin/tytest all
build_full_clang_efl_latest:
docker:
- image: borisfaure/terminology-ci:latest
environment:
- CC: clang
- COLUMNS: 150
- TERM: xterm-256color
steps:
- restore_cache:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
- run:
name: Install EFL
command: apk add /pkg/efl-1.24.3-r0.apk /pkg/efl-dev-1.24.3-r0.apk
command: apk add /pkg/efl-latest.apk /pkg/efl-dev-latest.apk
- run:
name: Compile with GCC
name: Compile with Clang
command: |
cd /terminology
meson -Dnls=false . build
meson -Dnls=false -Dtests=true -Dfuzzing=true . build
meson configure build
cd build
ninja -j4
build_and_test_debug_gcc_efl_latest:
build_and_test_clang_asan_efl_latest:
docker:
- image: borisfaure/terminology-ci:latest
shell: /bin/sh -leo pipefail
environment:
- BASH_ENV: /etc/profile
- CC: clang
- CFLAGS: -O0 -pipe -g -fno-omit-frame-pointer -fsanitize=address -fno-sanitize-recover=address
- COLUMNS: 150
- TERM: xterm-256color
steps:
- restore_cache:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
@ -88,12 +131,10 @@ jobs:
name: Install EFL
command: apk add /pkg/efl-latest.apk /pkg/efl-dev-latest.apk
- run:
name: Compile with GCC
environment:
CFLAGS: -O0 -g
name: Compile with Clang
command: |
cd /terminology
meson -Dnls=false -Dtests=true -Dfuzzing=true -Db_coverage=true -Dbuildtype=debug . build
meson -Dnls=false -Dtests=true . build
meson configure build
cd build
ninja -j4
@ -104,22 +145,42 @@ jobs:
tests/run_tests.sh -v -t build/src/bin/tytest -r tests/tests.results -d tests/
build/src/bin/tytest dummy
build/src/bin/tytest all
build_and_test_clang_msan_efl_latest:
docker:
- image: borisfaure/terminology-ci:latest
environment:
- CC: clang
- CFLAGS: -O0 -pipe -g -fno-omit-frame-pointer -fsanitize=memory -fno-sanitize-recover=memory
- COLUMNS: 150
- TERM: xterm-256color
steps:
- restore_cache:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
- run:
name: codecov
name: Install EFL
command: apk add /pkg/efl-latest.apk /pkg/efl-dev-latest.apk
- run:
name: Compile with Clang
command: |
cd /terminology/build/
cd src/bin
rm -fr *@@terminology@exe *@@tyalpha@exe *@@tybg@exe *@@tycat@exe
rm -fr *@@tyfuzz@exe *@@tyls@exe *@@typop@exe *@@tyq@exe
rm -fr *@@tysend@exe
cd /terminology/build/
curl -s https://codecov.io/bash > .codecov
chmod +x .codecov
sed -i.bak 's/execdir/exec/' .codecov
./.codecov -Z
build_and_test_release_gcc_efl_latest:
cd /terminology
meson -Dnls=false -Dtests=true . build
meson configure build
cd build
ninja -j4
- run:
name: Launch tests
command: |
cd /terminology
build/src/bin/tytest dummy
build/src/bin/tytest all
build_and_test_clang_lsan_efl_latest:
docker:
- image: borisfaure/terminology-ci:latest
environment:
- CC: clang
- CFLAGS: -O0 -pipe -g -fno-omit-frame-pointer -fsanitize=leak -fno-sanitize-recover=leak
- COLUMNS: 150
- TERM: xterm-256color
steps:
- restore_cache:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
@ -127,12 +188,10 @@ jobs:
name: Install EFL
command: apk add /pkg/efl-latest.apk /pkg/efl-dev-latest.apk
- run:
name: Compile with GCC
environment:
CFLAGS: -O0 -g
name: Compile with Clang
command: |
cd /terminology
meson -Dnls=false -Dtests=true -Dbuildtype=release . build
meson -Dnls=false -Dtests=true . build
meson configure build
cd build
ninja -j4
@ -143,11 +202,14 @@ jobs:
tests/run_tests.sh -v -t build/src/bin/tytest -r tests/tests.results -d tests/
build/src/bin/tytest dummy
build/src/bin/tytest all
build_full_clang_efl_latest:
build_and_test_clang_isan_efl_latest:
docker:
- image: borisfaure/terminology-ci:latest
environment:
- CC: clang
- CFLAGS: -O0 -pipe -g -fno-omit-frame-pointer -fsanitize=integer -fno-sanitize-recover=integer
- COLUMNS: 150
- TERM: xterm-256color
steps:
- restore_cache:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
@ -158,16 +220,25 @@ jobs:
name: Compile with Clang
command: |
cd /terminology
meson -Dnls=false -Dtests=true -Dfuzzing=true . build
meson -Dnls=false -Dtests=true . build
meson configure build
cd build
ninja -j4
- run:
name: Launch tests
command: |
cd /terminology
tests/run_tests.sh -v -t build/src/bin/tytest -r tests/tests.results -d tests/
build/src/bin/tytest dummy
build/src/bin/tytest all
build_and_test_clang_ubsan_efl_latest:
docker:
- image: borisfaure/terminology-ci:latest
environment:
- CC: clang
- CFLAGS: -O0 -pipe -g -fno-omit-frame-pointer -fsanitize=undefined,float-divide-by-zero,unsigned-integer-overflow,implicit-conversion,local-bounds,nullability -fno-sanitize-recover=undefined,float-divide-by-zero,unsigned-integer-overflow,implicit-conversion,local-bounds,nullability
- CFLAGS: -O0 -pipe -g -fno-omit-frame-pointer -fsanitize=undefined -fno-sanitize-recover=undefined
- COLUMNS: 150
- TERM: xterm-256color
steps:
- restore_cache:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
@ -195,22 +266,22 @@ workflows:
build-and-deploy:
jobs:
- checkout_code
- build_minimal_gcc_efl-1_22:
- build_and_test_debug_gcc_efl_latest:
requires:
- checkout_code
- build_minimal_gcc_efl-1_23:
- build_and_test_release_gcc_efl_latest:
requires:
- checkout_code
- build_minimal_gcc_efl-1_24:
- build_full_clang_efl_latest:
requires:
- checkout_code
- build_and_test_debug_gcc_efl_latest:
- build_and_test_clang_asan_efl_latest:
requires:
- checkout_code
- build_and_test_release_gcc_efl_latest:
- build_and_test_clang_msan_efl_latest:
requires:
- checkout_code
- build_full_clang_efl_latest:
- build_and_test_clang_lsan_efl_latest:
requires:
- checkout_code
- build_and_test_clang_ubsan_efl_latest:

@ -0,0 +1,19 @@
name: coccinelle
on: [push]
jobs:
coccinelle:
runs-on: ubuntu-22.04
steps:
- name: install coccinelle
run: |
sudo apt update
sudo apt upgrade -y
sudo apt install -y coccinelle
- name: Checkout
uses: actions/checkout@v3
with:
token: ${{ github.token }}
- name: coccinelle check
run: scripts/coccinelle/coccicheck.sh

@ -104,8 +104,6 @@ proportion is configurable, like this for a 80/20 proportion:
Now that we are happy with the content of `FooBar.ini`, we can call
the script `add_color_scheme.sh` stored in `data/color_schemes/` as seen
below:
`add_color_scheme.sh eet ~/.config/terminology/colorschemes.eet FooBar.ini`
`add_color_scheme.sh eet ~/.config/terminology/colorschemes/FooBar.eet FooBar.ini`
Now you should be able to select your color scheme in Terminology!

@ -1,3 +1,15 @@
2022-01-03
* Release v1.12.1
* Build and install Default colorscheme
* Correctly set the version
2022-01-02
* Release v1.12.0
* New default theme!
* Support EFL 1-26 or newer only
* Colorschemes generate their own configuration file, allowing for
easy management of outside contributions
2021-11-11
* Release v1.11.0
* Support for focus reporting escape codes

@ -1,6 +1,21 @@
=================
Terminology 1.8.0
=================
==================
Terminology 1.12.1
==================
Changes since 1.12.1:
--------------------
* Add part "terminology.fade" in group "terminology/core" to set the color
used to fade the background of the terminal. Terminology sets it to the
background color of the colorscheme.
Changes since 1.11.0:
--------------------
* New default theme!
Changes since 1.8.0:
--------------------
* Add group "terminology/color_preview" to display a preview of a
colorscheme.
Changes since 1.7.0:
--------------------

@ -1,4 +1,4 @@
A simple documentation to navige through the C files:
A simple documentation to navigate through the C files:
* `src/bin/about.c` handles the About widget
* `src/bin/backlog.c`: backlog handling

@ -1,59 +0,0 @@
** COMPILING and INSTALLING **
------------------------------
Meson is the build system used for this project. For more information please
see:
http://mesonbuild.com
----
Normal compilation in /usr/local:
meson . build
ninja -C build
sudo ninja -C build install
For meson build generic options:
meson --help
For a list of project specific options supported:
cat meson_options.txt
To set 1 or more project specific options:
meson --prefix=/path/to -Doption=value [-Dother=value2] [...] . build
To display current configuration:
meson configure build
The above will only work after at least the following is done:
meson . build
** QUICK AND DIRTY HELP **
--------------------------
How clean out the build and config and start fresh:
rm -rf build
How to make a dist tarball and check its build:
(must do it from git tree clone and commit all changes to git first)
ninja -C build dist
How to change prefix:
meson --prefix=/path/to/prefix . build
How to install in a specific destination directory for packaging:
DESTDIR=/path/to/destdir ninja -C build install
How to build with verbose output (full commands run):
ninja -C build -v

23
NEWS

@ -1,10 +1,29 @@
==================
Terminology 1.11.0
Terminology 1.12.1
==================
Changes since 1.12.0:
---------------------
Fixes:
* Build and install Default colorscheme
* Correctly set the version
Changes since 1.11.0:
---------------------
Additions:
* New default theme!
Improvements:
* Support EFL 1-26 or newer only
* Colorschemes generate their own configuration file, allowing for easy
management of outside contributions
Changes since 1.10.0:
--------------------
---------------------
Additions:
* Support for focus reporting escape codes

@ -1,174 +1,165 @@
Terminology 1.11.0
==================
![Terminology](/data/readme/terminology.png)
# Terminology
This is an EFL terminal emulator with some extra bells and whistles.
-----
:warning: :warning: :warning:
*Please report bugs/issues at*
[git.enlightenment.org](https://git.enlightenment.org/enlightenment/terminology/issues)
> FOR ANY ISSUES, PLEASE CONSULT THEM ON
> http://issues.terminolo.gy/
:warning: :warning: :warning:
-----
[![Coverity](https://scan.coverity.com/projects/terminology/badge.svg)](https://scan.coverity.com/projects/terminology)
[![CircleCI](https://circleci.com/gh/borisfaure/terminology.svg?style=shield)](https://circleci.com/gh/borisfaure/terminology)
[![Codecov](https://codecov.io/gh/borisfaure/terminology/branch/master/graph/badge.svg)](https://codecov.io/gh/borisfaure/terminology)
[![Codacy](https://api.codacy.com/project/badge/Grade/49a51811016a44279cb969af82cd246f)](https://www.codacy.com/app/borisfaure/terminology)
[![Twitter: _Terminology_](https://img.shields.io/twitter/follow/_Terminology_?style=social)](https://twitter.com/_Terminology_)
[![Snapcraft](https://snapcraft.io//terminology/badge.svg)](https://snapcraft.io/terminology)
[![Weblate](https://hosted.weblate.org/widgets/terminology/-/terminology/svg-badge.svg)](https://hosted.weblate.org/engage/terminology/)
Requirements
------------
-----
* `efl` (>= 1.22.0)
This is an EFL terminal emulator with some extra bells and whistles
such as the ability to display in-line images, video and even play
music files, background images, videos, Z-Modem like sending (e.g. SSH
into a server and use tysend to send a file back to the local
terminal), GPU Accelerated rendering (optional - just set the
EFL Elementary toolkit engine to use OpenGL) and much more.
Please see http://www.enlightenment.org for information on these.
## Requirements
* [efl](https://git.enlightenment.org/enlightenment/efl)
Compiling
---------
Please see http://www.enlightenment.org for information on these.
Once you have met requirements, compiling and installing is simple:
## Compiling
```sh
meson build
cd build
ninja
ninja install
Once you have met requirements, compiling and installing are simple:
``` sh
meson build
ninja -C build
sudo ninja -C build install
```
Note: to make terminology work with input methods in general you need:
At the end of this file is more complete information on cimpiling and
installing.
```sh
export ECORE_IMF_MODULE="xim"
export XMODIFIERS="@im=none"
```
**NOTE:** to make terminology work with input methods in general you need:
``` sh
export ECORE_IMF_MODULE="xim"
export XMODIFIERS="@im=none"
```
Themes
------
## Themes
Apart from the ones shipped with Terminology, themes can be stored in
`~/.config/terminology/themes/` .
`~/.config/terminology/themes/`.
Documentation on themes is written in [THEMES.md](THEMES.md).
Color Schemes
-------------
## Color Schemes
Terminology ships with some common color schemes.
To know how to modify or add some new color schemes, please read
[COLORSCHEMES.md](COLORSCHEMES.md).
Mouse controls
--------------
* `Right mouse button` = controls menu
* `Middle mouse button` = paste highlight selection
* `Left mouse button/drag` = make highlight
* `Wheel` = scroll up or down in history
* `Ctrl+Wheel` = zoom font size up/down
* `Ctrl+Left mouse button/drag` = make block selection highlight
Default key controls
--------------------
* `Shift+PgUp` = Scroll 1 page up
* `Shift+PgDn` = Scroll 1 page down
* `Shift+Up` = Scroll 1 line up
* `Shift+Down` = Scroll 1 line down
* `Shift+Home` = Scroll to the top of the backlog
* `Shift+End` = Reset scroll
* `Shift+Left` = switch focus to previous terminal inside a window
* `Shift+Right` = switch focus to next terminal inside a window
* `Shift+Insert` = Paste Clipboard (`ctrl+v/c`) selection
* `Shift+Ctrl+Insert` = Paste Primary (highlight) selection
* `Shift+Keypad-Plus` = Font size up 1
* `Shift+Keypad-Minus` = Font size down 1
* `Shift+Keypad-Multiply` = Reset font size
* `Shift+Keypad-Divide` = Copy highlight to Clipboard (same as `Ctrl+c` in gui apps)
* `Ctrl+PgUp` = switch focus to previous terminal inside a window
* `Ctrl+PgDn` = switch focus to next terminal inside a window
* `Ctrl+Shift+t` = create new terminal on top of current inside window (tabs)
* `Ctrl+Shift+End` = close the focused terminal.
* `Ctrl+Shift+h` = toggle displaying the miniview of the history
* `Ctrl+Shift+Home` = bring up "tab" switcher
* `Ctrl+Shift+PgUp` = split terminal horizontally (1 term above the other)
* `Ctrl+Shift+PgDn` = split terminal vertically (1 term to the left of the other)
* `Ctrl+Shift+c` = copy current selection to clipboard
* `Ctrl+Shift+v` = paste current clipboard selection
* `Alt+Home` = Enter command mode (enter commands to control terminology itself)
* `Alt+Return` = Paste primary selection
* `Alt+g` = Group input: send input to all visible terminals in the window
* `Alt+Shift+g` = Group input: send input to all terminals in the window
* `Alt+w` = Copy selection to primary
* `Alt+Up` = Focus the terminal above
* `Alt+Down` = Focus the terminal below
* `Alt+Left` = Focus the terminal on the left
* `Alt+Right` = Focus the terminal on the right
* `Ctrl+Alt+Equal` = Font size up 1
* `Ctrl+Alt+Minus` = Font size down 1
* `Ctrl+Alt+0` = Reset font size
* `Ctrl+Alt+9` = Big font size
* `Ctrl+Alt+t` = Set terminal title
* `Ctrl+1` = switch to terminal tab 1
* `Ctrl+2` = switch to terminal tab 2
* `Ctrl+3` = switch to terminal tab 3
* `Ctrl+4` = switch to terminal tab 4
* `Ctrl+5` = switch to terminal tab 5
* `Ctrl+6` = switch to terminal tab 6
* `Ctrl+7` = switch to terminal tab 7
* `Ctrl+8` = switch to terminal tab 8
* `Ctrl+9` = switch to terminal tab 9
* `Ctrl+0` = switch to terminal tab 10
Companion tools
---------------
## Mouse controls
* `Right mouse button` = controls menu
* `Middle mouse button` = paste highlight selection
* `Left mouse button/drag` = make highlight
* `Wheel` = scroll up or down in history
* `Ctrl+Wheel` = zoom font size up/down
* `Ctrl+Left mouse button/drag` = make block selection highlight
## Default key controls
* `Shift+PgUp` = Scroll 1 page up
* `Shift+PgDn` = Scroll 1 page down
* `Shift+Up` = Scroll 1 line up
* `Shift+Down` = Scroll 1 line down
* `Shift+Home` = Scroll to the top of the backlog
* `Shift+End` = Reset scroll
* `Shift+Left` = switch focus to previous terminal inside a window
* `Shift+Right` = switch focus to next terminal inside a window
* `Shift+Insert` = Paste Clipboard (`ctrl+v/c`) selection
* `Shift+Ctrl+Insert` = Paste Primary (highlight) selection
* `Shift+Keypad-Plus` = Font size up 1
* `Shift+Keypad-Minus` = Font size down 1
* `Shift+Keypad-Multiply` = Reset font size
* `Shift+Keypad-Divide` = Copy highlight to Clipboard (same as `Ctrl+c` in gui apps)
* `Ctrl+PgUp` = switch focus to previous terminal inside a window
* `Ctrl+PgDn` = switch focus to next terminal inside a window
* `Ctrl+Shift+t` = create new terminal on top of current inside window (tabs)
* `Ctrl+Shift+End` = close the focused terminal.
* `Ctrl+Shift+h` = toggle displaying the miniview of the history
* `Ctrl+Shift+Home` = bring up "tab" switcher
* `Ctrl+Shift+PgUp` = split terminal horizontally (1 term above the other)
* `Ctrl+Shift+PgDn` = split terminal vertically (1 term to the left of the other)
* `Ctrl+Shift+c` = copy current selection to clipboard
* `Ctrl+Shift+v` = paste current clipboard selection
* `Alt+Home` = Enter command mode (enter commands to control terminology itself)
* `Alt+Return` = Paste primary selection
* `Alt+g` = Group input: send input to all visible terminals in the window
* `Alt+Shift+g` = Group input: send input to all terminals in the window
* `Alt+w` = Copy selection to primary
* `Alt+Up` = Focus the terminal above
* `Alt+Down` = Focus the terminal below
* `Alt+Left` = Focus the terminal on the left
* `Alt+Right` = Focus the terminal on the right
* `Ctrl+Alt+Equal` = Font size up 1
* `Ctrl+Alt+Minus` = Font size down 1
* `Ctrl+Alt+0` = Reset font size
* `Ctrl+Alt+9` = Big font size
* `Ctrl+Alt+t` = Set terminal title
* `Ctrl+1` = switch to terminal tab 1
* `Ctrl+2` = switch to terminal tab 2
* `Ctrl+3` = switch to terminal tab 3
* `Ctrl+4` = switch to terminal tab 4
* `Ctrl+5` = switch to terminal tab 5
* `Ctrl+6` = switch to terminal tab 6
* `Ctrl+7` = switch to terminal tab 7
* `Ctrl+8` = switch to terminal tab 8
* `Ctrl+9` = switch to terminal tab 9
* `Ctrl+0` = switch to terminal tab 10
## Companion tools
Terminology ships with a set of tools to help you get the best out of
Terminology.
* `tyls`: list directory contents with bells and whistles
* `tyalpha`: set transparency level of the background
* `tybg`: change the background image
* `tycat`: display inline a media file or a URI
* `typop`: display in a popup a media file or a URI
* `tyq`: queue media files or URI to be popped up
* `tysend`: send files to the terminal (useful through ssh)
* `tyls`: list directory contents with bells and whistles
* `tyalpha`: set transparency level of the background
* `tybg`: change the background image
* `tycat`: display inline a media file or a URI
* `typop`: display in a popup a media file or a URI
* `tyq`: queue media files or URI to be popped up
* `tysend`: send files to the terminal (useful through ssh)
Extended escapes for terminology only
--------------------------------------
## Extended escapes for terminology only
`[\033][}][COMMAND][\000]`
i.e.
1. `ESC` char (`\033` or `0x1b`)
2. `}` char
3. a sequence of UTF8 chars other than `nul` (`\000` or `0x00`).
4. `\000` char (`nul` byte or `0x00` to indicate end of sequence)
1. `ESC` char (`\033` or `0x1b`)
2. `}` char
3. a sequence of UTF8 chars other than `nul` (`\000` or `0x00`).
4. `\000` char (`nul` byte or `0x00` to indicate end of sequence)
e.g.
``` sh
`echo -n '\033}Hello world\000'`
```
## Commands
In the following, any values inside square brackets `[]` are to be replaced
by some content (numbers, strings, paths, url's etc.).
examples:
Examples:
* `aa[PATH-OF-FILE]` should become something like: `aa/tmp/file.png`
* `aa[true/false]` should become something like: `aatrue` or `aafalse`
* `aa[PATH-OF-FILE]` should become something like: `aa/tmp/file.png`
* `aa[true/false]` should become something like: `aatrue` or `aafalse`
## Available commands
@ -221,7 +212,7 @@ examples:
destination URI when a user may click on the given media image.
example:
```sh
``` sh
printf("\033}is#5;3;%s\000"
"\033}ib\000#####\033}ie\000\n"
"\033}ib\000#####\033}ie\000\n"
@ -347,3 +338,107 @@ examples:
* `fx`
exit file send mode (normally at the end of the file or when it's
complete)
## Compiling and Installing
Meson is the build system used for this project. For more information
please see [mesonbuild.com](https://mesonbuild.com)
You will need normal build tooling installed such as a compiler (gcc
or clang for example), pkg-config, ninja, any relevant package-dev or
package-devel packages if your distribution splits out development
headers (e.g. libc6-dev) etc.
Depending on where dependencies (like efl) are installed, you might have to
set your `PKG_CONFIG_PATH` environment variable like:
```sh
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig
```
Also note that some distributions like to add extra arch directories
to your library locations so you might have to have more like:
```sh
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:/usr/local/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig
```
You will need to ensure that the destination library directory (e.g.
`/usr/local/lib` is in your /etc/ld.so.conf or /etc/ld.so.conf.d/
files and after installing anything that installs libraries you
re-run `ldconfig`. Please see relevant documentation on ldconfig and
ld.so.conf for your distribution.
You might also want to add the destination bin dir to your environment
variable PATH (see documentation on your shell PATH variable) such as:
```sh
export PATH=/usr/local/bin:/usr/bin:/bin
```
Normal compilation in /usr/local:
```sh
meson . build
ninja -C build
sudo ninja -C build install
```
For meson build generic options:
```sh
meson --help
```
For a list of project specific options supported:
```sh
cat meson_options.txt
```
To set 1 or more project specific options:
```sh
meson --prefix=/path/to -Doption=value [-Dother=value2] [...] . build
```
To display current configuration:
```sh
meson configure build
```
The above will only work after at least the following is done:
```sh
meson . build
```
### Quick build help
How to clean out the build and config and start fresh:
```sh
rm -rf build
```
How to make a dist tarball and check its build:
(must do it from git tree clone and commit all changes to git first)
```sh
ninja -C build dist
```
How to change prefix:
```sh
meson --prefix=/path/to/prefix . build
```
How to install in a specific destination directory for packaging:
```sh
DESTDIR=/path/to/destdir ninja -C build install
```
How to build with verbose output (full commands run):
```sh
ninja -C build -v
```
## Running on framebuffer
Terminology can run on the framebuffer, if EFL is compiled with ``fb`` or
``drm`` support.
Then the following environment need to be set:
* ``ELM_DISPLAY=fb``
* ``ELM_ACCEL=none``
* ``EVAS_FB_DEV=/dev/fb0``

@ -17,14 +17,19 @@ on all the following edje groups:
* `HIGHLIGHT`: the color used as main color when an element is highlighted
* `GLOW_TXT`: text colors with some glow
* `GLOW_TXT_HIGHLIGHT`: text with glow that is highlighted
* `END_SELECTION`: on selections, the color of the handles used to expand or shrink
the area of the selection
* `TAB_MISSED`: the number of tabs where a bell has rung, tabs that need
attention
* `TAB_MISSED_OVER`: same but when the mouse is over that number
* `TAB_TITLE`: the colors of the active tab title
* `BG_SENDFILE` is the background color when there is a sendfile action. See
`man tysend`. It is set to `#404040`.
* `END_SELECTION`: on selections, the color of the handles used to expand or shrink
the area of the selection
* `/fg/normal/term/selection/arrow/left`,
`/fg/normal/term/selection/arrow/down`,
`/fg/normal/term/selection/arrow/up`,
`/fg/normal/term/selection/arrow/right` replace `END_SELECTION` and are used
to control the different arrows used to change the area of the selection
The following table explains how color classes are set from color scheme
values:
@ -176,6 +181,11 @@ To notify that the current tab is being dragged outside of other tabs.
## Swallowed parts
### Part `terminology.fade`
Part used to fade the background, either with a solid color or the screen
background when the `translucent` option is set.
### Part `terminology.background`
Actual background.
@ -252,8 +262,12 @@ __TODO__
# Group `terminology/selection`
An object used when selecting text.
__TODO__
## Parts
### Parts `terminology.top_left` and `terminology.bottom_right`
Swallow parts used to communicate via min/max size the size of the top and
bottom lines.
# Group `terminology/cursor`

@ -1,5 +0,0 @@
#!/bin/sh
rm -rf build
meson $@ . build
meson configure build

@ -11,8 +11,8 @@ license = CC-BY-SA-4.0
[Colors]
bg = #d5ccba
main = #964700
hl = #ffffff
end_sel = #ff3300
hl = #332211
end_sel = #bf5b00
tab_missed_1 = #ff9933
tab_missed_2 = #ff3300
tab_missed_3 = #ff0000