Compare commits

..

1 Commits

Author SHA1 Message Date
Mike Blumenkrantz e895d00693 add behavior option to disable focus-in/out animations and visuals
this is useful for CI
2017-03-13 12:02:52 -04:00
575 changed files with 30803 additions and 80749 deletions

4
.arcconfig Normal file
View File

@ -0,0 +1,4 @@
{
"project_id" : "terminology",
"conduit_uri" : "https://phab.enlightenment.org/"
}

View File

@ -1,289 +0,0 @@
version: 2.1
jobs:
checkout_code:
docker:
- image: borisfaure/terminology-ci:latest
environment:
- COLUMNS: 150
- TERM: xterm-256color
steps:
- run: |
cd /terminology
git pull --ff-only
if [ -n "$CIRCLE_PR_NUMBER" ]; then
git fetch origin pull/$CIRCLE_PR_NUMBER/head
else
if [ -n "$CIRCLE_SHA1" ]; then
git reset --hard $CIRCLE_SHA1
else
git reset --hard origin/master
fi
fi
- save_cache:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
paths:
- /terminology
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-latest.apk /pkg/efl-dev-latest.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 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:
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
- run:
name: Compile with GCC
environment:
CFLAGS: -O0 -g
command: |
cd /terminology
meson -Dnls=false -Dtests=true -Dbuildtype=release . 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:
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
- run:
name: Compile with Clang
command: |
cd /terminology
meson -Dnls=false -Dtests=true -Dfuzzing=true . build
meson configure build
cd build
ninja -j4
build_and_test_clang_asan_efl_latest:
docker:
- image: borisfaure/terminology-ci:latest
environment:
- 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 }}
- 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
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_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
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 }}
- 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
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_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 }}
- 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
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
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
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
path: /terminology
workflows:
version: 2
build-and-deploy:
jobs:
- checkout_code
- build_and_test_debug_gcc_efl_latest:
requires:
- checkout_code
- build_and_test_release_gcc_efl_latest:
requires:
- checkout_code
- build_full_clang_efl_latest:
requires:
- checkout_code
- build_and_test_clang_asan_efl_latest:
requires:
- checkout_code
- build_and_test_clang_msan_efl_latest:
requires:
- checkout_code
- build_and_test_clang_lsan_efl_latest:
requires:
- checkout_code
- build_and_test_clang_ubsan_efl_latest:
requires:
- checkout_code

View File

@ -1,2 +0,0 @@
fixes:
- "/terminology/::"

1
.github/FUNDING.yml vendored
View File

@ -1 +0,0 @@
github: borisfaure

View File

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

94
.gitignore vendored
View File

