/////
vim:set ts=4 sw=4 tw=82 noet:
/////
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)
