SWAY-BAR(5)

NAME
sway-bar - bar configuration file and commands

DESCRIPTION

Sway allows configuring swaybar in the sway configuration file. Swaybar commands must be used inside a bar { } block in the config file.

COMMANDS

status_command <status command>
    Executes the bar status command with sh -c. Each line of text printed to stdout from this command will be displayed in the status area of the bar. You may also use the i3bar JSON protocol: https://i3wm.org/docs/i3bar-protocol.html

pango_markup <enabled|disabled>
    Enables or disables pango markup for status lines. This has no effect on status lines using the i3bar JSON protocol.

id <bar_id>
    Sets the ID of the bar.

position <top|bottom>
    Sets position of the bar. Default is bottom.

output <output>
    Restrict the bar to a certain output, can be specified multiple times. If the output command is omitted, the bar will be displayed on all outputs.

swaybar_command <command>
    Executes custom bar command, default is swaybar.

font <font>
    Specifies the font to be used in the bar.

separator_symbol <symbol>
    Specifies the separator symbol to separate blocks on the bar.

wrap_scroll <yes|no>
    Enables or disables wrapping when scrolling through workspaces with the scroll wheel. Default is no.

workspace_buttons <yes|no>
    Enables or disables workspace buttons on the bar. Default is yes.

strip_workspace_numbers <yes|no>
    If set to yes, then workspace numbers will be omitted from the workspace button and only the custom name will be shown. Default is no.

binding_mode_indicator <yes|no>
    Enable or disable binding mode indicator. Default is yes.

height <height>
    Sets the height of the bar. Default height will match the font size.

TRAY

Swaybar provides a system tray where programs such as NetworkManager, VLC, Pidgin, etc. can place little icons. The following commands configure interaction with the tray or individual icons. The button argument in all following commands is a Linux input event code as defined in linux/input-event-codes.h. This is because wayland defines button codes in this manner.

activate_button <button>
    Sets the button to be used for the activate (primary click) tray item event. The default is BTN_LEFT (0x110).

context_button <button>
    Sets the button to be used for the context menu (right click) tray item event. The default is BTN_RIGHT (0x111).

secondary_button <button>
    Sets the button to be used for the secondary (middle click) tray item event. The default is BTN_MIDDLE (0x112).

tray_output none|all|<name>
    Sets the output that the tray will appear on or none. Unlike i3bar, swaybar should be able to show icons on any number of bars and outputs without races. Because of this, the default value for this is all.

tray_padding <px> [px]
    Sets the pixel padding of the system tray. This padding will surround the tray on all sides and between each item. The default value for px is 2.

icon_theme <name>
    Sets the icon theme that sway will look for item icons in. This option has no default value, because sway will always default to the fallback theme, hicolor.

COLORS

Colors are defined within a colors { } block inside a bar { } block. Colors must be defined in hex. i.e. #rrggbb or #rrggbbaa when including the alpha channel.

background <color>
    Background color of the bar.

statusline <color>
    Text color to be used for the statusline.

separator <color>
    Text color to be used for the separator.

focused_background <color>
    Background color of the bar on the currently focused monitor output. If not used, the color will be taken from background.

focused_statusline <color>
    Text color to be used for the statusline on the currently focused monitor output. If not used, the color will be taken from statusline.

focused_separator <color>
    Text color to be used for the separator on the currently focused monitor output. If not used, the color will be taken from separator.

focused_workspace <border> <background> <text>
    Border, background and text color for a workspace button when the workspace has focus.

active_workspace <border> <background> <text>
    Border, background and text color for a workspace button when the workspace is active (visible) on some output, but the focus is on another one. You can only tell this apart from the focused workspace when you are using multiple monitors.

inactive_workspace <border> <background> <text>
    Border, background and text color for a workspace button when the workspace does not have focus and is not active (visible) on any output. This will be the case for most workspaces.

urgent_workspace <border> <background> <text>
    Border, background and text color for a workspace button when the workspace contains a window with the urgency hint set.

binding_mode <border> <background> <text>
    Border, background and text color for the binding mode indicator. If not used, the colors will be taken from urgent_workspace.

SEE ALSO

sway(5)