dwmbar
is a status bar for dwm similar to dwmblocks. I wrote it in C++ just to troll the suckless people. It has some built-in modules, but can also be extended with external scripts.
Each module can be set to update after a separate interval. Modules run as separate threads and alert the main thread to print to the root window when a change occurs. You can also run a module by issuing a real-time signal with pkill
, e.g.
pkill --signal RTMIN+1 -x dwmbar
The signal ID is set per module during configuration (see below). Modules that are running on a schedule can still be activated by a signal.
dwm
supports two status bars (bottom and top) if you have the dwm-extrabar
patch.
To install clone this repository and use make
:
cd dwmBar
make
sudo make install
This will put the dwmbar
binary in /usr/local/bin/
and assumes gcc is the compiler on the system. If you have llvm instead, use
make CXX=c++
The project depends on a C++ compiler that understands C++11. It also requires libX11
for printing to the root window. Some included modules also require procfs to be mounted. This is available by default in most linux distributions, but may need to be explicitly mounted in BSD.
dwmbar
is configured by editing the config.hpp
file. Comments within the file explain what to do and the available options. If you want to customize further, full interface documentation is here, or you can run doxygen
in the source code directory. The example configuration included here is the one I use on my main machine. The external shell scripts I use are included in the scripts
directory.
Here is a screenshot from my system: