The StartX Files: When the Mouse is An Anathema - page 2
The Reflection of FUD
So what did I do instead of go to COMDEX? I ended up working on my Linux box, lovingly crafting it to my needs, and playing with a window manager unlike any other I had ever seen: Ratpoison.
After a few sessions with this baby, I promptly decided that I need to get out more, because there's a whole lot of thinks about X that I need to see.
Ratpoison, for those of you unaware, is an incredibly simple window manager that does the least possible with X it can get away with. In other words, it runs the display and that's it. As the name implies, there is no mouse support in Ratpoison and if you go looking for it, the developers will likely laugh at you out of hand. There are no namby-pamby window decorations, either. You get a terminal window from which to run X apps if you need them and a set of useful keyboard commands and that's it.
Ratpoison is available as a source tarball only, but even binary-package wimps like me should have no problems reading the installation steps in the tarball and getting ratpoison compiled and installed. One quick hint for the new ratpoison user: when you set up your .xinitrc file to run ratpoison, have it run rxvt upon start. That will get you a terminal window right away.
The key commands are well explained in this window manager's man pages, and whatever you do, read these first. The keyboard commands do make sense after some use but initially the learning curve is pretty steep.
If I could describe Ratpoison in just one sentence, I would say that it is X turned inside out. Instead of running a terminal within X, I was running X from within a terminal. The contrast takes a little to get used to, but I guarantee you will never have to do anything like manage windows again. All windows are displayed fully maximized, and keyboard commands will switch you from window to window.
If all of this seems terribly primitive, you must remember that this is exactly the kind of functionality that the developers, led by Shawn Betts, really want. To them, using X is a huge waste of time. Most window managers, according to Betts, a developer at Basis Applied Technology in Vancouver, BC, and fellow developer Ryan Yeske, don't actually manage windows at all--the user is required to manage the windows.
It's like shuffling papers around a desk," Betts explained. "Computers are supposed to do that for you. Instead they provide you with the means to do it yourself."
Yeske, a Cognitive Science student at Simon Fraser University and part-time app tech at Basis, agrees, "Customizing window managers was such a waste of time. Managing windows is not for the user to do."
With this goal in mind, Betts and some others began to build an effective window manager modeled after their favorite tool, GNU Screen. The first thing to go, in their minds, was the mouse. Overlapping windows are big time-wasters as well.
"We've got powerhouse 1-Ghz machines capable of servicing thousands of simultaneous users, and people are still positioning windows manually," Betts said.
Still, the mouse has some place in Ratpoison, if only to work within the applications that need it, Yeske explained, such as The GIMP.
Besides the outward functionality, Betts and Yeske are also proud of Ratpoison's scriptability. Ratpoison commands can be run from several sources, including the korn shell, scheme, bash, perl or python. This scripting ability can let the user add more functionality, such as split windows.
Split screen windows, however, are something that Betts is working on now for future releases of Ratpoison. But that may be about it as far as new features. Unlike other developers and their projects, Betts is almost in the position of considering Ratpoison done.
"It's almost done in that its goals are simple and they are almost met,"
"I'm not sure what else I want," Betts added, "It keeps everything maximized, you can split if you really really have to."
Besides, both developers feel that Ratpoison is already getting too big. To them, the 40 Kb size of this window manager is "bloat," compared to smaller tools like 9wm.
In the future, then, look for Ratpoison to get tighter but don't look for a lot of new features. The developers are happy just the way it is.