X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fscreenhack.c;h=7c11b35b04be6f5b9209b3ff63e806582a007498;hb=8eb2873d7054e705c4e83f22d18c40946a9e2529;hp=793c6e3ac7e6a6616d041c232a04aae9fec28a6d;hpb=93f25dc6827112d98b8b855ea85c8f5eb8123086;p=xscreensaver diff --git a/hacks/screenhack.c b/hacks/screenhack.c index 793c6e3a..7c11b35b 100644 --- a/hacks/screenhack.c +++ b/hacks/screenhack.c @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1992, 1995, 1997, 1998 +/* xscreensaver, Copyright (c) 1992, 1995, 1997, 1998, 2001 * Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its @@ -88,6 +88,7 @@ static char *default_defaults[] = { "*installColormap: false", "*visualID: default", "*windowID: ", + "*desktopGrabber: xscreensaver-getimage %s", 0 }; @@ -329,6 +330,11 @@ visual_warning (Screen *screen, Window window, Visual *visual, Colormap cmap, 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 */ } @@ -401,7 +407,8 @@ main (int argc, char **argv) int i; int x = 18; int end = 78; - Bool help_p = !strcmp(argv[1], "-help"); + Bool help_p = (!strcmp(argv[1], "-help") || + !strcmp(argv[1], "--help")); fprintf (stderr, "%s\n", version); for (s = progclass; *s; s++) fprintf(stderr, " "); fprintf (stderr, " http://www.jwz.org/xscreensaver/\n\n"); @@ -424,7 +431,44 @@ main (int argc, char **argv) if (argp) fprintf (stderr, " "); if (i != merged_options_size - 1) fprintf (stderr, ", "); } + fprintf (stderr, ".\n"); + +#if 0 + if (help_p) + { + fprintf (stderr, "\nResources:\n\n"); + for (i = 0; i < merged_options_size; i++) + { + const char *opt = merged_options [i].option; + const char *res = merged_options [i].specifier + 1; + const char *val = merged_options [i].value; + char *s = get_string_resource ((char *) res, (char *) res); + + if (s) + { + int L = strlen(s); + while (L > 0 && (s[L-1] == ' ' || s[L-1] == '\t')) + s[--L] = 0; + } + + fprintf (stderr, " %-16s %-18s ", opt, res); + if (merged_options [i].argKind == XrmoptionSepArg) + { + fprintf (stderr, "[%s]", (s ? s : "?")); + } + else + { + fprintf (stderr, "%s", (val ? val : "(null)")); + if (val && s && !strcasecmp (val, s)) + fprintf (stderr, " [default]"); + } + fprintf (stderr, "\n"); + } + fprintf (stderr, "\n"); + } +#endif + exit (help_p ? 0 : 1); } @@ -468,6 +512,11 @@ main (int argc, char **argv) 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)