2.3 KiB
Basic Organization
Each widget has:
Class
Class: Type of widget.
Example: textbox, scrollbar, separator
Class are prefixed with a @
List of classes in rofi:
- @textbox
- @scrollbar
- @window
- @separator
- @listview
- @box
Name
Name: Internal name of the widget.
Sub-widgets are {Parent}.{Child}.
Example: listview, listview.element, listview.scrollbar
Names are prefixed with a #
List of names in rofi:
- #window
- #mainbox
- #mainbox.box: The main vertical @box
- #inputbar
- #inputbar.box: The horizontal @box packing the widgets.
- #inputbar.separator: The separator under/above the inputbar.
- #inputbar.case-indicator: The case/sort indicator @textbox
- #inputbar.prompt: The prompt @textbox
- #inputbar.entry: The main entry @textbox
- #listview
- #listview.scrollbar: The listview scrollbar
- #listview.element: The entries in the listview
- #sidebar
- #sidebar.box: The main horizontal @box packing the buttons.
- #sidebar.button: The buttons @textbox for each mode.
- #sidebar.separator: The separator under/above the sidebar.
- #message
- #message.textbox: The message textbox.
- #message.separator: The separator under/above the sidebar.
State
State: State of widget
Optional flag(s) indicating state.
These are appended after the name or class of the widget.
@textbox selected.normal
#listview.element selected.urgent
Currently only the @entrybox has states:
{visible modifier}.{state}
Where visible modifier
can be:
- normal: No modification.
- selected: The entry is selected/highlighted by user.
- alternate: The entry is at an alternating row. (uneven row)
Where state
is:
* normal: No modification.
* urgent: This entry is marked urgent.
* activE: This entry is marked active.
These can be mixed.
Example:
@textbox selected.active { background: #003642; foreground: #008ed4; }
Sets all selected textboxes marked active to the given foreground and background color.
File structure
The file is structured as follow ` /* Global properties, that apply as default to all widgets. */ {list of properties}
@{class} {optional state} { {list of properties} } @{name}.{name} {optional state} { {list of properties} } `
The global properties has to be at the top of the file, the rest can freeĺy be mixed.