* This program accepts ClientMessages of type SCREENSAVER; these messages
* may contain the atom ACTIVATE or DEACTIVATE, meaning to turn the
* screensaver on or off now, regardless of the idleness of the user,
- * and a few other things. The included "xscreensaver_command" program
+ * and a few other things. The included "xscreensaver-command" program
* sends these messsages.
*
* If we don't have the XIdle, MIT-SCREEN-SAVER, or SGI SCREEN_SAVER
* KeyPress on windows which don't select them, because that would
* interfere with event propagation. This will break if any program
* changes its event mask to contain KeyRelease or PointerMotion more than
- * 30 seconds after creating the window, but that's probably pretty rare.
- *
+ * 30 seconds after creating the window, but such programs do not seem to
+ * occur in nature (I've never seen it happen in all these years.)
+ *
* The reason that we can't select KeyPresses on windows that don't have
* them already is that, when dispatching a KeyPress event, X finds the
* lowest (leafmost) window in the hierarchy on which *any* client selects
* to keep your emacs window alive even when xscreensaver has grabbed.
* - Go read the code related to `debug_p'.
* - You probably can't set breakpoints in functions that are called on
- * the other side of a call to fork() -- if your clients are dying
- * with signal 5, Trace/BPT Trap, you're losing in this way.
+ * the other side of a call to fork() -- if your subprocesses are
+ * dying with signal 5, Trace/BPT Trap, you're losing in this way.
* - If you aren't using a server extension, don't leave this stopped
* under the debugger for very long, or the X input buffer will get
* huge because of the keypress events it's selecting for. This can
* make your X server wedge with "no more input buffers."
- *
+ *
* ======================================================================== */
#ifdef HAVE_CONFIG_H
" arguments `-sync -verbose', and reproduce this bug. That will cause\n"
" xscreensaver to dump a `core' file to the current directory. Please\n"
" include the stack trace from that core file in your bug report.\n"
+ " Do NOT mail the core file itself! That won't work.\n"
"\n"
" http://www.jwz.org/xscreensaver/bugs.html explains how to create the\n"
" most useful bug reports, and how to examine core files.\n"
si->locking_disabled_p = True;
si->nolock_reason = "not compiled with locking support";
#else /* !NO_LOCKING */
- si->locking_disabled_p = False;
/* Finish initializing locking, now that we're out of privileged code. */
if (! lock_init (*argc, argv, si->prefs.verbose_p))
p->lock_p && /* and locking is enabled */
!si->locking_disabled_p && /* and locking is possible */
lock_timeout == 0) /* and locking is not timer-deferred */
- si->locked_p = True; /* then lock right now. */
+ set_locked_p (si, True); /* then lock right now. */
/* locked_p might be true already because of the above, or because of
the LOCK ClientMessage. But if not, and if we're supposed to lock
kill_screenhack (si);
unblank_screen (si);
- si->locked_p = False;
+ set_locked_p (si, False);
si->emergency_lock_p = False;
si->demoing_p = 0;
si->selection_mode = 0;
char *response = (until_idle_p
? "activating and locking."
: "locking.");
- si->locked_p = True;
- si->selection_mode = 0;
- si->demoing_p = False;
sprintf (buf, "LOCK ClientMessage received; %s", response);
clientmessage_response (si, window, False, buf, response);
+ set_locked_p (si, True);
+ si->selection_mode = 0;
+ si->demoing_p = False;
if (si->lock_id) /* we're doing it now, so lose the timeout */
{
{ "DOUBLE-BUFFER", "Double-Buffering" },
{ "DPMS", "Power Management" },
{ "GLX", "GLX" },
- { "XFree86-VidModeExtension", "XF86 Video-Mode" }
+ { "XFree86-VidModeExtension", "XF86 Video-Mode" },
+ { "XINERAMA", "Xinerama" }
};
fprintf (stderr, "%s: running on display \"%s\"\n", blurb(),