This document describes how Terminology interacts with themes and what needs to be handled by themes. See `ChangeLog.theme` on changes related to themes. Windows contain group `terminology/base`. # `terminology/base` Contains what is global to a window. ## Swallowed parts ### `terminology.content` where `terminology/background`, or a split widget can be swallowed. ### `terminology.cmdbox` To swallow a command box. It reacts to the following signals: * `cmdbox,show` * `cmdbox,hide` ### `terminology.about` It reacts to the following signals: * `about,show` * `about,hide` ### `terminology.optdetails` Detailed settings panel. It reacts to the following signals: * `optdetails,show` * `optdetails,hide` It emits the following signal: * `optdetails,hide,done` ### `terminology.options` It reacts to the following signals: * `options,show` * `options,hide` ### `terminology.controls` The controls box shown on right click. It reacts to the following signals: * `controls,show` * `controls,hide` # `terminology/background` ## Swallowed parts ### `terminology.content` Here is swallowed an object of group `terminology.background`. ### TODO ## Special parts ### `tabdrag` and `tabmiddle` Their geometry are used to adjust drag values. ### `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. ## Signal received ### `tabbar,off` and `tabbar,on` Whether to display a tab bar. Default is off. ### `tab_btn,off` and `tab_btn,on` Whether to display a tab button to easily navigate through tabs. Default is off. ### `drag_left,on`, `drag_right,on`, `drag_top,on`, `drag_bottom,on` When to start an animation when the cursor enters `drag_XXXX_outline` while dragging a tab. ### `drag_left,off`, `drag_right,off`, `drag_top,off`, `drag_bottom,off` When to stop an animation started by the related `*,on` signals. ### `drag_over_tabs,on` and `drag_over_tabs,off` When the mouse, while dragging a tab, enters or leaves the tab region. ### `grouped,on` and `grouped,off` When input is broadcast to multiple terminals. ### TODO ## Signal emitted ### `tab,hdrag` To notify that the current tab is being dragged. ### `tab,drag,stop` To notify that the current tab is no longer being dragged. ### `tab,drag,move` To notify that the current tab is being dragged outside of other tabs. ### TODO # `terminology/core` ## Swallowed parts ### `terminology.background` Actual background. It reacts to the following signals based on the media to play in background: * `media,off` * `media,image` * `media,scale` * `media,edje` * `media,movie` ### `terminology.tabregion` Here is swalloed a fully transparent rectangle to move down the textgrid. ### `terminology.content` Where actual text grid goes. ## Signal received ### `tabbar,off` and `tabbar,on` Whether to display a tab bar. Default is off. ### `tab_btn,off` and `tab_btn,on` Whether to display a tab button to easily navigate through tabs. Default is off. ### `hdrag,on` and `hdrag,off` Whether to restrict (default) horizontal tab drag ## Signal emitted ### `tab,drag` and `tab,drag,stop` To notify that the current tab is being dragged. ### `tab,mouse,down` Whenever the left mouse button is pressed on a tab. # `terminology/about` ## Text parts ### `terminology.text` The text of the __About__ message. # `terminology.tabbar_back` An inactive tab item ## Text parts ### `terminology.title` Title of the tab. ## Signal emitted ### `tab,activate` When clicked on it, to notify that the user wants to go to that tab. ## Signal received ### `bell` To mark the tab as having missed a bell. ### `bell,off` To unmark the tab as having missed a bell. ### `grouped,on` and `grouped,off` When input is broadcast to multiple terminals. # `terminology/keybinding` __TODO__ # `terminology/miniview` __TODO__ # `terminology/fontpreview` __TODO__ # `terminology/selection` An object used when selecting text. __TODO__ # `terminology/cursor` __TODO__ # `terminology/cursor_bar` __TODO__ # `terminology/cursor_underline` __TODO__ # `terminology/sel/base` __TODO__ # `terminology/sel/item` __TODO__ # `terminology/link` An object overlayd on text that is a link. # `terminology/mediabusy` __TODO__ # `terminology/mediactrl` __TODO__ # `terminology/tab_drag_thumb` A thumbnail of a tab being dragged. ## Swallowed parts ### `terminology.content` Here is swallowed an object of group `terminology.background`. ### `terminology.title` Title of the tab. ## Signal received ### `bell` To mark the tab as having missed a bell.