Getting Started

Setting up polybar for development is basically the same process as compiling it from source. However, we recommend using the Debug or Sanitize cmake build type when configuring the project:

cmake -DCMAKE_BUILD_TYPE=Debug ..
# Or
cmake -DCMAKE_BUILD_TYPE=Sanitize ..

This will give you debug symbols in the executable and the Sanitize build type will also enable the AddressSanitizer and UndefinedBehaviorSanitizer, which can give you very useful information about crashes and undefined behavior at runtime.


Since this is a cmake project, most IDEs will have built-in support or a plugin to automatically setup this project.

In addition, the cmake command creates a compile_commands.json file in the build folder, which can be used by many language servers. If you are using a C++ language server in your editor, it should be as easy as symlinking the compile_commands.json into the repo root directory:

ln -s build/compile_commands.json .

Distro-Specific Setup

The wiki contains user-contributed setup tips for some distros.