-/* xscreensaver-command, Copyright (c) 1991-1999
- * by Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver-command, Copyright (c) 1991-2003 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
#include <stdio.h>
#include <stdlib.h>
+#include <time.h>
#include <sys/time.h>
#include <sys/types.h>
static Atom XA_RESTART, XA_PREFS, XA_THROTTLE, XA_UNTHROTTLE;
static char *screensaver_version;
+# ifdef __GNUC__
+ __extension__ /* don't warn about "string length is greater than the
+ length ISO C89 compilers are required to support" in the
+ usage string... */
+# endif
static char *usage = "\n\
usage: %s -<option>\n\
\n\
This program provides external control of a running xscreensaver process.\n\
- Version %s, copyright (c) 1991-1999 Jamie Zawinski <jwz@jwz.org>.\n\
+ Version %s, copyright (c) 1991-2003 Jamie Zawinski <jwz@jwz.org>.\n\
\n\
The xscreensaver program is a daemon that runs in the background.\n\
You control a running xscreensaver process by sending it messages\n\
char *dpyname = 0;
Atom *cmd = 0;
long arg = 0L;
+ char *s;
progname = argv[0];
+ s = strrchr (progname, '/');
+ if (s) progname = s+1;
+
screensaver_version = (char *) malloc (5);
memcpy (screensaver_version, screensaver_id + 17, 4);
screensaver_version [4] = 0;
if (!dpyname) dpyname = (char *) getenv ("DISPLAY");
+
+ if (!dpyname)
+ {
+ dpyname = ":0.0";
+ fprintf (stderr,
+ "%s: warning: $DISPLAY is not set: defaulting to \"%s\".\n",
+ progname, dpyname);
+ }
+
dpy = XOpenDisplay (dpyname);
if (!dpy)
{
so if we're issuing an activation command, wait a second. */
sleep (1);
- i = xscreensaver_command (dpy, *cmd, arg, True);
+ i = xscreensaver_command (dpy, *cmd, arg, True, NULL);
if (i < 0) exit (i);
else exit (0);
}
if (running && changed)
{
int i;
- fprintf (stdout, "RUN", s);
+ fprintf (stdout, "RUN");
for (i = 2; i < nitems; i++)
fprintf (stdout, " %d", (int) data[i]);
fprintf (stdout, "\n");