@ -1,6 +1,96 @@
*.edj
*.o
*.swo
*.swp
*~
Makefile
Makefile.in
/ABOUT-NLS
/aclocal.m4
/autom4te.cache/
/compile
/config.cache
/config.cache-env
/config.guess
/config.log
/config.rpath
/config.status
/config.sub
/configure
/depcomp
/install-sh
/intl/
/ltmain.sh
/m4/codeset.m4
/m4/fcntl-o.m4
/m4/gettext.m4
/m4/glibc2.m4
/m4/glibc21.m4
/m4/iconv.m4
/m4/intdiv0.m4
/m4/intl.m4
/m4/intldir.m4
/m4/intlmacosx.m4
/m4/intmax.m4
/m4/inttypes-pri.m4
/m4/inttypes_h.m4
/m4/lcmessage.m4
/m4/lib-ld.m4
/m4/lib-link.m4
/m4/lib-prefix.m4
/m4/libtool.m4
/m4/lock.m4
/m4/longlong.m4
/m4/ltoptions.m4
/m4/ltsugar.m4
/m4/ltversion.m4
/m4/lt~obsolete.m4
/m4/nls.m4
/m4/po.m4
/m4/printf-posix.m4
/m4/progtest.m4
/m4/size_max.m4
/m4/stdint_h.m4
/m4/threadlib.m4
/m4/uintmax_t.m4
/m4/visibility.m4
/m4/wchar_t.m4
/m4/wint_t.m4
/m4/xsize.m4
/missing
/pkgbuild/*.tar.xz
/pkgbuild/PKGBUILD
/pkgbuild/pkg
/pkgbuild/src
/po/*.gmo
/build
/data/colorschemes/__pycache__/
/po/Makefile.in.in
/po/Makevars.template
/po/POTFILES
/po/Rules-quot
/po/boldquot.sed
/po/en@boldquot.header
/po/en@quot.header
/po/insert-header.sin
/po/quot.sed
/po/remove-potcdate.sed
/po/remove-potcdate.sin
/po/stamp-po
/src/bin/*_generated.c
/src/bin/*_generated.h
/src/bin/.deps/
/src/bin/lz4/.deps/
/src/bin/lz4/.dirstamp
/src/bin/md5/.deps/
/src/bin/md5/.dirstamp
/src/bin/terminology
/src/bin/tyalpha
/src/bin/tybg
/src/bin/tycat
/src/bin/tyfuzz
/src/bin/tyls
/src/bin/typop
/src/bin/tyq
/stamp-h1
/terminology.spec
/terminology_config.h
/terminology_config.h.in

View File

@ -16,12 +16,11 @@ Cedric BAIL <cedric.bail@free.fr> Cedric BAIL <cedric@osg.samsung.com>
Vincent Torri <vincent.torri@gmail.com> Vincent Torri <vtorri@univ-evry.fr>
Vincent Torri <vincent.torri@gmail.com> Vincent Torri <vincent dot torri at gmail dot com>
Vincent Torri <vincent.torri@gmail.com> Vincent Torri <vincent.torri@univ-evry.fr>
Vincent Torri <vincent.torri@gmail.com> Vincent 'vtorri' Torri <vincent.torri@gmail.com>
Tom Hacohen <tom@stosb.com> Tom 'TAsn' Hacohen <tom@stosb.com>
Tom Hacohen <tom@stosb.com> Tom <tom@stosb.com>
Gustavo Sverzut Barbieri <barbieri@gmail.com> Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
Gustavo Sverzut Barbieri <barbieri@gmail.com> Gustavo Sverzut Barbieri <gustavo.barbieri@intel.com>
Christopher Michael <devilhorns@comcast.net> Christopher Michael <cpmichael@comcast.net>
Christopher Michael <devilhorns@comcast.net> Christopher Michael <cp.michael@samsung.com>
Christopher Michael <devilhorns@comcast.net> Christopher Michael <cpmichael1@comcast.net>
Christopher Michael <devilhorns@comcast.net> Chris Michael <devilhorns@comcast.net>
Christopher Michael <devilhorns@comcast.net> Christopher Michael <devilhorns@comcast.net>
@ -29,8 +28,6 @@ Christopher Michael <devilhorns@comcast.net> Christopher <devilhorns@comcast.net
Christopher Michael <devilhorns@comcast.net> Chris Michael <cp.michael@samsung.com>
Christopher Michael <devilhorns@comcast.net> Christopher Michael <cpmichael@osg.samsung.com>
Christopher Michael <devilhorns@comcast.net> Chris Michael <cpmichael@osg.samsung.com>
Christopher Michael <devilhorns@comcast.net> Chris Micheal <cp.michael@samsung.com>
Christopher Michael <devilhorns@comcast.net> Christopher Michael <cp.michael@samsung.com>
Sebastian Dransfeld <sd@tango.flipp.net> Sebastian Dransfeld <sebastian.dransfeld@sintef.no>
Sebastian Dransfeld <sd@tango.flipp.net> sebastid <sebastid>
Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Mike Blumenkrantz <m.blumenkran@samsung.com>
@ -38,21 +35,13 @@ Mike Blumenkrantz <michael.blumenkrantz@gmail.com> discomfitor <michael.blumenkr
Mike Blumenkrantz <michael.blumenkrantz@gmail.com> zmike <michael.blumenkrantz@gmail.com>
Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Mike Blumenkrantz <zmike@samsung.com>
Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Mike Blumenkrantz <zmike@osg.samsung.com>
Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Michael Blumenkrantz <mike@zentific.com>
Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Mike Blumenkrantz <zmike@enlightenment.org>
ChunEon Park <hermet@hermet.pe.kr> ChunEon Park <chuneon.park@samsung.com>
ChunEon Park <hermet@hermet.pe.kr> Hermet Park <hermet@hermet.pe.kr>
ChunEon Park <hermet@hermet.pe.kr> Hermet Park <hermetpark@gmail.com>
ChunEon Park <hermet@hermet.pe.kr> hermet <hermet@neoni.(none)>
ChunEon Park <hermet@hermet.pe.kr> Hermet <hermet@hermet.pe.kr>
ChunEon Park <hermet@hermet.pe.kr> chuneon.park <chuneon.park@samsung.com>
David Walter Seikel <onefang@gmail.com> David Walter Seikel <won_fang@yahoo.com.au>
Rafael Antognolli <antognolli@gmail.com> Rafael Antognolli <rafael.antognolli@intel.com>
Rafael Antognolli <antognolli@gmail.com> Rafael Antognolli <rafael.antognolli@linux.intel.com>
Iván Briano <sachieru@gmail.com> Ivan Briano <ivan.briano@intel.com>
Iván Briano <sachieru@gmail.com> Ivan Briano <sachieru@gmail.com>
Iván Briano <sachieru@gmail.com> Iván Briano <ivan.briano@intel.com>
Iván Briano <sachieru@gmail.com> Ivan Briano <ivan@profusion.mobi>
Lucas De Marchi <lucas.demarchi@profusion.mobi> Lucas De Marchi <lucas.de.marchi@gmail.com>
Lucas De Marchi <lucas.demarchi@profusion.mobi> Lucas De Marchi <lucas.demarchi@intel.com>
Jihoon Kim <imfine98@gmail.com> Jihoon Kim <jihoon48.kim@samsung.com>
@ -71,29 +60,21 @@ Mike McCormack <mike@atratus.org> Mike McCormack <mj.mccormack@samsung.com>
Mike McCormack <mike@atratus.org> Mike McCormack <mikem@ring3k.org>
Mike McCormack <mike@atratus.org> Mike McCormack <mikem@atratus.org>
Boris Faure <billiob@gmail.com> Boris 'billiob' Faure <billiob@gmail.com>
Boris Faure <billiob@gmail.com> Boris Faure <boris@fau.re>
Eduardo Lima <eduardo.lima@intel.com> Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
Panagiotis Galatsanos <galatsanosp@gmail.com> Godfath3r <galatsanosp@gmail.com>
Samuel F. Baggen <thanatermesis@gmail.com> Thanatermesis <thanatermesis@gmail.com>
Samuel F. Baggen <thanatermesis@gmail.com> Samuel F. Baggen <thanatermesis.elive@gmail.com>
Samuel F. Baggen <thanatermesis@gmail.com> Thanatermesis <thanatermesis.ecvs@gmail.com>
Jean Guyomarc'h <jeanguyomarch.github@gmail.com> Jean Guyomarc'h <jean.guyomarch@gmail.com>
Jean Guyomarc'h <jeanguyomarch.github@gmail.com> Jean GUYOMARC'H <jean.guyomarch@gmail.com>
Jean Guyomarc'h <jeanguyomarch.github@gmail.com> Jean Guyomarc'h <jean.guyomarch@openwide.fr>
Jean Guyomarc'h <jeanguyomarch.github@gmail.com> Jean Guyomarc'h <jean@guyomarch.bzh>
Marcel Hollerbach <mail@marcel-hollerbach.de> Marcel Hollerbach <marcel.hollerbach@stzedn.de>
Marcel Hollerbach <mail@marcel-hollerbach.de> Marcel Hollerbach <marcel-hollerbach@t-online.de>
Marcel Hollerbach <mail@marcel-hollerbach.de> Marcel Hollerbach <marcel@osg.samsung.com>
Jean Guyomarc'h <jean.guyomarch@gmail.com> Jean GUYOMARC'H <jean.guyomarch@gmail.com>
Marcel Hollerbach <marcel-hollerbach@t-online.de> Marcel Hollerbach <marcel.hollerbach@stzedn.de>
Jean-Philippe ANDRÉ <jpeg@videolan.org> Jean-Philippe Andre <jp.andre@samsung.com>
Jean-Philippe ANDRÉ <jpeg@videolan.org> Jean-Philippe ANDRE <jpeg@videolan.org>
Jean-Philippe ANDRÉ <jpeg@videolan.org> Jean-Philippe Andre <jpeg@videolan.org>
Jean-Philippe ANDRÉ <jpeg@videolan.org> Jean-Philippe André <jpeg@videolan.org>
Amitesh Singh <amitesh.sh@samsung.com> Amitesh Singh <amitesh.sh@samsung.com>
Amitesh Singh <amitesh.sh@samsung.com> ami <singh.amitesh@gmail.com>
Amitesh Singh <amitesh.sh@samsung.com> Amitesh Singh <singh.amitesh@gmail.com>
Tae-Hwan Kim <the81.kim@samsung.com> bluezery <ohpowel@gmail.com>
Tae-Hwan Kim <the81.kim@samsung.com> Bluezery <ohpowel@gmail.com>
Tae-Hwan Kim <the81.kim@samsung.com> bluezery <the81.kim@samsung.com>
Daniel Kolesa <daniel@octaforge.org> q66 <quaker66@gmail.com>
Daniel Kolesa <daniel@octaforge.org> q66 <d.kolesa@samsung.com>
Daniel Kolesa <daniel@octaforge.org> q66 <d.kolesa@osg.samsung.com>
@ -110,56 +91,5 @@ Daniel Zaoui <daniel.zaoui@samsung.com> Daniel Zaoui <daniel.zaoui@yahoo.com>
Daniel Zaoui <daniel.zaoui@samsung.com> daniel.zaoui@samsung.com <daniel.zaoui@samsung.com>
Jérémy Anger <angerj.dev@gmail.com> kidanger <angerj.dev@gmail.com>
Andy Williams <andy@andywilliams.me> handyande <handyande>
Andy Williams <andy@andywilliams.me> Andy Williams <andy@andywillias.me>
Davide Andreoli <dave@gurumeditation.it> Dave Andreoli <dave@gurumeditation.it>
Davide Andreoli <dave@gurumeditation.it> davemds <dave@gurumeditation.it>
Simon Lees <simon@simotek.net> Simon <simon@simotek.net>
Simon Lees <simon@simotek.net> Simon Lees (SUSE) <sflees@suse.de>
Subhransu Mohanty <sub.mohanty@samsung.com> SubhransuSekhar Mohanty <sub.mohanty@samsung.com>
Subhransu Mohanty <sub.mohanty@samsung.com> Subhransu Sekhar Mohanty <sub.mohanty@samsung.com>
Subhransu Mohanty <sub.mohanty@samsung.com> SubhransuSekhar Mohanty <sub.mohanty@samsung.com>
Subhransu Mohanty <sub.mohanty@samsung.com> sub.mohanty@samsung.com <sub.mohanty@samsung.com>
Subhransu Mohanty <sub.mohanty@samsung.com> subhransu <subhransu@subhransu-System.(none)>
Subhransu Mohanty <sub.mohanty@samsung.com> subhransu mohanty <sub.mohanty@samsung.com>
Thiep Ha <thiepha@gmail.com> Thiep Ha <thiep.ha@samsung.com>
Thiep Ha <thiepha@gmail.com> Thiep Ha <thiep.ha@gmail.com>
Thiep Ha <thiepha@gmail.com> thiepha (Thiep Ha) <thiepha@gmail.com>
Derek Foreman <derekf@osg.samsung.com> Derek Foreman <derek.foreman.samsung@gmail.com>
Daniel Hirt <hirt.danny@gmail.com> Daniel Hirt <daniel.hirt@samsung.com>
Jiyoun Park <jijibe99@gmail.com> Ji-Youn Park <jy0703.park@samsung.com>
Jiyoun Park <jijibe99@gmail.com> Jiyoun Park <jy0703.park@samsung.com>
Bruno da Silva Belo <brunodasilvabelo@gmail.com> Bruno da Silva Belo <bruno.belo@expertisesolutions.com.br>
Rafael Fonseca <rfonseca@profusion.mobi> Rafael Fonseca <r4f4rfs@gmail.com>
Lauro Moura <lauromoura@expertisesolutions.com.br> Lauro Moura <lauromoura@gmail.com>
Jaehyun Cho <jae_hyun.cho@samsung.com> Jaehyun Cho <jae_hyun_cho@naver.com>
Jérémy Zurcher <jeremy@asynk.ch> Jeremy Zurcher <jeremy@asynk.ch>
Youngbok Shin <youngb.shin@samsung.com> Youngbok Shin <youngb.shin@samsung.net>
Stephen 'Okra' Houston <smhouston88@gmail.com> Stephen okra Houston <smhouston88@gmail.com>
Stephen 'Okra' Houston <smhouston88@gmail.com> Stephen Houston <smhouston88@gmail.com>
Stephen 'Okra' Houston <smhouston88@gmail.com> Stephen Houston <stephen@localhost.localdomain>
Stephen 'Okra' Houston <smhouston88@gmail.com> Stephen Houston <stephen@lenovo.fedora>
Stephen 'Okra' Houston <smhouston88@gmail.com> Stephen Houston <stephen@stephen.laptop>
WooHyun Jung <wh0705.jung@samsung.com> WooHyun Jung <woohyun0705@gmail.com>
Jaeun Choi <jaeun12.choi@samsung.com> Jaeun Choi <jaeun_choi@naver.com>
Michael BOUCHAUD <michael.bouchaud@gmail.com> Michael Bouchaud (yoz) <yoz@efl.so>
Michael BOUCHAUD <michael.bouchaud@gmail.com> Michael Bouchaud <yoz@efl.so>
Michael BOUCHAUD <michael.bouchaud@gmail.com> michael bouchaud <michael.bouchaud@gmail.com>
Michael Jennings <mej@kainx.org> Michael Jennings <mej@lbl.gov>
Taehyub Kim <taehyub.kim@samsung.com> taehyub <taehyub.kim@samsung.com>
Yury Usishchev <y.usishchev@samsung.com> Yury Usischev <y.usishchev@samsung.com>
Lukasz Stanislawski <l.stanislaws@samsung.com> Lukasz Stanislawski <l.stanislaws@AMDC2785.digital.local>
Lukasz Stanislawski <l.stanislaws@samsung.com> Lukasz Stanislawski <lukasz.stanislawski@gmail.com>
Ryuan Choi <ryuan.choi@gmail.com> Ryuan Choi <ryuan.choi@samsung.com>
Bryce Harrington <bryce@osg.samsung.com> Bryce Harrington <bryce@bryceharrington.org>
Jonathan Atton <jonathan.atton@gmail.com> Atton Jonathan <jonathan.atton@gmail.com>
Yeongjong Lee <yj34.lee@samsung.com> YeongJong Lee <yj34.lee@samsung.com>
Jaehwan Kim <jae.hwan.kim@samsung.com> Jaehwan Kim <jae.hwan.kim.neo@gmail.com>
Jaehwan Kim <jae.hwan.kim@samsung.com> Jae Hwan Kim <jae.hwan.kim@samsung.com>
Jaehwan Kim <jae.hwan.kim@samsung.com> 김재환 <jae.hwan.kim@samsung.com>
Jee-Yong Um <jc9.um@samsung.com> Jeeyong Um <jc9.um@samsung.com>
Savio Sena <savio@expertisesolutions.com.br> Savio S. Machado <savio.sena@acm.org>
Savio Sena <savio@expertisesolutions.com.br> Savio Sena <savio.sena@acm.org>
Toan Pham <tpham3783@gmail.com> Toan Pham <reset.pointer@gmail.com>
Alastair Poole <netstar@gmail.com> Al Poole <netstar@gmail.com>
Flavio Ceolin <flavio.ceolin@intel.com> Flavio Vinicius Alvares Ceolin <flavio.ceolin@profusion.mobi>
Arnout Engelen <arnouten@bzzt.net> Arnout Engelen <github@bzzt.net>

37
AUTHORS
View File

@ -3,67 +3,54 @@ Carsten Haitzler <raster@rasterman.com>
Gustavo Sverzut Barbieri <barbieri@gmail.com>
Cedric BAIL <cedric.bail@free.fr>
Sebastian Dransfeld <sd@tango.flipp.net>
Christopher Michael <devilhorns@comcast.net>
Wonguk Jeong <wonguk.jeong@samsung.com>
Massimo Maiurana <maiurana@gmail.com>
Christopher Michael <devilhorns@comcast.net>
Daniel Juyung Seo <seojuyung2@gmail.com>
Panagiotis Galatsanos <galatsanosp@gmail.com>
Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Aleksandar Popadić <aleksandar.popadic@siol.net>
Marcel Hollerbach <mail@marcel-hollerbach.de>
Massimo Maiurana <maiurana@gmail.com>
Stefan Schmidt <stefan@datenfreihafen.org>
Tom Hacohen <tom@stosb.com>
Davide Andreoli <dave@gurumeditation.it>
Gustavo Lima Chaves <glima@profusion.mobi>
Jean Guyomarc'h <jeanguyomarch.github@gmail.com>
Jean-Philippe ANDRÉ <jpeg@videolan.org>
Alastair Poole <netstar@gmail.com>
Tom Hacohen <tom@stosb.com>
Alex-P. Natsios <drakevr@2f30.org>
Jerome Pinot <ngc891@gmail.com>
Lee Gwang-O <maeryo@live.co.kr>
Andy Williams <andy@andywilliams.me>
Jean Guyomarc'h <jean.guyomarch@gmail.com>
Jihoon Kim <imfine98@gmail.com>
José Roberto de Souza <zehortigoza@profusion.mobi>
Kai Huuhko <kai.huuhko@gmail.com>
Mike McCormack <mike@atratus.org>
Arnout Engelen <arnouten@bzzt.net>
Iván Briano <sachieru@gmail.com>
Iván Briano <ivan.briano@intel.com>
Jerome Pinot <ngc891@gmail.com>
José Roberto de Souza <zehortigoza@gmail.com>
Leandro Pereira <leandro@profusion.mobi>
Leif Middelschulte <leif.middelschulte@gmail.com>
Markus Törnqvist <mjt@fadconsulting.com>
Thibaut Broggi <broggi_t@epitech.eu>
milotype <43657314+milotype@users.noreply.github.com>
Flavio Ceolin <flavio.ceolin@intel.com>
Lucas De Marchi <lucas.demarchi@profusion.mobi>
Amitesh Singh <amitesh.sh@samsung.com>
Marcel Hollerbach <marcel-hollerbach@t-online.de>
Anisse Astier <anisse@astier.eu>
Daniel Zaoui <daniel.zaoui@samsung.com>
Doug Newgard <scimmia22@outlook.com>
Flavio Vinicius Alvares Ceolin <flavio.ceolin@profusion.mobi>
Samuel F. Baggen <thanatermesis@gmail.com>
Sanjeev BA <iamsanjeev@gmail.com>
Stanislav Baiduzhyi <baiduzhyi.devel@gmail.com>
Toan Pham <tpham3783@gmail.com>
Amitesh Singh <amitesh.sh@samsung.com>
Anthony F McInerney <afm404@gmail.com>
Aurélien Larcher <aurelien.larcher@gmail.com>
Benjamin Jacobs <benj@spam.thsi.be>
Bruno Dilly <bdilly@profusion.mobi>
Calinoiu Alexandru Nicolae <calinoiu.alexandru@agilefreaks.com>
Conrad Meyer <@>
Daniel Kolesa <daniel@octaforge.org>
Eduardo Lima <eduardo.lima@intel.com>
Guilherme Iscaro <iscaro@profusion.mobi>
Flavio Ceolin <flavio.ceolin@intel.com>
Jason L. Cook <jason.lewis.cook@gmail.com>
Jérémy Anger <angerj.dev@gmail.com>
Kevin Pulo <kevin.pulo@mongodb.com>
Michael BOUCHAUD <michael.bouchaud@gmail.com>
Michael Jennings <mej@kainx.org>
Nicholas Hughart <mekius@mekius.net>
Pjotr123 <pjotrvertaalt@gmail.com>
Rafael Antognolli <antognolli@gmail.com>
Ross Vandegrift <ross@kallisti.us>
Rui Seabra <rms@1407.org>
Sanjeev BA <iamsanjeev@gmail.com>
Theodor van Nahl <theo_dev@van-nahl.org>
Thiep Ha <thiepha@gmail.com>
Vincent Torri <vincent.torri@gmail.com>
Youngbok Shin <youngb.shin@samsung.com>
tantSinnister <tant.sinnister@googlemail.com>

View File

@ -1,109 +0,0 @@
# Color Schemes in Terminology
Terminology uses color schemes to define the usual colors used by terminal
applications, and a bit more: color schemes can also have an impact on the
theme used.
# Configuration file
The colorschemes are stored in EET format for speed up and ease of
development.
This format being a bit cumbersome to edit, color schemes can be edit in an
easy INI format described below.
One can have a look at `data/color_schemes/Default.ini` for an example.
## Organisation of the file
The INI format is made of sections, where the name appears in square brackets
(`[` and `]`), that contain keys. Every key has a name and a value, delimited
by an equals sign (`=`).
Those value have 3 types:
* integers, mostly used to describe versions,
* strings, surrounded by double quotes (`"`) or not,
* colors, described as hex color codes, with or without alpha channels, like
`#00ffcc` or `#00ff00aa`.
Semicolons (`;`) at the beginning of the line indicate a comment.
The color scheme file contains the following sections that are mandatory:
`Main`, `Metadata`, `Colors`, `Normal`, `Bright`, `Faint` and `BrightFaint`.
## `Main`
This section has only one field `version` with a default of `1`.
In case the format has to change, this value will change.
## `Metadata`
This describes everything that is related to the color scheme but is not
actually a color!
The fields are the following:
* `version`: an integer, this is the version of the color scheme itself
* `name` is the name of the color scheme. It is expected to be the same as the
file name without the `.ini` extension
* `author`: who made this color scheme
* `website`
* `license`: the short code of an opensource-approved license as listed on
https://spdx.org/licenses/
## `Colors`
This section describes colors used in the UI. The fields are:
* `bg`: the background color of the terminal
* `main`: this color is used as the main color for cursor and various effects
on the terminal, like change of border on focus …
* `hl`: a color used for an object or text when being highlighted. Usually
surrounded by the `main` color.
* `end_sel`: on selections, the color of the handles used to expand or shrink
the area of the selection
* `tab_missed_1`, `tab_missed_2`, `tab_missed_3`: the main color, the outline
color and the shadow color of the number of tabs where a bell has rung, tabs
that need attention.
* `tab_missed_over_1`, `tab_missed_over_2`, `tab_missed_over_3`: same as
before but when the mouse is over that number
* `tab_title_2`: the outline color of the active tab title. The foreground
used is `Normal.def` and the shadow is `bg`.
## `Normal`, `Bright`, `Faint`, `BrightFaint`
All those sections offer the same set of colors.
`Normal` are the base colors. `Bright` are a brighter version of the `Normal`
colors, while `Faint` are a dimer version of the `Normal` colors. Finally,
`BrightFaint` are a dimer version of the `Bright` colors.
They all have those fields:
* `def`: the default foreground color
* `black`, `red`, `green`, `yellow`, `blue`, `magenta`, `cyan` and `white` are
self-explanatory
* `inverse_fg` and `inverse_fg` are the colors used when espace codes are used
to reverse background and foreground. Sometimes used to display selections
by the terminal applications
# How to add a new color scheme
First, one has to write a color scheme file as described above. Let's say we
are creating the color scheme `FooBar` stored in file `FooBar.ini`.
The `Faint` and `BrightFaint` version can be generated by using the
`gen_faint.py` script stored in `data/color_schemes/` as seen below:
`gen_faint.py FooBar.ini`
What this script does is to pick the colors from `Normal` and `Bright` and
merge them with the background color (`Colors.bg`) in a 70/30 proportion. This
proportion is configurable, like this for a 80/20 proportion:
`gen_faint.py FooBar.ini 80`
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`
Now you should be able to select your color scheme in Terminology!

View File

@ -1,6 +1,6 @@
Copyright notice for Terminology (BSD 2-Clause License):
Copyright (C) 2012-2020 Carsten Haitzler and various contributors (see AUTHORS)
Copyright (C) 2012-2016 Carsten Haitzler and various contributors (see AUTHORS)
All rights reserved.

272
ChangeLog
View File

@ -1,270 +1,5 @@
2022-12-01
* Release v1.13.0
* Colorshemes: add Fir Dark, Selenized Dark, Selenized Black,
Selenized Light and Selenized White schemes
* New translations: Indonesian
* Translation updates for Catalan, Chinese (Simplified), Croatian,
Dutch, French, German, Italian, Portuguese, Portuguese (Brazil),
Russian, Spanish, Swedish, Turkish
* Handle scale changes on the fly
* Better named option to enable/disable typing sounds
* Improved README file
* The tyls tools now supports pls files
* Fade the background of the terminal with the background color
defined in the color scheme
* Update the default theme to customize selection arrows
* Update color schemes about selection arrows
* Better documentation of the tyalpha tool
* Fix issue when restoring the cursor state
* Fix issue preventing some red color from being displayed
* Cleanup the code base about C reserved identifiers
* Code analyzed with Coverity 2022.06
* Test code with some Coccinelle script in the GitHub's CI
* Update the ChangeLog.theme file
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
* Translation updates for Finnish and Ukrainian
* Fix handling of escape code OSC 11
2021-10-03
* Release v1.10.0
* Colorshemes: add Black scheme
* New translations: Sinhala, Hebrew
* Translation updates for Chinese (Simplified), Croatian, Danish,
French, Greek, Italian, Norwegian Bokmål, Polish, Portuguese,
Portuguese (Brazil), Russian, Spanish, Swedish, Ukrainian
* Focus font search in the Font settings panel
* Fix issue when configuration was marked as Temporary
* Stop jumping down to the botton when configuration changed
* Respect login shell on start
* Fix drag'n'drop of paths or media on the terminal
* Fix libintl detection
2021-01-18
* Release v1.9.0
* Colorshemes: easily change the colors of the terminal
* Add the following color schemes: Tango Dark, Tango light, Dracula,
Belafonte Day, Belafonte Night, Material, Fahrenheit, Tomorrow Night
Burns, PaleNight, Soft Era, One Dark, Cobalt2
* New translations: Chinese (Simplified), Japanese, Norwegian Bokmål,
Russian and Ukrainian
* Handle OSC 12 to change the cursor color
* Translation updates for Catalan, Croatian, Danish, Dutch, French,
German, Italian, Spanish
* Add font search in the fonts panel
* Set TERM to xterm_256color by default
* Focus simplifications when going into the settings
* Tests: better compatibility with debian-based systems
* Fix tyls with png/jpg thumbnails
2020-08-11
* Release v1.8.1
* Be stricter on which characters can be considered wide or not
* Apply change about hiding mouse pointer after idle time on all
terminals
2020-07-26
* Release v1.8.0
* Small framework to add unit tests
* Display tooltips on when hovering color descriptions
* Handle OSC 10/11 to change/get background and foreground colors
* Reworked build system for testing and fuzzing
* Use of switch-case constructs when home-made binary search was not
efficient
* Support EFL 1-22 or newer only
* Larger list of word separators when doing word-selection
* Reworked the Settings panel to add one panel on Mouse interactions
* Handle Emoji characters as double-width, following Unicode 13.0
* Fix issues detected by UndefinedBehavior Sanitizer
2020-05-10
* Release v1.7.0
* Terminology is packaged on the snapstore at https://snapcraft.io/terminology
* Add THEME.md, a documentation file on theming Terminology
* Drag tabs to reorder them
* Dragging tabs outside the tab bar can be used to create new splits or
tabs
* Memory accounting of the backlogs. Seen under the Behavior tab on the
Settings panel
* Handle escape codes to stack titles
* Tyls: add icon for flac files
* Update the mild-based themes to be on-par feature-wise with the default
theme
* Tab selector shows background color
* Controls panel is hidden when creating new tab or split
* Enable Grouped Input from the Controls panel
* Show special icon on tab when using Grouped Input
* Add option to decide whether Grouped input goes to all tabs or only
visible ones
* Improve email/links detection when surrounded with special characters
* Remove link underline when the link disappears
* Share translucent / opacity setting accross all instances
* Use a default icon of each tab on the Settings toolbar
* Update french, german, italian and serbian translations
* Add croatian translation
* Removed video settings
* Handle invalid values on OS escape codes
* Handle escape code used to display terminal program and version
* Set environment variables TERM_PROGRAM and TERM_PROGRAM_VERSION
* Better handle reads and writes on EINTR/EAGAIN
2019-11-16
* Release v1.6.0
* Show title tab on splits, depending on configuration
* Show tabs that had a bell rang and had not been focused
* Add wizard on new configuration to set scaling
* Add scale configuration in the Settings panel
* Add Polish translation
* Themes: make tab title readable based on theme default colors
* Move the tab selector on the tab line
* Be able to select and copy tabs
* Better handle stalled unix socket when using one terminology with
multiple instances
* Change typop behavior to queue files in case there are multiple files to
look at
* Update Italian translation
* Fix live selections in the scrollback
* Fix unchecking "auto-hide cursor" not working
* Fix memory leaks related to looking for links under the mouse
* Ensure Terminology compiles with EFL-1.20
* Fix link detection over spaces
* Fix tab selector no longer taking into account the new destination
* Fix crash when using typop with multiple files
* No longer set environment variable DESKTOP_STARTUP_ID as it may no
longer be accurate
* Allow tabs to be pasted
2019-07-20
* Release v1.5.0
* Handle emoji has double-width character, introduced in Unicode 9.0.
* Add option "Treat Emojis as double-width characters", on by default.
* Hide cursor when idle, with parameter to set idle time
* Add papercolor theme
* Themes can now set background color through a color-class
* Handle OSC-11 to report background color
* Update Italian and French translations
* Fix initial window size hints
* Fix focus issues
2019-05-24
* Release v1.4.1
* Decode pasted string as UTF-8, fixing some characters being skipped
* Fix theme to ensure default size is 80x24
* Fix focus disappearing after going to Settings and back
2019-03-31
* Release v1.4.0
* Add Continuous Integration on every push to the git repository
* Add a test framework on escape code parsing and interpreting
* Add more than 120 test files
* Add support, along with tests, for the following escape codes: DSR-DIR,
DSR-KBD, DSR-MSR, DSR-DECCKSR, DSR-OS, DSR-PP, DSR-UDK, DECSCLM, DECBI,
DECFI, DECSACE, DECRARA, DECCRARA, DECIC, DECDC, DECCRA, DECST8C, DA3,
DECSWBV
* Add finer configuration on whether to activate links
* Set environment variable WINDOWID
* Selections only disappear if the underlaying content changes
* When pasting a buffer, skip control characters as a security measure
* Fixes, along with tests, on handling the following escape codes: VPR,
DECERA, DECFRA, DSR-CPR, DCH, DECALN, DECAWM, IL, DL
* Fixes, along with tests, on mouse reporting
* Fixes on issues spotted by Coverity
2018-12-18
* Release v1.3.2
* Clicking on links works again
2018-12-16
* Release v1.3.1
* Add manpages on Terminology's helpers
* Do not popup unknown media types (security issue)
* Right-click on hyperlinks no longer crashes
2018-11-23
* Release v1.3.0
* Hyperlink escape code support
* Optimize escape code parsing by improving cell copies
* Fix issues about settings panel
* Do not pass input when tab selector is up
* Escape code fixes
2018-05-14
* Release v1.2.1
* Fix focus issues when input was not registering
* User-defined tab titles stay even when terminal wants change it
* Themes no longer have glow when unfocused
2018-04-15
* Release v1.2.0
* New build system based on Meson
* Add Nord theme
* Add tysend tool and support escapes for sending single files
* Grouped input support with Alt+g and Alt+Shift+g
* Different cursor shapes: block (default), underline and bar
* Support REP (Repeat preceding character) escape code
* Support HPA (Horizontal Position Absolute) escape code
* Support encircled escape code (SGR 52)
* Support DECSCUSR (changing cursor shape)
* When grabbing images through gravatar, use https
* Shine level is configurable
* Support EFL 1.20 or newer only
* Approximate true-colors
* Escape code fixes
* More focus fixes
2017-09-02
* Release v1.1.1
* Add Danish translation
* Fix issues with bottom margins
* No longer add spurious newlines in selections in the backlog
* No longer add space when running command from -e option
* Fix -T option to set the title of the window
2017-08-19
* Release v1.1.0
* Double-click on tab title to change it
* Add option to disable focus-in/out animations and visuals
* Add option to set current window size as default.
* Support Right/Left Margins
* Support for the DECERA/DECFRA escape codes
* Move cursor to position on Click+Alt
* Add binding (Alt+Up/Down/Left/Right) to move around panes
* Fallback to ~ or / when creating new term if current dir is not available
* Support only efl >= 1.8.0
* Harden escape codes decoding
* Update all terms of a window when changing font (name or size)
* Remove teamwork feature
* Correctly handle the DECOM, DECSTBM, DECSLRM escape codes
* Fix crash when resizing and there are tabs in content
* Fix mouse motion and mouse button reporting
* Set window sizing to 1xp step when having visible tabs
2017-01-07
* Release v1.0.0
* Bold/Italic support (on by default)
* Add keybinding shift+home to go to the top of the backlog
@ -281,6 +16,7 @@
2015-09-17
* Release v0.9.1
* Fix resizing issue
* Fix solarized theme
@ -288,6 +24,7 @@
2015-09-06
* Release v0.9.0
* Add keybing to fullscreen Terminology
* Right click on selection to be able to copy/open it
@ -306,6 +43,7 @@
2015-02-15
* Release v0.8.0
* Gravatar support
* Add a visual tab bar
@ -316,6 +54,7 @@
2014-10-06
* Release v0.7.0
* Internationalization and Localization support
* Options -S/--split to start terminology with multiple splits
@ -331,6 +70,7 @@
2014-07-02
* Release v0.6.1
* Add .tga images to recognized files
* Reduced power consumption

View File

@ -1,85 +1,10 @@
==================
Terminology 1.13.0
==================
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:
--------------------
* Add group "terminology/color_preview", used to preview a color in a
tooltip.
Changes since 1.6.0:
--------------------
* Add group "terminology/tab_drag_thumb", used to have a thumbnail of a
terminal being dragged.
* In group "terminology/tabbar_back", add signal "bell,off" from "terminology"
to unmark a tab as having missed the bell.
* In group "terminology/background", add signals "hdrag,on" (default) and
"hdrag,off" to restrict (default) tab to be dragged only horizontally
* In group "terminology/background", signals "tab,mouse,down" is emitted
whenever the left mouse button is pressed on a tab.
* In group "terminology/background", signal "tab,hdrag" and "tab,drag,stop"
are emitted when the current tab is dragged between tabs.
* In group "terminology/background", signal "tab,drag,move" is emitted when
the current tab is dragged outside of the tabbar.
* In group "terminology/background", parts "tabdrag", "tabmiddle" are used
to adjust drag.
* In group "terminology/background", parts "drag_left_outline",
"drag_right_outline", "drag_top_outline", "drag_bottom_outline" are used to
know when the cursor enters them when dragging a tab into them.
* In group "terminology/background", signals "drag_left,on", "drag_left,off"
are received when the mouse, while dragging a tab, enters or leaves
"drag_left_outline". Same for right, top, bottom.
* In group "terminology/background", signals "drag_over_tabs,on",
"drag_over_tabs,off" are received when the mouse, while dragging a tab,
enters the tab region.
* In group "terminology/background", signals "grouped,on",
"grouped,off" are received when input is broadcast to multiple terms.
* In group "terminology/tabbar_back", signals "grouped,on",
"grouped,off" are received when input is broadcast to multiple terms.
Changes since 1.5.0:
--------------------
* In group "terminology/tabbar_back", add signal "bell" from "terminology"
to mark a tab as having the bell on.
* In group "terminology/background", add signals "tab,bell,on" and
"tab,bell,off" from "terminology" to set bell status on tab if there is a
tab.
* In group "terminology/background", change signals "tabcount,go",
"tabcount,prev", "tabcount,next" to "tab,go", "tab,prev" and "tab,next"
respectively.
* In group "terminology/background", add signal "tab,new" from "terminology"
to create a new tab.
Changes since 1.2.0:
--------------------
* Color class "BG" has to be set with the color of the background.
Changes since 1.1.1:
--------------------
* In group "terminology/background", "message" with id 2 requires an INT to
specify the amount of shine
* Add parts "terminology.sendfile.progress" and
"terminology.sendfile.request" in "terminology/background". See default.edc
for more details.
* Add groups "terminology/cursor_bar" and "terminology/cursor_underline"
=================
Terminology 0.9.1
=================
Changes since 0.9.1:
--------------------
* In group "terminology/background", add signal "tab,close" with emitter set
to "terminology" to close the current tab
* In group "terminology/tabbar_back", add signal "tab,close" with emitter

View File

@ -1,7 +1,6 @@
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
* `src/bin/col.c` is about the colors handled by the terminal
* `src/bin/config.c`: how the configuration is saved/loaded/updated
* `src/bin/controls.c`: the widget when a right-click is done on a terminal
@ -18,7 +17,7 @@ A simple documentation to navigate through the C files:
* `src/bin/options_colors.c`: the settings panel about colors in the terminal
* `src/bin/options_elm.c`: the settings panel to configure Elementary
* `src/bin/options_font.c`: the settings panel to choose the Font
* `src/bin/options_mouse.c`: the settings panel on mouse interactions
* `src/bin/options_helpers.c`: the settings panel on Helpers
* `src/bin/options_keys.c`: the settings panel to configure key bindings
* `src/bin/options_theme.c`: the settings panel to choose a theme
* `src/bin/options_themepv.c`: the widget that handles theme previews
@ -34,6 +33,7 @@ A simple documentation to navigate through the C files:
* `src/bin/termptyext.c`: extented terminology escape handling
* `src/bin/termptygfx.c`: charset translations
* `src/bin/termptyops.c`: handling history
* `src/bin/termptysave.c`: compression of the backlog
* `src/bin/tyalpha.c`: the `tyalpha` tool
* `src/bin/tybg.c`: the `tybg` tool
* `src/bin/tycat.c`: the `tycat` tool

10
DEV.md
View File

@ -1,10 +0,0 @@
# Double Width
The code to decide whether a unicode codepoint should be rendered double-width
is generated from the Unicode specification.
This is done by using `tools/unicode_dbl_width.py`.
1. Download <https://www.unicode.org/Public/UCD/latest/ucdxml/ucd.all.flat.zip>
2. Extract it
3. Run `tools/unicode_dbl_width.py ucd.all.flat.xml src/bin/termptydbl.h src/bin/termptydbl.c`_
4. Commit the files modified

11
INSTALL Normal file
View File

@ -0,0 +1,11 @@
COMPILING and INSTALLING:
If you got a official release tar archive do:
./configure
Then to compile:
make
To install (run this as root, or the user who handles installs):
make install

91
Makefile.am Normal file
View File

@ -0,0 +1,91 @@
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
SUBDIRS = src data man
if HAVE_PO
SUBDIRS += po
endif
MAINTAINERCLEANFILES = \
ABOUT-NLS* \
Makefile.in \
$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz \
$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.xz \
aclocal.m4 \
config.guess \
config.rpath \
terminology_config.h.in \
config.sub \
configure \
compile \
depcomp \
install-sh \
ltconfig \
ltmain.sh \
missing \
mkinstalldirs \
stamp-h.in \
stamp-h \
m4/libtool.m4 \
m4/lt~obsolete.m4 \
m4/ltoptions.m4 \
m4/ltsugar.m4 \
m4/ltversion.m4
if HAVE_PO
MAINTAINERCLEANFILES += \
po/boldquot.sed \
po/en@boldquot.header \
po/en@quot.header \
po/insert-header.sin \
po/Makefile.in.in \
po/Makevars.template \
po/quot.sed \
po/remove-potcdate.sin \
po/Rules-quot \
intl/ \
m4/codeset.m4 \
m4/fcntl-o.m4 \
m4/glibc2.m4 \
m4/glibc21.m4 \
m4/intdiv0.m4 \
m4/intl.m4 \
m4/intldir.m4 \
m4/intlmacosx.m4 \
m4/intmax.m4 \
m4/inttypes-pri.m4 \
m4/inttypes_h.m4 \
m4/lcmessage.m4 \
m4/lock.m4 \
m4/longlong.m4 \
m4/printf-posix.m4 \
m4/size_max.m4 \
m4/stdint_h.m4 \
m4/threadlib.m4 \
m4/uintmax_t.m4 \
m4/visibility.m4 \
m4/wchar_t.m4 \
m4/wint_t.m4 \
m4/xsize.m4 \
po/Makevars.template \
m4/gettext.m4 \
m4/iconv.m4 \
m4/lib-ld.m4 \
m4/lib-link.m4 \
m4/lib-prefix.m4 \
m4/nls.m4 \
m4/po.m4 \
m4/progtest.m4
endif
EXTRA_DIST = README AUTHORS COPYING autogen.sh config.rpath terminology.spec pkgbuild/PKGBUILD
.PHONY: doc
doc:
@echo "Empty doc target until we have real documentation."

182
Marrakesh.mrk Normal file
View File

@ -0,0 +1,182 @@
# XXX: add...
#PROJSPLASH: data/images/terminology-splash.png
#CHANGELOG: file1 file2 file3..
PROJ: Terminology
PROJICON: data/icons/terminology.png
BRIEF: A beautiful terminal emulator for the commandline emulator
VERSION: 1.0.0
LICENSE: BSD-2
COPYING: COPYING AUTHORS
NEEDS: 1.11
DEV: raster
KEY: default
DOMAIN: terminology
REPO: http://git.enlightenment.org/apps/terminology.git
DEVREPO: git+ssh://git@git.enlightenment.org/apps/terminology.git
CONTACT: Carsten Haitzler <raster@rasterman.com>
CATEGORY: system terminal developer
TAGS: terminal xterm emulator system tool
BIN: bin/terminology
SRC:
terminology_config.h
src/bin/about.c
src/bin/about.h
src/bin/col.c
src/bin/col.h
src/bin/config.c
src/bin/config.h
src/bin/controls.c
src/bin/controls.h
src/bin/dbus.c
src/bin/dbus.h
src/bin/extns.c
src/bin/extns.h
src/bin/ipc.c
src/bin/ipc.h
src/bin/keyin.c
src/bin/keyin.h
src/bin/main.c
src/bin/main.h
src/bin/media.c
src/bin/media.h
src/bin/miniview.c
src/bin/miniview.h
src/bin/options_behavior.c
src/bin/options_behavior.h
src/bin/options.c
src/bin/options_colors.c
src/bin/options_colors.h
src/bin/options_elm.c
src/bin/options_elm.h
src/bin/options_font.c
src/bin/options_font.h
src/bin/options.h
src/bin/options_helpers.c
src/bin/options_helpers.h
src/bin/options_keys.c
src/bin/options_keys.h
src/bin/options_theme.c
src/bin/options_theme.h
src/bin/options_themepv.c
src/bin/options_themepv.h
src/bin/options_video.c
src/bin/options_video.h
src/bin/options_wallpaper.c
src/bin/options_wallpaper.h
src/bin/private.h
src/bin/sb.c
src/bin/sb.h
src/bin/sel.c
src/bin/sel.h
src/bin/termcmd.c
src/bin/termcmd.h
src/bin/termio.c
src/bin/termio.h
src/bin/termiolink.c
src/bin/termiolink.h
src/bin/termpty.c
src/bin/termptydbl.c
src/bin/termptydbl.h
src/bin/termptyesc.c
src/bin/termptyesc.h
src/bin/termptyext.c
src/bin/termptyext.h
src/bin/termptygfx.c
src/bin/termptygfx.h
src/bin/termpty.h
src/bin/termptyops.c
src/bin/termptyops.h
src/bin/termptysave.c
src/bin/termptysave.h
src/bin/tty_keys.h
src/bin/utf8.c
src/bin/utf8.h
src/bin/utils.c
src/bin/utils.h
src/bin/win.c
src/bin/win.h
src/bin/lz4/lz4.c
src/bin/lz4/lz4.h
src/bin/md5/md5.c
src/bin/md5/md5.h
src/bin/gravatar.c
src/bin/gravatar.h
DEPS:
elementary eina eet evas ecore ecore-evas ecore-file edje emotion
ecore-input ecore-imf ecore-imf-evas ecore-ipc efreet ethumb_client eldbus
INC: src/bin
BIN: bin/tyalpha
SRC: src/bin/tyalpha.c
INC: src/bin
BIN: bin/tybg
SRC: src/bin/tybg.c
INC: src/bin
BIN: bin/tycat
SRC: src/bin/tycat.c src/bin/extns.c src/bin/extns.h
DEPS: elementary eina eet evas ecore ecore-evas ecore-file edje emotion
ecore-input ecore-imf ecore-imf-evas ecore-ipc efreet ethumb_client eldbus
INC: src/bin
BIN: bin/tyls
SRC: src/bin/tyls.c src/bin/extns.h
DEPS:
elementary eina eet evas ecore ecore-evas ecore-file edje emotion
ecore-input ecore-imf ecore-imf-evas ecore-ipc efreet ethumb_client eldbus
INC: src/bin
BIN: bin/typop
SRC: src/bin/typop.c
INC: src/bin
BIN: bin/tyq
SRC: src/bin/tyq.c
INC: src/bin
DATA:
data/themes/default.edj > share/terminology/themes/default.edj
data/themes/base16_ocean_dark.edj > share/terminology/themes/base16_ocean_dark.edj
data/themes/black.edj > share/terminology/themes/black.edj
data/themes/mild.edj > share/terminology/themes/mild.edj
data/themes/mustang.edj > share/terminology/themes/mustang.edj
data/themes/smyck.edj > share/terminology/themes/smyck.edj
data/themes/solarized.edj > share/terminology/themes/solarized.edj
data/themes/solarized_light.edj > share/terminology/themes/solarized_light.edj
data/backgrounds/mystic.png > share/terminology/backgrounds/mystic.png
data/backgrounds/texture_background.png > share/terminology/backgrounds/texture_background.png
data/fonts/10x20.pcf > share/terminology/fonts/10x20.pcf
data/fonts/4x6.pcf > share/terminology/fonts/4x6.pcf
data/fonts/5x7.pcf > share/terminology/fonts/5x7.pcf
data/fonts/5x8.pcf > share/terminology/fonts/5x8.pcf
data/fonts/6x10.pcf > share/terminology/fonts/6x10.pcf
data/fonts/6x12.pcf > share/terminology/fonts/6x12.pcf
data/fonts/6x13.pcf > share/terminology/fonts/6x13.pcf
data/fonts/6x9.pcf > share/terminology/fonts/6x9.pcf
data/fonts/7x13.pcf > share/terminology/fonts/7x13.pcf
data/fonts/7x14.pcf > share/terminology/fonts/7x14.pcf
data/fonts/8x13.pcf > share/terminology/fonts/8x13.pcf
data/fonts/9x15.pcf > share/terminology/fonts/9x15.pcf
data/fonts/9x18.pcf > share/terminology/fonts/9x18.pcf
data/fonts/nexus.pcf > share/terminology/fonts/nexus.pcf
data/fonts/terminus-12.pcf > share/terminology/fonts/terminus-12.pcf
data/fonts/terminus-14-bold.pcf > share/terminology/fonts/terminus-14-bold.pcf
data/fonts/terminus-14.pcf > share/terminology/fonts/terminus-14.pcf
data/fonts/terminus-16-bold.pcf > share/terminology/fonts/terminus-16-bold.pcf
data/fonts/terminus-16.pcf > share/terminology/fonts/terminus-16.pcf
data/fonts/terminus-18-bold.pcf > share/terminology/fonts/terminus-18-bold.pcf
data/fonts/terminus-18.pcf > share/terminology/fonts/terminus-18.pcf
data/fonts/terminus-20-bold.pcf > share/terminology/fonts/terminus-20-bold.pcf
data/fonts/terminus-20.pcf > share/terminology/fonts/terminus-20.pcf
data/images/terminology.png > share/terminology/fonts/images/terminology.png
data/fonts/TERMINUS.txt > share/terminology/fonts/TERMINUS.txt
data/fonts/XFONT.txt > share/terminology/fonts/XFONT.txt
DESKTOP: data/desktop/terminology.desktop
ICON: data/icons/terminology.png
PO: el fi fr it ko

380
NEWS
View File

@ -1,378 +1,6 @@
==================
Terminology 1.13.1
==================
Changes since 1.12.1:
---------------------
Additions:
* Colorshemes: add Fir Dark, Selenized Dark, Selenized Black,
Selenized Light and Selenized White schemes
* New translations: Indonesian
Improvements:
* Translation updates for Catalan, Chinese (Simplified), Croatian, Dutch,
French, German, Italian, Portuguese, Portuguese (Brazil),
Russian, Spanish, Swedish, Turkish
* Handle scale changes on the fly
* Better named option to enable/disable typing sounds
* Improved README file
* The tyls tools now supports pls files
* Fade the background of the terminal with the background color defined in
the color scheme
* Update the default theme to customize selection arrows
* Update color schemes about selection arrows
* Better documentation of the tyalpha tool
Fixes:
* Fix issue when restoring the cursor state
* Fix issue preventing some red color from being displayed
Internal improvements:
* Cleanup the code base about C reserved identifiers
* Code analyzed with Coverity 2022.06
* Test code with some Coccinelle script in the GitHub's CI
* Update the ChangeLog.theme file
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
Improvements:
* Translation updates for Finnish and Ukrainian
Fixes:
* Fix handling of escape code OSC 11
Changes since 1.9.0:
--------------------
Additions:
* Colorshemes: add Black scheme
* New translations: Sinhala, Hebrew
Improvements:
* Translation updates for Chinese (Simplified), Croatian, Danish, French,
Greek, Italian, Norwegian Bokmål, Polish, Portuguese,
Portuguese (Brazil), Russian, Spanish, Swedish, Ukrainian
* Focus font search in the Font settings panel
Fixes:
* Fix issue when configuration was marked as Temporary
* Stop jumping down to the botton when configuration changed
* Respect login shell on start
* Fix drag'n'drop of paths or media on the terminal
* Fix libintl detection
Changes since 1.8.1:
--------------------
Additions:
* Colorshemes: easily change the colors of the terminal
* Add the following color schemes: Tango Dark, Tango light, Dracula,
Belafonte Day, Belafonte Night, Material, Fahrenheit, Tomorrow Night
Burns, PaleNight, Soft Era, One Dark, Cobalt2
* New translations: Chinese (Simplified), Japanese, Norwegian Bokmål,
Russian and Ukrainian
* Handle OSC 12 to change the cursor color
Improvements:
* Translation updates for Catalan, Croatian, Danish, Dutch, French,
German, Italian, Spanish
* Add font search in the fonts panel
* Set TERM to xterm_256color by default
* Focus simplifications when going into the settings
* Tests: better compatibility with debian-based systems
Fixes:
* Fix tyls with png/jpg thumbnails
Changes since 1.8.0:
--------------------
Fixes:
* Be stricter on which characters can be considered wide or not
* Apply change about hiding mouse pointer after idle time on all terminals
Changes since 1.7.0:
--------------------
Additions:
* Small framework to add unit tests
* Display tooltips on when hovering color descriptions
* Handle OSC 10/11 to change/get background and foreground colors
Improvements:
* Reworked build system for testing and fuzzing
* Use of switch-case constructs when home-made binary search was not
efficient
* Support EFL 1-22 or newer only
* Larger list of word separators when doing word-selection
* Reworked the Settings panel to add one panel on Mouse interactions
* Handle Emoji characters as double-width, following Unicode 13.0
Fixes:
* Fix issues detected by UndefinedBehavior Sanitizer
Changes since 1.6.0:
--------------------
Additions:
* Terminology is packaged on the snapstore at https://snapcraft.io/terminology
* Add THEME.md, a documentation file on theming Terminology
* Drag tabs to reorder them
* Dragging tabs outside the tab bar can be used to create new splits or
tabs
* Add Croatian translation
* Handle escape code used to display terminal program and version
* Set environment variables TERM_PROGRAM and TERM_PROGRAM_VERSION
Improvements:
* Memory accounting of the backlogs. Seen under the Behavior tab on the
Settings panel
* Handle escape codes to stack titles
* Tyls: add icon for flac files
* Update the mild-based themes to be on-par feature-wise with the default
theme
* Tab selector shows background color
* Controls panel is hidden when creating new tab or split
* Enable Grouped Input from the Controls panel
* Show special icon on tab when using Grouped Input
* Add option to decide whether Grouped input goes to all tabs or only
visible ones
* Improve email/links detection when surrounded with special characters
* Remove link underline when the link disappears
* Share translucent / opacity setting accross all instances
* Use a default icon of each tab on the Settings toolbar
* Update french, german, italian and serbian translations
Removals:
* Removed video settings
Fixes:
* Handle invalid values on OS escape codes
* Better handle reads and writes on EINTR/EAGAIN
Changes since 1.5.0:
--------------------
Additions:
* Show title tab on splits, depending on configuration
* Show tabs that had a bell rang and had not been focused
* Add wizard on new configuration to set scaling
* Add scale configuration in the Settings panel
* Add Polish translation
Improvements:
* Themes: make tab title readable based on theme default colors
* Move the tab selector on the tab line
* Be able to select and copy tabs
* Better handle stalled unix socket when using one terminology with
multiple instances
* Change typop behavior to queue files in case there are multiple files to
look at
* Update Italian translation
Fixes:
* Fix live selections in the scrollback
* Fix unchecking "auto-hide cursor" not working
* Fix memory leaks related to looking for links under the mouse
* Ensure Terminology compiles with EFL-1.20
* Fix link detection over spaces
* Fix tab selector no longer taking into account the new destination
* Fix crash when using typop with multiple files
* No longer set environment variable DESKTOP_STARTUP_ID as it may no
longer be accurate
* Allow tabs to be pasted
Changes since 1.4.1:
--------------------
Additions:
* Handle emoji has double-width character, introduced in Unicode 9.0.
* Add option "Treat Emojis as double-width characters", on by default.
* Hide cursor when idle, with parameter to set idle time
* Add papercolor theme
Improvements:
* Themes can now set background color through a color-class
* Handle OSC-11 to report background color
* Update Italian and French translations
Fixes:
* Fix initial window size hints
* Fix focus issues
Changes since 1.4.0:
--------------------
Fixes:
* Decode pasted string as UTF-8, fixing some characters being skipped
* Fix theme to ensure default size is 80x24
* Fix focus disappearing after going to Settings and back
Changes since 1.3.2:
--------------------
Additions:
* Add Continuous Integration on every push to the git repository
* Add a test framework on escape code parsing and interpreting
* Add more than 120 test files
* Add support, along with tests, for the following escape codes: DSR-DIR,
DSR-KBD, DSR-MSR, DSR-DECCKSR, DSR-OS, DSR-PP, DSR-UDK, DECSCLM, DECBI,
DECFI, DECSACE, DECRARA, DECCRARA, DECIC, DECDC, DECCRA, DECST8C, DA3,
DECSWBV
* Add finer configuration on whether to activate links
* Set environment variable WINDOWID
Improvements:
* Selections only disappear if the underlaying content changes
* When pasting a buffer, skip control characters as a security measure
Fixes:
* Fixes, along with tests, on handling the following escape codes: VPR,
DECERA, DECFRA, DSR-CPR, DCH, DECALN, DECAWM, IL, DL
* Fixes, along with tests, on mouse reporting
* Fixes on issues spotted by Coverity
Changes since 1.3.1:
--------------------
Fix:
* Clicking on links works again
Changes since 1.3.0:
--------------------
Addition:
* Add manpages on Terminology's helpers
Fixes:
* Do not popup unknown media types (security issue)
* Right-click on hyperlinks no longer crashes
Changes since 1.2.1:
--------------------
Additions:
* Hyperlink escape code support
Improvements:
* Optimize escape code parsing by improving cell copies
Fixes:
* Fix issues about settings panel
* Do not pass input when tab selector is up
* Escape code fixes
Changes since 1.2.0:
--------------------
Fixes:
* Fix focus issues when input was not registering
* User-defined tab titles stay even when terminal wants change it
* Themes no longer have glow when unfocused
Changes since 1.1.1:
--------------------
Additions:
* New build system based on Meson
* Add Nord theme
* Add tysend tool and support escapes for sending single files
* Grouped input support with Alt+g and Alt+Shift+g
* Different cursor shapes: block (default), underline and bar
Improvements:
* Support REP (Repeat preceding character) escape code
* Support HPA (Horizontal Position Absolute) escape code
* Support encircled escape code (SGR 52)
* Support DECSCUSR (changing cursor shape)
* When grabbing images through gravatar, use https
* Shine level is configurable
* Support EFL 1.20 or newer only
* Approximate true-colors
Fixes:
* Escape code fixes
* More focus fixes
Changes since 1.1.0:
--------------------
Additions:
* Danish translation
Fixes:
* Fix issues with bottom margins
* No longer add spurious newlines in selections in the backlog
* No longer add space when running command from -e option
* Fix -T option to set the title of the window
Changes since 1.0.0:
--------------------
Additions:
* Double-click on tab title to change it
* Add option to disable focus-in/out animations and visuals
* Add option to set current window size as default.
* Support Right/Left Margins
* Support for the DECERA/DECFRA escape codes
* Move cursor to position on Click+Alt
* Add binding (Alt+Up/Down/Left/Right) to move around panes
Improvements:
* Fallback to ~ or / when creating new term if current dir is not available
* Support only efl >= 1.8.0
* Harden escape codes decoding
* Update all terms of a window when changing font (name or size)
* Remove teamwork feature
Fixes:
* Correctly handle the DECOM, DECSTBM, DECSLRM escape codes
* Fix crash when resizing and there are tabs in content
* Fix mouse motion and mouse button reporting
* Set window sizing to 1xp step when having visible tabs
=================
Terminology 1.0.0
=================
Changes since 0.9.1:
--------------------
@ -380,7 +8,7 @@ Changes since 0.9.1:
Additions:
* Bold/Italic support (on by default)
Improvements:
Improvement:
* Add keybinding shift+home to go to the top of the backlog
* Add keybinding shift+end to reset scroll
* Add keybinding shift+left/right to switch between tabs

296
README Normal file
View File

@ -0,0 +1,296 @@
Terminology 1.0.0
******************************************************************************
FOR ANY ISSUES, PLEASE CONSULT THEM ON
http://issues.terminolo.gy/
******************************************************************************
Requirements:
-------------
* efl (>= 1.8.0)
* elementary (>= 1.8.0)
Please note that some features may not quite function correctly or
completely on EFL 1.8. Newer versions would be better.
Please see http://www.enlightenment.org for information on these.
This is an EFL terminal emulator with some extra bells and whistles.
Compiling:
----------
Once you have met requirements, compiling and installing is simple:
./configure
make
make install
Note: to make terminology work with input methods in general you need:
export ECORE_IMF_MODULE="xim"
export XMODIFIERS="@im=none"
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+w = Copy selection to primary
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
Command mode commands currently understood:
f = Reset font to default setting saved in config
f+ = Increase fontsize
f- = Decrease fontsize
fb = Display big font size (10x20 bitmap, or size 20 with scalable).
gNxM = make terminal NxM chars in size (if possible). e.g. g80x48 g40x20.
If just one number is provided, it will use the following shortcuts:
g0=80x24; g1=80x40; g2=80x60; g3=80x80; g4=120x24; g5=120x40; g6=120x60;
g7=120x80; g8=120x120
b = reset the background (no media)
bPATH = set the background media to an absolute file PATH
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
Extended escapes for terminology only:
[\033][}][COMMAND][\000]
i.e.
1. ESC char (\033 or 0x1b)
2. } char
3... sequence of UTF8 chars other than nul (\000 or 0x00).
4 \000 char (nul byte or 0x00 to indicate end of sequence)
e.g.
echo -n '\033}Hello world\000'
Commands:
any values inside square brackets [] are to be replaced by some
content (numbers, strings, paths, url's etc.). example:
aa[PATH-OF-FILE] should become something like:
aa/tmp/file.png
or aa[true/false] should become something like:
aatrue
or
aafalse
Themes:
Themes can be stored in ~/.config/terminology/themes/ .
---
pn[FULL-PATH-OR-URL]
= popup the given media file/url now
pq[FULL-PATH-OR-URL]
= queue a popup for the given media file/url
bt[FULL-PATH-OR-URL]
= set the terminal background media file/url temporarily
bp[FULL-PATH-OR-URL]
= set the terminal background media file/url permanently
at[on/true/yes/off/false/no]
= set the terminal alpha state to be on, or off temporarily
ap[on/true/yes/off/false/no]
= set the terminal alpha state to be on, or off permanently
qs
= query grid and font size. stdin will have written to it:
W;H;FW;FH\n
where W is the width of the terminal grid in characters
where H is the height of the terminal grid in characters
where FW is the width of 1 character cell in pixels
where FH is the height of 1 character cell in pixels
is[CW;H;FULL-PATH-OR-URL]
= insert STRETCHED media (where image will stretch to fill the cell area)
and define expected cell area to be W cells wide and H cells high,
with the image/media/url.
where C is the replace character to be identified in later text
where W is the width in character cells (up to 511).
where H is the height in character cells (up to 511).
note that this escape alone has no effect. it indicates a future
intention of inserting media into the terminal. the terminal will
EXPECT a grid of WxH "replace characters" to follow, with each
sequence of such replace characters beginning with a 'ib' escape command
and ending with an 'ie' escape command.
the FULL-PATH-OR-URL for all the i commands (is, ic, if, it) may
be of the form:
/full/path/to/file.png
OR
/full/path/to/link\n/full/path/to/file.png
where a newline character separates a URI for a link and a full
path to a file to display in the region. the link is the
destination URI when a user may click on the given media image.
example:
printf("\033}is#5;3;%s\000"
"\033}ib\000#####\033}ie\000\n"
"\033}ib\000#####\033}ie\000\n"
"\033}ib\000#####\033}ie\000\n", "/tmp/icon.png");
note that '#' is the replace character, and later '#' chars if inside
begin/end escapes, will be replaced by the given media indicated
in the insert media escape.
ic[CW;H;FULL-PATH-OR-URL]
= insert CENTERED media (centered in cell area). otherwise parameters are
identical to the "is" command, but retains aspect and is padded by
blank space.
if[CW;H;FULL-PATH-OR-URL]
= insert FILLED media (fill in cell area). otherwise parameters are
identical to the "is" command but ensures the entire area is
filled like a background even if media goes beyond cell bounds and is
clipped.
it[CW;H;FULL-PATH-OR-URL]
= insert THUMB media (thumbnail cell area). otherwise parameters are
identical to the "is" command, but uses thumbnail generation to
make a fast to load but low resolution version (cached) of the media.
it[CW;H;LINK\nFULL-PATH-OR-URL]
= insert THUMB media (thumbnail cell area). otherwise parameters are
identical to the "is" command, but uses thumbnail generation to
make a fast to load but low resolution version (cached) of the media.
LINK is a path (or url) to open WHEN the thumb is clicked on by the
user.
ij[CW;H;FULL-PATH\nGROUP][\n][cmd1][\r\n][cmd2]...
= insert EDJE object with file path given, and the group name given.
the command list (and the \n whitespace delimiter before the list)
is optional, but is executed/parsed before display of the actual
object to do things like initialize its initial state. see "iC"
command for more details on the command list.
be aware that once you have an object with an assigned channel id,
it can send back signals and messages via escapes on stdin. these
escapes will follow terminology extended escape format
(ESC + } ... \000), and the content will be one of:
;CHID\ndrag\nPART NAME\nVAL1\nVAL2
;CHID\ndrag,start\nPART NAME\nVAL1\nVAL2
;CHID\ndrag,stop\nPART NAME\nVAL1\nVAL2
;CHID\ndrag,step\nPART NAME\nVAL1\nVAL2
;CHID\drag,set\nPART NAME\nVAL1\nVAL2
signal;CHID\nSIGNAL STRING\nSOURCE STRING
message;CHID\nOPCODE ID\nstring\nSTRING1
message;CHID\nOPCODE ID\nint\nINT1
message;CHID\nOPCODE ID\nfloat\nFLOAT1
message;CHID\nOPCODE ID\nstring_set\nSTRING1\nSTRING2\nSTRING3...
message;CHID\nOPCODE ID\nint_set\nINT1\nINT2\nINT3...
message;CHID\nOPCODE ID\nfloat_set\nFLOAT1\nFLOAT2\nFLOAT3...
message;CHID\nOPCODE ID\nstring_int\nSTRING1\nINT1
message;CHID\nOPCODE ID\nstring_float\nSTRING1\nFLOAT1
message;CHID\nOPCODE ID\nstring_int_set\nSTRING1\nINT1\nINT2\nINT3...
message;CHID\nOPCODE ID\nstring_float_set\nSTRING1\nFLOAT1\nFLOAT2\nFLOAT3...
iC[CHID]\n[cmd1][\r\n][cmd2][\r\n][cmd3]...
= send a "command" (cmd1, cmd2, cmd3 etc.) to an existing named
channel id "CHID". this can be a list of 1 or more command strings,
with each string broken by a continuous sequence of 1 or more \r
and/or \n characters. e.g. "\n", "\r", "\r\n", "\n\r",
"\n\r\n\n\n", etc.
commands understood are:
text\nPART NAME\nTEXT STRING
set the text of "PART NAME" to string "TEXT STRING"
emit\nSIGNAL STRING\nSOURCE STRING
emit signal "SIGNAL STRING" "SOURCE STRING"
drag\nPART NAME\n[value|size|step|page]\nVAL1\nVAL2
manipulate dragable of name "PART NAME" and either set "value",
"size", "step" or "page" properties to "VAL1" and "VAL2" for x
and y, where VAL1 and VAL2 are floating point values
chid\nCHANNEL ID
set the channel id of a given edje object (only valid in setup
commands for the inline edje object) to "CHANNEL ID" so it can
be addressed later.
message\nOPCODE ID\n[string|int|float|string_set|int_set|...
float_set|string|int|string_float|string_int_set|...
string_float_set]\n[message data]
send a message with opcode (integer) id "OPCODE ID" og one of
the given types supported ("string", "int", "float", etc.) and
then with the given "message data" at the end. message data
format depends on message type:
string: STRING1
int: INT1
float: FLOAT1
string_set: STRING1\nSTRING2\nSTRING3...
int_set: INT1\nINT2\nINT3...
float_set: FLOAT1\nFLOAT2\nFLOAT3...
string_int: STRING1\nINT1
string_float: STRING1\nFLOAT1
string_int_set: STRING1\nINT1\nINT2\nINT3...
string_float_set: STRING1\nFLOAT1\nFLOAT2\nFLOAT3...
ib
= begin media replace sequence run
ie
= end media replace sequence run

444
README.md
View File

@ -1,444 +0,0 @@
![Terminology](/data/readme/terminology.png)
# Terminology
-----
*Please report bugs/issues at*
[git.enlightenment.org](https://git.enlightenment.org/enlightenment/terminology/issues)
-----
[![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)
[![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
* [efl](https://git.enlightenment.org/enlightenment/efl)
Please see http://www.enlightenment.org for information on these.
## Compiling
Once you have met requirements, compiling and installing are simple:
``` sh
meson build
ninja -C build
sudo ninja -C build install
```
At the end of this file is more complete information on cimpiling and
installing.
**NOTE:** to make terminology work with input methods in general you need:
``` sh
export ECORE_IMF_MODULE="xim"
export XMODIFIERS="@im=none"
```
## Themes
Apart from the ones shipped with Terminology, themes can be stored in
`~/.config/terminology/themes/`.
Documentation on themes is written in [THEMES.md](THEMES.md).
## 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
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)
## 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)
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:
* `aa[PATH-OF-FILE]` should become something like: `aa/tmp/file.png`
* `aa[true/false]` should become something like: `aatrue` or `aafalse`
## Available commands
* `pn[FULL-PATH-OR-URL]`
popup the given media file/url now
* `pq[FULL-PATH-OR-URL]`
queue a popup for the given media file/url
* `bt[FULL-PATH-OR-URL]`
set the terminal background media file/url temporarily
* `bp[FULL-PATH-OR-URL]`
set the terminal background media file/url permanently
* `at[on/true/yes/off/false/no]`
set the terminal alpha state to be on, or off temporarily
* `ap[on/true/yes/off/false/no]`
set the terminal alpha state to be on, or off permanently
* `qs`
query grid and font size. stdin will have written to it:
`W;H;FW;FH\n`
* where `W` is the width of the terminal grid in characters
* where `H` is the height of the terminal grid in characters
* where `FW` is the width of 1 character cell in pixels
* where `FH` is the height of 1 character cell in pixels
* `is[CW;H;FULL-PATH-OR-URL]`
insert _Stretched_ media (where image will stretch to fill the cell area)
and define expected cell area to be `W` cells wide and `H` cells high,
with the image/media/url.
* where `C` is the replace character to be identified in later text
* where `W` is the width in character cells (up to 511).
* where `H` is the height in character cells (up to 511).
note that this escape alone has no effect. It indicates a future
intention of inserting media into the terminal. the terminal will
EXPECT a grid of `WxH` _replace characters_ to follow, with each
sequence of such replace characters beginning with a `ib` escape command
and ending with an 'ie' escape command.
the `FULL-PATH-OR-URL` for all the `i` commands (`is`, `ic`, `if`, `it`)
may be of the form:
* `/full/path/to/file.png`
* OR `/full/path/to/link\n/full/path/to/file.png`
where a newline character separates a URI for a link and a full
path to a file to display in the region. the link is the
destination URI when a user may click on the given media image.
example:
``` sh
printf("\033}is#5;3;%s\000"
"\033}ib\000#####\033}ie\000\n"
"\033}ib\000#####\033}ie\000\n"
"\033}ib\000#####\033}ie\000\n", "/tmp/icon.png");
```
note that `#` is the replace character, and later `#` chars if inside
begin/end escapes, will be replaced by the given media indicated
in the insert media escape.
* `ic[CW;H;FULL-PATH-OR-URL]`
insert _Centered_ media (centered in cell area). Otherwise parameters are
identical to the `is` command, but retains aspect and is padded by
blank space.
* `if[CW;H;FULL-PATH-OR-URL]`
insert _Filled_ media (fill in cell area). Otherwise parameters are
identical to the `is` command but ensures the entire area is
filled like a background even if media goes beyond cell bounds and is
clipped.
* `it[CW;H;FULL-PATH-OR-URL]`
insert _Thumb_ media (thumbnail cell area). Otherwise parameters are
identical to the `is` command, but uses thumbnail generation to
make a fast to load but low resolution version (cached) of the media.
* `it[CW;H;LINK\nFULL-PATH-OR-URL]`
insert _Thumb_ media with link (thumbnail cell area). Otherwise parameters
are identical to the `is` command, but uses thumbnail generation to
make a fast to load but low resolution version (cached) of the media.
`LINK` is a path (or url) to open _when_ the thumb is clicked on by the
user.
* `ij[CW;H;FULL-PATH\nGROUP][\n][cmd1][\r\n][cmd2]...`
insert _Edje_ object with file path given, and the group name given.
The command list (and the `\n` whitespace delimiter before the list)
is optional, but is executed/parsed before display of the actual
object to do things like initialize its initial state. See `iC`
command for more details on the command list.
Be aware that once you have an object with an assigned channel id,
it can send back signals and messages via escapes on stdin. These
escapes will follow terminology extended escape format
`(ESC + } ... \000)`, and the content will be one of:
* `;CHID\ndrag\nPART NAME\nVAL1\nVAL2`
* `;CHID\ndrag,start\nPART NAME\nVAL1\nVAL2`
* `;CHID\ndrag,stop\nPART NAME\nVAL1\nVAL2`
* `;CHID\ndrag,step\nPART NAME\nVAL1\nVAL2`
* `;CHID\drag,set\nPART NAME\nVAL1\nVAL2`
* `signal;CHID\nSIGNAL STRING\nSOURCE STRING`
* `message;CHID\nOPCODE ID\nstring\nSTRING1`
* `message;CHID\nOPCODE ID\nint\nINT1`
* `message;CHID\nOPCODE ID\nfloat\nFLOAT1`
* `message;CHID\nOPCODE ID\nstring_set\nSTRING1\nSTRING2\nSTRING3...`
* `message;CHID\nOPCODE ID\nint_set\nINT1\nINT2\nINT3...`
* `message;CHID\nOPCODE ID\nfloat_set\nFLOAT1\nFLOAT2\nFLOAT3...`
* `message;CHID\nOPCODE ID\nstring_int\nSTRING1\nINT1`
* `message;CHID\nOPCODE ID\nstring_float\nSTRING1\nFLOAT1`
* `message;CHID\nOPCODE ID\nstring_int_set\nSTRING1\nINT1\nINT2\nINT3...`
* `message;CHID\nOPCODE ID\nstring_float_set\nSTRING1\nFLOAT1\nFLOAT2\nFLOAT3...`
* `iC[CHID]\n[cmd1][\r\n][cmd2][\r\n][cmd3]...`
send a _Command_ (`cmd1`, `cmd2`, `cmd3` etc.) to an existing named
channel id `CHID`. this can be a list of 1 or more command strings,
with each string broken by a continuous sequence of 1 or more `\r`
and/or `\n` characters. e.g. `\n`, `\r`, `\r\n`, `\n\r`,
`\n\r\n\n\n`, etc.
commands understood are:
* `text\nPART NAME\nTEXT STRING`
set the text of `PART NAME` to string `TEXT STRING`
* `emit\nSIGNAL STRING\nSOURCE STRING`
emit signal `SIGNAL STRING` `SOURCE STRING`
* `drag\nPART NAME\n[value|size|step|page]\nVAL1\nVAL2`
manipulate dragable of name `PART NAME` and either set `value`,
`size`, `step` or `page` properties to `VAL1` and `VAL2` for `x`
and `y`, where `VAL1` and `VAL2` are floating point values
* `chid\nCHANNEL ID`
set the channel id of a given edje object (only valid in setup
commands for the inline edje object) to `CHANNEL ID` so it can
be addressed later.
* `message\nOPCODE ID\n[string|int|float|string_set|int_set|...`
`float_set|string|int|string_float|string_int_set|...`
`string_float_set]\n[message data]`
send a message with opcode (integer) id `OPCODE ID` of one of
the given types supported (`string`, `int`, `float`, etc.) and
then with the given `message data` at the end.
`message data` format depends on message type:
* `string`: `STRING1`
* `int`: `INT1`
* `float`: `FLOAT1`
* `string_set`: `STRING1\nSTRING2\nSTRING3...`
* `int_set`: `INT1\nINT2\nINT3...`
* `float_set`: `FLOAT1\nFLOAT2\nFLOAT3...`
* `string_int`: `STRING1\nINT1`
* `string_float`: `STRING1\nFLOAT1`
* `string_int_set`: `STRING1\nINT1\nINT2\nINT3...`
* `string_float_set`: `STRING1\nFLOAT1\nFLOAT2\nFLOAT3...`
* `ib`
begin media replace sequence run
* `ie`
end media replace sequence run
* `fr[PATH/FILE]`
begin file send for a file named `PATH` / `FILE`
* `fs[SIZE_BYTES]`
set the size in bytes of a file send started with the above fr escape
* `fd[CHECKSUM DATA]`
block of data for the current file transfer with checksum as a
string decimal which is the sum of every byte when taken as an
unsigned char per byte. the checksum is a signed 32bit integer.
the checksum is the sum of the data after escaping. 4 bits at a
time per data byte, encoded with high bits in one byte then low
bits, with the bits encoded as 4 bit value being `0x40` + 4 bit value
per byte. `(@ == 0x0, A == 0x1, B == 0x2, ... N == 0xe, O == 0xf)`.
so to rebuild a byte will be `(((bytes[0] - 0x40) & 0xf) << 4) | ((bytes[1] - 0x40) & 0xf)` per byte pair in the data block.
* `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``

345
THEMES.md
View File

@ -1,345 +0,0 @@
# Themes in Terminology
This document describes how Terminology interacts with themes and what needs
to be handled by themes.
See `ChangeLog.theme` on changes related to themes.
# Color classes
Based on the chosen color scheme, Terminology sets the following color classes
on all the following edje groups:
* `BG`: the background color of the terminal
* `FG`: the default foreground color
* `CURSOR`: the color of the cursor
* `GLOW`: the color in the UI to ouline elements
* `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
* `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:
| Color Class | Object color | Outline color | Shadow color |
| -------------------- | ---------------- | ---------------- | ------------- |
| `BG` | `Colors.bg` | `Colors.bg` | `Colors.bg` |
| `FG` | `Normal.def` | `Normal.def` | `Normal.def` |
| `CURSOR` | `Colors.main` | `Colors.main` | `Colors.main` |
| `GLOW` | `Colors.main` | `Colors.main` | `Colors.main` |
| `GLOW_TXT_HIGHLIGHT` | `Colors.hl` | `Colors.main` | `Colors.main` |
| `END_SELECTION` | `Colors.end_sel` | `Colors.end_sel` | `Colors.end_sel` |
| `TAB_MISSED` | `Colors.tab_missed_1` | `Colors.tab_missed_2` | `Colors.tab_missed_3` |
| `TAB_MISSED_OVER` | `Colors.tab_missed_1` | `Colors.tab_missed_2` | `Colors.tab_missed_3` |
| `TAB_TITLE` | `Normal.def` | `Colors.tab_title_2` | `Colors.bg` |
| `BG_SENDFILE` | `#404040` | `#404040` | `#404040` |
Let's dive into the edje groups that Terminology uses.
# Group `terminology/base`
All windows contain a group `terminology/base`.
Contains what is global to a window.
## Swallowed parts
### Part `terminology.content`
where `terminology/background`, or a split widget can be swallowed.
### Part `terminology.cmdbox`
To swallow a command box.
It reacts to the following signals:
* `cmdbox,show`
* `cmdbox,hide`
### Part `terminology.about`
It reacts to the following signals:
* `about,show`
* `about,hide`
### Part `terminology.optdetails`
Detailed settings panel.
It reacts to the following signals:
* `optdetails,show`
* `optdetails,hide`
It emits the following signal:
* `optdetails,hide,done`
### Part `terminology.options`
It reacts to the following signals:
* `options,show`
* `options,hide`
### Part `terminology.controls`
The controls box shown on right click.
It reacts to the following signals:
* `controls,show`
* `controls,hide`
## Special parts
### Part `youtube.txt`
A text part used to hold `YouTube channel` when the About is shown.
### Part `twitter.txt`
A text part used to hold `YouTube channel` when the About is shown.
## Signals emitted
### Signal `about,twitter`
When the Twitter link on the About page is clicked.
### Signal `about,twitter,ctx`
When the Twitter link on the About page is right-clicked.
### Signal `about,youtube`
When the YouTube link on the About page is clicked.
### Signal `about,youtube,ctx`
When the YouTube link on the About page is right-clicked.
### Signal `optdetails,hide,done`
When the swallowed part `terminology.optdetails` is finally hidden.
## Signals received
### Signals `about,show` and `about,hide`
Used to hide or show the about page, swallowed in `terminology.about`.
### Signals `controls,show` and `controls,hide`
Used to hide or show the controls, swallowed in `terminology.controls`.
### Signals `options,show` and `options,hide`
Used to hide or show the options panel, swallowed in `terminology.options`.
### Signals `optdetails,show` and `optdetails,hide`
Used to hide or show the options details settings panel, swallowed in `terminology.optdetails`.
### Signals `cmdbox,show` and `cmdbox,hide`
Used to hide or show the command box, swallowed in `terminology.cmdbox`.
# Group `terminology/background`
## Swallowed parts
### Parts `terminology.content`
Here is swallowed an object of group `terminology.background`.
## Special parts
### Parts `tabdrag` and `tabmiddle`
Their geometry are used to adjust drag values.
### Parts `drag_left_outline`, `drag_right_outline`, `drag_top_outline`, `drag_bottom_outline` and `terminology.tabregion`
Their geometry are used to know when the cursor enters them when dragging a
tab.
## Signals received
### Signals `tabbar,off` and `tabbar,on`
Whether to display a tab bar. Default is off.
### Signals `tab_btn,off` and `tab_btn,on`
Whether to display a tab button to easily navigate through tabs. Default is off.
### Signals `drag_left,on`, `drag_right,on`, `drag_top,on`, `drag_bottom,on`
When to start an animation when the cursor enters `drag_XXXX_outline` while
dragging a tab.
### Signals `drag_left,off`, `drag_right,off`, `drag_top,off`, `drag_bottom,off`
When to stop an animation started by the related `*,on` signals.
### Signals `drag_over_tabs,on` and `drag_over_tabs,off`
When the mouse, while dragging a tab, enters or leaves the tab region.
### Signals `grouped,on` and `grouped,off`
When input is broadcast to multiple terminals.
## Signal emitted
### Signal `tab,hdrag`
To notify that the current tab is being dragged.
### Signal `tab,drag,stop`
To notify that the current tab is no longer being dragged.
### Signal `tab,drag,move`
To notify that the current tab is being dragged outside of other tabs.
# Group `terminology/core`
## 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.
It reacts to the following signals based on the media to play in background:
* `media,off`
* `media,image`
* `media,scale`
* `media,edje`
* `media,movie`
### Part `terminology.tabregion`
Here is swalloed a fully transparent rectangle to move down the textgrid.
### Part `terminology.content`
Where actual text grid goes.
## Signals received
### Signals `tabbar,off` and `tabbar,on`
Whether to display a tab bar. Default is off.
### Signals `tab_btn,off` and `tab_btn,on`
Whether to display a tab button to easily navigate through tabs. Default is off.
### Signals `hdrag,on` and `hdrag,off`
Whether to restrict (default) horizontal tab drag
## Signal emitted
### Signals `tab,drag` and `tab,drag,stop`
To notify that the current tab is being dragged.
### Signals `tab,mouse,down`
Whenever the left mouse button is pressed on a tab.
# Group `terminology/about`
## Text parts
### Part `terminology.text`
The text of the __About__ message.
# Group `terminology.tabbar_back`
An inactive tab item
## Text parts
### Part `terminology.title`
Title of the tab.
## Signal emitted
### Signal `tab,activate`
When clicked on it, to notify that the user wants to go to that tab.
## Signals received
### Signal `bell`
To mark the tab as having missed a bell.
### Signal `bell,off`
To unmark the tab as having missed a bell.
### Signals `grouped,on` and `grouped,off`
When input is broadcast to multiple terminals.
# Group `terminology/keybinding`
__TODO__
# Group `terminology/miniview`
__TODO__
# Group `terminology/fontpreview`
__TODO__
# Group `terminology/selection`
An object used when selecting text.
## 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`
__TODO__
# Group `terminology/cursor_bar`
__TODO__
# Group `terminology/cursor_underline`
__TODO__
# Group `terminology/sel/base`
__TODO__
# Group `terminology/sel/item`
__TODO__
# Group `terminology/link`
An object overlayd on text that is a link.
# Group `terminology/mediabusy`
__TODO__
# Group `terminology/mediactrl`
__TODO__
# Group `terminology/tab_drag_thumb`
A thumbnail of a tab being dragged.
## Swallowed part
### Part `terminology.content`
Here is swallowed an object of group `terminology.background`.
## Text part
### Part `terminology.title`
Title of the tab.
## Signal received
### Signal `bell`
To mark the tab as having missed a bell.
# Group `terminology/colorscheme_preview`
A group to preview a colorscheme. Used in the Colors panel in the settings.
## Swallowed part
### Part `terminology.content`
Where a textgrid showing off a color scheme is displayed.
# Group `terminology/color_preview`
A group to preview a color in a tooltip. The color is defined by the color
class `color_preview`.
## Text part
### Part `name`
Name of the color being previewed

View File

@ -1,12 +1,9 @@
 
 
[43$x
  
   
███
███
[?6h
[?69h
  
   
aaaaa
@ -17,7 +14,5 @@
ΟὐχὶταὐταταίμοგთხოვოთრეЗарегисруйтесьсейчасγιγνώσκειν,ὦἄνδρες᾿Αθηναῖοι,ისტრაციასაერთაშორისო๏แผ่นดินฮั่นเสื่อมโทรมแสนสังพระปกเกศกองบู๊กู้ขึ้นใหม่наДесятуюМежнуюКонфеиюпоሰማይአይታረስንጉሥአይከሰስ።ᚻᚳᚹᚫᚦᚦᚫᛏᛗᚹᚦᚦᚪᚹᛥᚫ⡌⠁⠧⠑⠎⡣⠕⠌ABCDEFGHIJKLMNOPstuvwxyz£©µÀÆÖÞßéöÿ—…‰™œŠŸž€ΑΒΓΔΩαβγδωАБВГДабвгд
∀∂∈≡∞↑↗↨↻⇣┐┼╔╘░►☺♀fi<EFBFBD>⑀₂ἠḂӥẄɐː⍎אԱაΚαλημέρακόσμε,コンニチハ
▉╔═╦╗┌─┬┐╭┬╮┏━┳┓┎┒┏┑╷╻┏┯┓┌┰┐▊╱╲╳
]0;US☃ER ]777;notif 
]8;;sMulti-colour link nt]8;;
]8;;hT\ST ]8;;\ ]8;;hfoo[!pbar 8;xom/C1œT)8;;œ (no
]8;;thts: 䀀䀁䀂‚ƒ„…]8;;
]0;US☃ER
]777;notif

40
autogen.sh Executable file
View File

@ -0,0 +1,40 @@
#!/bin/sh
rm -rf autom4te.cache
rm -f aclocal.m4 ltmain.sh
touch README
touch ABOUT-NLS
echo "Running autopoint..." ; autopoint -f || :
echo "Running aclocal..." ; aclocal $ACLOCAL_FLAGS -I m4 || exit 1
echo "Running autoheader..." ; autoheader || exit 1
echo "Running autoconf..." ; autoconf || exit 1
echo "Running libtoolize..." ; (libtoolize --copy --automake || glibtoolize --automake) || exit 1
echo "Running automake..." ; automake --add-missing --copy --gnu || exit 1
W=0
rm -f config.cache-env.tmp
echo "OLD_PARM=\"$@\"" >> config.cache-env.tmp
echo "OLD_CFLAGS=\"$CFLAGS\"" >> config.cache-env.tmp
echo "OLD_PATH=\"$PATH\"" >> config.cache-env.tmp
echo "OLD_PKG_CONFIG_PATH=\"$PKG_CONFIG_PATH\"" >> config.cache-env.tmp
echo "OLD_LDFLAGS=\"$LDFLAGS\"" >> config.cache-env.tmp
cmp config.cache-env.tmp config.cache-env >> /dev/null
if [ $? -ne 0 ]; then
W=1;
fi
if [ $W -ne 0 ]; then
echo "Cleaning configure cache...";
rm -f config.cache config.cache-env
mv config.cache-env.tmp config.cache-env
else
rm -f config.cache-env.tmp
fi
if [ -z "$NOCONFIGURE" ]; then
./configure -C "$@"
fi

184
configure.ac Normal file
View File

@ -0,0 +1,184 @@
dnl Process this file with autoconf to produce a configure script.
# get rid of that stupid cache mechanism
rm -f config.cache
AC_INIT([terminology], [1.0.99], [enlightenment-devel@lists.sourceforge.net])
AC_PREREQ([2.60])
AC_CONFIG_SRCDIR([configure.ac])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADERS([terminology_config.h])
AM_INIT_AUTOMAKE([1.6 dist-xz])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AC_USE_SYSTEM_EXTENSIONS
AC_PROG_CC
AM_PROG_CC_C_O
AC_C___ATTRIBUTE__
efl_version="1.7.0"
AC_SUBST(efl_version)
m4_ifdef([AM_GNU_GETTEXT_VERSION], [
AM_GNU_GETTEXT_VERSION([0.18])
])
m4_ifdef([AM_GNU_GETTEXT], [
AM_GNU_GETTEXT([external], [need-ngettext])
po_makefile_in=po/Makefile.in
have_po="yes"
],[
have_po="no"
])
AC_SUBST(LTLIBINTL)
if test "x$LIBINTL" = "x"; then
LIBINTL="$INTLLIBS"
fi
if test "x${POSUB}" = "x" ; then
have_po="no"
fi
AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"])
requirements="\
elementary >= ${efl_version} \
eina >= ${efl_version} \
eet >= ${efl_version} \
evas >= ${efl_version} \
ecore >= ${efl_version} \
ecore-evas >= ${efl_version} \
ecore-file >= ${efl_version} \
edje >= ${efl_version} \
emotion >= ${efl_version} \
ecore-input >= ${efl_version} \
ecore-imf >= ${efl_version} \
ecore-imf-evas >= ${efl_version} \
ecore-ipc >= ${efl_version} \
efreet >= ${efl_version} \
ethumb_client >= ${efl_version} \
"
EFL_ENABLE_EO_API_SUPPORT
EFL_ENABLE_BETA_API_SUPPORT
# check for fuzzing
want_fuzzing="fuzzing"
AC_ARG_ENABLE([fuzzing],
[AS_HELP_STRING([--enable-fuzzing],[Enable fuzzing on terminology. Binaries
are not suited for production. @<:@default=disabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_fuzzing="yes"
AC_DEFINE([ENABLE_FUZZING], [1], [Fuzzing enabled])
AC_SUBST([want_fuzzing])
else
want_fuzzing="no"
fi
],
[want_fuzzing="no"])
AM_CONDITIONAL([ENABLE_FUZZING], [test "${want_fuzzing}" = "yes"])
PKG_CHECK_MODULES([TERMINOLOGY], [${requirements}])
AC_CHECK_FUNCS(mkstemps)
orig_cflags=$CFLAGS
CFLAGS+=" $TERMINOLOGY_CFLAGS "
LDFLAGS+=" $TERMINOLOGY_LDFLAGS $TERMINOLOGY_LIBS "
AC_MSG_CHECKING([for ecore_con_url_head])
AC_LINK_IFELSE(
[
AC_LANG_PROGRAM(
[[
#include <Ecore_Con.h>
]],
[[
ecore_con_url_head(NULL);
]])
],
[
AC_MSG_RESULT([yes])
AC_DEFINE([HAVE_ECORE_CON_URL_HEAD], [1], [define to 1 if ecore_con_url_head is available])
],
[
AC_MSG_RESULT([no])
]
)
AC_MSG_CHECKING([for elm_win_teamwork])
AC_LINK_IFELSE(
[
AC_LANG_PROGRAM(
[[
#include <Elementary.h>
]],
[[
elm_win_teamwork_uri_show(NULL);
]])
],
[
AC_MSG_RESULT([yes])
AC_DEFINE([HAVE_ELM_WIN_TEAMWORK], [1], [define to 1 if
elm_win_teamwork_uri_show is available])
],
[
AC_MSG_RESULT([no])
]
)
CFLAGS=$orig_cflags
EFL_WITH_BIN([edje], [edje-cc], [edje_cc])
AC_CONFIG_FILES([
terminology.spec
pkgbuild/PKGBUILD
])
AC_OUTPUT([
Makefile
src/Makefile
src/bin/Makefile
data/Makefile
data/desktop/Makefile
data/icons/Makefile
data/backgrounds/Makefile
data/images/Makefile
data/fonts/Makefile
data/themes/Makefile
data/themes/images/Makefile
data/themes/sounds/Makefile
data/themes/nyanology/Makefile
data/themes/nyanology/images/Makefile
data/themes/nyanology/images-sources/Makefile
man/Makefile
$po_makefile_in
])
#####################################################################
## Info
echo
echo
echo
echo "------------------------------------------------------------------------"
echo "$PACKAGE $VERSION"
echo "------------------------------------------------------------------------"
echo
echo "Compilation................: make (or gmake)"
echo " CPPFLAGS.................: $CPPFLAGS"
echo " CFLAGS...................: $CFLAGS"
echo " LDFLAGS..................: $LDFLAGS"
echo
echo "Installation...............: make install (as root if needed, with 'su' or 'sudo')"
echo " prefix...................: $prefix"
echo
echo "Features:"
echo " gettext.............: $have_po"
echo " fuzzing.............: $want_fuzzing"
echo

3
data/Makefile.am Normal file
View File

@ -0,0 +1,3 @@
MAINTAINERCLEANFILES = Makefile.in
SUBDIRS = desktop icons images fonts themes backgrounds

View File

@ -0,0 +1,8 @@
MAINTAINERCLEANFILES = Makefile.in
filesdir = $(pkgdatadir)/backgrounds
files_DATA = \
mystic.png \
texture_background.png
EXTRA_DIST = $(files_DATA)

View File

@ -1,4 +0,0 @@
files = ['mystic.png', 'texture_background.png']
install_data(files,
install_dir: join_paths(get_option('datadir'),
'terminology', 'backgrounds'))

View File

@ -1,75 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Belafonte Day
author = Jan T. Sott
website = https://github.com/idleberg/Zissou-iTerm2
license = CC-BY-SA-4.0
[Colors]
bg = #d5ccba
main = #964700
hl = #332211
end_sel = #bf5b00
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 = #45373c
black = #20111b
red = #be100e
green = #858162
yellow = #eaa549
blue = #426a79
magenta = #97522c
cyan = #989a9c
white = #968c83
inverse_fg = #d5ccba
inverse_bg = #45373c
[Bright]
def = #45373c
black = #5e5252
red = #be100e
green = #858162
yellow = #eaa549
blue = #426a79
magenta = #97522c
cyan = #989a9c
white = #d5ccba
inverse_fg = #d5ccba
inverse_bg = #45373c
[Faint]
def = #695c5b
black = #4d3f42
red = #c33f39
green = #999378
yellow = #e4ae65
blue = #668289
magenta = #a6704f
cyan = #a7a6a3
white = #a59c90
inverse_fg = #d5ccba
inverse_bg = #695c5b
[BrightFaint]
def = #695c5b
black = #7b706c
red = #c33f39
green = #999378
yellow = #e4ae65
blue = #668289
magenta = #a6704f
cyan = #a7a6a3
white = #d5ccba
inverse_fg = #d5ccba
inverse_bg = #695c5b

View File

@ -1,75 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Belafonte Night
author = Jan T. Sott
website = https://github.com/idleberg/Zissou-iTerm2
license = CC-BY-SA-4.0
[Colors]
bg = #20111b
main = #e26b00
hl = #ffffff
end_sel = #bf5b00
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 = #968c83
black = #20111b
red = #be100e
green = #858162
yellow = #eaa549
blue = #426a79
magenta = #97522c
cyan = #989a9c
white = #968c83
inverse_fg = #20111b
inverse_bg = #968c83
[Bright]
def = #968c83
black = #5e5252
red = #be100e
green = #858162
yellow = #eaa549
blue = #426a79
magenta = #97522c
cyan = #989a9c
white = #d5ccba
inverse_fg = #20111b
inverse_bg = #968c83
[Faint]
def = #786d69
black = #20111b
red = #961011
green = #6b6550
yellow = #b7803d
blue = #395361
magenta = #794127
cyan = #7a777b
white = #786d69
inverse_fg = #20111b
inverse_bg = #786d69
[BrightFaint]
def = #786d69
black = #4e4144
red = #961011
green = #6b6550
yellow = #b7803d
blue = #395361
magenta = #794127
cyan = #7a777b
white = #a79d92
inverse_fg = #20111b
inverse_bg = #786d69

View File

@ -1,75 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Black
author = Terminology's developers
website = https://www.enlightenment.org/about-terminology
license = BSD-2-Clause
[Colors]
bg = #000000
main = #dcdcdc
hl = #ffffff
end_sel = #ffffff
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 = #aaaaaa
black = #000000
red = #ff6565
green = #93d44f
yellow = #eab93d
blue = #204a87
magenta = #ce5c00
cyan = #89b6e2
white = #cccccc
inverse_bg = #aaaaaa
inverse_fg = #000000
[Bright]
def = #cccccc
black = #555753
red = #ff8d8d
green = #c8e7a8
yellow = #ffc123
blue = #3465a4
magenta = #f57900
cyan = #46a400
white = #ffffff
inverse_bg = #cccccc
inverse_fg = #000000
[Faint]
def = #7f7f7f
black = #000000
red = #bf4b4b
green = #6e9f3b
yellow = #af8a2d
blue = #183765
magenta = #9a4500
cyan = #6688a9
white = #999999
inverse_fg = #000000
inverse_bg = #7f7f7f
[BrightFaint]
def = #999999
black = #3f413e
red = #bf6969
green = #96ad7e
yellow = #bf901a
blue = #274b7b
magenta = #b75a00
cyan = #347b00
white = #bfbfbf
inverse_fg = #000000
inverse_bg = #999999

View File

@ -1,75 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Cobalt2
author = wesbos
website = https://github.com/wesbos/cobalt2-vscode
license = MIT
[Colors]
bg = #122637
main = #f0cb09
hl = #ffffff
end_sel = #f0cb09
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 = #ffffff
black = #000000
red = #ff0000
green = #37dd21
yellow = #fee409
blue = #1460d2
magenta = #ff005d
cyan = #00bbbb
white = #bbbbbb
inverse_fg = #122637
inverse_bg = #ffffff
[Bright]
def = #ffffff
black = #555555
red = #f40d17
green = #3bcf1d
yellow = #ecc809
blue = #5555ff
magenta = #ff55ff
cyan = #6ae3f9
white = #ffffff
inverse_fg = #122637
inverse_bg = #ffffff
[Faint]
def = #c3c8cd
black = #04090d
red = #c3090d
green = #2daf26
yellow = #c3b414
blue = #1351ab
magenta = #c30953
cyan = #04959a
white = #90959a
inverse_fg = #122637
inverse_bg = #c3c8cd
[BrightFaint]
def = #c3c8cd
black = #44494d
red = #bb131f
green = #30a423
yellow = #b59f14
blue = #4449cd
magenta = #c349cd
cyan = #54b3c8
white = #c3c8cd
inverse_fg = #122637
inverse_bg = #c3c8cd

View File

@ -1,76 +0,0 @@
# The content is hard coded in src/bin/colors.c
[Main]
version = 1
[Metadata]
version = 1
name = Default
author = Terminology's developers,
website = https://www.enlightenment.org/about-terminology
license = BSD-2-Clause
[Colors]
bg = #202020
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 = #aaaaaa
black = #000000
red = #cc3333
green = #33cc33
yellow = #cc8833
blue = #3333cc
magenta = #cc33cc
cyan = #33cccc
white = #cccccc
inverse_fg = #222222
inverse_bg = #aaaaaa
[Bright]
def = #eeeeee
black = #666666
red = #ff6666
green = #66ff66
yellow = #ffff66
blue = #6666ff
magenta = #ff66ff
cyan = #66ffff
white = #ffffff
inverse_fg = #111111
inverse_bg = #eeeeee
[Faint]
def = #878787
black = #080808
red = #980808
green = #089808
yellow = #989808
blue = #080898
magenta = #980898
cyan = #089898
white = #989898
inverse_fg = #212121
inverse_bg = #878787
[BrightFaint]
def = #bababa
black = #545454
red = #c75454
green = #54c754
yellow = #c7c754
blue = #5454c7
magenta = #c754c7
cyan = #54c7c7
white = #c7c7c7
inverse_fg = #141414
inverse_bg = #bababa

View File

@ -1,75 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Dracula
author = Zeno Rocha
website = https://draculatheme.com/
license = MIT
[Colors]
bg = #282A36
main = #bd93f9
hl = #ffffff
end_sel = #bd93f9
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 = #f8f8f2
black = #21222c
red = #ff5555
green = #50fa7b
yellow = #f1fa8c
blue = #bd93f9
magenta = #ff79c6
cyan = #8be9fd
white = #f8f8f2
inverse_fg = #282a36
inverse_bg = #f8f8f2
[Bright]
def = #ffffff
black = #6272a4
red = #ff6e6e
green = #69ff94
yellow = #ffffa5
blue = #d6acff
magenta = #ff92df
cyan = #a4ffff
white = #ffffff
inverse_fg = #44475a
inverse_bg = #ffffff
[Faint]
def = #c4c4c3
black = #22242e
red = #c94a4d
green = #46c669
yellow = #bec676
blue = #9778c8
magenta = #c965a2
cyan = #72b9cb
white = #c4c4c3
inverse_fg = #282a36
inverse_bg = #c4c4c3
[BrightFaint]
def = #c9c9cc
black = #536088
red = #c95d60
green = #58c97c
yellow = #c9c989
blue = #aa8bcc
magenta = #c978b4
cyan = #85c9cc
white = #c9c9cc
inverse_fg = #3d3f51
inverse_bg = #c9c9cc

View File

@ -1,75 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Fahrenheit
author = Jonas Carpay
website = https://github.com/mbadolato/iTerm2-Color-Schemes#fahrenheit
license = MIT
[Colors]
bg = #000000
main = #4d729f
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 = #ffffcd
black = #1c1c1c
red = #cc9f74
green = #9e744c
yellow = #fdcf74
blue = #720001
magenta = #734b4c
cyan = #979797
white = #ffffcd
inverse_fg = #000000
inverse_bg = #ffffcd
[Bright]
def = #ffffcd
black = #000000
red = #fdce9f
green = #cb724c
yellow = #fd9f4d
blue = #cb4905
magenta = #4d729f
cyan = #fecf4d
white = #ffffff
inverse_fg = #000000
inverse_bg = #ffffcd
[Faint]
def = #bfbf99
black = #151515
red = #997757
green = #765739
yellow = #bd9b57
blue = #550000
magenta = #563839
cyan = #717171
white = #bfbf99
inverse_fg = #000000
inverse_bg = #bfbf99
[BrightFaint]
def = #bfbf99
black = #000000
red = #bd9a77
green = #985539
yellow = #bd7739
blue = #983603
magenta = #395577
cyan = #be9b39
white = #bfbfbf
inverse_fg = #000000
inverse_bg = #bfbf99

View File

@ -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 = Fir Dark
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

View File

@ -1,75 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = GruvBox Material Dark
author = Sainnhe Park
website = https://github.com/sainnhe/gruvbox-material
license = MIT
[Colors]
bg = #32302f
main = #ea6962
hl = #d4be98
end_sel = #472322
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 = #d4bd98
[Normal]
def = #ddc7a1
black = #252423
red = #ea6962
green = #a9b665
yellow = #d8a657
blue = #7daea3
magenta = #d3869b
cyan = #89b482
white = #deddda
inverse_bg = #d4be98
inverse_fg = #252423
[Bright]
def = #f2c25e
black = #474543
red = #ea3f36
green = #a0b62e
yellow = #d88d16
blue = #46ae97
magenta = #d3476d
cyan = #57b448
white = #decd9b
inverse_bg = #d4a759
inverse_fg = #25201c
[Faint]
def = #b2a184
black = #282726
red = #bc5a55
green = #8b9457
yellow = #ae884d
blue = #6a8e86
magenta = #aa7080
cyan = #73936d
white = #b3b1af
inverse_fg = #282726
inverse_bg = #ab9a7d
[BrightFaint]
def = #c29d52
black = #413f3e
red = #bc3b34
green = #84942e
yellow = #ae751c
blue = #418e7d
magenta = #aa415d
cyan = #4d9341
white = #b3a580
inverse_fg = #282420
inverse_bg = #ab894e

View File

@ -1,75 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Material Dark
author = Chris Jones
website = https://github.com/mitoca?tab=repositories
license = MIT
[Colors]
bg = #263238
main = #90a4ae
hl = #ffffff
end_sel = #90a4ae
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 = #eceff1
black = #364349
red = #eb5f59
green = #8eedb3
yellow = #f8d85e
blue = #68c1f9
magenta = #eb5181
cyan = #8ff8db
white = #fefefe
inverse_fg = #0b0d0f
inverse_bg = #c2cfd6
[Bright]
def = #eceff1
black = #8a9ea8
red = #ef9084
green = #c5f4cd
yellow = #fae58d
blue = #94d5fa
magenta = #ee86aa
cyan = #bafaeb
white = #fefefe
inverse_fg = #0b0d0f
inverse_bg = #c2cfd6
[Faint]
def = #babfc2
black = #323e44
red = #b95350
green = #74be94
yellow = #c3ae54
blue = #579dc8
magenta = #b9496e
cyan = #74c6b2
white = #c8cbcc
inverse_fg = #111619
inverse_bg = #9ba7ae
[BrightFaint]
def = #babfc2
black = #71838c
red = #bc7871
green = #9dc3a7
yellow = #c5b877
blue = #78acc9
magenta = #bc718d
cyan = #95c8be
white = #c8cbcc
inverse_fg = #111619
inverse_bg = #9ba7ae

View File

@ -1,75 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Material
author = Terminology's developers,
website = https://www.enlightenment.org/about-terminology
license = BSD-2-Clause
[Colors]
bg = #3d3d3d
main = #b7141e
hl = #ffffff
end_sel = #ff3300
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 = #e4e4e4
black = #212121
red = #b7141e
green = #457b23
yellow = #f5971d
blue = #1565c0
magenta = #6a1e9a
cyan = #00838f
white = #d8d8d8
inverse_fg = #303030
inverse_bg = #e4e4e4
[Bright]
def = #e4e4e4
black = #525252
red = #e83a3f
green = #7aba39
yellow = #fee92e
blue = #4cb2ff
magenta = #be86e3
cyan = #2dced0
white = #eeeeee
inverse_fg = #3b3b3a
inverse_bg = #e4e4e4
[Faint]
def = #bababa
black = #282828
red = #981e25
green = #436b29
yellow = #c78025
blue = #1f5b9f
magenta = #5e2582
cyan = #0f717a
white = #b1b1b1
inverse_fg = #333333
inverse_bg = #bababa
[BrightFaint]
def = #bababa
black = #4c4c4c
red = #bd3a3e
green = #6a9a3a
yellow = #cdbe31
blue = #4894ce
magenta = #9d73b9
cyan = #31a9ab
white = #c1c1c1
inverse_fg = #3b3b3a
inverse_bg = #bababa

View File

@ -1,74 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Mild
author = Terminology's developers
website = https://www.enlightenment.org/about-terminology
license = BSD-2-Clause
[Colors]
bg = #303030
main = #dcdcdc
hl = #ffffff
end_sel = #ffffff
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 = #aaaaaa
black = #000000
red = #ff6565
green = #93d44f
yellow = #eab93d
blue = #204a87
magenta = #ce5c00
cyan = #89b6e2
white = #cccccc
inverse_bg = #aaaaaa
inverse_fg = #303030
[Bright]
def = #cccccc
black = #555753
red = #ff8d8d
green = #c8e7a8
yellow = #ffc123
blue = #3465a4
magenta = #f57900
cyan = #46a400
white = #ffffff
inverse_bg = #cccccc
inverse_fg = #303030
[Faint]
def = #8b8b8b
black = #0c0c0c
red = #cb5757
green = #7aab47
yellow = #bb9639
blue = #244371
magenta = #a6510c
cyan = #7294b5
white = #a5a5a5
inverse_fg = #303030
inverse_bg = #8b8b8b
[BrightFaint]
def = #a5a5a5
black = #4b4d4a
red = #cb7575
green = #a2b98a
yellow = #cb9c26
blue = #335787
magenta = #c3660c
cyan = #40870c
white = #cbcbcb
inverse_fg = #303030
inverse_bg = #a5a5a5

View File

@ -1,74 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Mustang
author = Henrique C. Alves
website = https://www.deviantart.com/hcalves/art/Mustang-Vim-Colorscheme-98974484
license = MIT
[Colors]
bg = #1a1a1a
main = #3399ff
hl = #ffffff
end_sel = #3599ff
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 = #aaaaaa
black = #000000
red = #ff6565
green = #93d44f
yellow = #eab93d
blue = #204a87
magenta = #ce5c00
cyan = #89b6e2
white = #cccccc
inverse_bg = #aaaaaa
inverse_fg = #1a1a1a
[Bright]
def = #ffffff
black = #555753
red = #ff8d8d
green = #c8e7a8
yellow = #ffc123
blue = #3465a4
magenta = #f57900
cyan = #46a400
white = #ffffff
inverse_bg = #ffffff
inverse_fg = #1a1a1a
[Faint]
def = #868686
black = #060606
red = #c55252
green = #74a541
yellow = #b69134
blue = #1e3e6b
magenta = #a14b06
cyan = #6d8fb0
white = #9f9f9f
inverse_fg = #1a1a1a
inverse_bg = #868686
[BrightFaint]
def = #c5c5c5
black = #464744
red = #c57070
green = #9cb384
yellow = #c59720
blue = #2d5281
magenta = #be6106
cyan = #3b8106
white = #c5c5c5
inverse_fg = #1a1a1a
inverse_bg = #c5c5c5

View File

@ -1,74 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Nord
author = Arctic Ice Studio
website = https://git.io/nord
license = MIT
[Colors]
bg = #2e3440
main = #88c0d0
hl = #ffffff
end_sel = #88c0d0
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 = #d8dee9
black = #3b4252
red = #bf616a
green = #a3be8c
yellow = #ebcb8b
blue = #81a1c1
magenta = #b48ead
cyan = #88c0d0
white = #e5e9f0
inverse_fg = #2e3440
inverse_bg = #d8dee9
[Bright]
def = #eceff4
black = #4c566a
red = #bf616a
green = #a3be8c
yellow = #ebcb8b
blue = #81a1c1
magenta = #b48ead
cyan = #8fbcbb
white = #eceff4
inverse_fg = #2e3440
inverse_bg = #eceff4
[Faint]
def = #adb3be
black = #373e4d
red = #9a555f
green = #859b79
yellow = #bba578
blue = #6c85a0
magenta = #927791
cyan = #719dac
white = #b7bbc4
inverse_fg = #2e3440
inverse_bg = #adb3be
[BrightFaint]
def = #bcc0c7
black = #444d5f
red = #9a555f
green = #859b79
yellow = #bba578
blue = #6c85a0
magenta = #927791
cyan = #769a9c
white = #bcc0c7
inverse_fg = #2e3440
inverse_bg = #bcc0c7

View File

@ -1,74 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Ocean Dark
author = Chris Kempson
website = https://github.com/chriskempson/base16-builder/blob/master/schemes/ocean.yml
license = MIT
[Colors]
bg = #2b303b
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 = #c0c5ce
black = #2b303b
red = #bf616a
green = #a3be8c
yellow = #ebcb8b
blue = #8ba1b3
magenta = #b48ead
cyan = #96b5b4
white = #c0c5ce
inverse_fg = #2b303b
inverse_bg = #c0c5ce
[Bright]
def = #eff1f5
black = #65737e
red = #d08770
green = #343d46
yellow = #4f5b66
blue = #a7adba
magenta = #dfe1e8
cyan = #ab7967
white = #eff1f5
inverse_fg = #2b303b
inverse_bg = #eff1f5
[Faint]
def = #9a9fa9
black = #2b303b
red = #9a545e
green = #859a77
yellow = #bba477
blue = #738495
magenta = #917690
cyan = #7b9395
white = #9a9fa9
inverse_fg = #2b303b
inverse_bg = #9a9fa9
[BrightFaint]
def = #bec0c6
black = #56626d
red = #a67162
green = #313943
yellow = #46505b
blue = #888d9a
magenta = #b2b4bc
cyan = #8b665c
white = #bec0c6
inverse_fg = #2b303b
inverse_bg = #bec0c6

View File

@ -1,75 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = One Dark
author = Mark Skelton
website = https://github.com/one-dark/iterm-one-dark-theme
license = MIT
[Colors]
bg = #21252b
main = #abb2bf
hl = #ffffff
end_sel = #abb2bf
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 = #abb2bf
black = #21252b
red = #e06c75
green = #98c379
yellow = #e5c07b
blue = #61afef
magenta = #c678dd
cyan = #56b6c2
white = #abb2bf
inverse_fg = #21252b
inverse_bg = #abb2bf
[Bright]
def = #abb2bf
black = #767676
red = #e06c75
green = #98c379
yellow = #e5c07b
blue = #61afef
magenta = #c678dd
cyan = #56b6c2
white = #abb2bf
inverse_fg = #21252b
inverse_bg = #abb2bf
[Faint]
def = #888e9a
black = #21252b
red = #b05a62
green = #7a9b65
yellow = #b49967
blue = #518cbe
magenta = #9c63b0
cyan = #48919c
white = #888e9a
inverse_fg = #21252b
inverse_bg = #888e9a
[BrightFaint]
def = #888e9a
black = #606163
red = #b05a62
green = #7a9b65
yellow = #b49967
blue = #518cbe
magenta = #9c63b0
cyan = #48919c
white = #888e9a
inverse_fg = #21252b
inverse_bg = #888e9a

View File

@ -1,75 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = PaleNight
author = Jonathan Speek
website = https://github.com/JonathanSpeek/palenight-iterm2
license = MIT
[Colors]
bg = #292d3e
main = #ffcc00
hl = #ffffff
end_sel = #ffcc00
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 = #959dcb
black = #292d3e
red = #f07178
green = #c3e88d
yellow = #ffcb6b
blue = #82aaff
magenta = #c792ea
cyan = #89ddff
white = #d0d0d0
inverse_fg = #292d3e
inverse_bg = #959dcb
[Bright]
def = #959dcb
black = #434758
red = #ff8b92
green = #ddffa7
yellow = #ffe585
blue = #9cc4ff
magenta = #e1acff
cyan = #a3f7ff
white = #fefefe
inverse_fg = #292d3e
inverse_bg = #959dcb
[Faint]
def = #7a81a7
black = #292d3e
red = #be6069
green = #9cb979
yellow = #c9a35f
blue = #6b8ace
magenta = #9f78bf
cyan = #71b1ce
white = #a6a7ab
inverse_fg = #292d3e
inverse_bg = #7a81a7
[BrightFaint]
def = #7a81a7
black = #3c4051
red = #c9737d
green = #b0ca8c
yellow = #c9b773
blue = #7f9ece
magenta = #b38cce
cyan = #84c4ce
white = #c8c9ce
inverse_fg = #292d3e
inverse_bg = #7a81a7

View File

@ -1,74 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = PaperColor
author = Nikyle Nguyen
website = https://github.com/NLKNguyen/papercolor-theme
license = MIT
[Colors]
bg = #eeeeee
main = #b7141e
hl = #222222
end_sel = #88003d
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 = #444444
black = #f2f2f2
red = #c62828
green = #558b2e
yellow = #ff8f01
blue = #1565c0
magenta = #6a1e9a
cyan = #00838f
white = #2c2c2c
inverse_bg = #444444
inverse_fg = #eeeeee
[Bright]
def = #333333
black = #fbfbdb
red = #e17e85
green = #61ba86
yellow = #ffb68e
blue = #4cb2ff
magenta = #be86e3
cyan = #2dced0
white = #546386
inverse_bg = #333333
inverse_fg = #eeeeee
[Faint]
def = #6e6e6e
black = #f1f1f1
red = #d05959
green = #7ba35e
yellow = #faa63c
blue = #4b87cb
magenta = #8b52af
cyan = #3b9da6
white = #5c5c5c
inverse_fg = #eeeeee
inverse_bg = #6e6e6e
[BrightFaint]
def = #616161
black = #f7f7df
red = #e49a9f
green = #84c7a0
yellow = #fac4a6
blue = #74c1fa
magenta = #caa0e5
cyan = #5dd6d7
white = #7a85a0
inverse_fg = #eeeeee
inverse_bg = #616161

View File

@ -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

View File

@ -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

View File

@ -1,75 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Selenized Light
author = Jan Warchol
website = https://github.com/jan-warchol/selenized
license = MIT
[Colors]
bg = #fbf3db
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 = #53676d
black = #ece3cc
red = #d2212d
green = #489100
yellow = #ad8900
blue = #0072d4
magenta = #ca4898
cyan = #009c8f
white = #909995
inverse_bg = #53676d
inverse_fg = #fdf3db
[Bright]
def = #3a4d53
black = #d5cdb6
red = #cc1729
green = #428b00
yellow = #a78300
blue = #006dce
magenta = #c44392
cyan = #00978a
white = #3a4d53
inverse_bg = #3a4d53
inverse_fg = #ece3cc
[Faint]
def = #7d8a88
black = #efe7cf
red = #dc5558
green = #74a936
yellow = #c0a336
blue = #3e92d5
magenta = #d672a8
cyan = #3eb1a2
white = #aaafa6
inverse_fg = #fcf3db
inverse_bg = #7d8a88
[BrightFaint]
def = #6a7675
black = #ded6bf
red = #d74e55
green = #70a536
yellow = #bc9f36
blue = #3e8ed1
magenta = #d16fa4
cyan = #3eae9e
white = #6a7675
inverse_fg = #efe7cf
inverse_bg = #6a7675

View File

@ -1,75 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Selenized White
author = Jan Warchol
website = https://github.com/jan-warchol/selenized
license = MIT
[Colors]
bg = #ffffff
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 = #474747
black = #ebebeb
red = #d6000c
green = #1d9700
yellow = #c49700
blue = #0064e4
magenta = #dd0f9d
cyan = #00ad9c
white = #878787
inverse_bg = #474747
inverse_fg = #ffffff
[Bright]
def = #ebebeb
black = #cdcdcd
red = #bf0000
green = #008400
yellow = #af8500
blue = #0054cf
magenta = #c7008b
cyan = #009a8a
white = #282828
inverse_bg = #ebebeb
inverse_fg = #282828
[Faint]
def = #757575
black = #f0f0f0
red = #e03f48
green = #55b13f
yellow = #d2b13f
blue = #3f8aea
magenta = #e54bb5
cyan = #3fc1b4
white = #a5a5a5
inverse_fg = #ffffff
inverse_bg = #757575
[BrightFaint]
def = #f0f0f0
black = #d9d9d9
red = #cf3f3f
green = #3fa23f
yellow = #c3a33f
blue = #3f7edb
magenta = #d53fa8
cyan = #3fb3a7
white = #5d5d5d
inverse_fg = #5d5d5d
inverse_bg = #f0f0f0

View File

@ -1,74 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Smyck
author = John-Paul Bader (hukl)
website = http://color.smyck.ork/
license = MIT
[Colors]
bg = #000000
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 = #aaaaaa
black = #000000
red = #c75646
green = #8eb33b
yellow = #d0b03c
blue = #4e90a7
magenta = #c8a0d1
cyan = #218693
white = #b0b0b0
inverse_fg = #000000
inverse_bg = #aaaaaa
[Bright]
def = #cccccc
black = #5d5d5d
red = #e09690
green = #cdee69
yellow = #ffe377
blue = #9cd9f0
magenta = #fbb1f9
cyan = #77dfd8
white = #f7f7f7
inverse_fg = #000000
inverse_bg = #cccccc
[Faint]
def = #7f7f7f
black = #000000
red = #954034
green = #6a862c
yellow = #9c842d
blue = #3a6c7d
magenta = #96789c
cyan = #18646e
white = #848484
inverse_fg = #000000
inverse_bg = #7f7f7f
[BrightFaint]
def = #999999
black = #454545
red = #a8706c
green = #99b24e
yellow = #bfaa59
blue = #75a2b4
magenta = #bc84ba
cyan = #59a7a2
white = #b9b9b9
inverse_fg = #000000
inverse_bg = #999999

View File

@ -1,75 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Soft Era
author = Audrey Moon
website = http://soft-aesthetic.club/soft-era.html
license = MIT
[Colors]
bg = #f7f2f2
main = #e796b0
hl = #222222
end_sel = #e796b0
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 = #bba3a3
black = #1c1b28
red = #e36a85
green = #87b8ab
yellow = #fda2a9
blue = #70a3dc
magenta = #e796b0
cyan = #a49ad7
white = #f7f2f2
inverse_fg = #f7f2f2
inverse_bg = #bba3a3
[Bright]
def = #bba3a3
black = #1c1b28
red = #e36a85
green = #87b8ab
yellow = #fda2a9
blue = #70a3dc
magenta = #e796b0
cyan = #a49ad7
white = #f7f2f2
inverse_fg = #f7f2f2
inverse_bg = #bba3a3
[Faint]
def = #cab6b6
black = #52505a
red = #e88ca0
green = #a3c6bc
yellow = #fbb6bb
blue = #91b6e1
magenta = #ebadc0
cyan = #b8b0dd
white = #f7f2f2
inverse_fg = #f7f2f2
inverse_bg = #cab6b6
[BrightFaint]
def = #cab6b6
black = #52505a
red = #e88ca0
green = #a3c6bc
yellow = #fbb6bb
blue = #91b6e1
magenta = #ebadc0
cyan = #b8b0dd
white = #f7f2f2
inverse_fg = #f7f2f2
inverse_bg = #cab6b6

View File

@ -1,74 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Solarized Light
author = Ethan Schoonover
website = https://ethanschoonover.com/solarized/
license = MIT
[Colors]
bg = #fdf6e3
main = #aa9966
hl = #222222
end_sel = #aa9966
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 = #839496
black = #002b36
red = #dc322f
green = #859900
yellow = #b58900
blue = #268bd2
magenta = #d33682
cyan = #2aa198
white = #eee8d5
inverse_bg = #839496
inverse_fg = #fdf6e3
[Bright]
def = #839496
black = #073642
red = #cb4b16
green = #586e75
yellow = #657b83
blue = #839496
magenta = #6c71c4
cyan = #93a1a1
white = #fdf6e3
inverse_bg = #839496
inverse_fg = #fdf6e3
[Faint]
def = #a1aca9
black = #3f5d61
red = #e4635c
green = #a3b038
yellow = #c7a438
blue = #5ba5d6
magenta = #dd669a
cyan = #5eb6aa
white = #f1ebd8
inverse_fg = #fdf6e3
inverse_bg = #a1aca9
[BrightFaint]
def = #a1aca9
black = #44666a
red = #d77549
green = #819090
yellow = #8b999b
blue = #a1aca9
magenta = #9092cb
cyan = #adb6b1
white = #fdf6e3
inverse_fg = #fdf6e3
inverse_bg = #a1aca9

View File

@ -1,74 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Solarized
author = Ethan Schoonover
website = https://ethanschoonover.com/solarized/
license = MIT
[Colors]
bg = #002b36
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 = #839496
black = #073642
red = #dc322f
green = #859900
yellow = #b58900
blue = #268bd2
magenta = #d33682
cyan = #2aa198
white = #eee8d5
inverse_bg = #839496
inverse_fg = #002b36
[Bright]
def = #839496
black = #002b36
red = #cb4b16
green = #586e75
yellow = #657b83
blue = #839496
magenta = #6c71c4
cyan = #93a1a1
white = #fdf6e3
inverse_bg = #839496
inverse_fg = #002b36
[Faint]
def = #62797e
black = #05333f
red = #a53030
green = #637d0d
yellow = #87710d
blue = #1c73ab
magenta = #9e336f
cyan = #1f837f
white = #b2b8ad
inverse_fg = #002b36
inverse_bg = #62797e
[BrightFaint]
def = #62797e
black = #002b36
red = #98431e
green = #425d65
yellow = #4b676f
blue = #62797e
magenta = #515fa0
cyan = #6e8386
white = #bdc3b7
inverse_fg = #002b36
inverse_bg = #62797e

View File

@ -1,75 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Tango Dark
author = Tango developers,
website = http://tango-project.org/
license = Public Domain
[Colors]
bg = #2e3436
main = #f57900
hl = #ffffff
end_sel = #f57900
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 = #d3d7cf
black = #000000
red = #cc0000
green = #4e9a06
yellow = #c4a000
blue = #3465a4
magenta = #75507b
cyan = #06989a
white = #d3d7cf
inverse_fg = #2e3436
inverse_bg = #d3d7cf
[Bright]
def = #eeeeec
black = #555753
red = #ef2929
green = #8ae234
yellow = #fce94f
blue = #729fcf
magenta = #ad7fa8
cyan = #34e2e2
white = #eeeeec
inverse_fg = #2e3436
inverse_bg = #eeeeec
[Faint]
def = #a9aea8
black = #0b0d0d
red = #a40d0d
green = #468012
yellow = #9e850d
blue = #325888
magenta = #634969
cyan = #107f81
white = #a9aea8
inverse_fg = #2e3436
inverse_bg = #a9aea8
[BrightFaint]
def = #bebfbe
black = #4b4e4b
red = #be2b2c
green = #73b634
yellow = #c8bb48
blue = #6184a8
magenta = #8d6c8b
cyan = #32b6b7
white = #bebfbe
inverse_fg = #2e3436
inverse_bg = #bebfbe

View File

@ -1,75 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Tango Light
author = Tango developers,
website = http://tango-project.org/
license = Public Domain
[Colors]
bg = #eeeeec
main = #ce5c00
hl = #222222
end_sel = #ce5c00
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 = #555753
black = #d3d7cf
red = #cc0000
green = #4e9a06
yellow = #c4a000
blue = #3465a4
magenta = #75507b
cyan = #06989a
white = #000000
inverse_bg = #555753
inverse_fg = #eeeeec
[Bright]
def = #2e3436
black = #eeeeec
red = #ef2929
green = #8ae234
yellow = #fce94f
blue = #729fcf
magenta = #ad7fa8
cyan = #34e2e2
white = #555753
inverse_bg = #2e3436
inverse_fg = #eeeeec
[Faint]
def = #7b7c79
black = #d9dcd6
red = #d43b3b
green = #76af3f
yellow = #ceb33b
blue = #6287b6
magenta = #937797
cyan = #40adae
white = #3b3b3b
inverse_fg = #eeeeec
inverse_bg = #7b7c79
[BrightFaint]
def = #5e6263
black = #eeeeec
red = #ee5a59
green = #a3e562
yellow = #f8ea76
blue = #91b2d6
magenta = #bd9ab9
cyan = #62e5e4
white = #7b7c79
inverse_fg = #eeeeec
inverse_bg = #5e6263

View File

@ -1,75 +0,0 @@
[Main]
version = 1
[Metadata]
version = 1
name = Tomorrow Night Burns
author = Ashwin Vaswani
website = https://github.com/mbadolato/iTerm2-Color-Schemes
license = MIT
[Colors]
bg = #151515
main = #a1b0b8
hl = #ffffff
end_sel = #ff3300
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 = #a1b0b8
black = #252525
red = #832e31
green = #a63b3f
yellow = #d2494e
blue = #fc595f
magenta = #df9395
cyan = #b98486
white = #f5f5f5
inverse_fg = #151515
inverse_bg = #a1b0b8
[Bright]
def = #a1b0b8
black = #5d6f71
red = #832e31
green = #a63c3f
yellow = #d2484d
blue = #fc595f
magenta = #df9395
cyan = #b98486
white = #f5f5f5
inverse_fg = #151515
inverse_bg = #a1b0b8
[Faint]
def = #7e898f
black = #212121
red = #67272a
green = #813134
yellow = #a23c3f
blue = #c2484c
magenta = #ac7375
cyan = #906869
white = #bdbdbd
inverse_fg = #151515
inverse_bg = #7e898f
[BrightFaint]
def = #7e898f
black = #4b585a
red = #67272a
green = #813234
yellow = #a23b3f
blue = #c2484c
magenta = #ac7375
cyan = #906869
white = #bdbdbd
inverse_fg = #151515
inverse_bg = #7e898f

View File

@ -1,40 +0,0 @@
#!/bin/sh
set -e
set -u
COMPRESS=1
EET=$1
shift
EET_FILE=$1
shift
INI=$1
shift
INI2DESC=$(dirname "$0")/ini2desc.py
GET_NAME=$(dirname "$0")/get_name.py
NAME=$($GET_NAME "$INI")
# ensure output directory exists
mkdir -p "$(dirname "$EET_FILE")"
# generate desc on a temporary file
TMP_DESC=$(mktemp "$NAME-DESC-XXXXXX")
# trap to avoid creating orphan files
trap 'rm -f "$TMP_DESC"' INT TERM HUP EXIT
NAME=$($GET_NAME "$INI")
[ ! -w "$EET_FILE" ] && touch "$EET_FILE"
echo "Generating $EET_FILE"
$INI2DESC "$INI" "$TMP_DESC"
$EET -e "$EET_FILE" "$NAME" "$TMP_DESC" "$COMPRESS"
rm "$TMP_DESC"
# file successfully written, so no need to trap to remove temp file
trap - INT TERM HUP EXIT

View File

@ -1,78 +0,0 @@
#!/usr/bin/env python3
import argparse
import configparser
import sys
from ini2desc import parse_color
def blend_color(cfg, blend_factor, src, dest, color_name):
(r1, g1, b1, a1) = parse_color(cfg.get('Colors', 'bg'))
(r2, g2, b2, a2) = parse_color(cfg.get(src, color_name))
def blend(c1, c2, f):
d = c2 - c1
return int(c1 + d * f)
r = blend(r1, r2, blend_factor)
g = blend(g1, g2, blend_factor)
b = blend(b1, b2, blend_factor)
a = blend(a1, a2, blend_factor)
if a != 255:
cfg.set(dest, color_name,
'#{:02x}{:02x}{:02x}{:02x}'.format(r, g, b, a))
else:
cfg.set(dest, color_name,
'#{:02x}{:02x}{:02x}'.format(r, g, b))
def main():
parser = argparse.ArgumentParser(description='Generate Faint colors in INI colorschemes description files.')
parser.add_argument('file',
type=argparse.FileType('r+'),
help='INI File to convert')
parser.add_argument('blend_factor',
type=int, nargs='?', default=75,
help='blend factor between normal color and background')
args = parser.parse_args()
cfg = configparser.ConfigParser()
cfg.read_file(args.file)
f = args.blend_factor
assert( 0 < f and f < 100)
f = f / 100
if not cfg.has_section('Faint'):
cfg.add_section('Faint')
if not cfg.has_section('BrightFaint'):
cfg.add_section('BrightFaint')
blend_color(cfg, f, 'Normal', 'Faint', 'def')
blend_color(cfg, f, 'Normal', 'Faint', 'black')
blend_color(cfg, f, 'Normal', 'Faint', 'red')
blend_color(cfg, f, 'Normal', 'Faint', 'green')
blend_color(cfg, f, 'Normal', 'Faint', 'yellow')
blend_color(cfg, f, 'Normal', 'Faint', 'blue')
blend_color(cfg, f, 'Normal', 'Faint', 'magenta')
blend_color(cfg, f, 'Normal', 'Faint', 'cyan')
blend_color(cfg, f, 'Normal', 'Faint', 'white')
blend_color(cfg, f, 'Normal', 'Faint', 'inverse_fg')
blend_color(cfg, f, 'Normal', 'Faint', 'inverse_bg')
blend_color(cfg, f, 'Bright', 'BrightFaint', 'def')
blend_color(cfg, f, 'Bright', 'BrightFaint', 'black')
blend_color(cfg, f, 'Bright', 'BrightFaint', 'red')
blend_color(cfg, f, 'Bright', 'BrightFaint', 'green')
blend_color(cfg, f, 'Bright', 'BrightFaint', 'yellow')
blend_color(cfg, f, 'Bright', 'BrightFaint', 'blue')
blend_color(cfg, f, 'Bright', 'BrightFaint', 'magenta')
blend_color(cfg, f, 'Bright', 'BrightFaint', 'cyan')
blend_color(cfg, f, 'Bright', 'BrightFaint', 'white')
blend_color(cfg, f, 'Bright', 'BrightFaint', 'inverse_fg')
blend_color(cfg, f, 'Bright', 'BrightFaint', 'inverse_bg')
args.file.seek(0)
args.file.truncate()
cfg.write(args.file)
if __name__ == "__main__":
main()

View File

@ -1,21 +0,0 @@
#!/usr/bin/env python3
import argparse
import configparser
import sys
def main():
parser = argparse.ArgumentParser(description='Get color scheme name from an INI colorschemes description file.')
parser.add_argument('input_file',
type=argparse.FileType('r'),
help='INI File to convert')
args = parser.parse_args()
cfg = configparser.ConfigParser()
cfg.read_file(args.input_file)
print(cfg.get('Metadata', 'name'))
if __name__ == "__main__":
main()

View File

@ -1,115 +0,0 @@
#!/usr/bin/env python3
import argparse
import configparser
def ensure_premultiplied(t):
(r, g, b, a) = t
if a != 255 and (a > r or a > g or a > b):
r = (r * a) // 255
g = (g * a) // 255
b = (b * a) // 255
return (r, g, b, a)
def parse_color(color_string):
h = color_string.lstrip('#')
if len(h) == 6:
return tuple(int(h[i:i+2], 16) for i in (0, 2, 4)) + (255,)
elif len(h) == 3:
return tuple(int(h[i]+h[i], 16) for i in (0, 1, 2)) + (255,)
elif len(h) == 8:
t = tuple(int(h[i:i+2], 16) for i in (0, 2, 4, 6))
t = ensure_premultiplied(t)
return t
elif len(h) == 4:
t = tuple(int(h[i]+h[i], 16) for i in (0, 1, 2, 3))
t = ensure_premultiplied(t)
return t
def write_color(out, color_string):
(r, g, b, a) = parse_color(color_string)
out.write(' group "Color" struct {\n')
out.write(' value "r" uchar: {};\n'.format(r))
out.write(' value "g" uchar: {};\n'.format(g))
out.write(' value "b" uchar: {};\n'.format(b))
out.write(' value "a" uchar: {};\n'.format(a))
out.write(' }\n')
def write_md(out, cfg):
out.write(' value "version" int: {};\n'
.format(cfg.get('Main', 'version', fallback='1')))
out.write(' value "md.version" int: {};\n'
.format(cfg.get('Metadata', 'version', fallback='1')))
out.write(' value "md.name" string: "{}";\n'
.format(cfg['Metadata']['name']))
out.write(' value "md.author" string: "{}";\n'
.format(cfg['Metadata']['author']))
out.write(' value "md.website" string: "{}";\n'
.format(cfg.get('Metadata', 'website', fallback='')))
out.write(' value "md.license" string: "{}";\n'
.format(cfg['Metadata']['license']))
def write_named_color(out, cfg, section, color_name, default=None):
out.write(' group "{}" struct {{\n'.format(color_name))
write_color(out, cfg.get(section, color_name, fallback=default))
out.write(' }\n')
def write_ui_colors(out, cfg):
write_named_color(out, cfg, 'Colors', 'def', '#aaaaaa')
write_named_color(out, cfg, 'Colors', 'bg', '#202020')
write_named_color(out, cfg, 'Colors', 'fg', '#aaaaaa')
write_named_color(out, cfg, 'Colors', 'main', '#3599ff')
write_named_color(out, cfg, 'Colors', 'hl', '#ffffff')
write_named_color(out, cfg, 'Colors', 'end_sel', '#ff3300')
write_named_color(out, cfg, 'Colors', 'tab_missed_1', '#ff9933')
write_named_color(out, cfg, 'Colors', 'tab_missed_2', '#ff3300')
write_named_color(out, cfg, 'Colors', 'tab_missed_3', '#ff0000')
write_named_color(out, cfg, 'Colors', 'tab_missed_over_1', '#ffff40')
write_named_color(out, cfg, 'Colors', 'tab_missed_over_2', '#ff9933')
write_named_color(out, cfg, 'Colors', 'tab_missed_over_3', '#ff0000')
write_named_color(out, cfg, 'Colors', 'tab_title_2', '#000000')
def write_color_block(out, cfg, block):
out.write(' group "{}" struct {{\n'.format(block))
out.write(' group "Color_Block" struct {\n')
write_named_color(out, cfg, block, 'def')
write_named_color(out, cfg, block, 'black')
write_named_color(out, cfg, block, 'red')
write_named_color(out, cfg, block, 'green')
write_named_color(out, cfg, block, 'yellow')
write_named_color(out, cfg, block, 'blue')
write_named_color(out, cfg, block, 'magenta')
write_named_color(out, cfg, block, 'cyan')
write_named_color(out, cfg, block, 'white')
write_named_color(out, cfg, block, 'inverse_fg')
write_named_color(out, cfg, block, 'inverse_bg')
out.write(' }\n')
out.write(' }\n')
def main():
parser = argparse.ArgumentParser(description='Convert INI colorschemes to EET description files.')
parser.add_argument('input_file',
type=argparse.FileType('r'),
help='INI File to convert')
parser.add_argument('output_file',
type=argparse.FileType('w'),
help='EET description to write')
args = parser.parse_args()
cfg = configparser.ConfigParser()
cfg.read_file(args.input_file)
out = args.output_file
assert(int(cfg['Main']['version']) == 1)
out.write('group "Color_Scheme" struct {\n')
write_md(out, cfg)
write_ui_colors(out, cfg)
write_color_block(out, cfg, 'Normal')
write_color_block(out, cfg, 'Bright')
write_color_block(out, cfg, 'Faint')
out.write('}\n')
if __name__ == "__main__":
main()

View File

@ -1,58 +0,0 @@
colorschemes = [
'Belafonte Day',
'Belafonte Night',
'Black',
'Cobalt2',
'Default',
'Dracula',
'Fahrenheit',
'Fir Dark',
'Material',
'Mild',
'Mustang',
'Nord',
'Ocean Dark',
'One Dark',
'PaleNight',
'PaperColor',
'Smyck',
'Soft Era',
'Solarized',
'Solarized Light',
'Selenized Black',
'Selenized Dark',
'Selenized Light',
'Selenized White',
'Tango Dark',
'Tango Light',
'Tomorrow Night Burns',
]
add_color_scheme_sh = find_program(
'add_color_scheme.sh',
native: false,
required: true,
dirs: [join_paths(meson.source_root(), 'data', 'colorschemes')])
cs_builder = [add_color_scheme_sh,
eet_bin, '@OUTPUT@', '@INPUT@']
cs_install_dir = join_paths(get_option('datadir'),
meson.project_name())
cs_install_dir = join_paths(
get_option('datadir'),
meson.project_name(),
'colorschemes')
foreach c : colorschemes
custom_target(c,
install:true,
install_dir: cs_install_dir,
install_mode: 'rw-r--r--',
depend_files : ['ini2desc.py', 'get_name.py', 'add_color_scheme.sh'],
command: cs_builder,
input: [c + '.ini'],
output: [c + '.eet'])
endforeach

6
data/desktop/Makefile.am Normal file
View File

@ -0,0 +1,6 @@
MAINTAINERCLEANFILES = Makefile.in
filesdir = $(datadir)/applications
files_DATA = \
terminology.desktop
EXTRA_DIST = $(files_DATA)

View File

@ -1,2 +0,0 @@
install_data('terminology.desktop',
install_dir: join_paths(get_option('datadir'), 'applications'))

View File

@ -9,10 +9,8 @@ Name[ko]=터미놀로지
#GenericName[ru]=Терминал
#GenericName[ko]=터미널
Comment=Terminal emulator
Comment[da]=Terminalemulator
Comment[eo]=Terminalimitilo
Comment[es]=Emulador de terminal
Comment[fr]=Émulateur de terminal
Comment[gl]=Emulador de terminal
Comment[it]=Emulatore di terminale
Comment[pt]=Emulador de terminal

31
data/fonts/Makefile.am Normal file
View File

@ -0,0 +1,31 @@
MAINTAINERCLEANFILES = Makefile.in
filesdir = $(pkgdatadir)/fonts
files_DATA = \
10x20.pcf \
4x6.pcf \
5x7.pcf \
5x8.pcf \
6x10.pcf \
6x12.pcf \
6x13.pcf \
6x9.pcf \
7x13.pcf \
7x14.pcf \
8x13.pcf \
9x15.pcf \
9x18.pcf \
nexus.pcf \
terminus-12.pcf \
terminus-14-bold.pcf \
terminus-14.pcf \
terminus-16-bold.pcf \
terminus-16.pcf \
terminus-18-bold.pcf \
terminus-18.pcf \
terminus-20-bold.pcf \
terminus-20.pcf
EXTRA_DIST = $(files_DATA) \
TERMINUS.txt \
XFONT.txt

View File

@ -1,27 +0,0 @@
files = ['10x20.pcf',
'4x6.pcf',
'5x7.pcf',
'5x8.pcf',
'6x10.pcf',
'6x12.pcf',
'6x13.pcf',
'6x9.pcf',
'7x13.pcf',
'7x14.pcf',
'8x13.pcf',
'9x15.pcf',
'9x18.pcf',
'nexus.pcf',
'terminus-12.pcf',
'terminus-14-bold.pcf',
'terminus-14.pcf',
'terminus-16-bold.pcf',
'terminus-16.pcf',
'terminus-18-bold.pcf',
'terminus-18.pcf',
'terminus-20-bold.pcf',
'terminus-20.pcf',
'TERMINUS.txt',
'XFONT.txt']
install_data(files, install_dir: join_paths(get_option('datadir'),
meson.project_name(), 'fonts'))

6
data/icons/Makefile.am Normal file
View File

@ -0,0 +1,6 @@
MAINTAINERCLEANFILES = Makefile.in
filesdir = $(datadir)/icons
files_DATA = \
terminology.png
EXTRA_DIST = $(files_DATA)

View File

@ -1,4 +0,0 @@
install_data('terminology.png',
install_dir: join_paths(get_option('datadir'), 'icons/hicolor/128x128/apps'),
install_mode : 'rw-r--r--'
)

6
data/images/Makefile.am Normal file
View File

@ -0,0 +1,6 @@
MAINTAINERCLEANFILES = Makefile.in
filesdir = $(pkgdatadir)/images
files_DATA = \
terminology.png
EXTRA_DIST = $(files_DATA)

View File

@ -1,3 +0,0 @@
install_data('terminology.png',
install_dir: join_paths(get_option('datadir'),
meson.project_name(), 'images'))

View File

@ -1,7 +0,0 @@
subdir('desktop')
subdir('icons')
subdir('images')
subdir('fonts')
subdir('themes')
subdir('backgrounds')
subdir('colorschemes')

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

View File

@ -1,11 +0,0 @@
collections {
group { name: "offscale_test";
parts {
part { name: "offscale_part";
description { state: "default" 0.0;
offscale;
}
}
}
}
}

78
data/themes/Makefile.am Normal file
View File

@ -0,0 +1,78 @@
MAINTAINERCLEANFILES = Makefile.in
SUBDIRS = images sounds nyanology
EDJE_CC = @edje_cc@
EDJE_FLAGS_VERBOSE_ =
EDJE_FLAGS_VERBOSE_0 =
EDJE_FLAGS_VERBOSE_1 = -v
EDJE_FLAGS = $(EDJE_FLAGS_VERBOSE_$(V)) -id $(top_srcdir)/data/themes/images -fd $(top_srcdir)/data/fonts -sd $(top_srcdir)/data/themes/sounds
filesdir = $(pkgdatadir)/themes
files_DATA = \
default.edj \
mild.edj \
black.edj \
solarized.edj \
solarized_light.edj \
smyck.edj \
mustang.edj \
base16_ocean_dark.edj
AM_V_EDJ = $(am__v_EDJ_$(V))
am__v_EDJ_ = $(am__v_EDJ_$(AM_DEFAULT_VERBOSITY))
am__v_EDJ_0 = @echo " EDJ " $@;
EXTRA_DIST = \
default.edc \
mild.edc \
black.edc \
mustang.edc \
base16_ocean_dark.edc \
solarized.edc \
solarized_light.edc \
smyck.edc \
default_colors.in.edc
default.edj: Makefile default.edc default_colors.in.edc
$(AM_V_EDJ)$(EDJE_CC) $(EDJE_FLAGS) \
$(top_srcdir)/data/themes/default.edc \
$(top_builddir)/data/themes/default.edj
mild.edj: Makefile mild.edc default_colors.in.edc
$(AM_V_EDJ)$(EDJE_CC) $(EDJE_FLAGS) \
$(top_srcdir)/data/themes/mild.edc \
$(top_builddir)/data/themes/mild.edj
black.edj: Makefile black.edc mild.edc default_colors.in.edc
$(AM_V_EDJ)$(EDJE_CC) $(EDJE_FLAGS) \
$(top_srcdir)/data/themes/black.edc \
$(top_builddir)/data/themes/black.edj
solarized.edj: Makefile solarized.edc default.edc default_colors.in.edc
$(AM_V_EDJ)$(EDJE_CC) $(EDJE_FLAGS) \
$(top_srcdir)/data/themes/solarized.edc \
$(top_builddir)/data/themes/solarized.edj
solarized_light.edj: Makefile solarized_light.edc default.edc default_colors.in.edc
$(AM_V_EDJ)$(EDJE_CC) $(EDJE_FLAGS) \
$(top_srcdir)/data/themes/solarized_light.edc \
$(top_builddir)/data/themes/solarized_light.edj
mustang.edj: Makefile mustang.edc mild.edc default_colors.in.edc
$(AM_V_EDJ)$(EDJE_CC) $(EDJE_FLAGS) \
$(top_srcdir)/data/themes/mustang.edc \
$(top_builddir)/data/themes/mustang.edj
base16_ocean_dark.edj: Makefile base16_ocean_dark.edc mild.edc default_colors.in.edc
$(AM_V_EDJ)$(EDJE_CC) $(EDJE_FLAGS) \
$(top_srcdir)/data/themes/base16_ocean_dark.edc \
$(top_builddir)/data/themes/base16_ocean_dark.edj
smyck.edj: Makefile smyck.edc mild.edc default_colors.in.edc
$(AM_V_EDJ)$(EDJE_CC) $(EDJE_FLAGS) \
$(top_srcdir)/data/themes/smyck.edc \
$(top_builddir)/data/themes/smyck.edj
clean-local:
rm -f *.edj

View File

@ -0,0 +1,31 @@
// Adapted from "base16/ocean" by Chris Kempson
// See https://github.com/chriskempson/base16-builder/blob/master/schemes/ocean.yml
#define BG_COLOR 43 48 59 255
#define BG_COLOR_TRANSLUCENT 43 48 59 200
#define BELL_OVERLAY_COLOR 43 48 59 32
#define INHERIT_PROVIDE_OWN_COLORS 1
collections {
color_classes {
color_class { name: "c0"; color: 192 197 206 255; }
color_class { name: "C0"; color: 43 48 59 255; }
color_class { name: "C1"; color: 191 97 106 255; }
color_class { name: "C10"; color: 52 61 70 255; }
color_class { name: "C11"; color: 79 91 102 255; }
color_class { name: "C12"; color: 167 173 186 255; }
color_class { name: "C13"; color: 223 225 232 255; }
color_class { name: "C14"; color: 171 121 103 255; }
color_class { name: "C15"; color: 239 241 245 255; }
color_class { name: "C2"; color: 163 190 140 255; }
color_class { name: "C3"; color: 235 203 139 255; }
color_class { name: "C4"; color: 143 161 179 255; }
color_class { name: "C5"; color: 180 142 173 255; }
color_class { name: "C6"; color: 150 181 180 255; }
color_class { name: "C7"; color: 192 197 206 255; }
color_class { name: "C8"; color: 101 115 126 255; }
color_class { name: "C9"; color: 208 135 112 255; }
}
}
#include "mild.edc"

5
data/themes/black.edc Normal file
View File

@ -0,0 +1,5 @@
#define BG_COLOR 0 0 0 255
#define BG_COLOR_TRANSLUCENT 0 0 0 200
#define BELL_OVERLAY_COLOR 220 220 220 32
#include "mild.edc"

File diff suppressed because it is too large Load Diff

View File

@ -1,83 +0,0 @@
///////////////////////////////////////////////////////////////////////////
//// the about box content image
group { name: "terminology/about";
images.image: "ab_base.png" COMP;
images.image: "ab_shell.png" COMP;
styles {
style { name: "aboutstyle";
base: "font=Sans font_size=8 color=#3f1 style=glow glow2_color=#3f13 glow_color=#3f11 wrap=word";
tag: "b" "+ color=#8f8 glow2_color=#3f15 glow_color=#3f12";
}
}
parts {
part { name: "base"; mouse_events: 0;
description { state: "default" 0.0;
rel.to: "shell";
rel1.relative: (39/198) (27/198);
rel2.relative: (151/198) (115/198);
image.normal: "ab_base.png";
}
}
part { name: "baseclip"; type: RECT;
description { state: "default" 0.0;
rel.to: "base";
}
}
part { name: "terminology.text"; type: TEXTBLOCK;
scale: 1;
clip_to: "baseclip";
description { state: "default" 0.0;
fixed: 1 1;
align: 0.5 0.0;
max: 10000 10000;
rel.to: "base";
rel1.relative: 0.08 1.0;
rel2.relative: 0.97 1.0;
text {
style: "aboutstyle";
text: "Hello world.<br>This is <b>Terminology</b>, your friendly neighbourhood terminal.<br><br>This needs more text to test vertical scrolling to see if the animation works right.<br>I hope this will be enough now.";
min: 0 1;
}
}
description { state: "up" 0.0;
inherit: "default" 0.0;
align: 0.5 1.0;
rel1.relative: 0.08 0.0;
rel2.relative: 0.97 0.0;
}
}
part { name: "shell";
scale: 1;
description { state: "default" 0.0;
max: 198 198;
aspect: 1.0 1.0;
aspect_preference: BOTH;
image.normal: "ab_shell.png";
}
}
}
programs {
program { signal: "begin"; source: "terminology";
action: ACTION_STOP;
target: "show";
target: "show2";
after: "begin2";
}
program { name: "begin2";
action: STATE_SET "default" 0.0;
target: "terminology.text";
after: "show";
}
program { name: "show";
action: STATE_SET "up" 0.0;
transition: LINEAR 60.0;
target: "terminology.text";
after: "show2";
}
program { name: "show2";
action: STATE_SET "default" 0.0;
target: "terminology.text";
after: "show";
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,351 +0,0 @@
group { name: "terminology/base";
parts {
part { name: "terminology.content"; type: SWALLOW;
description { state: "default" 0.0;
}
}
////////////////////////////////////////////////////////////////////
// a place terminology will place an entry box for internal commands
part { name: "cmdclip"; type: RECT;
description { state: "default" 0.0;
rel1.to: "terminology.cmdbox";
rel1.offset: -100 -100;
rel2.to: "terminology.cmdbox";
rel2.offset: 99 99;
color: 255 255 255 0; // no cc
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255; // no cc
visible: 1;
}
}
part { name: "cmdback"; type: RECT;
scale: 1;
clip_to: "cmdclip";
description { state: "default" 0.0;
color: 48 48 48 255;
rel1.to: "terminology.cmdbox";
rel1.offset: -4 -4;
rel2.to: "terminology.cmdbox";
rel2.offset: 3 3;
offscale;
}
}
part { name: "terminology.cmdbox"; type: SWALLOW;
scale: 1;
clip_to: "cmdclip";
description { state: "default" 0.0;
fixed: 1 1;
min: 8 8;
rel1.relative: 0.0 1.0;
rel1.offset: 8 9;
rel2.offset: -9 9;
align: 0.5 0.0;
offscale;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
rel1.offset: 8 -9;
rel2.offset: -9 -9;
align: 0.5 1.0;
}
}
program { signal: "cmdbox,show"; source: "terminology";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.2;
target: "cmdclip";
}
program { signal: "cmdbox,show"; source: "terminology";
action: STATE_SET "visible" 0.0;
transition: SPRING 0.2 0.2 4;
target: "terminology.cmdbox";
}
program { signal: "cmdbox,hide"; source: "terminology";
action: STATE_SET "default" 0.0;
transition: ACCELERATE 0.3;
target: "terminology.cmdbox";
target: "cmdclip";
}
////////////////////////////////////////////////////////////////////
// swallow to hold invisible rect to click on to dismiss things
part { name: "terminology.dismiss"; type: SWALLOW;
description { state: "default" 0.0;
}
}
////////////////////////////////////////////////////////////////////
// overlayed options and controls
part { name: "terminology.about"; type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
min: 198 198;
max: 198 198;
align: 0.5 0.0;
visible: 0;
rel1.relative: 0.0 1.0;
rel2.relative: 1.0 1.0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
align: 0.5 0.5;
rel1.relative: 0.0 0.0;
rel2.relative: 1.0 1.0;
}
}
part { name: "twitter.base"; type: RECT;
mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
visible: 0;
fixed: 1 1;
rel1 {
to_y: "terminology.about";
relative: 0.0 1.0;
}
rel2 {
relative: 0.5 1.0;
}
}
}
part { name: "twitter.txt"; type: TEXT;
mouse_events: 1;
scale: 1;
effect: GLOW;
description { state: "default" 0.0;
visible: 0;
align: 1.0 0.5;
fixed: 1 1;
rel1 {
to: "twitter.base";
relative: 0.5 0.5;
}
rel2 {
to: "twitter.base";
relative: 0.5 0.5;
}
color: 51 255 17 255;
color2: 136 255 136 40;
color3: 136 255 136 8;
text {
font: "Sans"; size: 10;
text: "Twitter: @_Terminology_";
align: 1.0 0.5;
min: 1 1;
}
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
program { signal: "mouse,clicked,1"; source: "twitter.txt";
action: SIGNAL_EMIT "about,twitter" "terminology";
}
program { signal: "mouse,clicked,3"; source: "twitter.txt";
action: SIGNAL_EMIT "about,twitter,ctx" "terminology";
}
part { name: "youtube.base"; type: RECT;
mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
visible: 0;
fixed: 1 1;
rel1 {
to_y: "terminology.about";
relative: 0.5 1.0;
}
rel2 {
relative: 1.0 1.0;
}
}
}
part { name: "youtube.txt"; type: TEXT;
mouse_events: 1;
scale: 1;
effect: GLOW;
description { state: "default" 0.0;
visible: 0;
align: 0.0 0.5;
fixed: 1 1;
rel1 {
to: "youtube.base";
relative: 0.5 0.5;
}
rel2 {
to: "youtube.base";
relative: 0.5 0.5;
}
color: 51 255 17 255;
color2: 136 255 136 40;
color3: 136 255 136 8;
text {
font: "Sans"; size: 10;
text: "YouTube channel";
align: 0.0 0.5;
min: 1 1;
}
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
program { signal: "mouse,clicked,1"; source: "youtube.txt";
action: SIGNAL_EMIT "about,youtube" "terminology";
}
program { signal: "mouse,clicked,3"; source: "youtube.txt";
action: SIGNAL_EMIT "about,youtube,ctx" "terminology";
}
program { signal: "about,show"; source: "terminology";
action: STATE_SET "visible" 0.0;
transition: SPRING 1.2 2.0 6;
target: "terminology.about";
target: "twitter.txt";
target: "youtube.txt";
}
program { signal: "about,hide"; source: "terminology";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.6;
target: "terminology.about";
target: "twitter.txt";
target: "youtube.txt";
}
////////////////////////////////////////////////////////////////////
// overlayed options and controls
part { name: "terminology.optdetails"; type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
min: 40 40;
align: 0.0 0.5;
visible: 0;
rel1 {
relative: 1.0 0.02;
offset: 8 8;
}
rel2 {
relative: 1.0 0.98;
offset: 8 -9;
}
offscale;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
align: 1.0 0.5;
rel1 {
relative: 0.1 0.02;
offset: 8 8;
}
rel2 {
to_x: "terminology.options";
relative: 0.0 0.98;
offset: -9 -9;
}
}
}
program { signal: "optdetails,show"; source: "terminology";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.2;
target: "terminology.optdetails";
}
program { signal: "optdetails,hide"; source: "terminology";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.3;
target: "terminology.optdetails";
after: "opdt_hide2";
}
program { name: "opdt_hide2";
action: SIGNAL_EMIT "optdetails,hide,done" "terminology";
}
part { name: "terminology.options"; type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
align: 0.0 0.5;
visible: 0;
rel1 {
relative: 1.0 0.02;
offset: 8 8;
}
rel2 {
relative: 1.0 0.98;
offset: 8 -9;
}
offscale;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
align: 1.0 0.5;
rel1 {
offset: -9 8;
}
rel2 {
offset: -9 -9;
}
}
}
program { signal: "options,show"; source: "terminology";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.2;
target: "terminology.options";
}
program { signal: "options,hide"; source: "terminology";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.3;
target: "terminology.options";
}
part { name: "terminology.controls"; type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
min: 10 10;
align: 0.0 0.5;
visible: 0;
rel1 {
relative: 1.0 0.5;
offset: 8 8;
}
rel2 {
relative: 1.0 0.5;
offset: 8 -9;
}
offscale;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
align: 1.0 0.5;
rel1 {
relative: 1.0 0.5;
offset: -9 8;
}
rel2 {
offset: -9 -9;
}
}
}
program { signal: "controls,show"; source: "terminology";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.2;
target: "terminology.controls";
}
program { signal: "controls,hide"; source: "terminology";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.3;
target: "terminology.controls";
}
}
}

View File

@ -1,55 +0,0 @@
group { name: "terminology/color_preview";
images.image: "checks.png" COMP;
parts {
part { name: "base"; type: RECT;
description { state: "default" 0.0;
color_class: "/bg-dark/normal/background";
}
}
part { name: "checks"; mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
image.normal: "checks.png";
color_class: "/bg-dark-alt/normal/background";
fill.type: TILE;
}
}
part { name: "preview"; type: RECT;
description { state: "default" 0.0;
color_class: "color_preview";
}
}
part { name: "name"; type: TEXT; mouse_events: 0;
effect: OUTLINE_SOFT_SHADOW;
scale: 1;
description { state: "default" 0.0;
color: 255 255 255 255;
color2: 0 0 0 64;
color3: 0 0 0 16;
align: 0.5 0.0;
text { font: "monospace"; size: 10;
align: 0.5 0.0;
min: 0 1;
}
}
}
}
}
group { name: "terminology/colorscheme_preview";
parts {
part { name: "bg"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
color_class: "BG";
}
}
part { name: "terminology.content"; type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
rel1.offset: 1 1;
rel2.offset: -2 -2;
offscale;
}
}
}
}

View File

@ -1,21 +0,0 @@
color_class { name: "HIGHLIGHT"; color: 255 255 255 255; }
color_class { name: "BG_SENDFILE"; color: 64 64 64 255; }
color_class { name: "BG"; color: 32 32 32 255; }
color_class { name: "FG"; color: 170 170 170 255; }
color_class { name: "CURSOR"; color: 255 255 255 255; }
color_class { name: "GLOW"; color: 51 153 255 255; }
color_class { name: ":bg"; color: 64 64 64 255; }
color_class { name: ":bg-dark"; color: 32 32 32 255; }
color_class { name: ":dim-dark"; color: 0 0 0 200; }
color_class { name: ":fg"; color: 160 160 160 255; }
color_class { name: ":fg-light"; color: 255 255 255 255; }
color_class { name: ":light-medium"; color: 255 255 255 128; }
color_class { name: ":selected-medium"; color: 51 153 255 128; }
color_class { name: ":selected"; color: 51 153 255 255; }
color_class { name: ":selected-alt"; color: 255 153 51 255; }
color_class { name: ":shadow"; color: 0 0 0 128; }
color_class { name: ":shadow-selected"; color: 0 0 0 255; }

View File

@ -1,114 +0,0 @@
///////////////////////////////////////////////////////////////////////////
//// the background and general container for the terminal
group { name: "terminology/core";
script {
public message(Msg_Type:type, id, ...) {
if (type != MSG_INT)
return;
if (id == 1) { // fade
new r, g, b, a, v;
v = (getarg(2) * 255) / 100;
custom_state(PART:"terminology.fade", "default", 0.0);
get_state_val(PART:"terminology.fade", STATE_COLOR, r, g, b, a);
set_state_val(PART:"terminology.fade", STATE_COLOR, r, g, b, v);
set_state(PART:"terminology.fade", "custom", 0.0);
}
}
}
parts {
////////////////////////////////////////////////////////////////////
// background handling
part { name: "terminology.fade"; type: RECT;
description { state: "default" 0.0;
color_class: "BG";
}
description { state: "image" 0.0;
inherit: "default" 0.0;
color_class: "";
}
description { state: "scale" 0.0;
inherit: "default" 0.0;
color_class: "";
}
description { state: "edje" 0.0;
inherit: "default" 0.0;
color_class: "";
}
description { state: "movie" 0.0;
inherit: "default" 0.0;
color_class: "";
}
}
part { name: "terminology.background"; type: SWALLOW;
clip_to: "terminology.fade";
description { state: "default" 0.0;
color_class: "BG";
}
description { state: "image" 0.0;
inherit: "default" 0.0;
}
description { state: "scale" 0.0;
inherit: "default" 0.0;
}
description { state: "edje" 0.0;
inherit: "default" 0.0;
}
description { state: "movie" 0.0;
inherit: "default" 0.0;
}
}
program {
signal: "media,off"; source: "terminology";
action: STATE_SET "default" 0.0;
target: "terminology.background";
target: "terminology.fade";
}
program {
signal: "media,image"; source: "terminology";
action: STATE_SET "image" 0.0;
target: "terminology.background";
target: "terminology.fade";
}
program {
signal: "media,scale"; source: "terminology";
action: STATE_SET "scale" 0.0;
target: "terminology.background";
target: "terminology.fade";
}
program {
signal: "media,edje"; source: "terminology";
action: STATE_SET "edje" 0.0;
target: "terminology.background";
target: "terminology.fade";
}
program {
signal: "media,movie"; source: "terminology";
action: STATE_SET "movie" 0.0;
target: "terminology.background";
target: "terminology.fade";
}
part { name: "terminology.tabregion"; type: SWALLOW;
description { state: "default" 0.0;
fixed: 1 1;
rel2.relative: 1.0 0.0;
min: 1 1;
align: 0.0 0.0;
}
}
////////////////////////////////////////////////////////////////////
// actual text grid for chars, cursors, selectiond etc. goes here
part { name: "terminology.content"; type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
rel1.offset: 1 0;
rel1.relative: 0.0 1.0;
rel1.to_y: "terminology.tabregion";
rel2.offset: -2 -2;
offscale;
}
}
}
}

View File

@ -1,709 +0,0 @@
///////////////////////////////////////////////////////////////////////////
//// the cursor to show where text is typed
sounds {
sample { name: "key-tap1" LOSSY 64;
source: "kbd-tap.wav";
}
sample { name: "key-tap2" LOSSY 64;
source: "kbd-tap2.wav";
}
sample { name: "key-tap3" LOSSY 64;
source: "kbd-tap3.wav";
}
sample { name: "key-tap4" LOSSY 64;
source: "kbd-tap4.wav";
}
sample { name: "key-tap5" LOSSY 64;
source: "kbd-tap5.wav";
}
}
#define KEY_RESPONSE(_to) \
part { name: "k0"; type: RECT; \
scale: 1; \
description { state: "default" 0.0; \
color: 255 255 255 0; /* no cc */ \
color_class: "GLOW"; \
rel.to: _to; \
rel1.relative: 0.0 0.0; \
rel1.offset: 0 0; \
rel2.relative: 1.0 0.0; \
rel2.offset: -1 0; \
align: 0.0 0.0; \
min: 1 1; \
offscale; \
} \
description { state: "on" 0.0; \
inherit: "default" 0.0; \
color: 255 255 255 255; /* no cc */ \
} \
description { state: "out" 0.0; \
inherit: "default" 0.0; \
color: 255 255 255 0; /* no cc */ \
rel1.relative: -1.0 -0.5; \
rel2.relative: 2.0 -0.5; \
} \
} \
part { name: "k1"; type: RECT; \
scale: 1; \
description { state: "default" 0.0; \
color: 255 255 255 0; /* no ccc */ \
color_class: "GLOW"; \
rel.to: _to; \
rel1.relative: 0.0 1.0; \
rel1.offset: 0 0; \
rel2.relative: 1.0 1.0; \
rel2.offset: -1 0; \
align: 0.0 0.0; \
min: 1 1; \
offscale; \
} \
description { state: "on" 0.0; \
inherit: "default" 0.0; \
color: 255 255 255 255; /* no cc */ \
} \
description { state: "out" 0.0; \
inherit: "default" 0.0; \
color: 255 255 255 0; /* no cc */ \
rel1.relative: -1.0 1.5; \
rel2.relative: 2.0 1.5; \
} \
} \
program { signal: "key,down"; source: "terminology"; \
script { \
new buf[32]; \
snprintf(buf, 31, "key-down%i", (rand() % 5) + 1); \
run_program(get_program_id(buf)); \
} \
} \
program { name: "key-down1"; \
action: PLAY_SAMPLE "key-tap1" 1.0 INPUT; \
} \
program { name: "key-down2"; \
action: PLAY_SAMPLE "key-tap2" 1.0 INPUT; \
} \
program { name: "key-down3"; \
action: PLAY_SAMPLE "key-tap3" 1.0 INPUT; \
} \
program { name: "key-down4"; \
action: PLAY_SAMPLE "key-tap4" 1.0 INPUT; \
} \
program { name: "key-down5"; \
action: PLAY_SAMPLE "key-tap5" 1.0 INPUT; \
} \
program { signal: "key,down"; source: "terminology"; \
action: STATE_SET "default" 0.0; \
target: "k0"; \
target: "k1"; \
after: "key2"; \
} \
program { name: "key2"; \
action: STATE_SET "on" 0.0; \
target: "k0"; \
target: "k1"; \
after: "key3"; \
} \
program { name: "key3"; \
action: STATE_SET "out" 0.0; \
transition: DECELERATE 0.2; \
target: "k0"; \
target: "k1"; \
}
group { name: "terminology/cursor";
images.image: "grad-v-1.png" COMP;
images.image: "grad-v-2.png" COMP;
parts {
// key "things" that fly out above/below
part { name: "base"; type: SPACER;
description { state: "default" 0.0;
}
}
KEY_RESPONSE("base")
// base colored rect block always there
part { name: "b0"; type: RECT;
scale: 1;
description { state: "default" 0.0;
color: 255 255 255 128; // no cc
color_class: "GLOW";
rel1.relative: 0.0 0.0;
rel1.offset: 0 0;
rel2.relative: 1.0 0.0;
rel2.offset: -1 0;
align: 0.0 0.0;
min: 1 1;
offscale;
}
}
part { name: "b1"; type: RECT;
scale: 1;
description { state: "default" 0.0;
color: 255 255 255 128; // no cc
color_class: "GLOW";
rel1.relative: 0.0 1.0;
rel1.offset: 0 -1;
rel2.relative: 1.0 1.0;
rel2.offset: -1 -1;
align: 0.0 1.0;
min: 1 1;
offscale;
}
}
part { name: "b2"; type: RECT;
scale: 1;
description { state: "default" 0.0;
color: 255 255 255 128; // no cc
color_class: "GLOW";
rel1.relative: 0.0 0.0;
rel1.offset: 0 1;
rel2.relative: 0.0 1.0;
rel2.offset: 0 -2;
align: 0.0 0.0;
min: 1 1;
offscale;
}
}
part { name: "b3"; type: RECT;
scale: 1;
description { state: "default" 0.0;
color: 255 255 255 128; // no cc
color_class: "GLOW";
rel1.relative: 1.0 0.0;
rel1.offset: -1 1;
rel2.relative: 1.0 1.0;
rel2.offset: -1 -2;
align: 1.0 0.0;
min: 1 1;
offscale;
}
}
// light layered top + bottom lines and 2 gradient lines on left + right
part { name: "r0"; type: RECT;
scale: 1;
description { state: "default" 0.0;
color: 255 255 255 0; // no cc
color_class: "CURSOR";
visible: 0;
rel1.relative: 0.0 0.0;
rel1.offset: 0 0;
rel2.relative: 1.0 0.0;
rel2.offset: -1 0;
align: 0.0 0.0;
min: 1 1;
offscale;
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255; // no cc
visible: 1;
}
}
part { name: "r01";
scale: 1;
description { state: "default" 0.0;
color: 255 255 255 0; // no cc
color_class: "CURSOR";
visible: 0;
rel1.relative: 0.0 0.0;
rel1.offset: 0 0;
rel2.relative: 0.0 1.0;
rel2.offset: 0 -1;
align: 0.0 0.0;
min: 1 0;
max: 1 0;
image.normal: "grad-v-1.png";
offscale;
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
max: 1 0;
max: 1 99999;
color: 255 255 255 255; // no cc
visible: 1;
}
}
part { name: "r02";
scale: 1;
description { state: "default" 0.0;
color: 255 255 255 0; // no cc
color_class: "CURSOR";
visible: 0;
rel1.relative: 1.0 0.0;
rel1.offset: -1 0;
rel2.relative: 1.0 1.0;
rel2.offset: -1 -1;
align: 1.0 0.0;
min: 1 0;
max: 1 0;
image.normal: "grad-v-1.png";
offscale;
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
max: 1 99999;
color: 255 255 255 255; // no cc
visible: 1;
}
}
part { name: "r1"; type: RECT;
scale: 1;
description { state: "default" 0.0;
color: 255 255 255 0; // no cc
color_class: "CURSOR";
visible: 0;
rel1.relative: 0.0 1.0;
rel1.offset: 0 -1;
rel2.relative: 1.0 1.0;
rel2.offset: -1 -1;
align: 0.0 1.0;
min: 1 1;
offscale;
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255; // no cc
visible: 1;
}
}
part { name: "r11";
scale: 1;
description { state: "default" 0.0;
color: 255 255 255 0; // no cc
color_class: "CURSOR";
visible: 0;
rel1.relative: 0.0 0.0;
rel1.offset: 0 0;
rel2.relative: 0.0 1.0;
rel2.offset: 0 -1;
align: 0.0 1.0;
min: 1 1;
max: 1 0;
image.normal: "grad-v-2.png";
offscale;
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
max: 1 99999;
color: 255 255 255 255; // no cc
visible: 1;
}
}
part { name: "r12";
scale: 1;
description { state: "default" 0.0;
color: 255 255 255 0; // no cc
color_class: "CURSOR";
visible: 0;
rel1.relative: 1.0 0.0;
rel1.offset: -1 0;
rel2.relative: 1.0 1.0;
rel2.offset: -1 -1;
align: 1.0 1.0;
min: 1 1;
max: 1 0;
image.normal: "grad-v-2.png";
offscale;
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
max: 1 99999;
color: 255 255 255 255; // no cc
visible: 1;
}
}
programs {
program { signal: "focus,in,noblink"; source: "terminology";
action: STATE_SET "focused" 0.0;
target: "r0";
target: "r01";
target: "r02";
target: "r1";
target: "r11";
target: "r12";
}
program { name: "focus_in";
signal: "focus,in"; source: "terminology";
action: STATE_SET "focused" 0.0;
transition: LINEAR 0.05 USE_DURATION_FACTOR 1;
target: "r0";
target: "r1";
after: "focus2";
}
program { name: "focus2";
action: STATE_SET "focused" 0.0;
transition: LINEAR 0.1 USE_DURATION_FACTOR 1;
target: "r01";
target: "r02";
target: "r11";
target: "r12";
after: "focus3";
}
program { name: "focus3";
in: 0.5 0.0;
action: STATE_SET "default" 0.0;
transition: LINEAR 0.1 USE_DURATION_FACTOR 1;
target: "r01";
target: "r02";
target: "r11";
target: "r12";
after: "focus4";
}
program { name: "focus4";
action: STATE_SET "default" 0.0;
transition: LINEAR 0.05 USE_DURATION_FACTOR 1;
target: "r0";
target: "r1";
after: "focus5";
}
program { name: "focus5";
in: 0.5 0.0;
action: STATE_SET "focused" 0.0;
transition: LINEAR 0.1 USE_DURATION_FACTOR 1;
target: "r0";
target: "r1";
after: "focus2";
}
program { signal: "focus,out"; source: "terminology";
action: ACTION_STOP;
target: "focus_in";
target: "focus2";
target: "focus3";
target: "focus4";
target: "focus5";
after: "focus_out2";
}
program { name: "focus_out2";
action: STATE_SET "default" 0.0;
transition: LINEAR 0.1 USE_DURATION_FACTOR 1;
target: "r0";
target: "r01";
target: "r02";
target: "r1";
target: "r11";
target: "r12";
}
}
}
}
///////////////////////////////////////////////////////////////////////////
//// the cursor as a bar to show where text is typed
group { name: "terminology/cursor_bar";
images.image: "grad-v-1.png" COMP;
images.image: "grad-v-2.png" COMP;
parts {
// key "things" that fly out above/below
part { name: "base"; type: SPACER;
scale: 1;
description { state: "default" 0.0;
min: 3 0;
fixed: 1 1;
rel.to: "b0";
}
}
KEY_RESPONSE("base")
// base colored rect block always there
part { name: "b0"; type: RECT;
scale: 1;
description { state: "default" 0.0;
color: 255 255 255 128; // no cc
color_class: "GLOW";
rel1.relative: 0.0 0.0;
rel1.offset: 0 0;
rel2.relative: 0.0 1.0;
rel2.offset: 0 -1;
align: 0.0 0.0;
min: 1 0;
offscale;
}
}
// light layered top + bottom lines and 2 gradient lines on left + right
part { name: "r0"; type: RECT;
scale: 1;
description { state: "default" 0.0;
color: 255 255 255 255; // no cc
color_class: "CURSOR";
rel1.relative: 0.0 0.5;
rel1.offset: 0 0;
rel2.relative: 0.0 0.5;
rel2.offset: 0 -1;
align: 0.0 0.5;
min: 1 0;
offscale;
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
rel1.relative: 0.0 0.0;
rel2.relative: 0.0 1.0;
}
}
part { name: "r01";
scale: 1;
description { state: "default" 0.0;
color: 255 255 255 0; // no cc
color_class: "CURSOR";
visible: 0;
rel1.relative: 0.0 0.5;
rel1.offset: 0 0;
rel2.to: "r0";
rel2.relative: 0.0 0.5;
rel2.offset: 0 -1;
align: 0.0 1.0;
min: 1 0;
image.normal: "grad-v-2.png";
offscale;
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255; // no cc
rel1.relative: 0.0 0.0;
visible: 1;
}
}
part { name: "r02";
scale: 1;
description { state: "default" 0.0;
color: 255 255 255 0; // no cc
color_class: "CURSOR";
visible: 0;
rel1.to: "r0";
rel1.relative: 0.0 1.0;
rel1.offset: 0 0;
rel2.relative: 0.0 0.5;
rel2.offset: 0 -1;
align: 0.0 0.0;
min: 1 0;
image.normal: "grad-v-1.png";
offscale;
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255; // no cc
rel2.relative: 0.0 1.0;
visible: 1;
}
}
programs {
program { signal: "focus,in,noblink"; source: "terminology";
action: STATE_SET "focused" 0.0;
target: "r0";
target: "r01";
target: "r02";
}
program { name: "focus_in";
signal: "focus,in"; source: "terminology";
action: STATE_SET "focused" 0.0;
transition: LINEAR 0.05 USE_DURATION_FACTOR 1;
target: "r01";
target: "r02";
after: "focus2";
}
program { name: "focus2";
action: STATE_SET "focused" 0.0;
transition: LINEAR 0.1 USE_DURATION_FACTOR 1;
target: "r0";
after: "focus3";
}
program { name: "focus3";
in: 0.5 0.0;
action: STATE_SET "default" 0.0;
transition: LINEAR 0.1 USE_DURATION_FACTOR 1;
target: "r0";
after: "focus4";
}
program { name: "focus4";
action: STATE_SET "default" 0.0;
transition: LINEAR 0.05 USE_DURATION_FACTOR 1;
target: "r01";
target: "r02";
after: "focus5";
}
program { name: "focus5";
in: 0.5 0.0;
action: STATE_SET "focused" 0.0;
transition: LINEAR 0.1 USE_DURATION_FACTOR 1;
target: "r01";
target: "r02";
after: "focus2";
}
program { signal: "focus,out"; source: "terminology";
action: ACTION_STOP;
target: "focus_in";
target: "focus2";
target: "focus3";
target: "focus4";
target: "focus5";
after: "focus_out2";
}
program { name: "focus_out2";
action: STATE_SET "default" 0.0;
transition: LINEAR 0.1 USE_DURATION_FACTOR 1;
target: "r0";
target: "r01";
target: "r02";
}
}
}
}
///////////////////////////////////////////////////////////////////////////
//// the cursor as an underline to show where text is typed
group { name: "terminology/cursor_underline";
images.image: "grad-h-1.png" COMP;
images.image: "grad-h-2.png" COMP;
parts {
// key "things" that fly out above/below
part { name: "base"; type: SPACER;
scale: 1;
description { state: "default" 0.0;
min: 3 0;
fixed: 1 1;
rel.to: "b0";
}
}
KEY_RESPONSE("base")
// base colored rect block always there
part { name: "b0"; type: RECT;
scale: 1;
description { state: "default" 0.0;
color: 255 255 255 128; // no cc
color_class: "GLOW";
rel1.relative: 0.0 1.0;
rel1.offset: 0 -1;
rel2.relative: 1.0 1.0;
rel2.offset: -1 -1;
align: 0.0 0.0;
min: 0 1;
offscale;
}
}
// light layered top + bottom lines and 2 gradient lines on left + right
part { name: "r0"; type: RECT;
scale: 1;
description { state: "default" 0.0;
color: 255 255 255 255; // no cc
color_class: "CURSOR";
rel1.relative: 0.5 1.0;
rel1.offset: 0 -1;
rel2.relative: 0.5 1.0;
rel2.offset: -1 -1;
align: 0.5 1.0;
min: 0 1;
offscale;
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
rel1.relative: 0.0 1.0;
rel2.relative: 1.0 1.0;
}
}
part { name: "r01";
scale: 1;
description { state: "default" 0.0;
color: 255 255 255 0; // no cc
color_class: "CURSOR";
visible: 0;
rel1.relative: 0.5 1.0;
rel1.offset: 0 -1;
rel2.to: "r0";
rel2.relative: 0.0 1.0;
rel2.offset: 0 -1;
align: 0.0 1.0;
min: 0 1;
image.normal: "grad-h-2.png";
offscale;
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255; // no cc
rel1.relative: 0.0 1.0;
visible: 1;
}
}
part { name: "r02";
scale: 1;
description { state: "default" 0.0;
color: 255 255 255 0; // no cc
color_class: "CURSOR";
visible: 0;
rel1.to: "r0";
rel1.relative: 1.0 1.0;
rel1.offset: 0 -1;
rel2.relative: 0.5 1.0;
rel2.offset: -1 -1;
align: 0.0 0.0;
min: 1 0;
fixed: 1 1;
image.normal: "grad-h-1.png";
offscale;
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255; // no cc
rel2.relative: 1.0 1.0;
visible: 1;
}
}
programs {
program { signal: "focus,in,noblink"; source: "terminology";
action: STATE_SET "focused" 0.0;
target: "r0";
target: "r01";
target: "r02";
}
program { name: "focus_in";
signal: "focus,in"; source: "terminology";
action: STATE_SET "focused" 0.0;
transition: LINEAR 0.05 USE_DURATION_FACTOR 1;
target: "r01";
target: "r02";
after: "focus2";
}
program { name: "focus2";
action: STATE_SET "focused" 0.0;
transition: LINEAR 0.1 USE_DURATION_FACTOR 1;
target: "r0";
after: "focus3";
}
program { name: "focus3";
in: 0.5 0.0;
action: STATE_SET "default" 0.0;
transition: LINEAR 0.1 USE_DURATION_FACTOR 1;
target: "r0";
after: "focus4";
}
program { name: "focus4";
action: STATE_SET "default" 0.0;
transition: LINEAR 0.05 USE_DURATION_FACTOR 1;
target: "r01";
target: "r02";
after: "focus5";
}
program { name: "focus5";
in: 0.5 0.0;
action: STATE_SET "focused" 0.0;
transition: LINEAR 0.1 USE_DURATION_FACTOR 1;
target: "r01";
target: "r02";
after: "focus2";
}
program { signal: "focus,out"; source: "terminology";
action: ACTION_STOP;
target: "focus_in";
target: "focus2";
target: "focus3";
target: "focus4";
target: "focus5";
after: "focus_out2";
}
program { name: "focus_out2";
action: STATE_SET "default" 0.0;
transition: LINEAR 0.1 USE_DURATION_FACTOR 1;
target: "r0";
target: "r01";
target: "r02";
}
}
}
}

