Finishing Composite to handle transformed windows
Carsten Haitzler (The Rasterman)
raster at rasterman.com
Sun Jan 8 11:01:21 PST 2006
On Sun, 8 Jan 2006 19:26:17 +0100 "Amir Bukhari" <ufz6 at rz.uni-karlsruhe.de>
> > -----Original Message-----
> > From: xorg-bounces at lists.freedesktop.org
> > [mailto:xorg-bounces at lists.freedesktop.org] On Behalf Of Dan Oscarsson
> > Sent: Sunday, January 08, 2006 6:20 PM
> > To: Discuss issues related to the xorg tree
> > Subject: Re: Finishing Composite to handle transformed windows
> > Maybe it would be a good time to really think how X should
> > work with window managers and a 2D or 3D desktop. The current
> > works with LG, "topmost windows", compositing, redirection
> > and opengl feels like a mess. With lots of exceptions.
> > "topmost windows" sounds like a bad fix.
> > My vision of how it could work:
> > - opengl can be used on any window, including root window.
> > two applications can share a window with opengl (that is both
> > can use opengl on it) so that for example both window manager and
> > application can use opengl on a window.
> I don't thing this possible, because of security. A window is associated to
> only one applicatin (or better a client - an application can have more than
> one connection to Xserver). Secondly opengl context can not be shared.
a window is OWNED by 1 client only, BUT any client CAN draw to it, move it,
resize it, destroy it, map, unmap, grab pixels from it and send synthetic
events to it - this has been the case ever since for x11 and is required for
things like windowmanagers to work at all - and various other programs RELY on
> > - a window manager must control all window handling and
> > focus handling.
> > the override-redirect flag must be possible to override by window
> > manager (who can display those windows without decoration, and
> > if they are retained (that is pixels stored in offscreen memory)
> > application do not need to wait for damage event).
> > Focus handling must be redirected - only the window manager
> > may decide which window will get focus.
> Focus policy is described on ICCCM and any WM should be use this protocol or
> application will not run as expected.
> > - a 3D or compositing window manager will have all windows redirected
> > to offscreen memory. It will then display them in a 3D or 2D space
> > on the root window (the screen). As a window can be shared
> > by opengl
> > between window manager an an application (like in LG), the
> > application draws in window which can be in graphicas card memory,
> > and window manager scales/transforms window to the display
> > directely
> > using opengl and within graphics card. My feeling of LG today
> > is that it is working as a part outside the window system - I would
> > like it to work as a part integrated with the window system.
> > It would have been nice, like you could in NeWS, to have a
> > transform
> > matrix attached to a window so they could be scaled, rotated or
> > have other transformation.
> What did you mean with "outside the window system"?
> LG is a plattform and framework, existing WM will not run inside LG, because
> they did not know they run in LG plattform. LG has an interface API to WM,
> any WM want to run under LG should interface with LG using that interface,
> thus it is possible for other WMs to integrate in LG. We have a WM example
> which run inside LG and it is responsible for integration of X applications
> into LG plattform, it is not 100% ICCCM complement (it need more
> implementation). Although Alot of KDE and GNOME applications run inside LG.
> > - In a way you could see each application window as a "display" with
> > subwindows. Each application just uses opengl (or normal X) in
> > window. Window manager will compose the application windows onto
> > real display (using 3D or 2D look).
> > - If you are using a 3D world, event coordinates will have to be
> > translated with the 3D transformation matrix each window has.
> > Not easy to describe in a few words. In some other words:
> > allow each application window work as an offscreen window. No
> > way to bypass window manager (no override redirect). Window
> > manager have sole resposiblity to handle focus and displaying
> > of windows on screen.
> All what you describe doesn't solve the issue presented in this thread.
> xorg mailing list
> xorg at lists.freedesktop.org
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler) raster at rasterman.com
Tokyo, Japan (東京 日本)
More information about the xorg