[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
setLevel: implementation idea for X backend
From: |
Dr. Nikolaus Schaller |
Subject: |
setLevel: implementation idea for X backend |
Date: |
27 Feb 2004 07:45:13 -0800 |
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).
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.
* Calling setLevel: reparents the window to a different level. If
there is no Xlib function to reparent (I haven't found one yet), we
would have to XCreateWindow() a child of the new level and copy the
contents of the old one before destroying.
As this issue might have been discussed long ago, I would be happy
about comments, concerns, experiences, pointers, hints, etc.
Kind regards,
Nikolaus
http://www.dsitri.de/wiki.php?page=mySTEP
- setLevel: implementation idea for X backend,
Dr. Nikolaus Schaller <=