View File

@ -1,36 +0,0 @@
///////////////////////////////////////////////////////////////////////////
//// used in the font selection dialog to give a base for black text
//// previews so they are always visible
group { name: "terminology/fontpreview";
parts {
part { name: "base"; type: RECT;
scale: 1;
description { state: "default" 0.0;
color_class: "/bg/normal/term/font_preview";
rel1.offset: 4 4;
rel2.offset: -5 -5;
offscale;
}
}
part { name: "clip"; type: RECT;
description { state: "default" 0.0;
rel.to: "base";
}
}
part { name: "terminology.text.preview"; type: SWALLOW;
clip_to: "clip";
scale: 1;
description { state: "default" 0.0;
rel1 {
to: "base";
offset: 4 4;
}
rel2 {
to: "base";
offset: -5 -5;
}
offscale;
}
}
}
}

View File

@ -1,16 +0,0 @@
#define ICON(Grp, Img) \
group { name: "elm/icon/"##Grp##"/default"; min: 10 10; max: 80 80; \
images.image: Img COMP; \
parts { part { name: "base"; description { state: "default" 0.0; \
aspect: 1.0 1.0; aspect_preference: BOTH; image.normal: Img; \
} } } }
ICON("new", "icon_new.png");
ICON("split-h", "icon-split-h-060.png");
ICON("split-v", "icon-split-v-060.png");
ICON("mini-view", "icon_miniview.png");
ICON("close", "icon_close.png");
ICON("copy", "icon_copy.png");
ICON("paste", "icon_paste.png");
ICON("settings", "icon_settings.png");
ICON("about", "icon_about.png");
#undef ICON

