Linux

Where Is the dwl Config File?

dwl has no runtime config file: you edit config.h in the source tree and recompile, exactly like dwm.

Last updated

dwl follows the suckless deal: configuration is C code, not a file the program reads at startup. Copy config.def.h to config.h, edit bindings and layout, recompile. Defaults live in the template, your choices live in the copy.

That also means no live reload and no dotfile to back up elsewhere. Version your config.h (plus any patches) and any machine rebuilds to the same setup with one make.

Where dwl stores this, by platform

Linux
[SourceDir]/config.h

Bindings, layout, rules and autostart command. Created by copying config.def.h. Changes apply on the next launch after recompiling; patch sources the same way.

Frequently asked questions

How do I change keybindings in dwl?

Edit config.h, run make, restart dwl. There is no reload: Wayland cannot restart the manager without restarting the whole display server.

There is no config.h in my dwl checkout. Where is it?

Copy config.def.h to config.h first, then edit the copy. Upstream only ships the template; your config.h is yours and never gets overwritten by an update.

Notice an outdated path? Let us know.