Automatic desktop renamer for bspwm. Similar to btops but interfaces via subprocesses rather than UNIX sockets and focuses on icons.
Recognizes clients and renames desktops accordingly to a pre-configured FontAwesome icon set. Works with polybar.
bspwm (duh), xprop, python3, FontAwesome etc.
Install the package bspi-git
from AUR : aura -A bspi-git
.
Copy the configuration file: cp /usr/share/doc/bspi/bspi.ini ~/.config/bspwm/bspi.ini
Place the files bspi.py
bspi_listen
in a directory included in your $PATH
. Store a copy of bspi.ini
and remember the path. cp bspi.ini ~/.config/bspwm/bspi.ini
Icons are configured via bspi.ini
- you may maintain your own copy and use it with bspi_listen --config path/to/bspi.ini &
(add this to your bspwmrc)
The _other
key is a fallback for all mismatched window names.
[Icons]
dolphin =
chromium =
firefox =
signal =
slack =
spotify =
termite =
urxvt =
tilix =
alacritty =
kitty =
code-oss =
_other =
For polybar, make sure the fonts are configured in polybar/config
, e.g.
font-3 = Font Awesome 5 Free:pixelsize=20;3
font-4 = Font Awesome 5 Free Solid:pixelsize=20;3
font-5 = Font Awesome 5 Brands:pixelsize=20;3
- tests
- docs
- screencast gif
- external configuration
Polybar Format Tags won't work for colored icons, bspwm truncates desktop names at 32 bytes.