nilFM
design and programming portfolio of Derek Stevens: drkste@zoho.com

Ryudo: the minimalistic window manager that flows

[download image] [download image] [download image]

Neat projects often emerge where you least expect. After trying to use rio from plan9port in combination with my wmctrl script qwopTiler, I was a bit saddened when I realized that they wouldn't gel, since rio is not Extended-Window-Management-Hints (EHWM) compliant and much of the functionality of wmctrl depends on EHWM.

But all was not lost, as the features I wanted were simple, as is the source of rio. So ryudo was born.

Building on top of nice features from rio like the sweep-to-resize and slick menu system, ryudo adds keyboard shortcuts for all your typical window management operations like hide, unhide, maximize, and close, as well as keybinds for quick window snapping just like was implemented in qwopTiler, and an extra feature to launch a centered terminal with a keyboard shortcut.

The border colors, border widths, menu colors, and keybind settings are all together in the config.h file, so changing the settings doesn't require one to hunt in the source for them. Other minor features were the re-enabling of the -ffm (focus-follows-mouse) runtime option and the final cutting of long window names in the hidden window list to 23 characters max (plus a '~' symbol to signify that it is truncated).

Some caveats inherited from the rio and 9wm code are RGBA windows being bound to an RGB space (which means a tool like transset needs to be used to acheive window translucency -- not a terrible setback), and a lack of click-to-raise behavior in focus-follows-mouse mode. The latter might be fixable by tweaking active() and setactive() but I've yet to find motivation or time to mess with that too much.

In all, ryudo has proven in my usage so far to be extremely lightweight and usable, supporting keyboard and mouse control depending on preference. If you like rio or 9wm and want a little more versatility, give ryudo a try! If you have experience in C and/or X11 programming and want to improve ryudo, hack away -- the source is free for all.