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 (EWMH) compliant and much of the functionality of
wmctrl depends on the EWMH.
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.
Other features include better logic for focusing and placing new windows, sticky/omnipresent windows, notification integration for desktop switching, multimonitor support, configurable autostick windows (to make a kind of panel or dashboard with, eg,
xclock), and configurable always-draw windows (ie, always draw their geometry with the mouse on spawn as if they were a terminal window created with the 'New' menu command).
All the settings are 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
9wm code are a lack of partial alpha support, (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.
ryudo has proven in my usage so far to be extremely lightweight and usable, supporting keyboard and mouse control depending on preference. Multimonitor support since version
1.3.0 makes it even more versatile and powerful. If you like
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.