John Lindal’s Blog
The Unknown OS
September 13, 2009 on 7:45 pm | In Programming | No CommentsBefore the internet, everybody always worried about getting their desktop applications to run on multiple operating systems. If it ran natively on Linux, Mac, and Windows, it was a marvel. Nowadays, everybody worries about getting their web applications to run on multiple browsers. If it runs equally well in Firefox, IE, Opera, Safari across Linux, Mac, Windows, it’s a marvel.
But there is another, virtually unknown OS, exclusive to Unix: the window manager.
Getting a Unix desktop application to work correctly across the myriad of window managers (AfterStep, blackbox, Enlightenment, fvwm, icewm, Metacity, OpenStep, Sawfish, WindowMaker, XQuartz, etc, etc, etc.) is almost impossible since each seems to have its own unique ideas about how to position decorated windows. There are thankfully some standards, but not all window managers support these. Some do their own thing, while others support older standards. Metacity on Eeebuntu doesn’t make the window a child of the frame. Sawfish on my version of Eeebuntu locks up when it receives a _NET_WM_DESKTOP client message!
In addition, getting a Unix application to interoperate with all the various desktop environments (CDE, Gnome, KDE, XFCE, etc.) is also pretty much hopeless. When I tested an edge case in the reference implementation of XDND against Konqueror in Eeebuntu, it was almost impossible to get the reference implementation to accept the drop from Konqueror. When I tested the default file manager in Eeebuntu, it accepted files dropped via XDND, but it did not use XDND when dragging files!
No wonder so many people stick to Windows…
Update: Further testing reveals that Konqueror only seems to send a single message to the target window instead of a continuous stream as the mouse moves!
No Comments yet »
RSS feed for comments on this post.
Leave a comment
You must be logged in to post a comment.
Powered by WordPress with Pool theme design by Borja Fernandez.
Entries and comments feeds.
Valid XHTML and CSS. ^Top^