mirror of
https://github.com/davatorium/rofi.git
synced 2024-11-11 13:50:48 -05:00
68 lines
1.3 KiB
Markdown
68 lines
1.3 KiB
Markdown
|
|
||
|
Each widget has:
|
||
|
|
||
|
* Class: Type of widget.
|
||
|
|
||
|
Example: textbox, scrollbar, separator
|
||
|
|
||
|
Class are prefixed with a `@`
|
||
|
|
||
|
* Name: Internal name of the widget.
|
||
|
|
||
|
Sub-widgets are {Parent}.{Child}.
|
||
|
|
||
|
Example: Listview, Listview.Even, Listview.Uneven, Listview.Scrollbar
|
||
|
|
||
|
Names are prefixed with a `#`
|
||
|
|
||
|
* State: State of widget
|
||
|
|
||
|
Optional flag(s) indicating state.
|
||
|
Multiple flags can be set.
|
||
|
|
||
|
Example: Highlight Active Urgent
|
||
|
|
||
|
States are prefixed with a `!`
|
||
|
|
||
|
So to set color of Even entry in listview that is highlighted and urgent:
|
||
|
|
||
|
`@textbox #Listview.Even !Urgent !Highlight`
|
||
|
|
||
|
Or to indicate all textboxes
|
||
|
|
||
|
`@textbox !Highlight`
|
||
|
|
||
|
Class is manditory, name is optional. Name is split on .s.
|
||
|
|
||
|
|
||
|
# Internally:
|
||
|
|
||
|
The theme is represented like a tree:
|
||
|
|
||
|
class --> name --> name --> state -> state
|
||
|
|
||
|
The states are sorted alphabetically
|
||
|
|
||
|
So `@textbox #Listview.Even !Urgent !Highlight` becomes:
|
||
|
|
||
|
textbox->listview->even -> highlight -> urgent.
|
||
|
|
||
|
When searching for entries the tree is traversed until deepest node is found.
|
||
|
Missing states are skipped.
|
||
|
Then from there properties are searched going up again.
|
||
|
|
||
|
Properties are in the form of:
|
||
|
|
||
|
`name: value`
|
||
|
Each property ends with `;`
|
||
|
Each property has a type. (Boolean, Integer, String, Color)
|
||
|
|
||
|
A block is enclosed by `{}`
|
||
|
|
||
|
```
|
||
|
@textbox #Listview.Even !Urgent !Highlight {
|
||
|
padding: 3;
|
||
|
foreground: #aarrggbb;
|
||
|
}
|
||
|
```
|