Skip to content

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.

Screenshot showing several open applications, including a popup showing Ironbar open in Rustrover.

Example

{
start = [
{
type = "launcher"
favorites = [ "firefox" "discord" ]
show_names = false
show_icons = true
reversed = false
}
]
}

Configuration

Type: launcher

List of app IDs (or classes) to always show regardless of open state, in the order specified.

Type: Array (string)
Default: None

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

Icon to show for page back button.

Type: string
Default: 󰅁

Icon to show for page back button.

Type: string
Default: 󰅂

The justification (alignment) of the widget text shown on the bar.

Type: 'left' | 'right' | 'center' | 'fill'
Default: 'left'

Command used to launch applications.

Type: string
Default: gtk-launch {app_name}

Whether to minimize a window if it is focused when clicked.

Type: boolean
Default: true

The orientation to display the widget contents. Setting to vertical will rotate text 90 degrees.

Type: 'horizontal' | 'vertical'
Default: 'horizontal'

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

Size in pixels to render pagination icons at (image icons only).

Type: integer
Default: 16

Whether items should be added from right-to-left instead of left-to-right.

This includes favourites.

Type: boolean
Default: None

Whether to show application icons on the bar.

Type: boolean
Default: true

Whether to show application names on the bar.

Type: boolean
Default: None

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.

{ truncate = "off" }

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.

{ truncate = "start" }

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.

{
truncate.mode = "start"
truncate.length = 50
truncate.max_length = 70
}
Object keys

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

The maximum number of characters to show before truncating.

Leave unset to let GTK automatically handle.

Type: integer
Default: None

The location to truncate text from and place the ellipsis.

Type: 'none' | 'start' | 'middle' | 'end'
Default: None

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.

{ truncate = "off" }

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.

{ truncate = "start" }

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.

{
truncate.mode = "start"
truncate.length = 50
truncate.max_length = 70
}
Object keys

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

The maximum number of characters to show before truncating.

Leave unset to let GTK automatically handle.

Type: integer
Default: None

The location to truncate text from and place the ellipsis.

Type: 'none' | 'start' | 'middle' | 'end'
Default: None

Styling

SelectorDescription
.launcherLauncher widget box
.launcher .itemApp button
.launcher .item.openApp button (open app)
.launcher .item.focusedApp button (focused app)
.launcher .item.urgentApp button (urgent app)
.launcher .paginationPagination controls box
.launcher .pagination .btn-backPagination back button
.launcher .pagination .btn-forwardPagination forward button
.popup-launcherPopup container
.popup-launcher .popup-itemWindow button in popup

For more information on styling, please see the styling guide.