Dmenu is one of my favorite parts of #! CrunchBang, but it was always somewhat of a mystery to me how it 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!
P.S.: I just received a comment on my blog, and there is another way to add aplications, especially if you created a new directory that will hold executables:
Symbolic links work or you could add: PATH="/usr/share/samples:$PATH" 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 shortcipher