Compare commits

..

No commits in common. 'master' and 'devs/simotek/colorschemes' have entirely different histories.

  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

@ -0,0 +1,7 @@
{
"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:
- COLUMNS: 150
- TERM: xterm-256color
- BASH_ENV: /etc/profile
steps:
- run: |
cd /terminology
@ -24,106 +24,63 @@ jobs:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
paths:
- /terminology
build_and_test_debug_gcc_efl_latest:
build_minimal_gcc_efl-1_22:
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-latest.apk /pkg/efl-dev-latest.apk
command: apk add /pkg/efl-1.22.6-r0.apk /pkg/efl-dev-1.22.6-r0.apk
- run:
name: Compile with GCC
environment:
CFLAGS: -O0 -g
command: |
cd /terminology
meson -Dnls=false -Dtests=true -Dfuzzing=true -Db_coverage=true -Dbuildtype=debug . build
meson -Dnls=false . 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
- 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:
build_minimal_gcc_efl-1_23:
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-latest.apk /pkg/efl-dev-latest.apk
command: apk add /pkg/efl-1.23.3-r2.apk /pkg/efl-dev-1.23.3-r2.apk
- run:
name: Compile with GCC
environment:
CFLAGS: -O0 -g
command: |
cd /terminology
meson -Dnls=false -Dtests=true -Dbuildtype=release . build
meson -Dnls=false . 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_full_clang_efl_latest:
build_minimal_gcc_efl-1_24:
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-latest.apk /pkg/efl-dev-latest.apk
command: apk add /pkg/efl-1.24.3-r0.apk /pkg/efl-dev-1.24.3-r0.apk
- run:
name: Compile with Clang
name: Compile with GCC
command: |
cd /terminology
meson -Dnls=false -Dtests=true -Dfuzzing=true . build
meson -Dnls=false . build
meson configure build
cd build
ninja -j4
build_and_test_clang_asan_efl_latest:
build_and_test_debug_gcc_efl_latest:
docker:
- image: borisfaure/terminology-ci:latest
shell: /bin/sh -leo pipefail
environment:
- CC: clang
- CFLAGS: -O0 -pipe -g -fno-omit-frame-pointer -fsanitize=address -fno-sanitize-recover=address
- COLUMNS: 150
- TERM: xterm-256color
- BASH_ENV: /etc/profile
steps:
- restore_cache:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
@ -131,10 +88,12 @@ jobs:
name: Install EFL
command: apk add /pkg/efl-latest.apk /pkg/efl-dev-latest.apk
- run:
name: Compile with Clang
name: Compile with GCC
environment:
CFLAGS: -O0 -g
command: |
cd /terminology
meson -Dnls=false -Dtests=true . build
meson -Dnls=false -Dtests=true -Dfuzzing=true -Db_coverage=true -Dbuildtype=debug . build
meson configure build
cd build
ninja -j4
@ -145,42 +104,22 @@ 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: Install EFL
command: apk add /pkg/efl-latest.apk /pkg/efl-dev-latest.apk
- run:
name: Compile with Clang
command: |
cd /terminology
meson -Dnls=false -Dtests=true . build
meson configure build
cd build
ninja -j4
- run:
name: Launch tests
name: codecov
command: |
cd /terminology
build/src/bin/tytest dummy
build/src/bin/tytest all
build_and_test_clang_lsan_efl_latest:
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:
- 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 }}
@ -188,10 +127,12 @@ jobs:
name: Install EFL
command: apk add /pkg/efl-latest.apk /pkg/efl-dev-latest.apk
- run:
name: Compile with Clang
name: Compile with GCC
environment:
CFLAGS: -O0 -g
command: |
cd /terminology
meson -Dnls=false -Dtests=true . build
meson -Dnls=false -Dtests=true -Dbuildtype=release . build
meson configure build
cd build
ninja -j4
@ -202,14 +143,11 @@ 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_isan_efl_latest:
build_full_clang_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 }}
@ -220,25 +158,16 @@ jobs:
name: Compile with Clang
command: |
cd /terminology
meson -Dnls=false -Dtests=true . build
meson -Dnls=false -Dtests=true -Dfuzzing=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 -fno-sanitize-recover=undefined
- COLUMNS: 150
- TERM: xterm-256color
- 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
steps:
- restore_cache:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
@ -266,22 +195,22 @@ workflows:
build-and-deploy:
jobs:
- checkout_code
- build_and_test_debug_gcc_efl_latest:
- build_minimal_gcc_efl-1_22:
requires:
- checkout_code
- build_and_test_release_gcc_efl_latest:
- build_minimal_gcc_efl-1_23:
requires:
- checkout_code
- build_full_clang_efl_latest:
- build_minimal_gcc_efl-1_24:
requires:
- checkout_code
- build_and_test_clang_asan_efl_latest:
- build_and_test_debug_gcc_efl_latest:
requires:
- checkout_code
- build_and_test_clang_msan_efl_latest:
- build_and_test_release_gcc_efl_latest:
requires:
- checkout_code
- build_and_test_clang_lsan_efl_latest:
- build_full_clang_efl_latest:
requires:
- checkout_code
- build_and_test_clang_ubsan_efl_latest:

