[Wsmanager-devel] WS Manager -> X11 bridge
Status: Alpha
Brought to you by:
richwareham
From: Nathaniel G. <n8...@gm...> - 2004-07-21 04:40:14
|
Hello, I'm a big fan of Desktop Manager but there's one thing about it that I'd like to try to improve on, namely integration with X11. Unlike OS X applications, X11 applications are routinely used in multi-desktop environments and many of them are multi-desktop-aware. As an example, take NEdit. The upcoming 5.5 release supports tabbed editing. If you open a document and there's not a window on the current desktop then it will open in a new window on the current desktop. Otherwise, it will open the document as a tab in a window on your current desktop. (Of course this behavior is customizable.) On OS X with Desktop Manager it cannot figure out what desktop it's on, so this smart behavior is not possible. It's actually really easy to support this capability, but it requires a program linked with the X11 libraries. We obviously don't want to link WS Manager with X11, so I'm envisioning a small daemon, call it dmx11d, that makes the necessary X11 library calls and watches for interesting X11 events. I have a pretty good idea of how to write dmx11d, but I don't know how to integrate it with DM itself. It will at least need to be able to find out: 1. How many desktops there are 2. What the current desktop is 3. What desktop a given OS X window (specified by window ID) is on. Alternately, a data structure mapping window ID to desktop. It will also need to be notified when any of the above things change. Can anybody suggest where in DM's code I should look to get this done? Also, is there a simple way of doing inter-process procedure calls on OS X? Any constructive feedback is welcome, Cheers, -n8 -- >>>-- Nathaniel Gray -- Caltech Computer Science ------> >>>-- Mojave Project -- http://mojave.cs.caltech.edu --> |