Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
sway-bar(5)		       File Formats Manual		     sway-bar(5)

NAME
     sway-bar - bar configuration file and commands

DESCRIPTION
     Sway allows configuring swaybar in the sway configuration file.

COMMANDS
     The following commands may only be used in the configuration file.

     id <bar_id>
	 Sets the ID of the bar.

     swaybar_command <command>
	 Executes custom bar command. Default is swaybar.

     The  following  commands may be used either in the configuration file or at
     runtime.

     bindcode [--release] <event-code> <command>
	 Executes command when the mouse button has been pressed (or if released
	 is given, when the button has been released). The buttons can be  given
	 as an event code, which can be obtaining from libinput debug-events. To
	 disable the default behavior for a button, use the command nop.

     bindsym [--release] button[1-9]|<event-name> <command>
	 Executes command when the mouse button has been pressed (or if released
	 is  given, when the button has been released). The buttons can be given
	 as a x11 button number or an event name, which can be obtained from li-
	 binput debug-events. To disable the default behavior for a button,  use
	 the command nop.

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

     font <font>
	 Specifies the font to be used in the bar. font should be specified as a
	 pango	font  description.  For  more information on pango font descrip-
	 tions,      see       https://docs.gtk.org/Pango/type_func.FontDescrip-
	 tion.from_string.html#description

     gaps <all> | <horizontal> <vertical> | <top> <right> <bottom> <left>
	 Sets  the gaps from the edge of the screen for the bar. Gaps can either
	 be set all at once, per direction, or per side. Note  that  only  sides
	 that  touch an edge of the screen can have gaps. For the side that does
	 not touch an edge of the screen, per-side outer gaps for workspaces may
	 be of use.

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

     hidden_state hide|show [<bar-id>]
	 Specifies  the  behaviour  of the bar when it is in hide mode. When the
	 hidden state is hide, then it is normally hidden, and only unhidden  by
	 pressing  the modifier key or in case of urgency hints. When the hidden
	 state is show, then it is permanently visible, drawn on top of the cur-
	 rently visible workspace. Default is hide.

	 For compatibility with i3, bar  hidden_state  hide|show  [<bar-id>]  is
	 supported  along with the sway only bar <bar-id> hidden_state hide|show
	 syntax. When using the i3  syntax,  if  bar-id  is  omitted,  the  hid-
	 den_state will be changed for all bars. Attempting to use bar <bar-id1>
	 hidden_state  hide|show  <bar-id2>  will result in an error due to con-
	 flicting bar ids.

     mode dock|hide|invisible|overlay [<bar-id>]
	 Specifies the visibility of the bar. In dock mode,  it  is  permanently
	 visible  at  one  edge of the screen. In hide mode, it is hidden unless
	 the modifier key is pressed, though this behaviour depends on the  hid-
	 den  state.  In  invisible  mode,  it is permanently hidden. In overlay
	 mode, it is permanently visible on top of other  windows.  (In  overlay
	 mode the bar is transparent to input events.) Default is dock.

	 For  compatibility  with  i3, bar mode <mode> [<bar-id>] syntax is sup-
	 ported along with the sway only bar <bar-id> mode <mode>  syntax.  When
	 using the i3 syntax, if bar-id is omitted, the mode will be changed for
	 all  bars.  Attempting  to use bar <bar-id1> mode <mode> <bar-id2> will
	 result in an error due to conflicting bar ids.

     modifier <Modifier>|none
	 Specifies the modifier key that shows a hidden bar. Default is Mod4.

     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 out-
	 puts. * can be given at any point to reset it back to all outputs.

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

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

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

     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 swaybar's JSON status line protocol. See swaybar-
	 protocol(7) for more information on the protocol

	 If  running this command via IPC, you can disable a running status com-
	 mand by setting the command to a single dash: swaybar	bar  bar-0  sta-
	 tus_command -

     status_edge_padding <padding>
	 Sets the padding that is used when the status line is at the right edge
	 of  the bar. This value will be multiplied by the output scale. The de-
	 fault is 3.

     status_padding <padding>
	 Sets the vertical padding that is used for the status line. The default
	 is 1. If padding is 0, blocks will be able to take up the  full  height
	 of the bar. This value will be multiplied by the output scale.

     strip_workspace_name yes|no
	 If  set to yes, then workspace names will be omitted from the workspace
	 button and only the custom number will be shown. Default is no.

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

     unbindcode [--release] <event-code>
	 Removes the binding with the given <event-code>.

     unbindsym [--release] button[1-9]|<event-name>
	 Removes the binding with the given <button> or <event-name>.

     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.

     workspace_min_width <px> [px]
	 Specifies  the  minimum width for the workspace buttons on the bar. De-
	 fault is 0.

	 This setting also applies to the current binding mode indicator.

     The following commands may only be used at runtime.

     mode toggle [<bar_id>]
	 Toggles the current mode between hide	and  dock.  Any  other	mode  is
	 treated as hide.

   TRAY
     Swaybar  provides	a  system  tray where third-party applications may place
     icons. The following commands configure the tray.

     tray_bindcode  <event-code>  ContextMenu|Activate|SecondaryActivate|Scroll-
     Down|ScrollLeft|ScrollRight|ScrollUp|nop
	 Executes the action when the mouse button has been pressed. The buttons
	 can  be given as an event code, which can be obtained from libinput de-
	 bug-events. To disable the default behavior for a button, use the  com-
	 mand nop.

     tray_bindsym  button[1-9]|<event-name>  ContextMenu|Activate|SecondaryActi-
     vate|ScrollDown|ScrollLeft|ScrollRight|ScrollUp|nop
	 Executes the action when the mouse button has been pressed. The buttons
	 can be given as a x11 button number or an event name, which can be  ob-
	 tained  from  libinput debug-events. Use the command nop to disable the
	 default action (Activate for button1, ContextMenu for button2 and  Sec-
	 ondaryActivate for button3).

     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.

     tray_output none|<output>|*
	 Restrict the tray to a certain output, can be specified multiple times.
	 If  omitted,  the  tray will be displayed on all outputs. Unlike i3bar,
	 swaybar can show icons on any number of bars and outputs without races.
	 * can be given at any point to reset it to display on all outputs.

     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: #RRGGBB or #RRGGBBAA.

     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 moni-
	 tor 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  moni-
	 tor 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 work-
	 space has focus.

     active_workspace <border> <background> <text>
	 Border, background and text color for a workspace button when the work-
	 space	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 work-
	 space	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 work-
	 space 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) swaybar-protocol(7)

				   2026-06-13			     sway-bar(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=sway-bar&sektion=5&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help