View File

@ -1,24 +0,0 @@
group { name: "terminology/keybinding";
parts {
part { name: "shadow"; type: RECT;
description { state: "default" 0.0;
color_class: "/bg/normal/term/keybinding";
}
}
part { name: "label"; type: TEXT; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel.to: "shadow";
rel1.offset: 4 4;
rel2.offset: -5 -5;
offscale;
color_class: "/fg/normal/term/keybinding";
text { font: "Sans"; size: 10;
min: 1 1;
ellipsis: 0;
}
}
}
};
};

View File

@ -1,55 +0,0 @@
///////////////////////////////////////////////////////////////////////////
//// an object overlayd on text that is a link
group { name: "terminology/link";
parts {
part { name: "bottom"; type: RECT;
mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
align: 0.5 1.0;
min: 20 1;
rel1.offset: -1 -1;
rel1.relative: 0.0 1.0;
rel2.offset: 0 -1;
color: 51 153 255 255;
offscale;
}
description { state: "out" 0.0;
inherit: "default" 0.0;
rel1.offset: -5 -1;
rel2.offset: 4 -1;
}
description { state: "out2" 0.0;
inherit: "default" 0.0;
}
}
part { name: "event"; type: RECT;
repeat_events: 1;
description { state: "default" 0.0;
color: 0 0 0 0; // no cc
}
}
programs {
program { name: "show";
signal: "show"; source: "";
action: STATE_SET "out" 0.0;
transition: SINUSOIDAL 0.5;
target: "bottom";
after: "show2";
}
program { name: "show2";
action: STATE_SET "out2" 0.0;
transition: SINUSOIDAL 0.2;
target: "bottom";
after: "show3";
}
program { name: "show3";
action: STATE_SET "out" 0.0;
transition: SINUSOIDAL 0.2;
target: "bottom";
after: "show2";
}
}
}
}

