ryudo




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, xosview
+ 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 rio
and 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.
In all, 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 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.