Compare commits

..

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

322 changed files with 14761 additions and 15458 deletions

7
.arcconfig Normal file
View File

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

View File

@ -4,9 +4,9 @@ jobs:
checkout_code:
docker:
- image: borisfaure/terminology-ci:latest
shell: /bin/sh -leo pipefail
environment:
- COLUMNS: 150
- TERM: xterm-256color
- BASH_ENV: /etc/profile
steps:
- run: |
cd /terminology
@ -24,12 +24,63 @@ jobs:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
paths:
- /terminology
build_minimal_gcc_efl-1_22:
docker:
- image: borisfaure/terminology-ci:latest
steps:
- restore_cache:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
- run:
name: Install EFL
command: apk add /pkg/efl-1.22.6-r0.apk /pkg/efl-dev-1.22.6-r0.apk
- run:
name: Compile with GCC
command: |
cd /terminology
meson -Dnls=false . build
meson configure build
cd build
ninja -j4
build_minimal_gcc_efl-1_23:
docker:
- image: borisfaure/terminology-ci:latest
steps:
- restore_cache:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
- run:
name: Install EFL
command: apk add /pkg/efl-1.23.3-r2.apk /pkg/efl-dev-1.23.3-r2.apk
- run:
name: Compile with GCC
command: |
cd /terminology
meson -Dnls=false . build
meson configure build
cd build
ninja -j4
build_minimal_gcc_efl-1_24:
docker:
- image: borisfaure/terminology-ci:latest
steps:
- restore_cache:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
- run:
name: Install EFL
command: apk add /pkg/efl-1.24.3-r0.apk /pkg/efl-dev-1.24.3-r0.apk
- run:
name: Compile with GCC
command: |
cd /terminology
meson -Dnls=false . build
meson configure build
cd build
ninja -j4
build_and_test_debug_gcc_efl_latest:
docker:
- image: borisfaure/terminology-ci:latest
shell: /bin/sh -leo pipefail
environment:
- COLUMNS: 150
- TERM: xterm-256color
- BASH_ENV: /etc/profile
steps:
- restore_cache:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
@ -69,9 +120,6 @@ jobs:
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 }}
@ -100,8 +148,6 @@ jobs:
- image: borisfaure/terminology-ci:latest
environment:
- CC: clang
- COLUMNS: 150
- TERM: xterm-256color
steps:
- restore_cache:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
@ -116,129 +162,12 @@ jobs:
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
- CFLAGS: -O0 -pipe -g -fno-omit-frame-pointer -fsanitize=undefined,float-divide-by-zero,unsigned-integer-overflow,implicit-conversion,local-bounds,nullability -fno-sanitize-recover=undefined,float-divide-by-zero,unsigned-integer-overflow,implicit-conversion,local-bounds,nullability
steps:
- restore_cache:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
@ -266,6 +195,15 @@ workflows:
build-and-deploy:
jobs:
- checkout_code
- build_minimal_gcc_efl-1_22:
requires:
- checkout_code
- build_minimal_gcc_efl-1_23:
requires:
- checkout_code
- build_minimal_gcc_efl-1_24:
requires:
- checkout_code
- build_and_test_debug_gcc_efl_latest:
requires:
- checkout_code
@ -275,15 +213,6 @@ workflows:
- 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,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

1
.gitignore vendored
View File