@ -1,19 +0,0 @@
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,6 +104,8 @@ 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/FooBar.eet FooBar.ini`
`add_color_scheme.sh eet ~/.config/terminology/colorschemes.eet FooBar.ini`
Now you should be able to select your color scheme in Terminology!

@ -1,15 +1,3 @@
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,21 +1,6 @@
==================
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.
=================
Terminology 1.8.0
=================
Changes since 1.7.0:
--------------------

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

@ -0,0 +1,59 @@
** 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,29 +1,10 @@
==================
Terminology 1.12.1
Terminology 1.11.0
==================
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,165 +1,174 @@
![Terminology](/data/readme/terminology.png)
# Terminology
Terminology 1.11.0
==================
-----
This is an EFL terminal emulator with some extra bells and whistles.
*Please report bugs/issues at*
[git.enlightenment.org](https://git.enlightenment.org/enlightenment/terminology/issues)
:warning: :warning: :warning:
-----
> 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/)
-----
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.
Requirements
------------
## Requirements
* [efl](https://git.enlightenment.org/enlightenment/efl)
* `efl` (>= 1.22.0)
Please see http://www.enlightenment.org for information on these.
## Compiling
Once you have met requirements, compiling and installing are simple:
Compiling
---------
``` sh
meson build
ninja -C build
sudo ninja -C build install
```
Once you have met requirements, compiling and installing is simple:
At the end of this file is more complete information on cimpiling and
installing.
```sh
meson build
cd build
ninja
ninja install
```
**NOTE:** to make terminology work with input methods in general you need:
Note: to make terminology work with input methods in general you need:
``` sh
export ECORE_IMF_MODULE="xim"
export XMODIFIERS="@im=none"
```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
@ -212,7 +221,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"
@ -338,107 +347,3 @@ 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,19 +17,14 @@ 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:
@ -181,11 +176,6 @@ 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.
@ -262,12 +252,8 @@ __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`

@ -0,0 +1,5 @@
#!/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 = #332211
end_sel = #bf5b00
hl = #ffffff
end_sel = #ff3300
tab_missed_1 = #ff9933
tab_missed_2 = #ff3300
tab_missed_3 = #ff0000

@ -12,7 +12,7 @@ license = CC-BY-SA-4.0
bg = #20111b
main = #e26b00
hl = #ffffff
end_sel = #bf5b00
end_sel = #ff3300
tab_missed_1 = #ff9933
tab_missed_2 = #ff3300
tab_missed_3 = #ff0000

@ -12,7 +12,7 @@ license = BSD-2-Clause
bg = #000000
main = #dcdcdc
hl = #ffffff
end_sel = #ffffff
end_sel = #ff0000
tab_missed_1 = #ff9933
tab_missed_2 = #ff3300
tab_missed_3 = #ff0000

@ -12,7 +12,7 @@ license = MIT
bg = #122637
main = #f0cb09
hl = #ffffff
end_sel = #f0cb09
end_sel = #ff3300
tab_missed_1 = #ff9933
tab_missed_2 = #ff3300
tab_missed_3 = #ff0000

