1
0
Fork 0
mirror of https://github.com/davatorium/rofi.git synced 2024-11-11 13:50:48 -05:00
rofi/doc/themer.md
2016-12-13 18:05:40 +01:00

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.