Romulus, My Window Manager

About a year ago, I wrote about making your own window manager in Python, and how to extend this to use Twisted as your window manager’s main loop. Around the time I wrote those articles, I also wrote a tiling window manager, called Romulus, for my own personal use. I consider it to be unfinished, but at the request of a workmate, I’ve made the code available.

The rest of this post is technical in nature and does not go into detailed explanations. Do not expect to find it useful unless you are willing to fiddle with things and dig around for answers.

This project is licensed under version 3 of the GNU General Public License. To download, use, modify or distribute it you must agree with the license.

The project is in two parts, twinman (a framework) and Romulus itself. Let me stress that this project is still unfinished and is far from polished. Some notes if you’d like to try using it:

  • alt+v, alt+h to split vertically / horizontally
  • alt+enter to open terminal, alt+shift+enter to lock screen
  • alt+h,k,l,m to move focus, alt+shift+h,k,l,m to move window between panes
  • detects resolution on start / reload, so after running xrandr, restart (there’s a menu option to very crudely reload)
  • alt+t toggles the tab bar
  • alt+shift+g labels a window with a given letter
  • alt+g goes to the window with the given label

I usually run Romulus from the launcher which I’ve included in the public Romulus repository. The launcher has three buttons, one for Romulus, one for xterm and one for quit (logout). This means that if Romulus does crash all your windows stay alive because the launcher is still alive.

Also, the launcher loads key=value lines from ~/.environment and sets them in os.environ before starting Romulus, so you can set your PATH, PYTHONPATH etc. that way since it’s not being run from a bash shell so it won’t have .bashrc. At the moment the launcher has some paths hard-coded into it, so you’ll have to fiddle with it to make it work for your system. You should also refer to this article for tips about testing window managers (either using Xephyr or by running a second X server).

This entry was posted in midlength and tagged , , , , . Bookmark the permalink.

5 Responses to Romulus, My Window Manager

  1. Aline says:

    thanks for sharing in the above preview. [url withheld]

  2. Daline says:

    nice article…[url withheld]

  3. Darlene says:

    i can only compliment you for the good job you have been doing in this blog, congratulations and keep it coming.[URL withheld]

  4. J. D. Bartlett says:

    Wow! What are the odds that Aline, Daline and Darlene would all comment on the same article? This fortuitous omen bodes auspiciously well!

  5. Anne says:

    Interesting^^