This document describes how Terminology interacts with themes and what needs to be handled by themes.
See ChangeLog.theme
on changes related to themes.
Based on the chosen color scheme, Terminology sets the following color classes on all the following edje groups:
BG
: the background color of the terminalFG
: the default foreground colorCURSOR
: the color of the cursorGLOW
: the color in the UI to ouline elementsHIGHLIGHT
: the color used as main color when an element is highlightedGLOW_TXT
: text colors with some glowGLOW_TXT_HIGHLIGHT
: text with glow that is highlightedTAB_MISSED
: the number of tabs where a bell has rung, tabs that need attentionTAB_MISSED_OVER
: same but when the mouse is over that numberTAB_TITLE
: the colors of the active tab titleBG_SENDFILE
is the background color when there is a sendfile action. Seeman 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
replaceEND_SELECTION
and are used to control the different arrows used to change the area of the selection
The following table explains how color classes are set from color scheme values:
Color Class | Object color | Outline color | Shadow color |
---|---|---|---|
BG |
Colors.bg |
Colors.bg |
Colors.bg |
FG |
Normal.def |
Normal.def |
Normal.def |
CURSOR |
Colors.main |
Colors.main |
Colors.main |
GLOW |
Colors.main |
Colors.main |
Colors.main |
GLOW_TXT_HIGHLIGHT |
Colors.hl |
Colors.main |
Colors.main |
END_SELECTION |
Colors.end_sel |
Colors.end_sel |
Colors.end_sel |
TAB_MISSED |
Colors.tab_missed_1 |
Colors.tab_missed_2 |
Colors.tab_missed_3 |
TAB_MISSED_OVER |
Colors.tab_missed_1 |
Colors.tab_missed_2 |
Colors.tab_missed_3 |
TAB_TITLE |
Normal.def |
Colors.tab_title_2 |
Colors.bg |
BG_SENDFILE |
#404040 |
#404040 |
#404040 |
Let's dive into the edje groups that Terminology uses.
All windows contain a group terminology/base
.
Contains what is global to a window.
where terminology/background
, or a split widget can be swallowed.
To swallow a command box. It reacts to the following signals:
cmdbox,show
cmdbox,hide
It reacts to the following signals:
about,show
about,hide
Detailed settings panel. It reacts to the following signals:
optdetails,show
optdetails,hide
It emits the following signal:optdetails,hide,done
It reacts to the following signals:
options,show
options,hide
The controls box shown on right click. It reacts to the following signals:
controls,show
controls,hide
A text part used to hold YouTube channel
when the About is shown.
A text part used to hold YouTube channel
when the About is shown.
When the Twitter link on the About page is clicked.
When the Twitter link on the About page is right-clicked.
When the YouTube link on the About page is clicked.
When the YouTube link on the About page is right-clicked.
When the swallowed part terminology.optdetails
is finally hidden.
Used to hide or show the about page, swallowed in terminology.about
.
Used to hide or show the controls, swallowed in terminology.controls
.
Used to hide or show the options panel, swallowed in terminology.options
.
Used to hide or show the options details settings panel, swallowed in terminology.optdetails
.
Used to hide or show the command box, swallowed in terminology.cmdbox
.
Here is swallowed an object of group terminology.background
.
Their geometry are used to adjust drag values.
Parts drag_left_outline
, drag_right_outline
, drag_top_outline
, drag_bottom_outline
and terminology.tabregion
Their geometry are used to know when the cursor enters them when dragging a tab.
Whether to display a tab bar. Default is off.
Whether to display a tab button to easily navigate through tabs. Default is off.
When to start an animation when the cursor enters drag_XXXX_outline
while
dragging a tab.
When to stop an animation started by the related *,on
signals.
When the mouse, while dragging a tab, enters or leaves the tab region.
When input is broadcast to multiple terminals.
To notify that the current tab is being dragged.
To notify that the current tab is no longer being dragged.
To notify that the current tab is being dragged outside of other tabs.
Part used to fade the background, either with a solid color or the screen
background when the translucent
option is set.
Actual background. It reacts to the following signals based on the media to play in background:
media,off
media,image
media,scale
media,edje
media,movie
Here is swalloed a fully transparent rectangle to move down the textgrid.
Where actual text grid goes.
Whether to display a tab bar. Default is off.
Whether to display a tab button to easily navigate through tabs. Default is off.
Whether to restrict (default) horizontal tab drag
To notify that the current tab is being dragged.
Whenever the left mouse button is pressed on a tab.
The text of the About message.
An inactive tab item
Title of the tab.
When clicked on it, to notify that the user wants to go to that tab.
To mark the tab as having missed a bell.
To unmark the tab as having missed a bell.
When input is broadcast to multiple terminals.
TODO
TODO
TODO
An object used when selecting text.
Swallow parts used to communicate via min/max size the size of the top and bottom lines.
TODO
TODO
TODO
TODO
TODO
An object overlayd on text that is a link.
TODO
TODO
A thumbnail of a tab being dragged.
Here is swallowed an object of group terminology.background
.
Title of the tab.
To mark the tab as having missed a bell.
A group to preview a colorscheme. Used in the Colors panel in the settings.
Where a textgrid showing off a color scheme is displayed.
A group to preview a color in a tooltip. The color is defined by the color
class color_preview
.
Name of the color being previewed