View File

@ -1,312 +0,0 @@
//////////////////////////////////////////////////////////////////////////////
//// the multimedia controls
group { name: "terminology/mediabusy";
script {
public message(Msg_Type:type, id, ...) {
if ((type == MSG_FLOAT) && (id == 1)) {
new Float:val;
val = getfarg(2);
// val 0.0 -. 1.0 percentage
custom_state(PART:"progress", "default", 0.0);
set_state_val(PART:"progress", STATE_REL2, val, 1.0);
set_state(PART:"progress", "custom", 0.0);
}
}
}
parts {
part { name: "progress_area"; type: SPACER;
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
min: 0 5;
max: 99999 5;
align: 0.0 1.0;
}
}
part { name: "progress"; type: RECT; mouse_events: 0;
clip_to: "fade";
description { state: "default" 0.0;
fixed: 1 1;
rel.to: "progress_area";
rel2.relative: 0.0 1.0;
color_class: "/bg/selected/media/position";
min: 0 5;
align: 0.0 1.0;
}
}
part { name: "fade"; type: RECT;
mouse_events: 0;
description { state: "default" 0.0;
color: 255 255 255 0; // no cc
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 255 255 255; // no cc
}
}
part { name: "busy_base"; type: SPACER;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
min: 40 40; max: 40 40;
align: 1.0 1.0;
rel1.offset: 4 4;
rel2.offset: -5 -5;
offscale;
}
}
BUSY("busy_base", "busy", "terminology", "done", "terminology")
}
programs {
program { signal: "busy"; source: "terminology";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.2 USE_DURATION_FACTOR 1 CURRENT;
target: "fade";
}
program { signal: "done"; source: "terminology";
action: STATE_SET "default" 0.0;
transition: DECELERATE 1.5 USE_DURATION_FACTOR 1 CURRENT;
target: "fade";
}
}
}
///////////////////////////////////////////////////////////////////////////
//// the multimedia controls
group { name: "terminology/mediactrl";
images {
image: "media_bg.png" COMP;
image: "media_play.png" COMP;
image: "media_stop.png" COMP;
image: "media_pause.png" COMP;
image: "media_line.png" COMP;
image: "media_knob_vol.png" COMP;
image: "media_knob_pos.png" COMP;
}
parts {
part { name: "media_clip"; type: RECT;
mouse_events: 0;
description { state: "default" 0.0;
rel.to: "media_bg";
}
}
part { name: "media_bg";
clip_to: "media_clip";
description { state: "default" 0.0;
image.normal: "media_bg.png";
image.border: 11 11 11 11;
min: 24 24;
max: 24 24;
align: 1.0 1.0;
}
description { state: "expanded" 0.0;
inherit: "default" 0.0;
min: 216 24;
max: 216 24;
}
}
part { name: "play";
mouse_events: 1;
repeat_events: 1;
clip_to: "media_clip";
description { state: "default" 0.0;
rel.to: "media_bg";
image.normal: "media_pause.png";
max: 24 24;
align: 1.0 0.0;
}
description { state: "paused" 0.0;
inherit: "default" 0.0;
image.normal: "media_play.png";
}
}
part { name: "stop";
mouse_events: 1;
repeat_events: 1;
clip_to: "media_clip";
description { state: "default" 0.0;
image.normal: "media_stop.png";
max: 24 24;
rel1.to: "play";
rel2.to: "play";
rel1.offset: -16 0;
rel2.offset: -16 0;
}
}
part { name: "posline";
mouse_events: 1;
repeat_events: 1;
clip_to: "media_clip";
description { state: "default" 0.0;
image.normal: "media_line.png";
image.border: 15 15 0 0;
min: 90 14;
max: 90 14;
rel.to: "stop";
rel1.offset: -25 0;
rel2.offset: -90 0;
}
}
part { name: "terminology.posdrag";
mouse_events: 0;
repeat_events: 1;
clip_to: "media_clip";
dragable {
confine: "posline";
x: 1 1 0;
y: 0 0 0;
}
description { state: "default" 0.0;
image.normal: "media_knob_pos.png";
min: 14 14;
max: 14 14;
}
description { state: "muted" 0.0;
visible: 0;
}
}
part { name: "volline";
mouse_events: 1;
repeat_events: 1;
clip_to: "media_clip";
description { state: "default" 0.0;
image.normal: "media_line.png";
image.border: 15 15 0 0;
min: 60 14;
max: 60 14;
rel1 {
to: "posline";
offset: -25 0;
}
rel2 {
to: "posline";
relative: 0.0 1.0;
offset: -60 0;
}
}
}
part { name: "terminology.voldrag"; type: IMAGE;
mouse_events: 0;
repeat_events: 1;
clip_to: "media_clip";
dragable {
confine: "volline";
x: 1 1 0;
y: 0 0 0;
}
description { state: "default" 0.0;
image.normal: "media_knob_vol.png";
min: 14 14;
max: 14 14;
}
description { state: "muted" 0.0;
visible: 0;
}
}
}
programs {
program { signal: "pause,set"; source: "terminology";
action: STATE_SET "paused" 0.0;
target: "play";
}
program { signal: "play,set"; source: "terminology";
action: STATE_SET "default" 0.0;
target: "play";
}
program { signal: "mute,set"; source: "terminology";
action: STATE_SET "muted" 0.0;
target: "terminology.voldrag";
}
program { signal: "mute,unset"; source: "terminology";
action: STATE_SET "default" 0.0;
target: "terminology.voldrag";
}
program { signal: "mouse,in"; source: "media_bg";
action: STATE_SET "expanded" 0.0;
transition: SINUSOIDAL 0.4 CURRENT;
target: "media_bg";
}
program { signal: "mouse,out"; source: "media_bg";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 0.4 CURRENT;
target: "media_bg";
}
program { signal: "mouse,up,*"; source: "play";
filter: "play" "default";
action: SIGNAL_EMIT "pause" "";
}
program { signal: "mouse,up,1"; source: "play";
filter: "play" "paused";
action: SIGNAL_EMIT "play" "";
}
program { signal: "mouse,up,1"; source: "stop";
action: SIGNAL_EMIT "stop" "";
}
program { signal: "mouse,down,1"; source: "posline";
filter: "terminology.posdrag" "default";
script {
new x, y, w, h, m_x, m_y;
new Float:pos;
get_geometry(PART:"posline", x, y, w, h);
get_mouse(m_x, m_y);
pos = m_x - x;
pos = pos / w;
set_drag(PART:"terminology.posdrag", pos, 0.0);
emit("pos,drag,start", "");
}
}
program { signal: "mouse,up,1"; source: "posline";
action: SIGNAL_EMIT "pos,drag,stop" "";
}
program { signal: "mouse,move"; source: "posline";
script {
new x, y, w, h, m_x, m_y;
new Float:pos;
if (!get_mouse_buttons()) return;
get_geometry(PART:"posline", x, y, w, h);
get_mouse(m_x, m_y);
pos = m_x - x;
pos = pos / w;
set_drag(PART:"terminology.posdrag", pos, 0.0);
emit("pos,drag", "");
}
}
program { signal: "mouse,down,1"; source: "volline";
filter: "terminology.voldrag" "default";
script {
new x, y, w, h, m_x, m_y;
new Float:pos;
get_geometry(PART:"volline", x, y, w, h);
get_mouse(m_x, m_y);
pos = m_x - x;
pos = pos / w;
set_drag(PART:"terminology.voldrag", pos, 0.0);
emit("vol,drag", "");
}
}
program { signal: "mouse,move"; source: "volline";
script {
new x, y, w, h, m_x, m_y;
new Float:pos;
if (!get_mouse_buttons()) return;
get_geometry(PART:"volline", x, y, w, h);
get_mouse(m_x, m_y);
pos = m_x - x;
pos = pos / w;
set_drag(PART:"terminology.voldrag", pos, 0.0);
emit("vol,drag", "");
}
}
}
}

