Tray
Displays a fully interactive icon tray using the KDE libappindicator and com.canonical.dbusmenu protocols.

Configuration
Type:
tray
| Name | Type | Default | Description |
|---|---|---|---|
direction | 'horizontal' or 'vertical' (shorthand: 'h' or 'v') | Matches bar orientation | The direction in which to pack tray icons. |
icon_size | integer | 16 | Size in pixels to display tray icons as. |
prefer_theme_icons | bool | true | Requests that icons from the theme be used over the item-provided item. Most items only provide one or the other so this will have no effect in most circumstances. |
on_click_left | string | 'default' | Action to perform on left-click. See Click Actions below. |
on_click_right | string | 'menu' | Action to perform on right-click. See Click Actions below. |
on_click_middle | string | 'none' | Action to perform on middle-click. See Click Actions below. |
on_click_left_double | string | 'none' | Action to perform on double-left-click. See Click Actions below. |
on_click_right_double | string | 'none' | Action to perform on double-right-click. See Click Actions below. |
on_click_middle_double | string | 'none' | Action to perform on double-middle-click. See Click Actions below. |
Click Actions
Click actions can be one of the following built-in actions, or any custom shell command:
Built-in actions:
menu- Opens the tray icon’s popup menudefault- Triggers the tray icon’s default (primary) actionsecondary- Triggers the tray icon’s secondary actionnone- Do nothing
Custom commands:
Any other string is treated as a custom shell command. Custom commands support the following placeholders:
{name}- The tray item’s identifier/name{title}- The tray item’s title (if available){icon}- The tray item’s icon name (if available){address}- The tray item’s internal address
Examples:
{ type = "tray" on_click_left = "menu" on_click_left_double = "default"}{ "type": "tray", "on_click_left": "menu", "on_click_left_double": "default"}type: trayon_click_left: menuon_click_left_double: defaulttype = "tray"on_click_left = "menu"on_click_left_double = "default"To run custom commands based on which tray item was clicked:
{ type = "tray" on_click_left = "notify-send 'Clicked {name}'" on_click_middle = "if [ '{name}' = 'copyq' ]; then copyq toggle; fi"}{ "type": "tray", "on_click_left": "notify-send 'Clicked {name}'", "on_click_middle": "if [ '{name}' = 'copyq' ]; then copyq toggle; fi"}type: trayon_click_left: notify-send 'Clicked {name}'on_click_middle: if [ '{name}' = 'copyq' ]; then copyq toggle; fitype = "tray"on_click_left = "notify-send 'Clicked {name}'"on_click_middle = "if [ '{name}' = 'copyq' ]; then copyq toggle; fi"JSON
{ "end": [ { "type": "tray", "direction": "top_to_bottom" } ]}TOML
[[end]]type = "tray"direction = "top_to_bottom"YAML
end: - type: "tray" direction: "top_to_bottom"Corn
{ end = [{ type = "tray" direction = "top_to_bottom" }]}{ "end": [ { "type": "tray", "direction": "top_to_bottom" } ]}end: - type: tray direction: top_to_bottom[[end]]type = "tray"direction = "top_to_bottom"Styling
| Selector | Description |
|---|---|
.tray | Tray widget box |
.tray .item | Tray icon button |
.tray .item.urgent | Tray icon button (needs attention) |
For more information on styling, please see the styling guide.