[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: setLevel: implementation idea for X backend
From: |
Wim Oudshoorn |
Subject: |
Re: setLevel: implementation idea for X backend |
Date: |
Fri, 27 Feb 2004 19:14:49 +0100 |
User-agent: |
Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3.50 (darwin) |
hns@computer.org (Dr. Nikolaus Schaller) writes:
> Dear all, when starting recently to think about setLevel: for our
> mySTEP derivate, I have learned that there is no setLevel: in
> GNUstep unless the window manager tries its best (which isn't for
> mySTEP).
...
> * Calling setLevel: reparents the window to a different level. If
> there is no Xlib function to reparent (I haven't found one yet),
Well, you mean the call XReparentWindow ().
> My idea now is to use a two-level window hierarchy to implement the
> required behavior in the X backend:
>
> * The Root window has a set (array) of full-screen
> invisible/transparent child windows which represent the stacking
> levels.
>
> * All NSWindows are children of their current level, so
> XRaiseWindow(), XLowerWindow() etc. constrain them within their
> level.
But I have a few remarks.
* Window managers normally decorate the toplevel windows (by
reparenting them). So I would guess that this leads to
non-decorated windows.
* I think that if a window is invisible its children are also
invisible
* As far as I know there exists no such thing as a transparant window
And I do not think that the Shapes extension is going to help you.
Disclaimer.
I do not have an XWindows system at hand, and it is a few
years that I did anything in X. Also I did not really check
all the facts mentioned above, so I could be totally wrong.
Wim Oudshoorn.