Skip to content
X11 trie command launcher
Branch: master
Clone or download
Latest commit 775380b Oct 17, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.dir-locals.el cmdtree Jun 26, 2018
.gitignore progress Jul 9, 2018
LICENSE build stuff Jul 8, 2018
Makefile fix clang build errors Jul 10, 2018 readme: fixup install instructions Jul 20, 2018 todo Jul 10, 2018
cfg.def.h clean up example cfg Jul 10, 2018
cmdtree.c delete a bunch of stuff Oct 17, 2018
command.c let's keep it simple for now Jul 13, 2018
command.h remove ccan for now Jul 10, 2018
drw.c fix clang build errors Jul 10, 2018
drw.h add prefix to scemes Jul 9, 2018
util.c progress Jul 9, 2018
util.h progress Jul 9, 2018




cmdtree is a command launcher in the form of a trie. Commands are launched by a sequence of keys that form a path in this trie.

Configuring cmdtree currently requires you to edit a C header file, similar to dmenu. You will need to tweak cfg.def.h to your liking before building. This is temporary until the configuration file format is complete, but it has the benefit of being quite fast to launch!

If you're curious, you can check out my config here


First customize cfg.def.h to include your menu items.

libX11 and libXft are required. Once you have those installed, simply type:

make && make install

To launch cmdtree with a key binding, use something like xbindkeys

Key Bindings

ESC         quit
Backspace   go up one level


Thanks to the dmenu developers I was able to reuse and repurpose their drw_ machinery for cmdtree! This project shares dmenu's LICENSE as much of the code was ported from there. Thanks!

You can’t perform that action at this time.