RubyWM: an X11 window manager in pure Ruby

It’s a minimalist (currently <1K lines) pure Ruby (including the X11 driver) X11 window manager. It is focused on tiling, but allows you to choose to assign a tiling layout to specific desktops or leave them floating. Currently whether or not you use tiling or floating layout there is no window decoration and windows are not draggable or resizable by pulling on borders (but you can do that with Windows key + left/right mouse button)

Like bspwm, which was an inspiration, the wm supports no keyboard handling – all keyboard handling is deferred to separate tools like sxhkd. Unlike bspwm this WM has no dedicated IPC mechanism. Instead, so far, all communication happens via X11 ClientMessage events, which means any tool, like xdotool etc. that can produce those events can control the WM.

Vidar Hokstad on RubyWM’s GitHub page

In the blog post announcing RubyWM, the author makes it very clear that while he uses this WM full time, he is also willing to work around its bugs, and that certain tools will simply break if you use it. He considers it more of a tech demo, and that you really shouldn’t rely on this for any serious work.

3 Comments

  1. 2024-01-22 9:05 pm
    • 2024-01-23 4:59 pm
      • 2024-01-24 10:21 am