View File

@ -1,85 +0,0 @@
group { name: "terminology/miniview";
parts {
part { name: "miniview_bg"; type: RECT;
description { state: "default" 0.0;
color_class: "BG";
}
}
part { name: "miniview.img"; type: SWALLOW;
description { state: "default" 0.0;
rel1 {
to: "miniview_bg";
relative: 0.0 0.0;
offset: 0 0;
}
rel2 {
to: "miniview_bg";
relative: 1.0 1.0;
offset: -1 -1;
}
}
}
part { name: "miniview_screen"; type: RECT;
dragable {
confine: "miniview.img";
x: 0 0 0;
y: 1 1 0;
}
description { state: "default" 0.0;
rel.to: "miniview.img";
color_class: "/fg/selected/term/miniview/screen";
color: 255 255 255 40; // no cc
fixed: 1 1;
}
description { state: "outbounds" 0.0;
inherit : "default" 0.0;
color_class: "/fg/disabled/term/miniview/screen";
}
}
part { name: "miniview_close";
scale: 1;
description { state: "default" 0.0;
image.normal: "tab_close";
rel.to: "miniview_ev";
color_class: "/fg/normal/term/miniview/close";
min: 15 15;
max: 15 15;
}
description { state: "pressed" 0.0;
inherit: "default" 0.0;
color_class: "/fg/pressed/term/miniview/close";
}
}
part { name: "miniview_ev"; type: RECT;
scale: 1;
description { state: "default" 0.0;
color: 0 0 0 0; // no cc
rel.to: "miniview_bg";
min: 25 25;
max: 25 25;
align: 1.0 0.0;
}
}
};
programs {
program { signal: "mouse,down,1"; source: "miniview_ev";
action: STATE_SET "pressed" 0.0;
target: "miniview_close";
}
program { signal: "mouse,up,1"; source: "miniview_ev";
action: STATE_SET "default" 0.0;
target: "miniview_close";
}
program { signal: "mouse,clicked,1"; source: "miniview_ev";
action: SIGNAL_EMIT "miniview,close" "terminology";
}
program { signal: "miniview_screen,inbounds"; source: "miniview";
action: STATE_SET "default" 0.0;
target: "miniview_screen";
}
program { signal: "miniview_screen,outbounds"; source: "miniview";
action: STATE_SET "outbounds" 0.0;
target: "miniview_screen";
}
};
};

