A new building block of my environment: dmenu
January 4, 2011
Nick Coleman's comment on my last tools entry introduced me on to dmenu, which has rapidly become an important component of my environment. The basics of dmenu are described nicely in Nick's comment, but I do two unconventional things with it.
The first is that I drastically restrict dmenu's command completion.
The 'standard' dmenu setup has it doing command completion on everything
The main unconventional thing I do is that I use dmenu not so much to run commands but to provide abbreviations for things that I do very frequently. Some of these things are themselves commands, such as my test Firefox environment. Some of these things are done by small helper scripts, such as a script that uses Firefox remote control to run a Google search on its command line arguments; a similar script runs a search on our internal system documentation.
(These helper scripts have deliberately short names, usually single
letters, and so are not in my normal
But a lot of the things I do a lot don't fit in the command model, so I handle them directly with heuristics in the driver script. Some examples:
The result of all of this hackery works extremely well for me. Although I only started using dmenu a few months ago, it has already become an essential and reflexive part of my desktop environment and it's well on the way to supplanting various previously heavily used parts of my environment, to some extent including pyhosts itself.
(This is all the more startling to me because my desktop environment tends to change only slowly and rarely. Rapid revolutions are quite rare, although not unknown; sometimes when I fall in love with things I really fall in love with them.)
* * *
Atom feeds are available; see the bottom of most pages.