Another building block of my environment:
Sometimes I use a machine so often that tools like pyhosts and dmenu just aren't fast and convenient enough. For instance, I do most of my work on one of our login servers (which one doesn't matter), so with my habit of disposable windows I am forever opening and closing terminal windows and so on.
My main tool for dealing with this is a simple program called
(which was originally written by Mark Moraes). Xrun puts up a grid of
text labels, each of which is clickable; when you click a label, it runs
the associated command. You define the labels and the commands that they
run. This probably sounds abstract, so let me show you a picture:
(This deliberately includes the window manager decoration, because it's
part of the overall interface; the window title tells me what machine
xrun is for.)
xrun would be only a modest convenience boost, so the
important thing is how I run it. I don't run
xruns on my workstation;
instead, I use my
rxexec script to run each
the server it's for with my full environment initialized. Effectively
I get new terminal windows as fast as if I typed '
xterm &' from an
existing window on the machine, because this is pretty much what is
One of the interesting side effects of this is that I can still start new terminal windows even when normal logins to the machine are blocked or broken (during system shutdown, for example). This is periodically useful and sometimes misleading.
(These days you can get a lot of the same effects by using multiplexed SSH connections. I don't think it's quite as fast, although on modern hardware you'll probably never notice under normal circumstances.)