2009/11/25 Fredrik Höglund <fred...@kde.org>: > On Wednesday 25 November 2009, Cody Russell wrote: >> Hi, >> >> I'm working on adding support to GTK+ for doing client-side window >> decorations, and there are a couple additional hints that seem like they >> would be useful to propose. >> >> Part of this work is involving changing GTK+ to use RGBA windows by >> default. For this, I'd like to propose an XserverRegion hint that >> contains a region marking what parts of the window are known to be >> opaque. The idea being that this could be used by a WM/compositor to >> optimize which parts of the window it needs to composite, if it's useful >> to the WM/compositor (or it could be ignored; a GL compositor may not >> find this kind of information very useful, for example). This might be >> called _NET_OPAQUE_REGION. > > I think it would be preferable to store the rectangles directly in the > property. > > The reason is that if the window manager wants to fetch the rectangles, > it first has to make a synchronous call to fetch the ID, followed by another > synchronous call to fetch the rectangles, while it only has to make > one such call if the rectangles are stored directly in the property. > > If the window manager needs an XserverRegion it would have to create > it, but this is an asynchronous call. > >> The other hint that would be useful is a hint similar to >> _NET_FRAME_EXTENTS that specifies client-side drop shadow extents. The >> main idea here being that the WM could take advantage of this to know >> where to perform window snapping for windows whose decorations and >> drop-shadows are drawn client-side. This might be called >> _NET_SHADOW_EXTENTS. > > I think this is a good idea, but maybe it should have a more generic > name, since the client may draw something other than a shadow > around the window.
How would a compositing manager which decorates windows with, for example, shadows, know not to draw shadows around/over/under the client's shadows? I believe that window frames and other decorations should each be done by a single client or there will be innumerable conflicts involved. Cheers, Dana _______________________________________________ wm-spec-list mailing list wm-spec-list@gnome.org http://mail.gnome.org/mailman/listinfo/wm-spec-list