if (visual_string && *visual_string)
{
- if (visual != desired_visual)
+ char *s;
+ for (s = visual_string; *s; s++)
+ if (isupper (*s)) *s = _tolower (*s);
+
+ if (!strcmp (visual_string, "default") ||
+ !strcmp (visual_string, "default") ||
+ !strcmp (visual_string, "best"))
+ /* don't warn about these, just silently DWIM. */
+ ;
+ else if (visual != desired_visual)
{
fprintf (stderr, "%s: ignoring `-visual %s' because of `%s'.\n",
progname, visual_string, why);
fprintf (stderr, "%s: using %s's colormap 0x%x.\n",
progname, win, (unsigned long) cmap);
}
+
+# ifdef USE_GL
+ if (!validate_gl_visual (stderr, screen, win, visual))
+ exit (1);
+# endif /* USE_GL */
}
Boolean def_visual_p;
visual = pick_visual (screen);
+# ifdef USE_GL
+ if (!validate_gl_visual (stderr, screen, "window", visual))
+ exit (1);
+# endif /* USE_GL */
+
if (toplevel->core.width <= 0)
toplevel->core.width = 600;
if (toplevel->core.height <= 0)
XtNcolormap, cmap,
XtNbackground, (Pixel) bg,
XtNborderColor, (Pixel) bd,
+ XtNinput, True, /* for WM_HINTS */
0);
XtDestroyWidget (toplevel);
toplevel = new;
}
else
{
- XtVaSetValues (toplevel, XtNmappedWhenManaged, False, 0);
+ XtVaSetValues (toplevel,
+ XtNmappedWhenManaged, False,
+ XtNinput, True, /* for WM_HINTS */
+ 0);
XtRealizeWidget (toplevel);
window = XtWindow (toplevel);
XIfEvent (dpy, &event, MapNotify_event_p, (XPointer) window);
XSync (dpy, False);
- srandom ((int) time ((time_t *) 0));
+
+ /* This is the one and only place that the random-number generator is
+ seeded in any screenhack. You do not need to seed the RNG again,
+ it is done for you before your code is invoked. */
+# undef ya_rand_init
+ ya_rand_init (0);
+
screenhack (dpy, window); /* doesn't return */
return 0;
}