@ -1,4 +1,3 @@
# The content is hard coded in src/bin/colors.c
[Main]
version = 1
@ -13,7 +12,7 @@ license = BSD-2-Clause
bg = #202020
main = #3599ff
hl = #ffffff
end_sel = #3599ff
end_sel = #ff3300
tab_missed_1 = #ff9933
tab_missed_2 = #ff3300
tab_missed_3 = #ff0000
@ -25,13 +24,13 @@ tab_title_2 = #000000
[Normal]
def = #aaaaaa
black = #000000
red = #cc3333
green = #33cc33
yellow = #cc8833
blue = #3333cc
magenta = #cc33cc
cyan = #33cccc
white = #cccccc
red = #c00000
green = #00c000
yellow = #c0c000
blue = #0000c0
magenta = #c000c0
cyan = #00c0c0
white = #c0c0c0
inverse_fg = #222222
inverse_bg = #aaaaaa

@ -12,7 +12,7 @@ license = MIT
bg = #282A36
main = #bd93f9
hl = #ffffff
end_sel = #bd93f9
end_sel = #ff3300
tab_missed_1 = #ff9933
tab_missed_2 = #ff3300
tab_missed_3 = #ff0000

@ -12,7 +12,7 @@ license = MIT
bg = #000000
main = #4d729f
hl = #ffffff
end_sel = #3599ff
end_sel = #ff3300
tab_missed_1 = #ff9933
tab_missed_2 = #ff3300
tab_missed_3 = #ff0000

@ -1,78 +0,0 @@
;; Based on Default.ini, but with green-ish main color and black-green bg,
;; and some brighter colors (red, blue, etc) to be more distinctive against that background.
;; New brighter colors are produced using e.g.: gtk-color-calc 'shade(#9696e0, 1.1)'
;; Faint colors simply have alpha=c8 instead of being blended with full opacity, so can be updated easily here.
[Main]
version = 1
[Metadata]
version = 1
name = Dark Fir
author = Terminology developers, mk-fg
license = BSD-2-Clause
[Colors]
bg = #001800
main = #3599ff
hl = #ffffff
end_sel = #3599ff
tab_missed_1 = #ff9933
tab_missed_2 = #ff3300
tab_missed_3 = #ff0000
tab_missed_over_1 = #ffff40
tab_missed_over_2 = #ff9933
tab_missed_over_3 = #ff0000
tab_title_2 = #000000
[Normal]
def = #79fe6c
black = #000000
red = #d31200
green = #1ad91a
yellow = #c0c000
blue = #9696e0
magenta = #c000c0
cyan = #00c0c0
white = #c0c0c0
inverse_fg = #222222
inverse_bg = #aaaaaa
[Bright]
def = #baffb3
black = #404040
red = #ff6666
green = #00ff00
yellow = #ffff66
blue = #b0b0eb
magenta = #ff66ff
cyan = #66ffff
white = #ffffff
inverse_fg = #111111
inverse_bg = #eeeeee
[Faint]
def = #79fe6cc8
black = #000000c8
red = #d31200c8
green = #1ad91ac8
yellow = #c0c000c8
blue = #9696e0c8
magenta = #c000c0c8
cyan = #00c0c0c8
white = #c0c0c0c8
inverse_fg = #222222c8
inverse_bg = #aaaaaac8
[BrightFaint]
def = #baffb3c8
black = #404040c8
red = #ff6666c8
green = #00ff00c8
yellow = #ffff66c8
blue = #b0b0ebc8
magenta = #ff66ffc8
cyan = #66ffffc8
white = #ffffffc8
inverse_fg = #111111c8
inverse_bg = #eeeeeec8

@ -12,7 +12,7 @@ license = BSD-2-Clause
bg = #303030
main = #dcdcdc
hl = #ffffff
end_sel = #ffffff
end_sel = #ff0000
tab_missed_1 = #ff9933
tab_missed_2 = #ff3300
tab_missed_3 = #ff0000

@ -12,7 +12,7 @@ license = MIT
bg = #1a1a1a
main = #3399ff
hl = #ffffff
end_sel = #3599ff
end_sel = #ff0000
tab_missed_1 = #ff9933
tab_missed_2 = #ff3300
tab_missed_3 = #ff0000

@ -12,7 +12,7 @@ license = MIT
bg = #2e3440
main = #88c0d0
hl = #ffffff
end_sel = #88c0d0
end_sel = #ff3300
tab_missed_1 = #ff9933
tab_missed_2 = #ff3300
tab_missed_3 = #ff0000

