Polybar
polybar is a fast and easy-to-use tool for creating status bars. It aims to be easily customizable, utilising many modules which enable a wide range of (editable) functionality, such as displaying workspaces, the date, or system volume. Polybar is especially useful for window managers that have a limited or non-existent status bar, such as awesome or i3. Polybar can also be used with desktop environments like Plasma.
Contents
Installation
Install the polybarAUR package. The development version is polybar-gitAUR.
Configuration
Copy the configuration example from /usr/share/doc/polybar/config to $XDG_CONFIG_HOME/polybar/config.
Running Polybar
Polybar can be run with the following arguments:
Usage: polybar [OPTION]... BAR
-h, --help Display this help and exit
-v, --version Display build details and exit
-l, --log=LEVEL Set the logging verbosity (default: WARNING)
LEVEL is one of: error, warning, info, trace
-q, --quiet Be quiet (will override -l)
-c, --config=FILE Path to the configuration file
-r, --reload Reload when the configuration has been modified
-d, --dump=PARAM Print value of PARAM in bar section and exit
-m, --list-monitors Print list of available monitors and exit
-w, --print-wmname Print the generated WM_NAME and exit
-s, --stdout Output data to stdout instead of drawing it to the X window
-p, --png=FILE Save png snapshot to FILE after running for 3 seconds
However you will probably want to run Polybar with your window manager's bootstrap routine. See #Running with WM.
Sample Config
A very basic polybar config may look like this:
[bar/mybar] modules-right = date [module/date] type = internal/date date = %Y-%m-%d%
It defines a bar named mybar with a module called date.
By default polybar will also install a sample configuration with many preconfigured modules in /usr/share/doc/polybar/config
Running with WM
Create an executable file containing the startup logic, for example $HOME/.config/polybar/launch.sh:
#!/bin/bash # Terminate already running bar instances killall -q polybar # Wait until the processes have been shut down while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done # Launch Polybar, using default config location ~/.config/polybar/config polybar mybar & echo "Polybar launched..."
This script will mean that restarting your WM will also restart Polybar.
bspwm
If using bspwm, add the following to bspwmrc:
$HOME/.config/polybar/launch.sh
i3
If using i3, add the following to your configuration:
exec_always --no-startup-id $HOME/.config/polybar/launch.sh
Troubleshooting
Attempt a reinstall as described in the issue on the GitHub.
Failing that, try to install the jsoncpp package.