View File

@ -1,284 +0,0 @@
///////////////////////////////////////////////////////////////////////////
//// an object to contain the selection tool used for selecting tabs (with
//// a glow grid of terms
group { name: "terminology/sel/base";
script {
public message(Msg_Type:type, id, ...) {
// new r, g, b, a;
new v;
if ((type != MSG_INT) || (id != 1)) return;
v = (getarg(2) * 255) / 100;
// custom_state(PART:"shadow", "default", 0.0);
// get_state_val(PART:"shadow", STATE_COLOR, r, g, b, a);
// set_state_val(PART:"shadow", STATE_COLOR, r, g, b, v);
// set_state(PART:"shadow", "custom", 0.0);
if (v < 255)
set_state(PART:"fill", "translucent", 0.0);
else
set_state(PART:"fill", "default", 0.0);
}
}
parts {
////////////////////////////////////////////////////////////////////
// background and shadows
part { name: "fill"; type: RECT;
mouse_events: 0;
description { state: "default" 0.0;
color: 32 32 32 255;
}
description { state: "translucent" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
////////////////////////////////////////////////////////////////////
// content (where the grid of terms goes)
part { name: "clip"; type: RECT;
description { state: "default" 0.0;
}
}
part { name: "terminology.content"; type: SWALLOW;
clip_to: "clip";
description { state: "default" 0.0;
}
}
////////////////////////////////////////////////////////////////////
// fancy stuff on top
// program { signal: "begin"; source: "terminology";
// action: STATE_SET "visible" 0.0;
// transition: DECELERATE 0.3;
// target: "overlay";
// }
// program { signal: "end"; source: "terminology";
// action: STATE_SET "default" 0.0;
// transition: DECELERATE 0.3 CURRENT;
// target: "overlay";
// target: "overlay_shadow";
// }
}
}
group { name: "terminology/sel/item";
images.image: "pm_shadow.png" COMP;
parts {
////////////////////////////////////////////////////////////////////
// base background and selection image
part { name: "clip"; type: RECT;
description { state: "default" 0.0;
rel.to: "terminology.content";
color: 192 192 192 255; // no cc
}
description { state: "selected" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255; // no cc
}
}
part { name: "shadow";
mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel.to: "terminology.content";
rel1.offset: -32 -32;
rel2.offset: 31 31;
image.normal: "pm_shadow.png";
image.border: 64 64 64 64;
image.border_scale_by: 0.5;
image.border_scale: 1;
color_class: "/shadow/normal/term/sel/item";
fill.smooth: 0;
offscale;
}
description { state: "selected" 0.0;
inherit: "default" 0.0;
rel1.offset: -64 -64;
rel2.offset: 63 63;
image.border_scale_by: 1.0;
color_class: "/shadow/selected/term/sel/item";
}
}
////////////////////////////////////////////////////////////////////
// swallowed terminal content + bg inside it
part { name: "base"; type: RECT;
clip_to: "clip";
description { state: "default" 0.0;
color_class: "BG";
rel.to: "terminology.content";
}
}
part { name: "terminology.content"; type: SWALLOW;
clip_to: "clip";
description { state: "default" 0.0;
rel1.relative: 0.1 0.1;
rel2.relative: 0.9 0.9;
}
description { state: "selected" 0.0;
inherit: "default" 0.0;
rel1.relative: 0.0 0.0;
rel2.relative: 1.0 1.0;
}
}
program { signal: "selected"; source: "terminology";
action: STATE_SET "selected" 0.0;
transition: DECELERATE 0.2 CURRENT;
target: "terminology.content";
target: "terminology.label";
target: "shadow";
target: "clip";
}
program { signal: "selected,start"; source: "terminology";
action: STATE_SET "selected" 0.0;
target: "terminology.content";
target: "terminology.label";
target: "shadow";
target: "clip";
}
program { signal: "unselected"; source: "terminology";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.4 CURRENT;
target: "terminology.content";
target: "terminology.label";
target: "shadow";
target: "clip";
}
////////////////////////////////////////////////////////////////////
// fancy stuff over the top of the terminal for shading and labelling
part { name: "terminology.label"; type: TEXT; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
rel.to: "terminology.content";
rel1.offset: 4 4;
rel2.offset: -5 -5;
offscale;
color_class: "/fg/normal/term/sel/title/text";
align: 0.5 0.0;
text { font: "Sans"; size: 10;
align: 0.5 0.0;
min: 0 1;
}
}
description { state: "selected" 0.0;
inherit: "default" 0.0;
color_class: "/fg/selected/term/sel/title/text";
}
}
////////////////////////////////////////////////////////////////////
// visual bell - spinning red siren light
images.image: "circle-1200.png" COMP;
images.image: "strobe-600.png" COMP;
part { name: "bell_glow"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
visible: 0;
color: 255 80 60 0; // no cc
rel.to: "bell";
min: 100 100;
image.normal: "circle-1200.png";
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 80 60 32;
}
}
part { name: "bell_glow2"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
visible: 0;
color: 255 240 160 0; // no cc
rel.to: "bell";
min: 50 50;
image.normal: "circle-1200.png";
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 220 120 32;
}
}
part { name: "bell_strobe";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
color: 255 255 200 255;
rel.to: "bell_glow2";
image.normal: "strobe-600.png";
rel1.relative: -0.5 -0.5;
rel2.relative: 1.5 1.5;
map {
on: 1;
smooth: 1;
rotation.center: "bell";
}
visible: 0;
}
description { state: "spin" 0.0;
inherit: "default" 0.0;
map.rotation.z: 0.0;
visible: 1;
}
description { state: "spin_done" 0.0;
inherit: "default" 0.0;
map.rotation.z: 720.0;
visible: 1;
}
}
part { name: "bell";
mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
visible: 0;
color: 255 255 255 0;
max: 20 20;
min: 20 20;
align: 1.0 1.0;
rel1.offset: 15 15;
rel2.offset: -16 -16;
rel.to: "terminology.content";
image.normal: "circle-1200.png";
offscale;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 255 255 255;
}
}
program { signal: "bell"; source: "terminology";
action: STATE_SET "visible" 0.0;
target: "bell";
target: "bell_glow";
target: "bell_glow2";
after: "bell3";
}
program { name: "bell3";
action: STATE_SET "spin" 0.0;
transition: LINEAR 0.1;
target: "bell_strobe";
after: "bell4.1";
}
program { name: "bell4.1";
action: STATE_SET "spin" 0.0;
target: "bell_strobe";
after: "bell4.2";
}
program { name: "bell4.2";
action: STATE_SET "spin_done" 0.0;
transition: LINEAR 0.9;
target: "bell_strobe";
after: "bell4.1";
}
}
}

View File

@ -1,341 +0,0 @@
///////////////////////////////////////////////////////////////////////////
//// the selection
// selections come in 5 modes:
//
// oneline (also multiple lines but all fill the row):
// | ######### |
//
// disjoint:
// | #######|
// |## |
//
// default:
// | ###########|
// |######### |
//
// topfull:
// |##############|
// |###### |
//
// bottomfull:
// | ######|
// |##############|
group { name: "terminology/selection";
parts {
// background pattern. duplicated because clips cut out regions of
// it to see and clips don't overlap
part { name: "background_top"; type: RECT;
mouse_events: 0;
clip_to: "top_clip";
description { state: "default" 0.0;
color: 255 255 255 128; // no cc
color_class: "GLOW";
}
}
part { name: "background_middle"; type: RECT;
mouse_events: 0;
clip_to: "middle_clip";
description { state: "default" 0.0;
color: 255 255 255 128; // no cc
color_class: "GLOW";
}
}
part { name: "background_bottom"; type: RECT;
mouse_events: 0;
clip_to: "bottom_clip";
description { state: "default" 0.0;
color: 255 255 255 128; // no cc
color_class: "GLOW";
}
}
// clips that clip the above pattern images to occupy specific
// regions of the object (or be invisible since clip is invisible)
part { name: "top_clip"; type: RECT;
mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "terminology.top_left";
rel1.relative: 1.0 0.0;
rel2.to_y: "terminology.top_left";
rel2.relative: 1.0 1.0;
}
description { state: "oneline" 0.0;
inherit: "default" 0.0;
visible: 0;
}
description { state: "disjoint" 0.0;
inherit: "default" 0.0;
}
description { state: "topfull" 0.0;
inherit: "default" 0.0;
}
description { state: "bottomfull" 0.0;
inherit: "default" 0.0;
}
}
part { name: "middle_clip"; type: RECT;
mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "terminology.top_left";
rel1.relative: 0.0 1.0;
rel2.to: "terminology.bottom_right";
rel2.relative: 1.0 0.0;
}
description { state: "oneline" 0.0;
rel1.to: "terminology.top_left";
rel1.relative: 1.0 0.0;
rel2.to: "terminology.bottom_right";
rel2.relative: 0.0 1.0;
}
description { state: "disjoint" 0.0;
inherit: "default" 0.0;
}
description { state: "topfull" 0.0;
inherit: "default" 0.0;
}
description { state: "bottomfull" 0.0;
inherit: "default" 0.0;
}
}
part { name: "bottom_clip"; type: RECT;
mouse_events: 0;
description { state: "default" 0.0;
rel1.to_y: "terminology.bottom_right";
rel1.relative: 0.0 0.0;
rel2.to_x: "terminology.bottom_right";
rel2.relative: 0.0 1.0;
}
description { state: "oneline" 0.0;
visible: 0;
}
description { state: "disjoint" 0.0;
inherit: "default" 0.0;
}
description { state: "topfull" 0.0;
inherit: "default" 0.0;
}
description { state: "bottomfull" 0.0;
inherit: "default" 0.0;
}
}
// the outline around the selection...
#define TARGETS \
target: "top_clip"; target: "middle_clip"; target: "bottom_clip";
program { signal: "mode,oneline"; source: "terminology";
action: STATE_SET "oneline" 0.0;
TARGETS;
}
program { signal: "mode,disjoint"; source: "terminology";
action: STATE_SET "disjoint" 0.0;
TARGETS;
}
program { signal: "mode,multiline"; source: "terminology";
action: STATE_SET "default" 0.0;
TARGETS;
}
program { signal: "mode,topfull"; source: "terminology";
action: STATE_SET "topfull" 0.0;
TARGETS;
}
program { signal: "mode,bottomfull"; source: "terminology";
action: STATE_SET "bottomfull" 0.0;
TARGETS;
}
// top and bottom swallows used to communicate via min/max size the
// size of the top and bottom lines
part { name: "terminology.top_left"; type: SWALLOW;
mouse_events: 0;
description { state: "default" 0.0;
align: 0.0 0.0;
rel2.relative: 0.0 0.0;
visible: 0;
}
}
part { name: "terminology.bottom_right"; type: SWALLOW;
mouse_events: 0;
description { state: "default" 0.0;
align: 1.0 1.0;
rel1.relative: 1.0 1.0;
visible: 0;
}
}
// blinky cursors indicating you can drag the ends of the selection
part { name: "cursor.top_left"; type: SPACER;
description { state: "default" 0.0;
rel.to: "terminology.top_left";
rel1.relative: 1.0 0.0;
rel2.relative: 1.0 1.0;
max: 0 99999;
}
}
part { name: "cursor.top_left_arrow_l";
scale: 1;
description { state: "default" 0.0;
image.normal: "arrow-l";
color_class: "/fg/normal/term/selection/arrow/left";
rel.to: "cursor.top_left";
min: 15 15;
max: 15 15;
align: 1.0 0.5;
rel1.offset: -5 0;
rel2.offset: -5 -1;
rel2.relative: 0.0 1.0;
offscale;
}
description { state: "fading" 0.0;
inherit: "default" 0.0;
}
description { state: "fading" 1.0;
inherit: "default" 0.0;
rel1.offset: -15 0;
rel2.offset: -15 -1;
color: 255 255 255 0; // no cc
}
}
part { name: "cursor.top_left_arrow_u";
scale: 1;
description { state: "default" 0.0;
image.normal: "arrow-u";
color_class: "/fg/normal/term/selection/arrow/up";
rel.to: "cursor.top_left";
min: 15 15;
max: 15 15;
align: 0.5 1.0;
rel1.offset: 0 -5;
rel2.offset: -1 -5;
rel2.relative: 1.0 0.0;
offscale;
}
description { state: "fading" 0.0;
inherit: "default" 0.0;
}
description { state: "fading" 1.0;
inherit: "default" 0.0;
rel1.offset: 0 -15;
rel2.offset: -1 -15;
color: 255 255 255 0; // no cc
}
}
part { name: "zone.top_left"; type: RECT;
scale: 1;
description { state: "default" 0.0;
color: 0 0 0 0;
rel.to: "cursor.top_left";
min: 30 30;
rel1.offset: -15 -15;
rel2.offset: 14 -1;
offscale;
}
program { name: "top_left.blink";
signal: "mouse,in"; source: "zone.top_left";
action: STATE_SET "fading" 0.0;
target: "cursor.top_left_arrow_l";
target: "cursor.top_left_arrow_u";
after: "top_left.fade";
}
program { name: "top_left.fade";
action: STATE_SET "fading" 1.0;
transition: LINEAR 0.5;
target: "cursor.top_left_arrow_l";
target: "cursor.top_left_arrow_u";
after: "top_left.blink";
}
program { signal: "mouse,out"; source: "zone.top_left";
action: STATE_SET "default" 0.0;
target: "cursor.top_left_arrow_l";
target: "cursor.top_left_arrow_u";
}
}
part { name: "cursor.bottom_right"; type: SPACER;
description { state: "default" 0.0;
rel.to: "terminology.bottom_right";
rel1.relative: 0.0 0.0;
rel2.relative: 0.0 1.0;
max: 0 99999;
}
}
part { name: "cursor.top_left_arrow_r";
scale: 1;
description { state: "default" 0.0;
image.normal: "arrow-r";
color_class: "/fg/normal/term/selection/arrow/left";
rel.to: "cursor.bottom_right";
min: 15 15;
max: 15 15;
align: 0.0 0.5;
rel1.offset: 4 0;
rel2.offset: 4 -1;
rel1.relative: 1.0 0.0;
offscale;
}
description { state: "fading" 0.0;
inherit: "default" 0.0;
}
description { state: "fading" 1.0;
inherit: "default" 0.0;
rel1.offset: 14 0;
rel2.offset: 14 -1;
color: 255 255 255 0; // no cc
}
}
part { name: "cursor.top_left_arrow_d";
scale: 1;
description { state: "default" 0.0;
image.normal: "arrow-d";
color_class: "/fg/normal/term/selection/arrow/down";
rel.to: "cursor.bottom_right";
min: 15 15;
max: 15 15;
align: 0.5 0.0;
rel1.offset: 0 4;
rel2.offset: -1 4;
rel1.relative: 0.0 1.0;
offscale;
}
description { state: "fading" 0.0;
inherit: "default" 0.0;
}
description { state: "fading" 1.0;
inherit: "default" 0.0;
rel1.offset: 0 14;
rel2.offset: -1 14;
color: 255 255 255 0; // no cc
}
}
part { name: "zone.bottom_right"; type: RECT;
scale: 1;
description { state: "default" 0.0;
color: 0 0 0 0;
rel.to: "cursor.bottom_right";
min: 30 30;
rel1.offset: -15 0;
rel2.offset: 14 14;
offscale;
}
program { name: "bottom_right.blink";
signal: "mouse,in"; source: "zone.bottom_right";
action: STATE_SET "fading" 0.0;
target: "cursor.top_left_arrow_r";
target: "cursor.top_left_arrow_d";
after: "bottom_right.fade";
}
program { name: "bottom_right.fade";
action: STATE_SET "fading" 1.0;
transition: LINEAR 0.5;
target: "cursor.top_left_arrow_r";
target: "cursor.top_left_arrow_d";
after: "bottom_right.blink";
}
program { signal: "mouse,out"; source: "zone.bottom_right";
action: STATE_SET "default" 0.0;
target: "cursor.top_left_arrow_r";
target: "cursor.top_left_arrow_d";
}
}
}
}