@ -3,4 +3,3 @@
*~
/po/*.gmo
/build
/data/colorschemes/__pycache__/

View File

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

View File

@ -1,39 +1,3 @@
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

View File

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

View File

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

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

59
INSTALL Normal file
View File

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

56
NEWS
View File

@ -1,62 +1,10 @@
==================
Terminology 1.13.1
Terminology 1.11.0
==================
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

329
README.md
View File

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

View File

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

5
autogen.sh Executable file
View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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

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

View File

@ -11,8 +11,8 @@ license = MIT
[Colors]
bg = #f7f2f2
main = #e796b0
hl = #222222
end_sel = #e796b0
hl = #ffffff
end_sel = #ff3300
tab_missed_1 = #ff9933
tab_missed_2 = #ff3300
tab_missed_3 = #ff0000

View File

@ -10,9 +10,9 @@ license = MIT
[Colors]
bg = #fdf6e3
main = #aa9966
hl = #222222
end_sel = #aa9966
main = #3399ff
hl = #ffffff
end_sel = #ff0000
tab_missed_1 = #ff9933
tab_missed_2 = #ff3300
tab_missed_3 = #ff0000

View File

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

View File

@ -12,7 +12,7 @@ license = Public Domain
bg = #2e3436
main = #f57900
hl = #ffffff
end_sel = #f57900
end_sel = #ff3300
tab_missed_1 = #ff9933
tab_missed_2 = #ff3300
tab_missed_3 = #ff0000

View File

@ -11,8 +11,8 @@ license = Public Domain
[Colors]
bg = #eeeeec
main = #ce5c00
hl = #222222
end_sel = #ce5c00
hl = #ffffff
end_sel = #ff3300
tab_missed_1 = #ff9933
tab_missed_2 = #ff3300
tab_missed_3 = #ff0000

View File

@ -6,8 +6,6 @@ COMPRESS=1
EET=$1
shift
EET_FILE=$1
shift
INI=$1
shift
@ -16,9 +14,6 @@ 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")
@ -27,6 +22,9 @@ trap 'rm -f "$TMP_DESC"' INT TERM HUP EXIT
NAME=$($GET_NAME "$INI")
mkdir -p "data/colorschemes"
EET_FILE="data/colorschemes/$NAME.eet"
[ ! -w "$EET_FILE" ] && touch "$EET_FILE"
echo "Generating $EET_FILE"
@ -36,5 +34,5 @@ $EET -e "$EET_FILE" "$NAME" "$TMP_DESC" "$COMPRESS"
rm "$TMP_DESC"
# file successfully written, so no need to trap to remove temp file
# file successfully written, so need to trap to rename temp file
trap - INT TERM HUP EXIT

14
data/colorschemes/builder.sh Executable file
View File

@ -0,0 +1,14 @@
#!/bin/bash
set -e
set -u
EET=$1
shift
ADD_COLOR_SCHEME=$(dirname "$0")/add_color_scheme.sh
for INI in "$@"
do
echo "Building $INI"
# use the name, without extension as key in eet
$ADD_COLOR_SCHEME "$EET" "$INI"
done

View File

@ -3,14 +3,6 @@
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:
@ -18,13 +10,9 @@ def parse_color(color_string):
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
return tuple(int(h[i:i+2], 16) for i in (0, 2, 4, 6))
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
return tuple(int(h[i]+h[i], 16) for i in (0, 1, 2, 3))
def write_color(out, color_string):
(r, g, b, a) = parse_color(color_string)

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

View File

@ -16,202 +16,7 @@ color_classes {
efl_version: 1 20;
#define IMAGE_RING(x, sz) \
set { name: x; \
image { image: x"1.png" COMP; size: (sz/2) (sz/2) 99999 99999; } \
image { image: x"2.png" COMP; size: (sz/4) (sz/4) (sz/2) (sz/2); } \
image { image: x"3.png" COMP; size: (sz/8) (sz/8) (sz/4) (sz/4); } \
image { image: x"4.png" COMP; size: (sz/16) (sz/16) (sz/8) (sz/8); } \
image { image: x"5.png" COMP; size: 0 0 (sz/16) (sz/16); } \
}
#define BUSY(x, start1, start2, stop1, stop2) \
program { signal: start1; source: start2; \
action: STATE_SET "visible" 0.0; \
transition: SINUSOIDAL 1.0 USE_DURATION_FACTOR 1; \
target: "busy"; } \
program { signal: start1; source: start2; \
action: STATE_SET "default" 0.0; \
target: "busy1"; \
target: "busy2"; \
target: "busy3"; \
after: "busy-p11"; \
after: "busy-p21"; \
after: "busy-p31"; } \
program { signal: stop1; source: stop2; \
action: STATE_SET "default" 0.0; \
transition: SINUSOIDAL 1.0 USE_DURATION_FACTOR 1; \
target: "busy"; \
after: "busy_stop2"; } \
program { name: "busy_stop2"; \
action: ACTION_STOP; \
target: "busy-p11"; \
target: "busy-p12"; \
target: "busy-p21"; \
target: "busy-p22"; \
target: "busy-p31"; \
target: "busy-p32"; } \
part { name: "busy"; type: RECT; \
description { state: "default" 0.0; \
rel1.to: x; rel2.to: x; \
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: "busy1"; mouse_events: 0; \
clip_to: "busy"; \
description { state: "default" 0.0; \
rel1.to: "busy"; rel2.to: "busy"; \
aspect: 1.0 1.0; aspect_preference: BOTH; \
image.normal: "ringa"; \
color_class: "/fg/normal/progress/busy/1"; \
map.on: 1; \
map.smooth: 1; \
map.rotation.center: "busy"; \
map.rotation.z: 0; } \
description { state: "default" 1.0; \
inherit: "default" 0.0; \
map.rotation.z: 360; } } \
program { name: "busy-p11"; \
action: STATE_SET "default" 1.0; \
transition: LINEAR 1.0; \
target: "busy1"; \
after: "busy-p12"; } \
program { name: "busy-p12"; \
action: STATE_SET "default" 0.0; \
target: "busy1"; \
after: "busy-p11"; } \
part { name: "busy2"; mouse_events: 0; \
clip_to: "busy"; \
description { state: "default" 0.0; \
rel1.to: "busy"; rel2.to: "busy"; \
aspect: 1.0 1.0; aspect_preference: BOTH; \
image.normal: "ringb"; \
color_class: "/fg/normal/progress/busy/2"; \
map.on: 1; \
map.smooth: 1; \
map.rotation.center: "busy"; \
map.rotation.z: 420; } \
description { state: "default" 1.0; \
inherit: "default" 0.0; \
map.rotation.z: 80; } } \
program { name: "busy-p21"; \
action: STATE_SET "default" 1.0; \
transition: LINEAR 0.7; \
target: "busy2"; \
after: "busy-p22"; } \
program { name: "busy-p22"; \
action: STATE_SET "default" 0.0; \
target: "busy2"; \
after: "busy-p21"; } \
part { name: "busy3"; mouse_events: 0; \
clip_to: "busy"; \
description { state: "default" 0.0; \
rel1.to: "busy"; rel2.to: "busy"; \
aspect: 1.0 1.0; aspect_preference: BOTH; \
image.normal: "ringc"; \
color_class: "/fg/normal/progress/busy/3"; \
map.on: 1; \
map.smooth: 1; \
map.rotation.center: "busy"; \
map.rotation.z: 170; } \
description { state: "default" 1.0; \
inherit: "default" 0.0; \
map.rotation.z: 530; } } \
program { name: "busy-p31"; \
action: STATE_SET "default" 1.0; \
transition: LINEAR 1.4; \
target: "busy3"; \
after: "busy-p32"; } \
program { name: "busy-p32"; \
action: STATE_SET "default" 0.0; \
target: "busy3"; \
after: "busy-p31"; }
#define I060(_NAME, _FILE) \
set { name: _NAME; \
image { image: _FILE"-060.png" COMP; size: 31 31 60000 60000; } \
image { image: _FILE"-030.png" COMP; size: 16 16 30 30; } \
image { image: _FILE"-015.png" COMP; size: 0 0 15 15; } \
}
collections {
color_tree {
":bg" {
"/bg/normal/tab";
"/bg/normal/background";
}
":bg-dark" {
"/bg/selected/titlebar";
"/bg/normal/term/font_preview";
}
":dim-dark" {
"/bg/normal/term/keybinding";
}
":fg" {
"/fg/normal/term/tab/title/text";
"/fg/normal/tab/term/icon/grouped";
"/fg/normal/term/tab_button";
"/fg/pressed/term/miniview/close";
"/fg/normal/term/sel/title/text";
"/fg/normal/term/drag/target";
}
":fg-light" {
"/fg/normal/progress/busy/1";
"/fg/normal/term/tabcount";
"/fg/selected/term/tab/title/close";
"/fg/selected/term/tab/title/text";
"/fg/pressed/term/tab_button";
"/fg/normal/term/keybinding";
"/fg/normal/term/miniview/close";
"/fg/normal/term/selection/arrow/left";
"/fg/normal/term/selection/arrow/up";
"/fg/normal/term/selection/arrow/right";
"/fg/normal/term/selection/arrow/down";
"/fg/selected/term/sel/title/text";
"/bg/normal/term/drag/target";
"/fg/selected/term/drag/target";
}
":light-medium" {
"/fg/normal/progress/busy/2";
}
":selected-medium" {
"/fg/normal/progress/busy/3";
}
":bg-dark" {
"/bg-dark/normal/background";
}
":bg-dark-alt" {
"/bg-dark-alt/normal/background";
};
":selected" {
"/bg/selected/tab/hilight";
"/fg/normal/term/text/tabcount";
"/bg/selected/media/position";
"/fg/selected/term/miniview/screen";
"/bg/selected/term/text";
};
":selected-alt" {
"/fg/normal/term/text/tabcount/missed";
"/fg/selected/term/tab/title/text/bell";
"/fg/disabled/term/miniview/screen";
"/bg/selected/term/drag/target";
};
":shadow" {
"/shadow/normal/tab";
"/shadow/normal/term/sel/item";
"/shadow/normal/term/drag_thumb";
}
":shadow-selected" {
"/shadow/selected/tab";
"/shadow/selected/term/sel/item";
}
}
IMAGE_RING("ringa", 160)
IMAGE_RING("ringb", 160)
IMAGE_RING("ringc", 160)
#include "default/keybinding.edc"
#include "default/miniview.edc"
#include "default/core.edc"
@ -229,4 +34,3 @@ collections {
#include "default/tab_drag_thumb.edc"
#include "default/color_preview.edc"
}

View File

@ -1,8 +1,10 @@
///////////////////////////////////////////////////////////////////////////
//// the about box content image
group { name: "terminology/about";
images.image: "ab_base.png" COMP;
images.image: "ab_shell.png" COMP;
images {
image: "ab_base.png" COMP;
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";
@ -10,29 +12,43 @@ group { name: "terminology/about";
}
}
parts {
part { name: "base"; mouse_events: 0;
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);
rel1 {
relative: (39/198) (27/198);
to: "shell";
}
rel2 {
relative: (151/198) (115/198);
to: "shell";
}
image.normal: "ab_base.png";
}
}
part { name: "baseclip"; type: RECT;
description { state: "default" 0.0;
rel.to: "base";
color: 255 255 255 255;
rel1.to: "base";
rel2.to: "base";
}
}
part { name: "terminology.text"; type: TEXTBLOCK;
scale: 1;
clip_to: "baseclip";
mouse_events: 1;
scale: 1;
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;
rel1 {
to: "base";
relative: 0.08 1.0;
}
rel2 {
to: "base";
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.";
@ -57,7 +73,8 @@ group { name: "terminology/about";
}
}
programs {
program { signal: "begin"; source: "terminology";
program {
signal: "begin"; source: "terminology";
action: ACTION_STOP;
target: "show";
target: "show2";

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,12 @@
group { name: "terminology/base";
images {
image: "pm_shadow.png" COMP;
image: "bg_bevel.png" COMP;
image: "bg_glint.png" COMP;
image: "lk_bottom.png" COMP;
image: "lk_left.png" COMP;
image: "lk_right.png" COMP;
}
parts {
part { name: "terminology.content"; type: SWALLOW;
description { state: "default" 0.0;
@ -12,29 +20,39 @@ group { name: "terminology/base";
rel1.offset: -100 -100;
rel2.to: "terminology.cmdbox";
rel2.offset: 99 99;
color: 255 255 255 0; // no cc
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255; // no cc
color: 255 255 255 255;
visible: 1;
}
}
part { name: "cmdshadow"; mouse_events: 0;
clip_to: "cmdclip";
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "cmdback";
rel1.offset: -32 -32;
rel2.to: "cmdback";
rel2.offset: 31 31;
image.normal: "pm_shadow.png";
image.border: 64 64 64 64;
fill.smooth: 0;
}
}
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;
rel1.offset: -2 -2;
rel2.to: "terminology.cmdbox";
rel2.offset: 3 3;
offscale;
rel2.offset: 1 1;
}
}
part { name: "terminology.cmdbox"; type: SWALLOW;
scale: 1;
clip_to: "cmdclip";
description { state: "default" 0.0;
fixed: 1 1;
@ -43,7 +61,6 @@ group { name: "terminology/base";
rel1.offset: 8 9;
rel2.offset: -9 9;
align: 0.5 0.0;
offscale;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
@ -52,19 +69,53 @@ group { name: "terminology/base";
align: 0.5 1.0;
}
}
program { signal: "cmdbox,show"; source: "terminology";
part { name: "cmdbevel"; mouse_events: 0;
clip_to: "cmdclip";
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "cmdback";
rel2.to: "cmdback";
image.normal: "bg_bevel.png";
image.border: 3 3 3 3;
image.middle: 0;
fill.smooth: 0;
}
}
part { name: "cmdglint"; mouse_events: 0;
clip_to: "cmdclip";
description { state: "default" 0.0;
fixed: 1 1;
min: 79 5;
max: 79 5;
rel1 {
to: "cmdback";
relative: 0.0 0.0;
offset: 0 0;
}
rel2 {
to: "cmdback";
relative: 1.0 0.0;
offset: -1 0;
}
image.normal: "bg_glint.png";
}
}
program {
signal: "cmdbox,show"; source: "terminology";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.2;
transition: DECELERATE 0.4;
target: "cmdclip";
}
program { signal: "cmdbox,show"; source: "terminology";
program {
signal: "cmdbox,show"; source: "terminology";
action: STATE_SET "visible" 0.0;
transition: SPRING 0.2 0.2 4;
transition: SPRING 0.4 0.5 4;
target: "terminology.cmdbox";
}
program { signal: "cmdbox,hide"; source: "terminology";
program {
signal: "cmdbox,hide"; source: "terminology";
action: STATE_SET "default" 0.0;
transition: ACCELERATE 0.3;
transition: ACCELERATE 0.5;
target: "terminology.cmdbox";
target: "cmdclip";
}
@ -132,7 +183,7 @@ group { name: "terminology/base";
color2: 136 255 136 40;
color3: 136 255 136 8;
text {
font: "Sans"; size: 10;
font: "Sans"; size: 11;
text: "Twitter: @_Terminology_";
align: 1.0 0.5;
min: 1 1;
@ -143,10 +194,191 @@ group { name: "terminology/base";
visible: 1;
}
}
program { signal: "mouse,clicked,1"; source: "twitter.txt";
part { name: "twitter.bottom";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
image.normal: "lk_bottom.png";
image.border: 9 9 0 0;
align: 0.5 1.0;
min: 20 8;
rel1 {
to: "twitter.txt";
offset: -6 -2;
relative: 0.0 1.0;
}
rel2 {
to: "twitter.txt";
offset: 5 -1;
}
color: 51 255 17 255;
fill.smooth: 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default";
visible: 1;
}
}
part { name: "twitter.l";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
image.normal: "lk_left.png";
align: 0.0 1.0;
min: 4 4;
rel1 {
to: "twitter.txt";
offset: 6 -2;
relative: 0.0 1.0;
}
rel2 {
to: "twitter.txt";
offset: 6 -2;
relative: 0.0 1.0;
}
color: 51 255 17 255;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default";
visible: 1;
}
description { state: "out" 0.0;
fixed: 1 1;
inherit: "visible" 0.0;
min: 16 16;
rel1 {
to: "twitter.txt";
offset: -10 -2;
}
rel2 {
to: "twitter.txt";
offset: -10 -2;
}
color: 51 255 17 255;
}
description { state: "out2" 0.0;
fixed: 1 1;
inherit: "visible" 0.0;
min: 32 32;
rel1 {
to: "twitter.txt";
offset: -26 -2;
}
rel2 {
to: "twitter.txt";
offset: -26 -2;
}
color: 51 255 17 0;
}
}
part { name: "twitter.r";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
image.normal: "lk_right.png";
align: 1.0 1.0;
min: 4 4;
rel1 {
to: "twitter.txt";
offset: -5 -1;
relative: 1.0 1.0;
}
rel2 {
to: "twitter.txt";
offset: -5 -1;
relative: 1.0 1.0;
}
color: 51 255 17 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default";
visible: 1;
}
description { state: "out" 0.0;
fixed: 1 1;
inherit: "visible" 0.0;
min: 16 16;
rel1 {
to: "twitter.txt";
offset: 9 -2;
}
rel2 {
to: "twitter.txt";
offset: 9 -2;
}
color: 51 255 17 255;
}
description { state: "out2" 0.0;
fixed: 1 1;
inherit: "visible" 0.0;
min: 32 32;
rel1 {
to: "twitter.txt";
offset: 25 -2;
}
rel2 {
to: "twitter.txt";
offset: 25 -2;
}
color: 51 255 17 0;
}
}
program { name: "twitter.show2";
action: STATE_SET "out2" 0.0;
transition: LINEAR 0.3;
target: "twitter.l";
target: "twitter.r";
after: "twitter.show3";
}
program { name: "twitter.show3";
action: STATE_SET "default" 0.0;
target: "twitter.l";
target: "twitter.r";
after: "twitter.show";
}
program {
name: "twitter.show_bottom";
signal: "mouse,in"; source: "twitter.txt";
action: STATE_SET "visible" 0.0;
target: "twitter.bottom";
}
program {
name: "twitter.show";
signal: "mouse,in"; source: "twitter.txt";
action: STATE_SET "out" 0.0;
transition: LINEAR 0.3;
target: "twitter.l";
target: "twitter.r";
after: "twitter.show2";
}
program {
signal: "mouse,out"; source: "twitter.txt";
action: STATE_SET "visible" 0.0;
target: "twitter.txt";
}
program {
signal: "mouse,out"; source: "twitter.txt";
action: ACTION_STOP;
target: "twitter.show";
target: "twitter.show2";
target: "twitter.show3";
}
program {
signal: "mouse,out"; source: "twitter.txt";
action: STATE_SET "default" 0.0;
target: "twitter.bottom";
target: "twitter.l";
target: "twitter.r";
}
program {
signal: "mouse,clicked,1"; source: "twitter.txt";
action: SIGNAL_EMIT "about,twitter" "terminology";
}
program { signal: "mouse,clicked,3"; source: "twitter.txt";
program {
signal: "mouse,clicked,3"; source: "twitter.txt";
action: SIGNAL_EMIT "about,twitter,ctx" "terminology";
}
@ -185,7 +417,7 @@ group { name: "terminology/base";
color2: 136 255 136 40;
color3: 136 255 136 8;
text {
font: "Sans"; size: 10;
font: "Sans"; size: 11;
text: "YouTube channel";
align: 0.0 0.5;
min: 1 1;
@ -196,21 +428,204 @@ group { name: "terminology/base";
visible: 1;
}
}
program { signal: "mouse,clicked,1"; source: "youtube.txt";
part { name: "youtube.bottom";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
image.normal: "lk_bottom.png";
image.border: 9 9 0 0;
align: 0.5 1.0;
min: 20 8;
rel1 {
to: "youtube.txt";
offset: -6 -2;
relative: 0.0 1.0;
}
rel2 {
to: "youtube.txt";
offset: 5 -1;
}
color: 51 255 17 255;
fill.smooth: 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default";
visible: 1;
}
}
part { name: "youtube.l";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
image.normal: "lk_left.png";
align: 0.0 1.0;
min: 4 4;
rel1 {
to: "youtube.txt";
offset: 6 -2;
relative: 0.0 1.0;
}
rel2 {
to: "youtube.txt";
offset: 6 -2;
relative: 0.0 1.0;
}
color: 51 255 17 255;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default";
visible: 1;
}
description { state: "out" 0.0;
fixed: 1 1;
inherit: "visible" 0.0;
min: 16 16;
rel1 {
to: "youtube.txt";
offset: -10 -2;
}
rel2 {
to: "youtube.txt";
offset: -10 -2;
}
color: 51 255 17 255;
}
description { state: "out2" 0.0;
fixed: 1 1;
inherit: "visible" 0.0;
min: 32 32;
rel1 {
to: "youtube.txt";
offset: -26 -2;
}
rel2 {
to: "youtube.txt";
offset: -26 -2;
}
color: 51 255 17 0;
}
}
part { name: "youtube.r";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
image.normal: "lk_right.png";
align: 1.0 1.0;
min: 4 4;
rel1 {
to: "youtube.txt";
offset: -5 -1;
relative: 1.0 1.0;
}
rel2 {
to: "youtube.txt";
offset: -5 -1;
relative: 1.0 1.0;
}
color: 51 255 17 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default";
visible: 1;
}
description { state: "out" 0.0;
fixed: 1 1;
inherit: "visible" 0.0;
min: 16 16;
rel1 {
to: "youtube.txt";
offset: 9 -2;
}
rel2 {
to: "youtube.txt";
offset: 9 -2;
}
color: 51 255 17 255;
}
description { state: "out2" 0.0;
fixed: 1 1;
inherit: "visible" 0.0;
min: 32 32;
rel1 {
to: "youtube.txt";
offset: 25 -2;
}
rel2 {
to: "youtube.txt";
offset: 25 -2;
}
color: 51 255 17 0;
}
}
program { name: "youtube.show2";
action: STATE_SET "out2" 0.0;
transition: LINEAR 0.3;
target: "youtube.l";
target: "youtube.r";
after: "youtube.show3";
}
program { name: "youtube.show3";
action: STATE_SET "default" 0.0;
target: "youtube.l";
target: "youtube.r";
after: "youtube.show";
}
program {
name: "youtube.show_bottom";
signal: "mouse,in"; source: "youtube.txt";
action: STATE_SET "visible" 0.0;
target: "youtube.bottom";
}
program {
name: "youtube.show";
signal: "mouse,in"; source: "youtube.txt";
action: STATE_SET "out" 0.0;
transition: LINEAR 0.3;
target: "youtube.l";
target: "youtube.r";
after: "youtube.show2";
}
program {
signal: "mouse,out"; source: "youtube.txt";
action: STATE_SET "visible" 0.0;
target: "youtube.txt";
}
program {
signal: "mouse,out"; source: "youtube.txt";
action: ACTION_STOP;
target: "youtube.show";
target: "youtube.show2";
target: "youtube.show3";
}
program {
signal: "mouse,out"; source: "youtube.txt";
action: STATE_SET "default" 0.0;
target: "youtube.bottom";
target: "youtube.l";
target: "youtube.r";
}
program {
signal: "mouse,clicked,1"; source: "youtube.txt";
action: SIGNAL_EMIT "about,youtube" "terminology";
}
program { signal: "mouse,clicked,3"; source: "youtube.txt";
program {
signal: "mouse,clicked,3"; source: "youtube.txt";
action: SIGNAL_EMIT "about,youtube,ctx" "terminology";
}
program { signal: "about,show"; source: "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";
program {
signal: "about,hide"; source: "terminology";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.6;
target: "terminology.about";
@ -236,7 +651,6 @@ group { name: "terminology/base";
relative: 1.0 0.98;
offset: 8 -9;
}
offscale;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
@ -253,14 +667,16 @@ group { name: "terminology/base";
}
}
}
program { signal: "optdetails,show"; source: "terminology";
program {
signal: "optdetails,show"; source: "terminology";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.2;
transition: DECELERATE 0.4;
target: "terminology.optdetails";
}
program { signal: "optdetails,hide"; source: "terminology";
program {
signal: "optdetails,hide"; source: "terminology";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.3;
transition: DECELERATE 0.2;
target: "terminology.optdetails";
after: "opdt_hide2";
}
@ -282,7 +698,6 @@ group { name: "terminology/base";
relative: 1.0 0.98;
offset: 8 -9;
}
offscale;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
@ -296,14 +711,16 @@ group { name: "terminology/base";
}
}
}
program { signal: "options,show"; source: "terminology";
program {
signal: "options,show"; source: "terminology";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.2;
transition: DECELERATE 0.4;
target: "terminology.options";
}
program { signal: "options,hide"; source: "terminology";
program {
signal: "options,hide"; source: "terminology";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.3;
transition: DECELERATE 0.6;
target: "terminology.options";
}
@ -322,7 +739,6 @@ group { name: "terminology/base";
relative: 1.0 0.5;
offset: 8 -9;
}
offscale;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
@ -337,14 +753,16 @@ group { name: "terminology/base";
}
}
}
program { signal: "controls,show"; source: "terminology";
program {
signal: "controls,show"; source: "terminology";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.2;
transition: DECELERATE 0.3;
target: "terminology.controls";
}
program { signal: "controls,hide"; source: "terminology";
program {
signal: "controls,hide"; source: "terminology";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.3;
transition: DECELERATE 0.5;
target: "terminology.controls";
}
}

View File

@ -1,31 +1,29 @@
group { name: "terminology/color_preview";
images.image: "checks.png" COMP;
images.image: "pm_overlay.png" COMP;
images.image: "tiles.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;
part { name: "tiles";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
image.normal: "checks.png";
color_class: "/bg-dark-alt/normal/background";
image.normal: "tiles.png";
fill.type: TILE;
}
}
part { name: "preview"; type: RECT;
mouse_events: 1;
description { state: "default" 0.0;
color_class: "color_preview";
}
}
part { name: "name"; type: TEXT; mouse_events: 0;
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;
color2: 0 0 0 128;
color3: 0 0 0 20;
align: 0.5 0.0;
text { font: "monospace"; size: 10;
align: 0.5 0.0;
@ -33,22 +31,27 @@ group { name: "terminology/color_preview";
}
}
}
part { name: "overlay";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
image.normal: "pm_overlay.png";
fill.smooth: 0;
}
}
}
}
group { name: "terminology/colorscheme_preview";
parts {
part { name: "bg"; type: RECT; mouse_events: 0;
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 +1,36 @@
color_class { name: "BG"; color: BG_COLOR ; }
color_class { name: "FG"; color: FG_COLOR ; }
#ifndef PROVIDE_CURSOR
color_class { name: "CURSOR"; color: 51 153 255 255; }
#endif
color_class { name: "GLOW"; color: 51 153 255 255; }
color_class { name: "HIGHLIGHT"; color: 255 255 255 255; }
color_class { name: "GLOW_TXT";
color: 51 153 255 255;
color2: 51 153 255 255;
color3: 51 153 255 255;
}
color_class { name: "GLOW_TXT_HIGHLIGHT";
color: 255 255 255 255;
color2: 51 153 255 255;
color3: 51 153 255 255;
}
color_class { name: "END_SELECTION"; color: 255 0 0 255; }
color_class { name: "BG_SENDFILE"; color: 64 64 64 255; }
color_class { name: "TAB_MISSED";
color: 255 153 51 255;
color2: 255 51 0 255;
color3: 255 0 0 255;
}
color_class { name: "TAB_MISSED_OVER";
color: 255 255 64 255;
color2: 255 153 51 255;
color3: 255 0 0 255;
}
color_class { name: "TAB_TITLE";
color: FG_COLOR_NO_ALPHA 255;
color2: 0 0 0 0;
color3: BG_COLOR_NO_ALPHA 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; }
color_class { name: "BG_SENDFILE"; color: 64 64 64 255; }

View File

@ -10,41 +10,23 @@ group { name: "terminology/core";
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);
custom_state(PART:"fade", "default", 0.0);
get_state_val(PART:"fade", STATE_COLOR, r, g, b, a);
set_state_val(PART:"fade", STATE_COLOR, r, g, b, v);
set_state(PART:"fade", "custom", 0.0);
}
}
}
parts {
////////////////////////////////////////////////////////////////////
// background handling
part { name: "terminology.fade"; type: RECT;
part { name: "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";
clip_to: "fade";
description { state: "default" 0.0;
color_class: "BG";
}
description { state: "image" 0.0;
inherit: "default" 0.0;
@ -63,31 +45,26 @@ group { name: "terminology/core";
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;
@ -101,14 +78,13 @@ group { name: "terminology/core";
////////////////////////////////////////////////////////////////////
// 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;
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -2,34 +2,54 @@
//// used in the font selection dialog to give a base for black text
//// previews so they are always visible
group { name: "terminology/fontpreview";
images {
image: "fn_shadow.png" COMP;
}
parts {
part { name: "base"; type: RECT;
scale: 1;
part { name: "shadow";
mouse_events: 0;
description { state: "default" 0.0;
color_class: "/bg/normal/term/font_preview";
rel1.offset: 4 4;
rel2.offset: -5 -5;
offscale;
rel1 {
offset: -2 -1;
to: "base";
}
rel2 {
offset: 1 2;
to: "base";
}
image {
normal: "fn_shadow.png";
border: 5 5 5 5;
}
fill.smooth: 0;
}
}
part { name: "base"; type: RECT;
mouse_events: 1;
description { state: "default" 0.0;
color_class: "BG";
rel1.offset: 2 2;
rel2.offset: -3 -3;
}
}
part { name: "clip"; type: RECT;
description { state: "default" 0.0;
rel.to: "base";
rel1.to: "base";
rel2.to: "base";
color: 255 255 255 255;
}
}
part { name: "terminology.text.preview"; type: SWALLOW;
clip_to: "clip";
scale: 1;
description { state: "default" 0.0;
rel1 {
to: "base";
offset: 4 4;
offset: 1 1;
}
rel2 {
to: "base";
offset: -5 -5;
offset: -2 -2;
}
offscale;
}
}
}

View File

@ -4,13 +4,13 @@
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");
ICON("new", "icon_new.png");
ICON("split-h", "icon_split_h.png");
ICON("split-v", "icon_split_v.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,20 +1,27 @@
group { name: "terminology/keybinding";
parts {
part { name: "shadow"; type: RECT;
mouse_events: 1;
description { state: "default" 0.0;
color_class: "/bg/normal/term/keybinding";
color: 0 0 0 196;
}
}
part { name: "label"; type: TEXT; mouse_events: 0;
part { name: "label"; type: TEXT;
mouse_events: 0;
effect: SOFT_SHADOW BOTTOM;
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;
rel1.to: "shadow";
rel2.to: "shadow";
rel1.relative: 0.5 0.5;
rel1.offset: 0 0;
rel2.relative: 0.5 0.5;
rel2.offset: 0 0;
color: 255 255 255 255;
color3: 0 0 0 18;
align: 0.5 0.5;
text { font: "Sans"; size: 12;
min: 1 1;
ellipsis: 0;
}

View File

@ -1,54 +1,122 @@
///////////////////////////////////////////////////////////////////////////
//// an object overlayd on text that is a link
group { name: "terminology/link";
images {
image: "lk_bottom.png" COMP;
image: "lk_left.png" COMP;
image: "lk_right.png" COMP;
}
parts {
part { name: "bottom"; type: RECT;
part { name: "bottom";
mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
image.normal: "lk_bottom.png";
image.border: 9 9 0 0;
align: 0.5 1.0;
min: 20 1;
rel1.offset: -1 -1;
min: 20 8;
rel1.offset: -6 0;
rel1.relative: 0.0 1.0;
rel2.offset: 0 -1;
color: 51 153 255 255;
offscale;
rel2.offset: 5 0;
color: 255 255 255 255;
color_class: "GLOW";
fill.smooth: 0;
}
}
part { name: "l";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
image.normal: "lk_left.png";
align: 0.0 1.0;
min: 4 4;
rel1.offset: 16 -1;
rel1.relative: 0.0 1.0;
rel2.offset: 16 -1;
rel2.relative: 0.0 1.0;
color: 255 255 255 0;
color_class: "GLOW";
}
description { state: "out" 0.0;
fixed: 1 1;
inherit: "default" 0.0;
rel1.offset: -5 -1;
rel2.offset: 4 -1;
min: 16 16;
rel1.offset: -10 -1;
rel2.offset: -10 -1;
color: 255 255 255 255;
color_class: "GLOW";
}
description { state: "out2" 0.0;
fixed: 1 1;
inherit: "default" 0.0;
min: 32 32;
rel1.offset: -26 -1;
rel2.offset: -26 -1;
color: 255 255 255 0;
color_class: "GLOW";
}
}
part { name: "r";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
image.normal: "lk_right.png";
align: 1.0 1.0;
min: 4 4;
rel1.offset: -15 0;
rel1.relative: 1.0 1.0;
rel2.offset: -15 0;
rel2.relative: 1.0 1.0;
color: 255 255 255 0;
color_class: "GLOW";
}
description { state: "out" 0.0;
fixed: 1 1;
inherit: "default" 0.0;
min: 16 16;
rel1.offset: 9 -1;
rel2.offset: 9 -1;
color: 255 255 255 255;
color_class: "GLOW";
}
description { state: "out2" 0.0;
fixed: 1 1;
inherit: "default" 0.0;
min: 32 32;
rel1.offset: 25 -1;
rel2.offset: 25 -1;
color: 255 255 255 0;
color_class: "GLOW";
}
}
part { name: "event"; type: RECT;
mouse_events: 1;
repeat_events: 1;
description { state: "default" 0.0;
color: 0 0 0 0; // no cc
color: 0 0 0 0;
}
}
programs {
program { name: "show";
signal: "show"; source: "";
action: STATE_SET "out" 0.0;
transition: SINUSOIDAL 0.5;
target: "bottom";
transition: LINEAR 0.3;
target: "l";
target: "r";
after: "show2";
}
program { name: "show2";
action: STATE_SET "out2" 0.0;
transition: SINUSOIDAL 0.2;
target: "bottom";
transition: LINEAR 0.3;
target: "l";
target: "r";
after: "show3";
}
program { name: "show3";
action: STATE_SET "out" 0.0;
transition: SINUSOIDAL 0.2;
target: "bottom";
after: "show2";
action: STATE_SET "default" 0.0;
target: "l";
target: "r";
after: "show";
}
}
}

View File

@ -1,6 +1,11 @@
//////////////////////////////////////////////////////////////////////////////
//// the multimedia controls
group { name: "terminology/mediabusy";
images {
image: "media_busy_knob.png" COMP;
image: "media_busy_spinner.png" COMP;
image: "media_busy_progress.png" COMP;
}
script {
public message(Msg_Type:type, id, ...) {
if ((type == MSG_FLOAT) && (id == 1)) {
@ -18,56 +23,103 @@ group { name: "terminology/mediabusy";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
min: 0 5;
max: 99999 5;
rel2.to_x: "knob";
rel2.relative: 0.0 1.0;
min: 10 40;
max: 99999 40;
align: 0.0 1.0;
}
}
part { name: "progress"; type: RECT; mouse_events: 0;
part { name: "progress";
mouse_events: 0;
clip_to: "fade";
description { state: "default" 0.0;
fixed: 1 1;
rel.to: "progress_area";
rel1.to: "progress_area";
rel2.to: "progress_area";
rel2.relative: 0.0 1.0;
color_class: "/bg/selected/media/position";
min: 0 5;
color: 255 255 255 255;
color_class: "GLOW";
image.normal: "media_busy_progress.png";
image.border: 5 5 0 0;
min: 10 40;
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
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 255 255 255; // no cc
color: 255 255 255 255;
color_class: "HIGHLIGHT";
}
}
part { name: "busy_base"; type: SPACER;
scale: 1;
part { name: "knob";
clip_to: "fade";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
min: 40 40; max: 40 40;
image.normal: "media_busy_knob.png";
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")
part { name: "knob_spinner";
clip_to: "fade";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
color: 51 153 255 255;
rel1.to: "knob";
rel2.to: "knob";
image.normal: "media_busy_spinner.png";
map {
on: 1;
smooth: 1;
rotation.center: "knob";
}
}
description { state: "spin" 0.0;
inherit: "default" 0.0;
visible: 1;
map.rotation.z: 360;
}
}
}
programs {
program { signal: "busy"; source: "terminology";
program {
signal: "busy"; source: "terminology";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.2 USE_DURATION_FACTOR 1 CURRENT;
transition: DECELERATE 0.5;
target: "fade";
}
program { signal: "done"; source: "terminology";
program { name: "spin1";
signal: "busy"; source: "terminology";
action: STATE_SET "spin" 0.0;
transition: LINEAR 0.5;
target: "knob_spinner";
after: "spin2";
}
program { name: "spin2";
action: STATE_SET "default" 0.0;
transition: DECELERATE 1.5 USE_DURATION_FACTOR 1 CURRENT;
target: "knob_spinner";
after: "spin1";
}
// program { name: "downloading";
// signal: "busy";
// source: "terminology";
// action: STATE_SET "default" 0.0;
// }
program {
signal: "done"; source: "terminology";
action: STATE_SET "default" 0.0;
transition: DECELERATE 1.5;
target: "fade";
}
}
@ -88,7 +140,8 @@ group { name: "terminology/mediactrl";
part { name: "media_clip"; type: RECT;
mouse_events: 0;
description { state: "default" 0.0;
rel.to: "media_bg";
rel1.to: "media_bg";
rel2.to: "media_bg";
}
}
part { name: "media_bg";
@ -98,7 +151,7 @@ group { name: "terminology/mediactrl";
image.border: 11 11 11 11;
min: 24 24;
max: 24 24;
align: 1.0 1.0;
align: 1.0 0.0;
}
description { state: "expanded" 0.0;
inherit: "default" 0.0;
@ -111,7 +164,6 @@ group { name: "terminology/mediactrl";
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;
@ -143,7 +195,8 @@ group { name: "terminology/mediactrl";
image.border: 15 15 0 0;
min: 90 14;
max: 90 14;
rel.to: "stop";
rel1.to: "stop";
rel2.to: "stop";
rel1.offset: -25 0;
rel2.offset: -90 0;
}
@ -206,46 +259,54 @@ group { name: "terminology/mediactrl";
}
}
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";
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";
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";
program {
signal: "mouse,up,*"; source: "play";
filter: "play" "default";
action: SIGNAL_EMIT "pause" "";
}
program { signal: "mouse,up,1"; source: "play";
program {
signal: "mouse,up,1"; source: "play";
filter: "play" "paused";
action: SIGNAL_EMIT "play" "";
}
program { signal: "mouse,up,1"; source: "stop";
program {
signal: "mouse,up,1"; source: "stop";
action: SIGNAL_EMIT "stop" "";
}
program { signal: "mouse,down,1"; source: "posline";
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,down,1"; source: "posline";
filter: "terminology.posdrag" "default";
script {
new x, y, w, h, m_x, m_y;
@ -260,10 +321,12 @@ group { name: "terminology/mediactrl";
}
}
program { signal: "mouse,up,1"; source: "posline";
program {
signal: "mouse,up,1"; source: "posline";
action: SIGNAL_EMIT "pos,drag,stop" "";
}
program { signal: "mouse,move"; source: "posline";
program {
signal: "mouse,move"; source: "posline";
script {
new x, y, w, h, m_x, m_y;
new Float:pos;
@ -278,7 +341,8 @@ group { name: "terminology/mediactrl";
emit("pos,drag", "");
}
}
program { signal: "mouse,down,1"; source: "volline";
program {
signal: "mouse,down,1"; source: "volline";
filter: "terminology.voldrag" "default";
script {
new x, y, w, h, m_x, m_y;
@ -293,7 +357,8 @@ group { name: "terminology/mediactrl";
}
}
program { signal: "mouse,move"; source: "volline";
program {
signal: "mouse,move"; source: "volline";
script {
new x, y, w, h, m_x, m_y;
new Float:pos;

View File

@ -1,83 +1,97 @@
group { name: "terminology/miniview";
images {
image: "icon_close.png" COMP;
image: "fn_shadow.png" COMP;
}
set { name: "bg_shadow";
image { image: "bg_shadow.png" COMP; size: 0 0 200 150; }
image { image: "bg_shadow2.png" COMP; size: 200 150 400 300; }
image { image: "bg_shadow3.png" COMP; size: 400 300 99999 99999; }
}
parts {
part { name: "miniview_bg"; type: RECT;
part { name: "miniview.bg"; type: RECT;
//mouse_events: 1;
description { state: "default" 0.0;
color_class: "BG";
}
}
part { name: "shadow";
mouse_events: 0;
description { state: "default" 0.0;
image.normal: "bg_shadow";
fill.smooth: 0;
}
}
part { name: "miniview.img"; type: SWALLOW;
description { state: "default" 0.0;
visible: 1;
rel1 {
to: "miniview_bg";
to: "miniview.bg";
relative: 0.0 0.0;
offset: 0 0;
}
rel2 {
to: "miniview_bg";
to: "miniview.bg";
relative: 1.0 1.0;
offset: -1 -1;
}
}
}
part { name: "miniview_screen"; type: RECT;
mouse_events: 1;
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;
color: 255 255 255 40;
fixed:1 1;
}
description { state: "outbounds" 0.0;
inherit : "default" 0.0;
color_class: "/fg/disabled/term/miniview/screen";
color: 255 25 35 40;
fixed:1 1;
}
}
part { name: "miniview_close";
scale: 1;
part { name: "miniview.close_shadow"; type: IMAGE;
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";
image {
normal: "fn_shadow.png";
};
rel1 {
to: "miniview.bg";
relative: 0.0 0.0;
offset: 0 0;
}
rel2 {
to: "miniview.bg";
relative: 0.0 0.0;
offset: 16 16;
}
}
}
part { name: "miniview_ev"; type: RECT;
scale: 1;
part { name: "miniview.close"; type: IMAGE;
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;
image {
normal: "icon_close.png";
};
rel1.to: "miniview.close_shadow";
rel2.to: "miniview.close_shadow";
}
}
};
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";
program {
signal: "mouse,clicked,1"; source: "miniview.close";
action: SIGNAL_EMIT "miniview,close" "terminology";
}
program { signal: "miniview_screen,inbounds"; source: "miniview";
program {
signal: "miniview_screen,inbounds"; source: "miniview";
action: STATE_SET "default" 0.0;
target: "miniview_screen";
}
program { signal: "miniview_screen,outbounds"; source: "miniview";
program {
signal: "miniview_screen,outbounds"; source: "miniview";
action: STATE_SET "outbounds" 0.0;
target: "miniview_screen";
}

View File

@ -2,33 +2,53 @@
//// an object to contain the selection tool used for selecting tabs (with
//// a glow grid of terms
group { name: "terminology/sel/base";
images {
image: "pm_overlay.png" COMP;
image: "pm_fill.png" COMP;
image: "inset_shadow.png" COMP;
}
set { name: "bg_shadow";
image { image: "bg_shadow.png" COMP; size: 0 0 200 150; }
image { image: "bg_shadow2.png" COMP; size: 200 150 400 300; }
image { image: "bg_shadow3.png" COMP; size: 400 300 99999 99999; }
}
script {
public message(Msg_Type:type, id, ...) {
// new r, g, b, a;
new v;
new r, g, b, a, 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);
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);
set_state(PART:"fill", "translucent", 0.0);
else
set_state(PART:"fill", "default", 0.0);
set_state(PART:"fill", "default", 0.0);
}
}
parts {
////////////////////////////////////////////////////////////////////
// background and shadows
part { name: "fill"; type: RECT;
////////////////////////////////////////////////////////////////////
// background and shadows
part { name: "shadow";
mouse_events: 0;
description { state: "default" 0.0;
color: 32 32 32 255;
image.normal: "bg_shadow";
fill.smooth: 0;
}
}
part { name: "fill";
mouse_events: 0;
description { state: "default" 0.0;
image.normal: "pm_fill.png";
fill {
size.relative: 0.0 0.0;
size.offset: 64 64;
}
}
description { state: "translucent" 0.0;
inherit: "default" 0.0;
@ -50,57 +70,120 @@ group { name: "terminology/sel/base";
////////////////////////////////////////////////////////////////////
// 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";
// }
part { name: "overlay";
mouse_events: 0;
description { state: "default" 0.0;
image.normal: "pm_overlay.png";
color: 255 255 255 0;
fill.smooth: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
part { name: "overlay_shadow"; mouse_events: 0;
description { state: "default" 0.0;
image.normal: "inset_shadow.png";
image.border: 5 5 7 3;
image.middle: 0;
fill.smooth: 0;
color: 255 255 255 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
program {
signal: "begin"; source: "terminology";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.3;
target: "overlay";
target: "overlay_shadow";
}
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;
images {
image: "bg_bevel.png" COMP;
image: "bg_glint.png" COMP;
image: "pm_shadow.png" COMP;
image: "cr_glow.png" COMP;
image: "bg_led_glow.png" COMP;
image: "bg_led_base.png" COMP;
image: "bg_led.png" COMP;
image: "bg_led_strobe.png" COMP;
}
set { name: "bg_shine";
image { image: "bg_shine5.png" COMP; size: 0 0 256 120; }
image { image: "bg_shine4.png" COMP; size: 256 120 512 240; }
image { image: "bg_shine3.png" COMP; size: 512 240 1024 480; }
image { image: "bg_shine2.png" COMP; size: 1024 480 2048 960; }
image { image: "bg_shine.png" COMP; size: 2048 960 99999 99999; }
}
parts {
////////////////////////////////////////////////////////////////////
// base background and selection image
////////////////////////////////////////////////////////////////////
// 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
rel1.to: "terminology.content";
rel2.to: "terminology.content";
color: 128 128 128 255;
}
description { state: "selected" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255; // no cc
color: 255 255 255 255;
}
}
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;
rel1.to: "terminology.content";
rel2.to: "terminology.content";
rel1.offset: -5 -5;
rel2.offset: 4 4;
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";
image.border_scale_by: 0.1;
color: 255 255 255 128;
fill.smooth: 0;
offscale;
}
description { state: "selected" 0.0;
inherit: "default" 0.0;
rel1.offset: -64 -64;
rel2.offset: 63 63;
rel1.offset: -40 -40;
rel2.offset: 39 39;
image.border_scale_by: 1.0;
color_class: "/shadow/selected/term/sel/item";
color: 255 255 255 255;
}
}
part { name: "glow";
mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "terminology.content";
rel2.to: "terminology.content";
rel1.offset: -4 -4;
rel2.offset: 3 3;
image {
normal: "cr_glow.png";
border: 9 9 9 9;
}
color: 255 255 255 0;
color_class: "GLOW";
}
description { state: "selected" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
color_class: "GLOW";
}
}
@ -110,7 +193,8 @@ group { name: "terminology/sel/item";
clip_to: "clip";
description { state: "default" 0.0;
color_class: "BG";
rel.to: "terminology.content";
rel1.to: "terminology.content";
rel2.to: "terminology.content";
}
}
part { name: "terminology.content"; type: SWALLOW;
@ -125,130 +209,141 @@ group { name: "terminology/sel/item";
rel2.relative: 1.0 1.0;
}
}
program { signal: "selected"; source: "terminology";
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";
target: "glow";
}
program { signal: "selected,start"; source: "terminology";
program {
signal: "selected,start"; source: "terminology";
action: STATE_SET "selected" 0.0;
target: "terminology.content";
target: "terminology.label";
target: "shadow";
target: "clip";
target: "glow";
}
program { signal: "unselected"; source: "terminology";
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";
target: "glow";
}
////////////////////////////////////////////////////////////////////
// fancy stuff over the top of the terminal for shading and labelling
part { name: "overlay";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "terminology.content";
rel2.to: "terminology.content";
image.normal: "pm_overlay.png";
fill.smooth: 0;
}
}
part { name: "bevel";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "terminology.content";
rel2.to: "terminology.content";
image.normal: "bg_bevel.png";
image.border: 3 3 3 3;
image.middle: 0;
fill.smooth: 0;
}
}
part { name: "terminology.label"; type: TEXT; mouse_events: 0;
effect: GLOW;
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;
rel1.to: "terminology.content";
rel2.to: "terminology.content";
color: 255 255 255 255;
color2: 255 255 255 24;
color3: 255 255 255 18;
color_class: "GLOW_TXT";
align: 0.5 1.0;
text { font: "Sans"; size: 10;
align: 0.5 0.0;
align: 0.5 1.0;
min: 0 1;
}
}
description { state: "selected" 0.0;
inherit: "default" 0.0;
color_class: "/fg/selected/term/sel/title/text";
color: 255 255 255 255;
color2: 255 255 255 128;
color3: 255 255 255 20;
color_class: "GLOW_TXT_HIGHLIGHT";
}
}
part { name: "clip2"; type: RECT;
description { state: "default" 0.0;
rel1.to: "terminology.content";
rel2.to: "terminology.content";
}
}
////////////////////////////////////////////////////////////////////
// fancy stuff on top
part { name: "glint";
mouse_events: 0;
clip_to: "clip2";
description { state: "default" 0.0;
fixed: 1 1;
min: 79 5;
max: 79 5;
rel1 {
to: "terminology.content";
relative: 0.0 0.0;
offset: 0 0;
}
rel2 {
to: "terminology.content";
relative: 1.0 0.0;
offset: -1 0;
}
image.normal: "bg_glint.png";
}
}
part { name: "shine";
mouse_events: 0;
clip_to: "clip2";
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "terminology.content";
rel2.to: "terminology.content";
image.normal: "bg_shine";
fill.smooth: 0;
align: 0.5 0.0;
aspect: (256/120) (256/120);
aspect_preference: HORIZONTAL;
}
}
////////////////////////////////////////////////////////////////////
// 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";
part { name: "bell_glow";
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;
rel1.to: "bell_base";
rel2.to: "bell_base";
min: 200 200;
fill.smooth: 0;
image.normal: "bg_led_glow.png";
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
@ -256,29 +351,115 @@ group { name: "terminology/sel/item";
color: 255 255 255 255;
}
}
program { signal: "bell"; source: "terminology";
part { name: "bell_base";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
visible: 0;
color: 255 255 255 0;
min: 32 32;
max: 32 32;
rel1.to: "terminology.content";
rel2.to: "terminology.content";
align: 1.0 1.0;
image.normal: "bg_led_base.png";
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 255 255 255;
}
}
part { name: "bell";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
visible: 0;
color: 255 255 255 0;
rel1.to: "bell_base";
rel2.to: "bell_base";
image.normal: "bg_led.png";
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 255 255 255;
}
}
part { name: "bell_strobe";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
visible: 0;
color: 255 255 255 0;
rel1.to: "bell";
rel2.to: "bell";
image.normal: "bg_led_strobe.png";
map {
on: 1;
smooth: 1;
rotation.center: "bell";
}
}
description { state: "spin" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 255 255 255;
map.rotation.z: 36.0;
}
description { state: "spin_done" 0.0;
inherit: "spin" 0.0;
map.rotation.z: 720.0;
}
description { state: "spin_done2" 0.0;
inherit: "spin" 0.0;
map.rotation.z: 1440.0;
}
}
program {
signal: "bell"; source: "terminology";
action: STATE_SET "default" 0.0;
target: "bell_base";
target: "bell";
target: "bell_strobe";
target: "bell_glow";
after: "bell";
}
program { name: "bell";
action: STATE_SET "visible" 0.0;
target: "bell_base";
target: "bell_glow";
after: "bell2";
}
program { name: "bell2";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.1;
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";
after: "bell4.3";
}
program { name: "bell4.3";
action: STATE_SET "spin_done2" 0.0;
transition: LINEAR 1.0;
target: "bell_strobe";
after: "bell4.4";
}
program { name: "bell4.4";
action: STATE_SET "spin_done" 0.0;
target: "bell_strobe";
after: "bell4.3";
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +1,28 @@
group { name: "terminology/tab_drag_thumb";
images.image: "pm_shadow.png" COMP;
images {
image: "bg_bevel.png" COMP;
image: "bg_glint.png" COMP;
image: "pm_shadow.png" COMP;
image: "cr_glow.png" COMP;
image: "bg_led_glow.png" COMP;
image: "bg_led_base.png" COMP;
image: "bg_led.png" COMP;
image: "bg_led_strobe.png" COMP;
}
set { name: "bg_shine";
image { image: "bg_shine5.png" COMP; size: 0 0 256 120; }
image { image: "bg_shine4.png" COMP; size: 256 120 512 240; }
image { image: "bg_shine3.png" COMP; size: 512 240 1024 480; }
image { image: "bg_shine2.png" COMP; size: 1024 480 2048 960; }
image { image: "bg_shine.png" COMP; size: 2048 960 99999 99999; }
}
parts {
////////////////////////////////////////////////////////////////////
// base background and selection image
part { name: "clip"; type: RECT;
description { state: "default" 0.0;
rel.to: "terminology.content";
rel1.to: "terminology.content";
rel2.to: "terminology.content";
color: 255 255 255 255;
}
}
@ -13,16 +30,29 @@ group { name: "terminology/tab_drag_thumb";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
rel.to: "terminology.content";
rel1.offset: -32 -32;
rel2.offset: 31 31;
rel1.to: "terminology.content";
rel2.to: "terminology.content";
rel1.offset: -40 -40;
rel2.offset: 39 39;
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";
image.border_scale_by: 1.0;
color: 255 255 255 255;
fill.smooth: 0;
offscale;
}
}
part { name: "glow";
mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "terminology.content";
rel2.to: "terminology.content";
rel1.offset: -4 -4;
rel2.offset: 3 3;
image {
normal: "cr_glow.png";
border: 9 9 9 9;
}
color_class: "GLOW";
}
}
@ -32,24 +62,53 @@ group { name: "terminology/tab_drag_thumb";
clip_to: "clip";
description { state: "default" 0.0;
color_class: "BG";
rel.to: "terminology.content";
rel1.to: "terminology.content";
rel2.to: "terminology.content";
}
}
part { name: "terminology.content"; type: SWALLOW;
clip_to: "clip";
description { state: "default" 0.0;
rel1.relative: 0.0 0.0;
rel2.relative: 1.0 1.0;
}
}
////////////////////////////////////////////////////////////////////
// fancy stuff over the top of the terminal for shading and title
part { name: "overlay";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "terminology.content";
rel2.to: "terminology.content";
image.normal: "pm_overlay.png";
fill.smooth: 0;
}
}
part { name: "bevel";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "terminology.content";
rel2.to: "terminology.content";
image.normal: "bg_bevel.png";
image.border: 3 3 3 3;
image.middle: 0;
fill.smooth: 0;
}
}
part { name: "terminology.title"; type: TEXT; mouse_events: 0;
effect: GLOW;
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;
rel1.to: "terminology.content";
rel2.to: "terminology.content";
color: 255 255 255 255;
color2: 255 255 255 128;
color3: 255 255 255 20;
color_class: "GLOW_TXT_HIGHLIGHT";
align: 0.5 1.0;
text { font: "Sans"; size: 10;
align: 0.5 1.0;
min: 0 1;
@ -58,83 +117,56 @@ group { name: "terminology/tab_drag_thumb";
}
////////////////////////////////////////////////////////////////////
// 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";
// fancy stuff on top
part { name: "glint";
mouse_events: 0;
clip_to: "clip";
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";
min: 79 5;
max: 79 5;
rel1 {
to: "terminology.content";
relative: 0.0 0.0;
offset: 0 0;
}
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;
rel2 {
to: "terminology.content";
relative: 1.0 0.0;
offset: -1 0;
}
image.normal: "bg_glint.png";
}
}
part { name: "bell";
part { name: "shine";
mouse_events: 0;
scale: 1;
clip_to: "clip";
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "terminology.content";
rel2.to: "terminology.content";
image.normal: "bg_shine";
fill.smooth: 0;
align: 0.5 0.0;
aspect: (256/120) (256/120);
aspect_preference: HORIZONTAL;
}
}
////////////////////////////////////////////////////////////////////
// visual bell - spinning red siren light
part { name: "bell_glow";
mouse_events: 0;
clip_to: "clip";
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;
rel1.to: "bell_base";
rel2.to: "bell_base";
min: 200 200;
fill.smooth: 0;
image.normal: "bg_led_glow.png";
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
@ -142,29 +174,115 @@ group { name: "terminology/tab_drag_thumb";
color: 255 255 255 255;
}
}
program { signal: "bell"; source: "terminology";
part { name: "bell_base";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
visible: 0;
color: 255 255 255 0;
min: 32 32;
max: 32 32;
rel1.to: "terminology.content";
rel2.to: "terminology.content";
align: 1.0 1.0;
image.normal: "bg_led_base.png";
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 255 255 255;
}
}
part { name: "bell";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
visible: 0;
color: 255 255 255 0;
rel1.to: "bell_base";
rel2.to: "bell_base";
image.normal: "bg_led.png";
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 255 255 255;
}
}
part { name: "bell_strobe";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
visible: 0;
color: 255 255 255 0;
rel1.to: "bell";
rel2.to: "bell";
image.normal: "bg_led_strobe.png";
map {
on: 1;
smooth: 1;
rotation.center: "bell";
}
}
description { state: "spin" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 255 255 255;
map.rotation.z: 36.0;
}
description { state: "spin_done" 0.0;
inherit: "spin" 0.0;
map.rotation.z: 720.0;
}
description { state: "spin_done2" 0.0;
inherit: "spin" 0.0;
map.rotation.z: 1440.0;
}
}
program {
signal: "bell"; source: "terminology";
action: STATE_SET "default" 0.0;
target: "bell_base";
target: "bell";
target: "bell_strobe";
target: "bell_glow";
after: "bell";
}
program { name: "bell";
action: STATE_SET "visible" 0.0;
target: "bell_base";
target: "bell_glow";
after: "bell2";
}
program { name: "bell2";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.1;
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";
after: "bell4.3";
}
program { name: "bell4.3";
action: STATE_SET "spin_done2" 0.0;
transition: LINEAR 1.0;
target: "bell_strobe";
after: "bell4.4";
}
program { name: "bell4.4";
action: STATE_SET "spin_done" 0.0;
target: "bell_strobe";
after: "bell4.3";
}
}
}

View File

@ -1,130 +1,210 @@
group { name: "terminology/tabbar_back";
images {
image: "tab_base_l1.png" COMP;
image: "tab_base_m.png" COMP;
image: "tab_base_r1.png" COMP;
image: "tab_other_l.png" COMP;
image: "tab_other_m.png" COMP;
image: "tab_other_r.png" COMP;
image: "tab_shad_l2.png" COMP;
image: "tab_shad_r2.png" COMP;
}
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;
part { name: "tab_bevel_shad1";
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;
rel1.to: "tab_bevel_top1";
rel2.to: "tab_bevel_top1";
image.normal: "tab_shad_l2.png";
image.border: 0 0 10 10;
fill.smooth: 0;
fixed: 1 0;
color_class: "/shadow/normal/tab";
}
}
part { name: "tab_bevel_top2"; type: RECT; mouse_events: 0;
part { name: "tab_bevel_shad3";
mouse_events: 0;
clip_to: "clip";
description { state: "default" 0.0;
rel1.to: "tab_bevel_top3";
rel2.to: "tab_bevel_top3";
image.normal: "tab_shad_r2.png";
image.border: 0 0 10 10;
fill.smooth: 0;
}
}
part { name: "tab_base_top1";
mouse_events: 0;
clip_to: "clip";
description { state: "default" 0.0;
rel1.to: "tab_bevel_top1";
rel2.to: "tab_bevel_top1";
image.normal: "tab_other_l.png";
image.border: 0 0 4 4;
fill.smooth: 0;
}
}
part { name: "tab_base_top2";
mouse_events: 0;
clip_to: "clip";
description { state: "default" 0.0;
rel1.to: "tab_bevel_top2";
rel2.to: "tab_bevel_top2";
image.normal: "tab_other_m.png";
image.border: 0 0 4 4;
fill.smooth: 0;
}
}
part { name: "tab_base_top3";
mouse_events: 0;
clip_to: "clip";
description { state: "default" 0.0;
rel1.to: "tab_bevel_top3";
rel2.to: "tab_bevel_top3";
image.normal: "tab_other_r.png";
image.border: 0 0 4 4;
fill.smooth: 0;
}
}
part { name: "tab_bevel_top1";
mouse_events: 0;
clip_to: "clip";
description { state: "default" 0.0;
align: 0.0 0.0;
rel1.offset: -4 0;
max: 12 99999;
min: 12 0;
image.normal: "tab_base_l1.png";
image.border: 0 0 4 4;
fill.smooth: 0;
fixed: 1 0;
}
}
part { name: "tab_bevel_top2";
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";
image.normal: "tab_base_m.png";
image.border: 0 0 4 4;
fill.smooth: 0;
}
}
images.image: "tab_shad_r.png" COMP;
part { name: "tab_bevel_top3"; mouse_events: 0;
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;
rel2.offset: 3 -1;
max: 12 99999;
min: 12 0;
image.normal: "tab_base_r1.png";
image.border: 0 0 4 4;
fill.smooth: 0;
fixed: 1 0;
color_class: "/shadow/normal/tab";
}
}
part { name: "tabgrouped";
part { name: "tabgrouped"; type: IMAGE;
scale: 1;
description { state: "default" 0.0;
aspect: 1.0 1.0; aspect_preference: BOTH;
align: 0.0 0.5;
fixed: 1 1;
min: 0 0;
max: 0 0;
fixed: 1 1;
rel1 {
to: "tab_bevel_top2";
relative: 0.0 0.0;
offset: 3 3;
relative: 0.0 0.3;
offset: -1 0;
}
rel2 {
to: "tab_bevel_top2";
relative: 0.0 1.0;
offset: 3 -4;
relative: 1.0 0.7;
}
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;
min: 8 8;
max: 32 32;
image.normal: "tab_grouped";
rel1 {
to: "tab_bevel_top2";
relative: 0.0 0.3;
}
rel2 {
to: "tab_bevel_top2";
relative: 1.0 0.7;
}
color: 180 180 180 255;
visible: 1;
}
}
program { signal: "grouped,on"; source: "terminology";
program {
signal: "grouped,on"; source: "terminology";
action: STATE_SET "grouped" 0.0;
target: "tabgrouped";
}
program { signal: "grouped,off"; source: "terminology";
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;
effect: OUTLINE_SOFT_SHADOW;
description { state: "default" 0.0;
text { font: "Sans:style=Bold"; size: 10;
align: 0.5 0.5;
min: 0 1;
}
align: 0.5 0.5;
color: 180 180 180 255;
color3: 0 0 0 18;
rel1 {
to_x: "tabgrouped";
to_y: "tab_bevel_top2";
relative: 1.0 0.0;
offset: 2 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";
color: 255 219 0 96;
color2: 255 51 0 48;
color3: 255 51 0 8;
}
}
part { name: "clip"; type: RECT;
description { state: "default" 0.0;
rel2.offset: -1 -2;
}
}
part { name: "event"; type: RECT;
description { state: "default" 0.0;
color: 0 0 0 0; // no cc
color: 0 0 0 0;
}
}
programs {
program { signal: "mouse,clicked,1"; source: "event";
program {
signal: "mouse,clicked,1"; source: "event";
action: SIGNAL_EMIT "tab,activate" "terminology";
}
program { signal: "bell"; source: "terminology";
program { name: "bell";
signal: "bell"; source: "terminology";
action: STATE_SET "bell" 0.0;
target: "terminology.title";
}
program { signal: "bell,off"; source: "terminology";
program { name: "bell,off";
signal: "bell,off"; source: "terminology";
action: STATE_SET "default" 0.0;
target: "terminology.title";
}

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

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

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

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.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 343 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 580 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1010 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 529 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 291 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 422 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 369 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 419 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 449 B

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