Launcher
Windows-style taskbar that displays running windows, grouped by program. Hovering over a program with multiple windows open shows a popup with each window. Left clicking an icon/popup item focuses the program if it has any open instances or otherwise launches a new instance of the program. Middle clicking an icon always launches a new instance of the program. Optionally displays a launchable set of favourites.

Example
{ start = [ { type = "launcher" favorites = [ "firefox" "discord" ] show_names = false show_icons = true reversed = false } ]}{ "start": [ { "type": "launcher", "favorites": [ "firefox", "discord" ], "show_names": false, "show_icons": true, "reversed": false } ]}start: - type: launcher favorites: - firefox - discord show_names: false show_icons: true reversed: false[[start]]type = "launcher"favorites = [ "firefox", "discord" ]show_names = falseshow_icons = truereversed = falseConfiguration
Type:
launcher
favorites
Section titled “favorites”List of app IDs (or classes) to always show regardless of open state, in the order specified.
Type: Array (string)
Default: None
icon_size
Section titled “icon_size”Size in pixels to render icon at (image icons only).
Type: integer
Default: 32
Module UI icons (separate from app icons shown for items).
See icons.
Default: None
Object keys
icons.page_back
Section titled “icons.page_back”Icon to show for page back button.
Type: string
Default:
icons.page_forward
Section titled “icons.page_forward”Icon to show for page back button.
Type: string
Default:
justify
Section titled “justify”The justification (alignment) of the widget text shown on the bar.
Type: 'left' | 'right' | 'center' | 'fill'
Default: 'left'
launch_command
Section titled “launch_command”Command used to launch applications.
Type: string
Default: gtk-launch {app_name}
minimize_focused
Section titled “minimize_focused”Whether to minimize a window if it is focused when clicked.
Type: boolean
Default: true
orientation
Section titled “orientation”The orientation to display the widget contents. Setting to vertical will rotate text 90 degrees.
Type: 'horizontal' | 'vertical'
Default: 'horizontal'
page_size
Section titled “page_size”The number of items to show on a page.
When the number of items reaches the page size, pagination controls appear at the start of the widget which can be used to move forward/back through the list of items.
If there are too many to fit, the overflow will be truncated by the next widget.
Type: integer
Default: 1000
pagination_icon_size
Section titled “pagination_icon_size”Size in pixels to render pagination icons at (image icons only).
Type: integer
Default: 16
reversed
Section titled “reversed”Whether items should be added from right-to-left instead of left-to-right.
This includes favourites.
Type: boolean
Default: None
show_icons
Section titled “show_icons”Whether to show application icons on the bar.
Type: boolean
Default: true
show_names
Section titled “show_names”Whether to show application names on the bar.
Type: boolean
Default: None
truncateEnum
Section titled “truncateEnum”Truncate application names on the bar if they get too long. See truncate options.
Default: None
Do not truncate content.
Setting this option may cause excessively long content to overflow other widgets, shifting them off-screen.
Example
Section titled “Example”{ truncate = "off" }{ "truncate": "off"}truncate: offtruncate = "off"2'none' | 'start' | 'middle' | 'end'
Section titled “2'none' | 'start' | 'middle' | 'end'”Auto mode lets GTK decide when to ellipsize.
To use this mode, set the truncate option to a string declaring the location to truncate text from and place the ellipsis.
Example
Section titled “Example”{ truncate = "start" }{ "truncate": "start"}truncate: starttruncate = "start"3object
Section titled “3object”Length mode defines a fixed point at which to ellipsize.
Generally you will want to set only one of length or max_length,
but you can set both if required.
Example
Section titled “Example”{ truncate.mode = "start" truncate.length = 50 truncate.max_length = 70}{ "truncate": { "mode": "start", "length": 50, "max_length": 70 }}truncate: mode: start length: 50 max_length: 70[truncate]mode = "start"length = 50max_length = 70Object keys
object.length
Section titled “object.length”The fixed width (in characters) of the widget.
The widget will be expanded to this width if it would have otherwise been smaller.
Leave unset to let GTK automatically handle.
Type: integer
Default: None
object.max_length
Section titled “object.max_length”The maximum number of characters to show before truncating.
Leave unset to let GTK automatically handle.
Type: integer
Default: None
object.modeRequired
Section titled “object.modeRequired”The location to truncate text from and place the ellipsis.
Type: 'none' | 'start' | 'middle' | 'end'
Default: None
truncate_popupEnum
Section titled “truncate_popupEnum”Truncate application names in popups if they get too long. See truncate options.
Default: None
Do not truncate content.
Setting this option may cause excessively long content to overflow other widgets, shifting them off-screen.
Example
Section titled “Example”{ truncate = "off" }{ "truncate": "off"}truncate: offtruncate = "off"2'none' | 'start' | 'middle' | 'end'
Section titled “2'none' | 'start' | 'middle' | 'end'”Auto mode lets GTK decide when to ellipsize.
To use this mode, set the truncate option to a string declaring the location to truncate text from and place the ellipsis.
Example
Section titled “Example”{ truncate = "start" }{ "truncate": "start"}truncate: starttruncate = "start"3object
Section titled “3object”Length mode defines a fixed point at which to ellipsize.
Generally you will want to set only one of length or max_length,
but you can set both if required.
Example
Section titled “Example”{ truncate.mode = "start" truncate.length = 50 truncate.max_length = 70}{ "truncate": { "mode": "start", "length": 50, "max_length": 70 }}truncate: mode: start length: 50 max_length: 70[truncate]mode = "start"length = 50max_length = 70Object keys
object.length
Section titled “object.length”The fixed width (in characters) of the widget.
The widget will be expanded to this width if it would have otherwise been smaller.
Leave unset to let GTK automatically handle.
Type: integer
Default: None
object.max_length
Section titled “object.max_length”The maximum number of characters to show before truncating.
Leave unset to let GTK automatically handle.
Type: integer
Default: None
object.modeRequired
Section titled “object.modeRequired”The location to truncate text from and place the ellipsis.
Type: 'none' | 'start' | 'middle' | 'end'
Default: None
Styling
| Selector | Description |
|---|---|
.launcher | Launcher widget box |
.launcher .item | App button |
.launcher .item.open | App button (open app) |
.launcher .item.focused | App button (focused app) |
.launcher .item.urgent | App button (urgent app) |
.launcher .pagination | Pagination controls box |
.launcher .pagination .btn-back | Pagination back button |
.launcher .pagination .btn-forward | Pagination forward button |
.popup-launcher | Popup container |
.popup-launcher .popup-item | Window button in popup |
For more information on styling, please see the styling guide.