Hans-Peter Jansen wrote:
> Hi *,
>
> since I'm using XFree86 (about 5 years now mostly successful, thanks),
> I ask myself this question:
> What is the gray bitmap on startup good for, and where did it come from?
>
> I would like to try to patch my XFree to get rid of it (if it is possible
> at all), so any hints, where to start on this is highly appreciated.
>
> current: 4.1.0/SuSE 7.3/mga and CVS from sunday, where I started digging
> after a successful build, but this package is _really_ huge. I started
> analysing xsetroot -gray, and searched for similar X-calls under
> xc/programs/Xserver, but failed to find suspicous calls?
>
> I would be really happy, if some kind mind would shed some light on this.
Hans-Peter,
I submitted a patch a few weeks back which disables the normal root
weave in favor of a black background. It hasn't been applied to the CVS
trunk, yet; but here's the original patch.
Regards,
Jens
--
/\
Jens Owen / \/\ _
[EMAIL PROTECTED] / \ \ \ Steamboat Springs, Colorado
--- xc/programs/Xserver/os/utils.c.jens Mon Jul 29 10:35:48 2002
+++ xc/programs/Xserver/os/utils.c Mon Jul 29 10:34:33 2002
@@ -496,6 +496,7 @@
ErrorF("-audit int set audit trail level\n");
ErrorF("-auth file select authorization file\n");
ErrorF("bc enable bug compatibility\n");
+ ErrorF("-br create root window with black background\n");
ErrorF("+bs enable any backing store support\n");
ErrorF("-bs disable any backing store support\n");
ErrorF("-c turns off key-click\n");
@@ -659,6 +660,8 @@
}
else if ( strcmp( argv[i], "bc") == 0)
permitOldBugs = TRUE;
+ else if ( strcmp( argv[i], "-br") == 0)
+ blackRoot = TRUE;
else if ( strcmp( argv[i], "+bs") == 0)
enableBackingStore = TRUE;
else if ( strcmp( argv[i], "-bs") == 0)
--- xc/programs/Xserver/include/opaque.h.jens Tue Jul 30 08:16:31 2002
+++ xc/programs/Xserver/include/opaque.h Tue Jul 30 08:16:56 2002
@@ -75,6 +75,7 @@
extern Bool permitOldBugs;
extern Bool defeatAccessControl;
extern char* protNoListen;
+extern Bool blackRoot;
--- xc/programs/Xserver/dix/globals.c.jens Sun Jan 27 11:22:09 2002
+++ xc/programs/Xserver/dix/globals.c Mon Jul 29 10:29:28 2002
@@ -126,6 +126,7 @@
every compilation of dix code */
Bool loadableFonts = FALSE;
CursorPtr rootCursor;
+Bool blackRoot=FALSE;
ClientPtr requestingClient; /* XXX this should be obsolete now, remove? */
TimeStamp currentTime;
--- xc/programs/Xserver/dix/window.c.jens Mon Jul 29 10:36:10 2002
+++ xc/programs/Xserver/dix/window.c Tue Jul 30 14:46:50 2002
@@ -101,6 +101,7 @@
#endif
extern Bool permitOldBugs;
+extern Bool blackRoot;
#if defined(NEED_SCREEN_REGIONS)
#define REGION_PTR(pScreen,pWin) \
@@ -345,6 +346,9 @@
for (j = len; j > 0; j--)
*to++ = *from;
+ if (blackRoot)
+ bzero(back, sizeof(back));
+
(*pGC->ops->PutImage)((DrawablePtr)pWin->background.pixmap, pGC, 1,
0, 0, len, 4, 0, XYBitmap, (char *)back);