-/* xscreensaver, Copyright (c) 1998, 2001 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1998-2005 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
Bool handle_clientmessage (saver_info *si, XEvent *e, Bool u) { return False; }
int BadWindow_ehandler (Display *dpy, XErrorEvent *error) { exit(1); }
const char *signal_name(int signal) { return "???"; }
-void restore_real_vroot (saver_info *si) {}
+Bool restore_real_vroot (saver_info *si) { return False; }
void store_saver_status (saver_info *si) {}
void saver_exit (saver_info *si, int status, const char *core) { exit(status);}
int move_mouse_grab (saver_info *si, Window to, Cursor c, int ts) { return 0; }
int mouse_screen (saver_info *si) { return 0; }
+void check_for_leaks (const char *where) { }
+void exec_command (const char *shell, const char *command, int nice) { }
+int on_path_p (const char *program) { return 0; }
+void shutdown_stderr (saver_info *si) { }
const char *blurb(void) { return progname; }
Atom XA_SCREENSAVER, XA_DEMO, XA_PREFS;
*y_ret = 0;
*w_ret = WidthOfScreen (ssi->screen);
*h_ret = HeightOfScreen (ssi->screen);
+
+ if (*w_ret > *h_ret * 2) *w_ret /= 2; /* xinerama kludge */
}
}
+#ifdef __GNUC__
+ __extension__ /* shut up about "string length is greater than the length
+ ISO C89 compilers are required to support" when including
+ the .ad file... */
+#endif
+
static char *fallback[] = {
#include "XScreenSaver_ad.h"
0
exit (1);
}
+#ifdef NO_LOCKING
+ if (which == PASS || which == TTY)
+ {
+ fprintf (stderr, "%s: compiled with NO_LOCKING\n", progname);
+ exit (1);
+ }
+#endif
+
+#ifndef NO_LOCKING
/* before hack_uid() for proper permissions */
lock_priv_init (argc, argv, True);
hack_uid (si);
- if (! lock_init (argc, argv, si->prefs.verbose_p))
+ if (! lock_init (argc, argv, True))
{
si->locking_disabled_p = True;
si->nolock_reason = "error getting password";
}
+#endif
progclass = "XScreenSaver";
db = p->db;
XtGetApplicationNameAndClass (si->dpy, &progname, &progclass);
- load_init_file (&si->prefs);
-
+ load_init_file (si->dpy, &si->prefs);
}
p->verbose_p = True;
while (1)
{
+#ifndef NO_LOCKING
if (which == PASS)
{
if (unlock_p (si))
XSync(si->dpy, False);
sleep (3);
}
- else if (which == SPLASH)
+ else
+#endif
+ if (which == SPLASH)
{
XEvent event;
make_splash_dialog (si);
if (pass[strlen(pass)-1] == '\n')
pass[strlen(pass)-1] = 0;
+#ifndef NO_LOCKING
if (passwd_valid_p (pass, True))
printf ("%s: Ok!\n", progname);
else
printf ("%s: Wrong!\n", progname);
+#endif
}
else
abort();