Friday, February 27, 2009

How-to manually add items to dmenu

Dmenu is one of my favorite parts of #! CrunchBang Linux, which as most of you know is my favorite distribution, and I keep crunchbanging every computer that I can get my grimy little fingers on, but it was always somewhat of a mystery to me how dmenu actually picks up the programs it can find - well, that was until tonight, when I took a look at the associated scripts.

Let's say you installed a little python script that you want to be able to call from dmenu - I placed it into /usr/share/ with the hope dmenu would just pick it up magically, but no such luck - would have been too easy anyways. It is not much harder though, because all it needs is for you to create a symbolic link to the executable you want to start inside /usr/bin/ and dmenu will automagically find it! To do so, just type

sudo ln /path/to/your/file /usr/bin/symlinkname -s

and to make it a little more clear, let's say we have a program called “helloworld” in /usr/share/samples/ and want to call it from dmenu by the name “helloworld”. For this to work we would type:

sudo ln /usr/share/samples/helloworld /usr/bin/helloworld -s

Ummm…yes, that's it already - short HOWTO, but good to know none-the-less!


  1. Symbolic links work or you could add:
    to your .profile

    By adding the new folder to your $PATH environment, dmenu will find those executables; because that's how it does it magic, by just searching $PATH


  2. That's exactly the information I was looking for and could not find on the dmenu site! Thanks so much for your input, Charles!