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>
babbled:

>  
> 
> > -----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
this heavily.

> > 
> >  - 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.
> 
> -Amir
> 
> _______________________________________________
> xorg mailing list
> xorg at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xorg
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    raster at rasterman.com
裸好多
Tokyo, Japan (東京 日本)



More information about the xorg mailing list