Skip to content

tonymugen/dwmBar

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Overview

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.

Install

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++

Dependencies

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.

Configure

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:

screenshot