photo
Jordan Sissel
geek

Fri, 22 Feb 2008

Do we need another window manager?

I've been doing various Xlib projects off and on for a few years, but none of them have been window manager projects because I was using a WM that pleased me: Ion. Many years later, after following ion from ion 1, 2, and now 3, the author decided to apply some user unfriendly licensing terms to newer releases of ion-3. This license change combined with the author's efforts to require distributions to comply with this license has resulted in most platforms dropping the ion-3 package from its distribution because nobody wants to deal with assholes and drama.

I'm not going to get into a discussion about my opinions about the license. Just know that it inconveniences me, and if you know me, you know that I tend to solve problems of inconvenience with new software tools. That means I need a new window manager.

I've tested other window managers, but none fit me as well as ion did.

A few weeks ago I started on a window manager project tentatively called tsawm (tuomov sucks ass, the window manager) which implements features I like in ion but without the douchebaggery. I started working on it initially in C, since that's where I use xlib, but C has some drawbacks. A nontrivial percentage of what I perceive to be window manager behavior is basically managing some heirarchy of data (frames, client windows, titles, some state). I started looking at Perl's X11::Protocol and Python's xlib module. Python's xlib module is pretty neat, in that it's a pure-python implementation of the X11 protocol.

Somewhat arbitrarily, I started prototyping to see if writing a window manager in python was possible. Yes, it is. So that's where I'm at today.

I've mostly been hacking things together while learning more about window managing in X, but what I have so far is promising: screenshot.

It's not pretty, but finishing this will help me get past the drama and problems that ion and its author bring. Sorry tuomov, I still love ion, but any licenses that keep me (directly or indirectly) from getting shit done aren't acceptable.

Comments: 8 (view comments)
Tags: , , , , ,
Permalink: /geekery/tsawm-window-manager-project
posted at: 03:50


8 responses to 'Do we need another window manager?'

Lee posted at Fri Feb 22 05:54:07 2008...
We definitely do.  Personally though, I'm hoping for a tiled WM a bit like ion, but much MORE like blender's UI.  If you're writing a tiled window manager, please get used to blender's viewport management first.  It's basically ion, but with decent interactive mouse control and feedback.  Blender is keyboard AND mouse heavy, so I'm sure it fully supports keyboard shortcuts too.  Also, you'd get a lot of blender users on board right away, most likely.

Fotios posted at Fri Feb 22 09:24:25 2008...
Of course you would write something like this.  Craziness.  I love ion, but I agree tuomov screwed something up royally there.  Anyway, if you want some testing done, I'd be happy to help.  You know where to find me.

Jon posted at Mon Feb 25 06:41:31 2008...
You may find the following interesting, both of which have attracted a lot of work as a result of the ion license change: http://awesome.naquadah.org/ , gah I can't remember the name of the other one, but there's one written in pure python too.

Jon posted at Mon Feb 25 06:45:24 2008...
Ah yes I remember now, tritium: http://sourceforge.net/projects/tritium . If that seems to do something like what you want, maybe you could join forces or something?

I'm also curious about http://xmonad.org/ , mostly because it's <300 lines long.

ark posted at Thu Mar 13 22:44:01 2008...
I'm interested in what you ended up doing or using? Awesome looks pretty... erm... awesome

xmonad looks cool too.

Tritium hasn't been updated since Sept '07 worried it's lost interest.

Glad I found this blog, while trying to deal with ion and it's f'dup dealings with xwininfo, wtf!

ark posted at Fri Mar 14 21:36:08 2008...
well today I wrestled trying to get awesome and xmonad working and finally managed it and both were much less than I expected (or needed). Seems there really isn't a nice tiled window manager that supports frames with multiple windows in them.

Until you step up and make it happen for us we're lost! only you can help!

Jordan Sissel posted at Sat Mar 15 01:18:52 2008...
I'm still using ion, and I stopped working on my wm for the time being (to try out other things).

I tried out awesome a few days ago, and wasn't terribly impressed. I liked how it autosplits your workspace, but doesn't mesh with my workflow. Plus, I don't have any keys bound to MOD4 so it was hard to use and I couldn't be bothered to fix it.

I'll try xmonad tonight.

If xmonad lets me down, and maybe I try a few others, I'll get back to working on my own.

Jordan Sissel posted at Sat Mar 15 01:19:34 2008...
Oh yeah, and I tried Tritium. I had to hack PLWM (a dependency) to use modern python code (replace whrandom to random). Even after that, it still wouldn't run. Oh well.


Leave a reply

You need javascript enabled to use this form. Anti-spam efforts ongoing. Also, if the comment doesn't show up, it's because the form expired. Go back and copy your comment, reload the form, and resubmit. Apologies if this is a hassle, I'm just playing with antispam methods right now. If this insists on not working, please email me about it.

Name (required)
E-mail (optional. Not posted or recorded anywhere, ever)
URL (also optional)
Comment:


Search this site

Navigation

Metadata

Home About Resume My Code

Articles

ARP Security Dynamic DNS with DHCP OpenLDAP+Kerberos+SASL PPP over SSH SSH Security: /bin/false Week of Unix Tools Work Efficiency

Projects

fex firefox tabsearch firefox urledit grok keynav liboverride newpsm (FreeBSD) nis2ldap pam_captcha poor man's backup Solaris audio utility xboxproxy xdotool xmlpresenter xpathtool misc scripts

Presentations

Yahoo! Hack Day '06 Unix Essentials Vi/Vim Essentials

Tag Cloud

Calendar

< February 2008 >
SuMoTuWeThFrSa
      1 2
3 4 5 6 7 8 9
10111213141516
17181920212223
242526272829 

Friends

BarCamp Kent Brewster Tantek Çelik John Resig Wesley Shields Tyler Shields

Technorati