.\" Generated by scdoc 1.11.2 .\" Complete documentation for this program is not available as a GNU info page .ie \n(.g .ds Aq \(aq .el .ds Aq ' .nh .ad l .\" Begin generated content: .TH "waybar" "5" "2023-02-28" .P .SH NAME .P waybar - configuration file .P .SH DESCRIPTION .P The configuration uses the JSON file format and is named \fBconfig\fR.\& .P Valid locations for this file are: .P .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fB$XDG_CONFIG_HOME/waybar/config\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fB~/.\&config/waybar/config\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fB~/waybar/config\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fB/etc/xdg/waybar/config\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fB/etc/xdg/waybar/config\fR .RE .P A good starting point is the default configuration found at https://github.\&com/Alexays/Waybar/blob/master/resources/config Also a minimal example configuration can be found on the at the bottom of this man page.\& .P .SH BAR CONFIGURATION .P \fBlayer\fR .br typeof: string .br default: bottom .br Decide if the bar is displayed in front (\fBtop\fR) of the windows or behind (\fBbottom\fR) .RS 4 them.\& .P .RE \fBoutput\fR .br typeof: string|array .br Specifies on which screen this bar will be displayed.\& Exclamation mark(\fB!\&\fR) can be used to exclude specific output.\& .P \fBposition\fR .br typeof: string .br default: top .br Bar position, can be \fBtop\fR, \fBbottom\fR, \fBleft\fR, \fBright\fR.\& .P \fBheight\fR .br typeof: integer .br Height to be used by the bar if possible.\& Leave blank for a dynamic value.\& .P \fBwidth\fR .br typeof: integer .br Width to be used by the bar if possible.\& Leave blank for a dynamic value.\& .P \fBmodules-left\fR .br typeof: array .br Modules that will be displayed on the left.\& .P \fBmodules-center\fR .br typeof: array .br Modules that will be displayed in the center.\& .P \fBmodules-right\fR .br typeof: array .RS 4 Modules that will be displayed on the right.\& .P .RE \fBmargin\fR .br typeof: string .br Margins value using the CSS format without units.\& .P \fBmargin-\fR .br typeof: integer .br Margins value without units.\& .P \fBspacing\fR .br typeof: integer .br Size of gaps in between of the different modules.\& .P \fBname\fR .br typeof: string .br Optional name added as a CSS class, for styling multiple waybars.\& .P \fBmode\fR .br typeof: string .br Selects one of the preconfigured display modes.\& This is an equivalent of the sway-bar(5) \fBmode\fR command and supports the same values: \fBdock\fR, \fBhide\fR, \fBinvisible\fR, \fBoverlay\fR.\& .br Note: \fBhide\fR and \fBinvisible\fR modes may be not as useful without Sway IPC.\& .P modifier-reset .br typeof: string .br default: \fBpress\fR .RS 4 Defines the timing of modifier key to reset the bar visibility.\& To reset the visibility of the bar with the press of the modifier key use \fBpress\fR.\& Use \fBrelease\fR to reset the visibility upon the release of the modifier key and only if no other action happened while the key was pressed.\& This prevents hiding the bar when the modifier is used to switch a workspace, change binding mode or start a keybinding.\& .P .RE \fBexclusive\fR .br typeof: bool .br default: \fBtrue\fR .br Option to request an exclusive zone from the compositor.\& Disable this to allow drawing application windows underneath or on top of the bar.\& .P \fBfixed-center\fR .br typeof: bool .br default: \fBtrue\fR .RS 4 Prefer fixed center position for the `modules-center` block.\& The center block will stay in the middle of the bar whenever possible.\& It can still be pushed around if other blocks need more space.\& When false, the center block is centered in the space between the left and right block.\& .P .RE \fBpassthrough\fR .br typeof: bool .br default: \fBfalse\fR .br Option to pass any pointer events to the window under the bar.\& .RS 4 Intended to be used with either \fBtop\fR or \fBoverlay\fR layers and without exclusive zone.\& .P .RE \fBgtk-layer-shell\fR .br typeof: bool .br default: true .br Option to disable the use of gtk-layer-shell for popups.\& .RS 4 Only functional if compiled with gtk-layer-shell support.\& .P .RE \fBipc\fR .br typeof: bool .br default: false .br Option to subscribe to the Sway IPC bar configuration and visibility events and control waybar with \fBswaymsg bar\fR commands.\& .br Requires \fBbar_id\fR value from sway configuration to be either passed with the \fB-b\fR commandline argument or specified with the \fBid\fR option.\& .P \fBid\fR .br typeof: string .br \fBbar_id\fR for the Sway IPC.\& Use this if you need to override the value passed with the \fB-b bar_id\fR commandline argument for the specific bar instance.\& .P \fBinclude\fR .br typeof: string|array .br Paths to additional configuration files.\& .RS 4 Each file can contain a single object with any of the bar configuration options.\& In case of duplicate options, the first defined value takes precedence, i.\&e.\& including file -> first included file -> etc.\& Nested includes are permitted, but make sure to avoid circular imports.\& For a multi-bar config, the include directive affects only current bar configuration object.\& .P .RE .SH MODULE FORMAT .P You can use PangoMarkupFormat (See https://developer.\&gnome.\&org/pango/stable/PangoMarkupFormat.\&html#PangoMarkupFormat).\& .P e.\&g.\& .P .nf .RS 4 "format": "{}" .fi .RE .SH MULTIPLE INSTANCES OF A MODULE .P If you want to have a second instance of a module, you can suffix it by a '\&#'\& and a custom name.\& For example if you want a second battery module, you can add \fB"battery#bat2"\fR to your modules.\& To configure the newly added module, you then also add a module configuration with the same name.\& .P This could then look something like this \fB(this is an incomplete example)\fR: .P .nf .RS 4 "modules-right": ["battery", "battery#bat2"], "battery": { "bat": "BAT1" }, "battery#bat2": { "bat": "BAT2" } .fi .RE .P .SH MINIMAL CONFIGURATION .P A minimal \fBconfig\fR file could look like this: .P .nf .RS 4 { "layer": "top", "modules-left": ["sway/workspaces", "sway/mode"], "modules-center": ["sway/window"], "modules-right": ["battery", "clock"], "sway/window": { "max-length": 50 }, "battery": { "format": "{capacity}% {icon}", "format-icons": ["", "", "", "", ""] }, "clock": { "format-alt": "{:%a, %d\&. %b %H:%M}" } } .fi .RE .P .SH MULTI OUTPUT CONFIGURATION .P .SS Limit a configuration to some outputs .P .nf .RS 4 { "layer": "top", "output": "eDP-1", "modules-left": ["sway/workspaces", "sway/mode"], \&.\&.\&. } .fi .RE .P .nf .RS 4 { "layer": "top", "output": ["eDP-1", "VGA"], "modules-left": ["sway/workspaces", "sway/mode"], \&.\&.\&. } .fi .RE .P .SS Configuration of multiple outputs .P Don'\&t specify an output to create multiple bars on the same screen.\& .P .nf .RS 4 [{ "layer": "top", "output": "eDP-1", "modules-left": ["sway/workspaces", "sway/mode"], \&.\&.\&. }, { "layer": "top", "output": "VGA", "modules-right": ["clock"], \&.\&.\&. }] .fi .RE .P .SS Rotating modules .P When positioning Waybar on the left or right side of the screen, sometimes it'\&s useful to be able to rotate the contents of a module so the text runs vertically.\& This can be done using the "rotate" property of the module.\& Example: .P .nf .RS 4 { "clock": { "rotate": 90 } } .fi .RE .P Valid options for the "rotate" property are: 0, 90, 180 and 270.\& .P .SS Grouping modules .P Module groups allow stacking modules in the direction orthogonal to the bar direction.\& When the bar is positioned on the top or bottom of the screen, modules in a group are stacked vertically.\& Likewise, when positioned on the left or right, modules in a group are stacked horizontally.\& .P A module group is defined by specifying a module named "group/some-group-name".\& The group must also be configured with a list of contained modules.\& Example: .P .nf .RS 4 { "modules-right": ["group/hardware", "clock"], "group/hardware": { "modules": [ "cpu", "memory", "battery" ] }, \&.\&.\&. } .fi .RE .P .SH SUPPORTED MODULES .P .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-backlight(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-battery(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-bluetooth(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-clock(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-cpu(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-custom(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-disk(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-idle-inhibitor(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-keyboard-state(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-memory(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-mpd(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-mpris(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-network(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-pulseaudio(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-river-mode(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-river-tags(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-river-window(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-states(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-sway-mode(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-sway-scratchpad(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-sway-window(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-sway-workspaces(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-wlr-taskbar(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-wlr-workspaces(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-temperature(5)\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBwaybar-tray(5)\fR .RE