View File

@ -1,170 +0,0 @@
group { name: "terminology/tab_drag_thumb";
images.image: "pm_shadow.png" COMP;
parts {
////////////////////////////////////////////////////////////////////
// base background and selection image
part { name: "clip"; type: RECT;
description { state: "default" 0.0;
rel.to: "terminology.content";
color: 255 255 255 255;
}
}
part { name: "shadow";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
rel.to: "terminology.content";
rel1.offset: -32 -32;
rel2.offset: 31 31;
image.normal: "pm_shadow.png";
image.border: 64 64 64 64;
image.border_scale_by: 0.5;
image.border_scale: 1;
color_class: "/shadow/normal/term/drag_thumb";
fill.smooth: 0;
offscale;
}
}
////////////////////////////////////////////////////////////////////
// swallowed terminal content + bg inside it
part { name: "base"; type: RECT;
clip_to: "clip";
description { state: "default" 0.0;
color_class: "BG";
rel.to: "terminology.content";
}
}
part { name: "terminology.content"; type: SWALLOW;
clip_to: "clip";
description { state: "default" 0.0;
}
}
part { name: "terminology.title"; type: TEXT; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
rel.to: "terminology.content";
rel1.offset: 4 4;
rel2.offset: -5 -5;
color_class: "/fg/normal/term/sel/title/text";
align: 0.5 0.0;
offscale;
text { font: "Sans"; size: 10;
align: 0.5 1.0;
min: 0 1;
}
}
}
////////////////////////////////////////////////////////////////////
// visual bell - spinning red siren light
images.image: "circle-1200.png" COMP;
images.image: "strobe-600.png" COMP;
part { name: "bell_glow"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
visible: 0;
color: 255 80 60 0; // no cc
rel.to: "bell";
min: 100 100;
image.normal: "circle-1200.png";
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 80 60 32;
}
}
part { name: "bell_glow2"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
visible: 0;
color: 255 240 160 0; // no cc
rel.to: "bell";
min: 50 50;
image.normal: "circle-1200.png";
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 220 120 32;
}
}
part { name: "bell_strobe";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
color: 255 255 200 255;
rel.to: "bell_glow2";
image.normal: "strobe-600.png";
rel1.relative: -0.5 -0.5;
rel2.relative: 1.5 1.5;
map {
on: 1;
smooth: 1;
rotation.center: "bell";
}
visible: 0;
}
description { state: "spin" 0.0;
inherit: "default" 0.0;
map.rotation.z: 0.0;
visible: 1;
}
description { state: "spin_done" 0.0;
inherit: "default" 0.0;
map.rotation.z: 720.0;
visible: 1;
}
}
part { name: "bell";
mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
visible: 0;
color: 255 255 255 0;
max: 20 20;
min: 20 20;
align: 1.0 1.0;
rel1.offset: 15 15;
rel2.offset: -16 -16;
rel.to: "terminology.content";
image.normal: "circle-1200.png";
offscale;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 255 255 255;
}
}
program { signal: "bell"; source: "terminology";
action: STATE_SET "visible" 0.0;
target: "bell";
target: "bell_glow";
target: "bell_glow2";
after: "bell3";
}
program { name: "bell3";
action: STATE_SET "spin" 0.0;
transition: LINEAR 0.1;
target: "bell_strobe";
after: "bell4.1";
}
program { name: "bell4.1";
action: STATE_SET "spin" 0.0;
target: "bell_strobe";
after: "bell4.2";
}
program { name: "bell4.2";
action: STATE_SET "spin_done" 0.0;
transition: LINEAR 0.9;
target: "bell_strobe";
after: "bell4.1";
}
}
}

View File

@ -1,133 +0,0 @@
group { name: "terminology/tabbar_back";
set { name: "tab_grouped";
image { image: "tab_grouped_8.png" COMP; size: 0 0 8 8; }
image { image: "tab_grouped_16.png" COMP; size: 8 8 16 16; }
image { image: "tab_grouped_32.png" COMP; size: 16 16 99999 99999; }
}
parts {
images.image: "tab_shad_l.png" COMP;
part { name: "tab_bevel_top1"; mouse_events: 0;
clip_to: "clip";
scale: 1;
description { state: "default" 0.0;
align: 0.0 0.0;
max: 5 99999;
min: 5 0;
image.normal: "tab_shad_l.png";
image.border: 0 20 5 15;
image.border_scale_by: 0.25;
image.border_scale: 1;
fill.smooth: 0;
fixed: 1 0;
color_class: "/shadow/normal/tab";
}
}
part { name: "tab_bevel_top2"; type: RECT; mouse_events: 0;
clip_to: "clip";
description { state: "default" 0.0;
rel1.to: "tab_bevel_top1";
rel1.relative: 1.0 0.0;
rel2.to: "tab_bevel_top3";
rel2.relative: 0.0 1.0;
color_class: "/bg/normal/tab";
}
}
images.image: "tab_shad_r.png" COMP;
part { name: "tab_bevel_top3"; mouse_events: 0;
clip_to: "clip";
scale: 1;
description { state: "default" 0.0;
align: 1.0 0.0;
max: 5 99999;
min: 5 0;
image.normal: "tab_shad_r.png";
image.border: 20 0 5 15;
image.border_scale_by: 0.25;
image.border_scale: 1;
fill.smooth: 0;
fixed: 1 0;
color_class: "/shadow/normal/tab";
}
}
part { name: "tabgrouped";
scale: 1;
description { state: "default" 0.0;
align: 0.0 0.5;
fixed: 1 1;
max: 0 0;
rel1 {
to: "tab_bevel_top2";
relative: 0.0 0.0;
offset: 3 3;
}
rel2 {
to: "tab_bevel_top2";
relative: 0.0 1.0;
offset: 3 -4;
}
image.normal: "tab_grouped";
color_class: "/fg/normal/tab/term/icon/grouped";
visible: 0;
offscale;
}
description { state: "grouped" 0.0;
inherit: "default" 0.0;
min: 15 15;
max: 15 15;
visible: 1;
}
}
program { signal: "grouped,on"; source: "terminology";
action: STATE_SET "grouped" 0.0;
target: "tabgrouped";
}
program { signal: "grouped,off"; source: "terminology";
action: STATE_SET "default" 0.0;
target: "tabgrouped";
}
part { name: "terminology.title"; type: TEXT; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
text { font: "Sans:style=Bold"; size: 10;
align: 0.5 0.5;
min: 0 1;
}
rel1 {
to_x: "tabgrouped";
to_y: "tab_bevel_top2";
relative: 1.0 0.0;
}
rel2.to: "tab_bevel_top2";
rel2.offset: -19 -1;
offscale;
color_class: "/fg/selected/term/tab/title/text";
}
description { state: "bell" 0.0;
inherit: "default" 0.0;
color_class: "/fg/selected/term/tab/title/text/bell";
}
}
part { name: "clip"; type: RECT;
description { state: "default" 0.0;
}
}
part { name: "event"; type: RECT;
description { state: "default" 0.0;
color: 0 0 0 0; // no cc
}
}
programs {
program { signal: "mouse,clicked,1"; source: "event";
action: SIGNAL_EMIT "tab,activate" "terminology";
}
program { signal: "bell"; source: "terminology";
action: STATE_SET "bell" 0.0;
target: "terminology.title";
}
program { signal: "bell,off"; source: "terminology";
action: STATE_SET "default" 0.0;
target: "terminology.title";
}
}
}
}

View File

@ -0,0 +1,351 @@
color_class { name: "c0"; color: 170 170 170 255; } // COL_DEF
color_class { name: "c1"; color: 0 0 0 255; } // COL_BLACK
color_class { name: "c2"; color: 204 51 51 255; } // COL_RED
color_class { name: "c3"; color: 51 204 51 255; } // COL_GREEN
color_class { name: "c4"; color: 204 136 51 255; } // COL_YELLOW
color_class { name: "c5"; color: 51 51 204 255; } // COL_BLUE
color_class { name: "c6"; color: 204 51 204 255; } // COL_MAGENTA
color_class { name: "c7"; color: 51 204 204 255; } // COL_CYAN
color_class { name: "c8"; color: 204 204 204 255; } // COL_WHITE
color_class { name: "c9"; color: 0 0 0 0; } // COL_INVIS
color_class { name: "c10"; color: 34 34 34 255; } // COL_INVERSE
color_class { name: "c11"; color: 170 170 170 255; } // COL_INVERSEBG
color_class { name: "c12"; color: 238 238 238 255; } // COL_DEF
color_class { name: "c13"; color: 102 102 102 255; } // COL_BLACK
color_class { name: "c14"; color: 255 102 102 255; } // COL_RED
color_class { name: "c15"; color: 102 255 102 255; } // COL_GREEN
color_class { name: "c16"; color: 255 255 102 255; } // COL_YELLOW
color_class { name: "c17"; color: 102 102 255 255; } // COL_BLUE
color_class { name: "c18"; color: 255 102 255 255; } // COL_MAGENTA
color_class { name: "c19"; color: 102 255 255 255; } // COL_CYAN
color_class { name: "c20"; color: 255 255 255 255; } // COL_WHITE
color_class { name: "c21"; color: 0 0 0 0; } // COL_INVIS
color_class { name: "c22"; color: 17 17 17 255; } // COL_INVERSE
color_class { name: "c23"; color: 238 238 238 255; } // COL_INVERSEBG
color_class { name: "c24"; color: 221 221 221 255; } // COL_DEF
color_class { name: "c25"; color: 128 128 128 255; } // COL_BLACK
color_class { name: "c26"; color: 204 136 136 255; } // COL_RED
color_class { name: "c27"; color: 136 204 136 255; } // COL_GREEN
color_class { name: "c28"; color: 204 170 136 255; } // COL_YELLOW
color_class { name: "c29"; color: 136 136 204 255; } // COL_BLUE
color_class { name: "c30"; color: 204 136 204 255; } // COL_MAGENTA
color_class { name: "c31"; color: 136 204 204 255; } // COL_CYAN
color_class { name: "c32"; color: 204 204 204 255; } // COL_WHITE
color_class { name: "c33"; color: 0 0 0 0; } // COL_INVIS
color_class { name: "c34"; color: 17 17 17 255; } // COL_INVERSE
color_class { name: "c35"; color: 204 204 204 255; } // COL_INVERSEBG
color_class { name: "c36"; color: 255 255 255 255; } // COL_DEF
color_class { name: "c37"; color: 204 204 204 255; } // COL_BLACK
color_class { name: "c38"; color: 255 204 204 255; } // COL_RED
color_class { name: "c39"; color: 204 255 204 255; } // COL_GREEN
color_class { name: "c40"; color: 255 255 204 255; } // COL_YELLOW
color_class { name: "c41"; color: 204 204 255 255; } // COL_BLUE
color_class { name: "c42"; color: 255 204 255 255; } // COL_MAGENTA
color_class { name: "c43"; color: 204 255 255 255; } // COL_CYAN
color_class { name: "c44"; color: 255 255 255 255; } // COL_WHITE
color_class { name: "c45"; color: 0 0 0 0; } // COL_INVIS
color_class { name: "c46"; color: 0 0 0 255; } // COL_INVERSE
color_class { name: "c47"; color: 255 255 255 255; } // COL_INVERSEBG
color_class { name: "C0"; color: 0 0 0 255; } // COL_BLACK
color_class { name: "C1"; color: 204 51 51 255; } // COL_RED
color_class { name: "C2"; color: 51 204 51 255; } // COL_GREEN
color_class { name: "C3"; color: 204 136 51 255; } // COL_YELLOW
color_class { name: "C4"; color: 51 51 204 255; } // COL_BLUE
color_class { name: "C5"; color: 204 51 204 255; } // COL_MAGENTA
color_class { name: "C6"; color: 51 204 204 255; } // COL_CYAN
color_class { name: "C7"; color: 204 204 204 255; } // COL_WHITE
color_class { name: "C8"; color: 102 102 102 255; } // COL_BLACK
color_class { name: "C9"; color: 255 102 102 255; } // COL_RED
color_class { name: "C10"; color: 102 255 102 255; } // COL_GREEN
color_class { name: "C11"; color: 255 255 102 255; } // COL_YELLOW
color_class { name: "C12"; color: 102 102 255 255; } // COL_BLUE
color_class { name: "C13"; color: 255 102 255 255; } // COL_MAGENTA
color_class { name: "C14"; color: 102 255 255 255; } // COL_CYAN
color_class { name: "C15"; color: 255 255 255 255; } // COL_WHITE
#if 0 // disabled, use defaults.
// pure 6x6x6 colorcube
color_class { name: "C16"; color: 0 0 0 255; }
color_class { name: "C17"; color: 0 0 95 255; }
color_class { name: "C18"; color: 0 0 135 255; }
color_class { name: "C19"; color: 0 0 175 255; }
color_class { name: "C20"; color: 0 0 215 255; }
color_class { name: "C21"; color: 0 0 255 255; }
color_class { name: "C22"; color: 0 95 0 255; }
color_class { name: "C23"; color: 0 95 95 255; }
color_class { name: "C24"; color: 0 95 135 255; }
color_class { name: "C25"; color: 0 95 175 255; }
color_class { name: "C26"; color: 0 95 215 255; }
color_class { name: "C27"; color: 0 95 255 255; }
color_class { name: "C28"; color: 0 135 0 255; }
color_class { name: "C29"; color: 0 135 95 255; }
color_class { name: "C30"; color: 0 135 135 255; }
color_class { name: "C31"; color: 0 135 175 255; }
color_class { name: "C32"; color: 0 135 215 255; }
color_class { name: "C33"; color: 0 135 255 255; }
color_class { name: "C34"; color: 0 175 0 255; }
color_class { name: "C35"; color: 0 175 95 255; }
color_class { name: "C36"; color: 0 175 135 255; }
color_class { name: "C37"; color: 0 175 175 255; }
color_class { name: "C38"; color: 0 175 215 255; }
color_class { name: "C39"; color: 0 175 255 255; }
color_class { name: "C40"; color: 0 215 0 255; }
color_class { name: "C41"; color: 0 215 95 255; }
color_class { name: "C42"; color: 0 215 135 255; }
color_class { name: "C43"; color: 0 215 175 255; }
color_class { name: "C44"; color: 0 215 215 255; }
color_class { name: "C45"; color: 0 215 255 255; }
color_class { name: "C46"; color: 0 255 0 255; }
color_class { name: "C47"; color: 0 255 95 255; }
color_class { name: "C48"; color: 0 255 135 255; }
color_class { name: "C49"; color: 0 255 175 255; }
color_class { name: "C50"; color: 0 255 215 255; }
color_class { name: "C51"; color: 0 255 255 255; }
color_class { name: "C52"; color: 95 0 0 255; }
color_class { name: "C53"; color: 95 0 95 255; }
color_class { name: "C54"; color: 95 0 135 255; }
color_class { name: "C55"; color: 95 0 175 255; }
color_class { name: "C56"; color: 95 0 215 255; }
color_class { name: "C57"; color: 95 0 255 255; }
color_class { name: "C58"; color: 95 95 0 255; }
color_class { name: "C59"; color: 95 95 95 255; }
color_class { name: "C60"; color: 95 95 135 255; }
color_class { name: "C61"; color: 95 95 175 255; }
color_class { name: "C62"; color: 95 95 215 255; }
color_class { name: "C63"; color: 95 95 255 255; }
color_class { name: "C64"; color: 95 135 0 255; }
color_class { name: "C65"; color: 95 135 95 255; }
color_class { name: "C66"; color: 95 135 135 255; }
color_class { name: "C67"; color: 95 135 175 255; }
color_class { name: "C68"; color: 95 135 215 255; }
color_class { name: "C69"; color: 95 135 255 255; }
color_class { name: "C70"; color: 95 175 0 255; }
color_class { name: "C71"; color: 95 175 95 255; }
color_class { name: "C72"; color: 95 175 135 255; }
color_class { name: "C73"; color: 95 175 175 255; }
color_class { name: "C74"; color: 95 175 215 255; }
color_class { name: "C75"; color: 95 175 255 255; }
color_class { name: "C76"; color: 95 215 0 255; }
color_class { name: "C77"; color: 95 215 95 255; }
color_class { name: "C78"; color: 95 215 135 255; }
color_class { name: "C79"; color: 95 215 175 255; }
color_class { name: "C80"; color: 95 215 215 255; }
color_class { name: "C81"; color: 95 215 255 255; }
color_class { name: "C82"; color: 95 255 0 255; }
color_class { name: "C83"; color: 95 255 95 255; }
color_class { name: "C84"; color: 95 255 135 255; }
color_class { name: "C85"; color: 95 255 175 255; }
color_class { name: "C86"; color: 95 255 215 255; }
color_class { name: "C87"; color: 95 255 255 255; }
color_class { name: "C88"; color: 135 0 0 255; }
color_class { name: "C89"; color: 135 0 95 255; }
color_class { name: "C90"; color: 135 0 135 255; }
color_class { name: "C91"; color: 135 0 175 255; }
color_class { name: "C92"; color: 135 0 215 255; }
color_class { name: "C93"; color: 135 0 255 255; }
color_class { name: "C94"; color: 135 111 0 255; }
color_class { name: "C95"; color: 135 95 95 255; }
color_class { name: "C96"; color: 135 95 135 255; }
color_class { name: "C97"; color: 135 95 175 255; }
color_class { name: "C98"; color: 135 95 215 255; }
color_class { name: "C99"; color: 135 95 255 255; }
color_class { name: "C100"; color: 135 135 0 255; }
color_class { name: "C101"; color: 135 135 95 255; }
color_class { name: "C102"; color: 135 135 135 255; }
color_class { name: "C103"; color: 135 135 175 255; }
color_class { name: "C104"; color: 135 135 215 255; }
color_class { name: "C105"; color: 135 135 255 255; }
color_class { name: "C106"; color: 135 175 0 255; }
color_class { name: "C107"; color: 135 175 95 255; }
color_class { name: "C108"; color: 135 175 135 255; }
color_class { name: "C109"; color: 135 175 175 255; }
color_class { name: "C110"; color: 135 175 215 255; }
color_class { name: "C111"; color: 135 175 255 255; }
color_class { name: "C112"; color: 135 215 0 255; }
color_class { name: "C113"; color: 135 215 95 255; }
color_class { name: "C114"; color: 135 215 135 255; }
color_class { name: "C115"; color: 135 215 175 255; }
color_class { name: "C116"; color: 135 215 215 255; }
color_class { name: "C117"; color: 135 215 255 255; }
color_class { name: "C118"; color: 135 255 0 255; }
color_class { name: "C119"; color: 135 255 95 255; }
color_class { name: "C120"; color: 135 255 135 255; }
color_class { name: "C121"; color: 135 255 175 255; }
color_class { name: "C122"; color: 135 255 215 255; }
color_class { name: "C123"; color: 135 255 255 255; }
color_class { name: "C124"; color: 175 0 0 255; }
color_class { name: "C125"; color: 175 0 95 255; }
color_class { name: "C126"; color: 175 0 135 255; }
color_class { name: "C127"; color: 175 0 175 255; }
color_class { name: "C128"; color: 175 0 215 255; }
color_class { name: "C129"; color: 175 0 255 255; }
color_class { name: "C130"; color: 175 95 0 255; }
color_class { name: "C131"; color: 175 95 95 255; }
color_class { name: "C132"; color: 175 95 135 255; }
color_class { name: "C133"; color: 175 95 175 255; }
color_class { name: "C134"; color: 175 95 215 255; }
color_class { name: "C135"; color: 175 95 255 255; }
color_class { name: "C136"; color: 175 135 0 255; }
color_class { name: "C137"; color: 175 135 95 255; }
color_class { name: "C138"; color: 175 135 135 255; }
color_class { name: "C139"; color: 175 135 175 255; }
color_class { name: "C140"; color: 175 135 215 255; }
color_class { name: "C141"; color: 175 135 255 255; }
color_class { name: "C142"; color: 175 175 0 255; }
color_class { name: "C143"; color: 175 175 95 255; }
color_class { name: "C144"; color: 175 175 135 255; }
color_class { name: "C145"; color: 175 175 175 255; }
color_class { name: "C146"; color: 175 175 215 255; }
color_class { name: "C147"; color: 175 175 255 255; }
color_class { name: "C148"; color: 175 215 0 255; }
color_class { name: "C149"; color: 175 215 95 255; }
color_class { name: "C150"; color: 175 215 135 255; }
color_class { name: "C151"; color: 175 215 175 255; }
color_class { name: "C152"; color: 175 215 215 255; }
color_class { name: "C153"; color: 175 215 255 255; }
color_class { name: "C154"; color: 175 255 0 255; }
color_class { name: "C155"; color: 175 255 95 255; }
color_class { name: "C156"; color: 175 255 135 255; }
color_class { name: "C157"; color: 175 255 175 255; }
color_class { name: "C158"; color: 175 255 215 255; }
color_class { name: "C159"; color: 175 255 255 255; }
color_class { name: "C160"; color: 215 0 0 255; }
color_class { name: "C161"; color: 215 0 95 255; }
color_class { name: "C162"; color: 215 0 135 255; }
color_class { name: "C163"; color: 215 0 175 255; }
color_class { name: "C164"; color: 215 0 215 255; }
color_class { name: "C165"; color: 215 0 255 255; }
color_class { name: "C166"; color: 215 95 0 255; }
color_class { name: "C167"; color: 215 95 95 255; }
color_class { name: "C168"; color: 215 95 135 255; }
color_class { name: "C169"; color: 215 95 175 255; }
color_class { name: "C170"; color: 215 95 215 255; }
color_class { name: "C171"; color: 215 95 255 255; }
color_class { name: "C172"; color: 215 135 0 255; }
color_class { name: "C173"; color: 215 135 95 255; }
color_class { name: "C174"; color: 215 135 135 255; }
color_class { name: "C175"; color: 215 135 175 255; }
color_class { name: "C176"; color: 215 135 215 255; }
color_class { name: "C177"; color: 215 135 255 255; }
color_class { name: "C178"; color: 215 175 0 255; }
color_class { name: "C179"; color: 215 175 95 255; }
color_class { name: "C180"; color: 215 175 135 255; }
color_class { name: "C181"; color: 215 175 175 255; }
color_class { name: "C182"; color: 215 175 215 255; }
color_class { name: "C183"; color: 215 175 255 255; }
color_class { name: "C184"; color: 215 215 0 255; }
color_class { name: "C185"; color: 215 215 95 255; }
color_class { name: "C186"; color: 215 215 135 255; }
color_class { name: "C187"; color: 215 215 175 255; }
color_class { name: "C188"; color: 215 215 215 255; }
color_class { name: "C189"; color: 215 215 255 255; }
color_class { name: "C190"; color: 215 255 0 255; }
color_class { name: "C191"; color: 215 255 95 255; }
color_class { name: "C192"; color: 215 255 135 255; }
color_class { name: "C193"; color: 215 255 175 255; }
color_class { name: "C194"; color: 215 255 215 255; }
color_class { name: "C195"; color: 215 255 255 255; }
color_class { name: "C196"; color: 255 0 0 255; }
color_class { name: "C197"; color: 255 0 95 255; }
color_class { name: "C198"; color: 255 0 135 255; }
color_class { name: "C199"; color: 255 0 175 255; }
color_class { name: "C200"; color: 255 0 215 255; }
color_class { name: "C201"; color: 255 0 255 255; }
color_class { name: "C202"; color: 255 95 0 255; }
color_class { name: "C203"; color: 255 95 95 255; }
color_class { name: "C204"; color: 255 95 135 255; }
color_class { name: "C205"; color: 255 95 175 255; }
color_class { name: "C206"; color: 255 95 215 255; }
color_class { name: "C207"; color: 255 95 255 255; }
color_class { name: "C208"; color: 255 135 0 255; }
color_class { name: "C209"; color: 255 135 95 255; }
color_class { name: "C210"; color: 255 135 135 255; }
color_class { name: "C211"; color: 255 135 175 255; }
color_class { name: "C212"; color: 255 135 215 255; }
color_class { name: "C213"; color: 255 135 255 255; }
color_class { name: "C214"; color: 255 175 0 255; }
color_class { name: "C215"; color: 255 175 95 255; }
color_class { name: "C216"; color: 255 175 135 255; }
color_class { name: "C217"; color: 255 175 175 255; }
color_class { name: "C218"; color: 255 175 215 255; }
color_class { name: "C219"; color: 255 175 255 255; }
color_class { name: "C220"; color: 255 215 0 255; }
color_class { name: "C221"; color: 255 215 95 255; }
color_class { name: "C222"; color: 255 215 135 255; }
color_class { name: "C223"; color: 255 215 175 255; }
color_class { name: "C224"; color: 255 215 215 255; }
color_class { name: "C225"; color: 255 215 255 255; }
color_class { name: "C226"; color: 255 255 0 255; }
color_class { name: "C227"; color: 255 255 95 255; }
color_class { name: "C228"; color: 255 255 135 255; }
color_class { name: "C229"; color: 255 255 175 255; }
color_class { name: "C230"; color: 255 255 215 255; }
color_class { name: "C231"; color: 255 255 255 255; }
// greyscale ramp (24 not including black and white, so 26 if included)
color_class { name: "C232"; color: 8 8 8 255; }
color_class { name: "C233"; color: 18 18 18 255; }
color_class { name: "C234"; color: 28 28 28 255; }
color_class { name: "C235"; color: 38 38 38 255; }
color_class { name: "C236"; color: 48 48 48 255; }
color_class { name: "C237"; color: 58 58 58 255; }
color_class { name: "C238"; color: 68 68 68 255; }
color_class { name: "C239"; color: 78 78 78 255; }
color_class { name: "C240"; color: 88 88 88 255; }
color_class { name: "C241"; color: 98 98 98 255; }
color_class { name: "C242"; color: 108 108 108 255; }
color_class { name: "C243"; color: 118 118 118 255; }
color_class { name: "C244"; color: 128 128 128 255; }
color_class { name: "C245"; color: 138 138 138 255; }
color_class { name: "C246"; color: 148 148 148 255; }
color_class { name: "C247"; color: 158 158 158 255; }
color_class { name: "C248"; color: 168 168 168 255; }
color_class { name: "C249"; color: 178 178 178 255; }
color_class { name: "C250"; color: 188 188 188 255; }
color_class { name: "C251"; color: 198 198 198 255; }
color_class { name: "C252"; color: 210 210 210 255; }
color_class { name: "C253"; color: 218 218 218 255; }
color_class { name: "C254"; color: 228 228 228 255; }
color_class { name: "C255"; color: 238 238 238 255; }
#endif

View File

@ -0,0 +1,77 @@
MAINTAINERCLEANFILES = Makefile.in
EXTRA_DIST = \
ab_base.png \
ab_shell.png \
bg_bevel.png \
bg_shine.png \
bg_shine2.png \
bg_shine3.png \
bg_shine4.png \
bg_shine5.png \
bg_glint.png \
bg_glow_in.png \
bg_led.png \
bg_led_base.png \
bg_led_glow.png \
bg_led_strobe.png \
bg_shadow.png \
bg_shadow2.png \
bg_shadow3.png \
cr_glow.png \
cr_key.png \
cr_out.png \
cr_pulse.png \
fn_shadow.png \
icon_about.png \
icon_close.png \
icon_copy.png \
icon_new.png \
icon_paste.png \
icon_settings.png \
icon_split_h.png \
icon_split_v.png \
icon_miniview.png \
inset_shadow.png \
media_bg.png \
media_line.png \
media_pause.png \
media_play.png \
media_stop.png \
media_knob_pos.png \
media_knob_vol.png \
media_busy_knob.png \
media_busy_progress.png \
media_busy_spinner.png \
pm_fill.png \
pm_overlay.png \
pm_shadow.png \
lk_bottom.png \
lk_left.png \
lk_right.png \
sl_htop.png \
sl_hbottom.png \
sl_left.png \
sl_top.png \
sl_bottom.png \
sl_stripe.png \
sl_right.png \
tab_base_bottom.png \
tab_base_l0.png \
tab_base_l1.png \
tab_base_m.png \
tab_base_r0.png \
tab_base_r1.png \
tab_bg_l0.png \
tab_bg_l1.png \
tab_bg_r0.png \
tab_bg_r1.png \
tab_close.png \
tab_other_l.png \
tab_other_m.png \
tab_other_r.png \
tab_shad_l0.png \
tab_shad_l1.png \
tab_shad_l2.png \
tab_shad_r0.png \
tab_shad_r1.png \
tab_shad_r2.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Some files were not shown because too many files have changed in this diff Show More