@ -12,7 +12,7 @@ license = MIT
bg = #2b303b
main = #3399ff
hl = #ffffff
end_sel = #3399ff
end_sel = #ff0000
tab_missed_1 = #ff9933
tab_missed_2 = #ff3300
tab_missed_3 = #ff0000

@ -12,7 +12,7 @@ license = MIT
bg = #21252b
main = #abb2bf
hl = #ffffff
end_sel = #abb2bf
end_sel = #ff3300
tab_missed_1 = #ff9933
tab_missed_2 = #ff3300
tab_missed_3 = #ff0000

@ -12,7 +12,7 @@ license = MIT
bg = #292d3e
main = #ffcc00
hl = #ffffff
end_sel = #ffcc00
end_sel = #ff3300
tab_missed_1 = #ff9933
tab_missed_2 = #ff3300
tab_missed_3 = #ff0000

@ -11,7 +11,7 @@ license = MIT
[Colors]
bg = #eeeeee
main = #b7141e
hl = #222222
hl = #ffffff
end_sel = #88003d
tab_missed_1 = #ff9933
tab_missed_2 = #ff3300

@ -1,75 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Selenized Black
author = Jan Warchol
website = https://github.com/jan-warchol/selenized
license = MIT
[Colors]
bg = #181818
main = #3399ff
hl = #ffffff
end_sel = #3399ff
tab_missed_1 = #ff9933
tab_missed_2 = #ff3300
tab_missed_3 = #ff0000
tab_missed_over_1 = #ffff33
tab_missed_over_2 = #ff9933
tab_missed_over_3 = #ff0000
tab_title_2 = #000000
[Normal]
def = #b9b9b9
black = #252525
red = #ed4a46
green = #70b433
yellow = #dbb32d
blue = #368aeb
magenta = #eb6eb7
cyan = #3fc5b7
white = #777777
inverse_bg = #b9b9b9
inverse_fg = #181818
[Bright]
def = #dedede
black = #3b3b3b
red = #ff5e56
green = #83c746
yellow = #efc541
blue = #4f9cfe
magenta = #ff81ca
cyan = #56d8c9
white = #dedede
inverse_bg = #dedede
inverse_fg = #252525
[Faint]
def = #909090
black = #212121
red = #b73d3a
green = #5a8d2c
yellow = #aa8c27
blue = #2e6db6
magenta = #b6588f
cyan = #35998f
white = #5f5f5f
inverse_fg = #181818
inverse_bg = #909090
[BrightFaint]
def = #acacac
black = #323232
red = #c54c46
green = #689b3a
yellow = #b99936
blue = #417bc4
magenta = #c5669d
cyan = #46a89c
white = #acacac
inverse_fg = #212121
inverse_bg = #acacac

@ -1,75 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Selenized Dark
author = Jan Warchol
website = https://github.com/jan-warchol/selenized
license = MIT
[Colors]
bg = #103c48
main = #3399ff
hl = #ffffff
end_sel = #3399ff
tab_missed_1 = #ff9933
tab_missed_2 = #ff3300
tab_missed_3 = #ff0000
tab_missed_over_1 = #ffff33
tab_missed_over_2 = #ff9933
tab_missed_over_3 = #ff0000
tab_title_2 = #000000
[Normal]
def = #adbcbc
black = #184956
red = #fa5750
green = #75b938
yellow = #dbb32d
blue = #4695f7
magenta = #f275be
cyan = #41c7b9
white = #72898f
inverse_bg = #adbcbc
inverse_fg = #103c48
[Bright]
def = #cad8d9
black = #2d5b69
red = #ff665c
green = #84c747
yellow = #ebc13d
blue = #58a3ff
magenta = #ff84cd
cyan = #53d6c7
white = #cad8d9
inverse_bg = #cad8d9
inverse_fg = #184956
[Faint]
def = #859c9f
black = #164552
red = #bf504e
green = #5b993c
yellow = #a89533
blue = #387ecb
magenta = #b966a0
cyan = #34a49c
white = #59757d
inverse_fg = #103c48
inverse_bg = #859c9f
[BrightFaint]
def = #9bb1b4
black = #255360
red = #c35b57
green = #67a447
yellow = #b49f3f
blue = #4689d1
magenta = #c372ab
cyan = #42afa7
white = #9bb1b4
inverse_fg = #164552
inverse_bg = #9bb1b4