[PATCH] dix: adds support for none root window background

Tiago Vignatti tiago.vignatti at nokia.com
Wed Nov 3 08:55:43 PDT 2010


On Tue, Nov 02, 2010 at 05:55:12PM +0200, ext Rami Ylim�ki wrote:
> 
>  On 10/28/2010 04:57 PM, Tiago Vignatti wrote:
> >diff --git a/dix/window.c b/dix/window.c
> >index cfebb9d..7a47221 100644
> >--- a/dix/window.c
> >+++ b/dix/window.c
> >@@ -137,6 +137,8 @@ Equipment Corporation.
> >   *    ChangeWindowDeviceCursor
> >   ******/
> >
> >+Bool bgNoneRoot = FALSE;
> >+
> >  static unsigned char _back_lsb[4] = {0x88, 0x22, 0x44, 0x11};
> >  static unsigned char _back_msb[4] = {0x11, 0x44, 0x22, 0x88};
> >
> >@@ -463,6 +465,10 @@ InitRootWindow(WindowPtr pWin)
> >      if (party_like_its_1989) {
> >          MakeRootTile(pWin);
> >          backFlag |= CWBackPixmap;
> >+    } else if (pScreen->canDoBGNoneRoot&&  bgNoneRoot) {
> >+        pWin->backgroundState = XaceBackgroundNoneState(pWin);
> >+        pWin->background.pixel = pScreen->whitePixel;
> >+        backFlag |= CWBackPixmap;
> >      } else {
> >  	if (whiteRoot)
> >              pWin->background.pixel = pScreen->whitePixel;
> 
> I think this part should be harmonized with ChangeWindowAttributes.
> It should be possible to set the root window background to None from
> clients also. Currently is seems that MakeRootTile is enforced in
> ChangeWindowAttributes even though I can't find justification for
> that.

It seems a bug we have then and should be fixed. I tried a simple client here
setting window attributes to None or ParentRelative in background_pixmap and
in both cases the background goes black.

Nevertheless my patch doesn't depend on this and probably could be applied. I
mean, I don't want to mess with the windowing system issues at this point.

             Tiago


More information about the xorg-devel mailing list