GLX in Xephyr --or-- is there some other way to catch a desktop in a texture?
peter.harris at hummingbird.com
Mon Dec 8 15:02:53 PST 2008
Ashi Krishnan wrote:
> On Mon, Dec 8, 2008 at 2:20 PM, Peter Harris
> <peter.harris at hummingbird.com> wrote:
>> Ashi Krishnan wrote:
>>> This is fine if (1)
>>> the app creates only one window, and (2) is quite cooperative with
>>> respect to where it draws that window -- like, say, the xscreensaver
>> Maybe I'm dense, but I'm not seeing how that's a problem. Since you're
>> acting as the window manager (you are 'managing' that window), you can
>> manage all the windows of the application. You can decorate and compose
>> them however you see fit.
> But I want to manage all the windows of that application and *only*
> the windows of that application.
I'm not sure that's possible without being part of a larger framework
(such as compiz-fusion) that manages the other windows. To do window
management effectively, you pretty much need to select
SubstructureRedirect on the root. Once you've done that, you have to be
the window manager for the whole screen.
> And, as far as I'm aware, there's no
> reliable way of figuring out the pid of the process that owns a given
> window. Does _NET_WM_PID work reliably enough to be useful?
_NET_WM_PID can be spoofed just as easily as any other property. Better
than that, X is network transparent. You can have 30 different
applications all running with the same PID, even without any _NET_WM_PID
I'm inclined to look at WM_NAME and WM_CLASS (in addition to
_NET_WM_PID). From there, you can look at TRANSIENT_FOR and/or client
mask bits of the xid to associate windows with each other.
> Writing a fusion plugin is a great idea, and I'll look into it, but I
> don't think it solves that problem.
I'm not sure if compiz-fusion plugins can apply to single applications
or not. If not, I'm sure it would still be easier to modify
compiz-fusion to allow plugins to do so than to start from scratch.
Hummingbird Connectivity - A Division of Open Text
Peter Harris http://connectivity.hummingbird.com
Research and Development Phone: +1 905 762 6001
peter.harris at hummingbird.com Toll Free: 1 877 359 4866
More information about the xorg