From cf665b135b41d4f42067f9d9a8111c9602777cc1 Mon Sep 17 00:00:00 2001 From: Zygo Blaxell Date: Mon, 2 Mar 2009 00:42:30 -0500 Subject: [PATCH] http://ftp.x.org/contrib/applications/xscreensaver-3.02.tar.gz -rw-r--r-- 1 zblaxell zblaxell 957244 Oct 24 1998 xscreensaver-3.02.tar.gz a3f2167b0c5ee748880d60035f2869b41c438804 xscreensaver-3.02.tar.gz --- README | 1 + config.h.in | 3 ++ configure | 2 +- configure.in | 2 +- driver/XScreenSaver.ad.in | 4 +- driver/remote.c | 5 ++- driver/timers.c | 4 +- driver/xscreensaver-command.man | 2 +- driver/xscreensaver-demo.man | 26 +++++------ driver/xscreensaver.man | 80 ++++++++++++++++----------------- utils/version.h | 2 +- xscreensaver.lsm | 10 ++--- 12 files changed, 72 insertions(+), 69 deletions(-) diff --git a/README b/README index acd0497a..6473e950 100644 --- a/README +++ b/README @@ -77,6 +77,7 @@ http://www.jwz.org/xscreensaver/. ============ +Changes since 3.01: * Not everyone has sys/select.h, sigh... Changes since 3.00: * Some fixes to `reflect'. * Configure tweaks. * Made it log unsuccessful attempts to unlock the screen diff --git a/config.h.in b/config.h.in index 98424f9b..4891a254 100644 --- a/config.h.in +++ b/config.h.in @@ -289,6 +289,9 @@ /* Define if you have the header file. */ #undef HAVE_CRYPT_H +/* Define if you have that defines fd_set and FD_SET. */ +#undef HAVE_SYS_SELECT_H + /* Define to use sigaction() instead of signal() for SIGCHLD-related activity. This is necessary at least on SCO OpenServer 5, due to a Unix kernel bug. */ diff --git a/configure b/configure index c340a679..6582f349 100755 --- a/configure +++ b/configure @@ -1841,7 +1841,7 @@ fi done -for ac_hdr in unistd.h crypt.h +for ac_hdr in unistd.h crypt.h sys/select.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 diff --git a/configure.in b/configure.in index 62495c42..8dec22a9 100644 --- a/configure.in +++ b/configure.in @@ -149,7 +149,7 @@ fi AC_CHECK_FUNCS(select fcntl uname nice setpriority getcwd getwd putenv) AC_CHECK_FUNCS(sigaction syslog) -AC_CHECK_HEADERS(unistd.h crypt.h) +AC_CHECK_HEADERS(unistd.h crypt.h sys/select.h) dnl /usr/local/src/ssh-1.2.17/putenv.c -- AC_REPLACE_FUNCS(putenv) diff --git a/driver/XScreenSaver.ad.in b/driver/XScreenSaver.ad.in index ba06bb85..df96ad10 100644 --- a/driver/XScreenSaver.ad.in +++ b/driver/XScreenSaver.ad.in @@ -4,8 +4,8 @@ ! a screen saver and locker for the X window system ! by Jamie Zawinski ! -! version 3.01 -! 24-Oct-98 +! version 3.02 +! 25-Oct-98 ! ! See "man xscreensaver" for more info. The latest version is always ! available at http://www.jwz.org/xscreensaver/ diff --git a/driver/remote.c b/driver/remote.c index 31d4580c..0a262e0f 100644 --- a/driver/remote.c +++ b/driver/remote.c @@ -18,7 +18,10 @@ #include #include #include -#include + +#ifdef HAVE_SYS_SELECT_H +# include +#endif /* HAVE_SYS_SELECT_H */ #ifdef HAVE_UNISTD_H # include diff --git a/driver/timers.c b/driver/timers.c index c909287c..205906b5 100644 --- a/driver/timers.c +++ b/driver/timers.c @@ -476,7 +476,9 @@ sleep_until_idle (saver_info *si, Bool until_idle_p) */ if (!until_idle_p) { - if (si->demoing_p && event.xany.type == MotionNotify) + if (si->demoing_p && + (event.xany.type == MotionNotify || + event.xany.type == KeyRelease)) /* When we're demoing a single hack, mouse motion doesn't cause deactivation. Only clicks and keypresses do. */ ; diff --git a/driver/xscreensaver-command.man b/driver/xscreensaver-command.man index 7be17e52..5a7bbb61 100644 --- a/driver/xscreensaver-command.man +++ b/driver/xscreensaver-command.man @@ -11,7 +11,7 @@ .if n .sp 1 .if t .sp .5 .. -.TH XScreenSaver 1 "24-Oct-98 (3.01)" "X Version 11" +.TH XScreenSaver 1 "25-Oct-98 (3.02)" "X Version 11" .SH NAME xscreensaver-command - control a running xscreensaver process .SH SYNOPSIS diff --git a/driver/xscreensaver-demo.man b/driver/xscreensaver-demo.man index 57855825..e9e504dd 100644 --- a/driver/xscreensaver-demo.man +++ b/driver/xscreensaver-demo.man @@ -11,7 +11,7 @@ .if n .sp 1 .if t .sp .5 .. -.TH XScreenSaver 1 "24-Oct-98 (3.01)" "X Version 11" +.TH XScreenSaver 1 "25-Oct-98 (3.02)" "X Version 11" .SH NAME xscreensaver-demo - interactively control the background xscreensaver daemon .SH SYNOPSIS @@ -77,8 +77,6 @@ so that the settings will persist next time. .B Quit Exits the \fIxscreensaver-demo\fP program. The background \fIxscreensaver\fP daemon will continue running as before. -.BR xscreensaver\-command (1). - .P The Preferences dialog box lets you change the following settings. @@ -156,25 +154,25 @@ screen-saving mode. accepts the following command line options. .TP 8 .B \-display \fIhost:display.screen\fP -The X display to use. The \fIxscreensaver\-demo\fP program will control -the \fIxscreensaver\fP daemon that is running on that same display. - -It's important that the \fIxscreensaver\fP and \fIxscreensaver\-demo\fP -processes be running on the same machine, or at least, on two machines -that share a file system: when \fIxscreensaver\-demo\fP writes a new version -of the \fI~/.xscreensaver\fP file, it's important that the \fIxscreensaver\fP -see that same file. If the two processes are seeing -different \fI~/.xscreensaver\fP files, things will malfunction. +The X display to use. The \fIxscreensaver\-demo\fP program will open its +window on that display, and also control the \fIxscreensaver\fP daemon that +is managing that same display. .TP 8 .B \-prefs Start up in Preferences mode: this is just like launching the program with no arguments, and then pressing the \fIPreferences\fP button. +.P +It is important that the \fIxscreensaver\fP and \fIxscreensaver\-demo\fP +processes be running on the same machine, or at least, on two machines +that share a file system. When \fIxscreensaver\-demo\fP writes a new version +of the \fI~/.xscreensaver\fP file, it's important that the \fIxscreensaver\fP +see that same file. If the two processes are seeing +different \fI~/.xscreensaver\fP files, things will malfunction. .SH ENVIRONMENT .PP .TP 8 .B DISPLAY -to get the default host and display number. See the comments about -the \fI\-display\fP command-line option above. +to get the default host and display number. .TP 8 .B PATH to find the sub-programs to run. However, note that the sub-programs diff --git a/driver/xscreensaver.man b/driver/xscreensaver.man index ac9326ca..6a031b33 100644 --- a/driver/xscreensaver.man +++ b/driver/xscreensaver.man @@ -11,7 +11,7 @@ .if n .sp 1 .if t .sp .5 .. -.TH XScreenSaver 1 "24-Oct-98 (3.01)" "X Version 11" +.TH XScreenSaver 1 "25-Oct-98 (3.02)" "X Version 11" .SH NAME xscreensaver - graphics hack and screen locker, launched when the user is idle .SH SYNOPSIS @@ -62,9 +62,10 @@ For the impatient, try this: xscreensaver & xscreensaver-demo .EE -The \fIxscreensaver\-demo\fP program should pop up a dialog box -that lets you experiment with the xscreensaver settings and graphics -modes. +The +.BR xscreensaver-demo (1) +program should pop up a dialog box that lets you experiment with the +xscreensaver settings and graphics modes. .B Note: unlike @@ -78,7 +79,7 @@ programs. .SH CONFIGURATION Options to \fIxscreensaver\fP are specified in one of two places: in a \fI.xscreensaver\fP file in your home directory; or in the X resource -database. If a \fI.xscreensaver\fP file exists, it overrides any settings +database. If the \fI.xscreensaver\fP file exists, it overrides any settings in the resource database. The syntax of the \fI.xscreensaver\fP file is similar to that of @@ -306,15 +307,15 @@ If the display has multiple screens, then a different program will be run for each screen. (All screens are blanked and unblanked simultaniously.) Note that you must escape the newlines; here is an example of how you -might set this in your \fI~/.Xdefaults\fP file: +might set this in your \fI~/.xscreensaver\fP file: .RS 8 .EX -xscreensaver.programs: \\ - qix -root \\n\\ - ico -r -faces -sleep 1 -obj ico \\n\\ - xdaliclock -builtin2 -root \\n\\ - xv -root -rmode 5 image.gif -quit \\n +programs: \\ + qix -root \\n\\ + ico -r -faces -sleep 1 -obj ico \\n\\ + xdaliclock -builtin2 -root \\n\\ + xv -root -rmode 5 image.gif -quit \\n .EE .RE .RS 8 @@ -325,17 +326,17 @@ programs listed in the \fIprograms\fP resource. To use a program as a screensaver, two things are required: that that program draw on the root window (or be able to be configured to draw on the root window); and that that program understand ``virtual root'' -windows, as used by virtual window managers such as \fItvtwm\fP. (Generally, -this is accomplished by just including the \fI"vroot.h"\fP header file in -the program's source.) +windows, as used by virtual window managers such as +.BR tvtwm (1). +(Generally, this is accomplished by just including the \fI"vroot.h"\fP +header file in the program's source.) If there are some programs that you want to run only when using a color display, and others that you want to run only when using a monochrome display, you can specify that like this: - .EX - mono: mono-program -root \\n\\ - color: color-program -root \\n\\ + mono: mono-program -root \\n\\ + color: color-program -root \\n\\ .EE .RE .RS 8 @@ -343,17 +344,12 @@ More generally, you can specify the kind of visual that should be used for the window on which the program will be drawing. For example, if one program works best if it has a colormap, but another works best if it has a 24-bit visual, both can be accommodated: - .EX - PseudoColor: cmap-program -root \\n\\ - TrueColor: 24bit-program -root \\n\\ + PseudoColor: cmap-program -root \\n\\ + TrueColor: 24bit-program -root \\n\\ .EE .RE .RS 8 -(This sort of thing used to be accomplished with the \fIcolorPrograms\fP -and \fImonoPrograms\fP resources, but those resources have now been removed; -a warning will be issued if they are used.) - In addition to the symbolic visual names described above (in the discussion of the \fIvisualID\fP resource) one other visual name is supported in the \fIprograms\fP list: @@ -530,13 +526,12 @@ using the \fI\-xrm\fP argument. Most of the interesting resources have command-line equivalents, however. .SH HOW IT WORKS When it is time to activate the screensaver, a full-screen black window is -created on each screen of the display. The window or windows is given the -appropriate properties so that, to any subsequently-created programs, it -will appear to be a ``virtual root'' window. Because of this, any program -which draws on the root window (and which understands virtual roots) can be -used as a screensaver. +created on each screen of the display. Each window is created in such a way +that, to any subsequently-created programs, it will appear to be a ``virtual +root'' window. Because of this, any program which draws on the root +window (and which understands virtual roots) can be used as a screensaver. -When the user becomes active again, the screensaver windows are unmapped and +When the user becomes active again, the screensaver windows are unmapped, and the running subprocesses are killed by sending them \fBSIGTERM\fP. This is also how the subprocesses are killed when the screensaver decides that it's time to run a different demo: the old one is killed and a new one is launched. @@ -880,8 +875,8 @@ how to configure the system to do this for all users automatically. In order for it to be safe for xscreensaver to be launched by \fIxdm\fP, certain precautions had to be taken, among them that xscreensaver never runs as \fIroot\fP. In particular, if it is launched as root (as \fIxdm\fP -is likely to do), xscreensaver will disavow its privileges, and switch to -a safe user id (such as \fInobody\fP.) +is likely to do), xscreensaver will disavow its privileges, and switch +itself to a safe user id (such as \fInobody\fP.) An implication of this is that if you log in as \fIroot\fP on the console, xscreensaver will refuse to lock the screen (because it can't tell @@ -923,8 +918,8 @@ If you get an error message like ``couldn't get password of \fIuser\fP'' then this probably means that you're on a system in which the .BR getpwent (3) library routine can only be effectively used by root. If this is the case, -then \fIxscreensaver\fP must be installed as setuid to root. Care has -been taken to make this a safe thing to do. +then \fIxscreensaver\fP must be installed as setuid to root in order for +locking to work. Care has been taken to make this a safe thing to do. It also may mean that your system uses shadow passwords instead of the standard .BR getpwent (3) @@ -1087,16 +1082,16 @@ If anyone would care to explain it to me, that would be great. Your mileage, therefore, may vary dramatically. .TP 8 .B MesaGL and Voodoo Cards -If you have a 3Dfx/Voodoo card, the default settings for xscreensaver will run -the GL-based graphics demos in such a way that they will not take advantage -of the 3D acceleration hardware. The solution is to change the \fBprograms\fP -entries for the GL hacks from this: +If you have a 3Dfx/Voodoo card, the default settings for xscreensaver will +run the GL-based graphics demos in such a way that they will not take +advantage of the 3D acceleration hardware. The solution is to change +the \fBprograms\fP entries for the GL hacks from this: .EX - gears -root \\n\\ + gears -root \\n\\ .EE to this: .EX - MESA_GLX_FX=fullscreen gears \\n\\ + MESA_GLX_FX=fullscreen gears \\n\\ .EE That is, make sure that \fB$MESA_GLX_FX\fP is set to \fIfullscreen\fP, and don't tell the program to draw on the root window. This may seem strange, @@ -1105,8 +1100,9 @@ but the setup used by Mesa and these kinds of cards \fIis\fP strange! For those who don't know, these cards work by sitting between your normal video card and the monitor, and seizing control of the monitor when it's time to do 3D. But this means that accelerated 3D only happens in full-screen -mode (you can't do it in a window) and that 3D will probably drive your -monitor at a lower resolution, as well. It's bizarre. +mode (you can't do it in a window, and you can't see the output of 3D and 2D +programs simultaniously), and that 3D will probably drive your monitor at a +lower resolution, as well. It's bizarre. .TP 8 .B Extensions If you are not making use of one of the server extensions (\fBXIDLE\fP, diff --git a/utils/version.h b/utils/version.h index 604c2b66..d59414e7 100644 --- a/utils/version.h +++ b/utils/version.h @@ -1,2 +1,2 @@ static const char screensaver_id[] = - "@(#)xscreensaver 3.01 (24-Oct-98), by Jamie Zawinski (jwz@jwz.org)"; + "@(#)xscreensaver 3.02 (25-Oct-98), by Jamie Zawinski (jwz@jwz.org)"; diff --git a/xscreensaver.lsm b/xscreensaver.lsm index 241b03a7..95831514 100644 --- a/xscreensaver.lsm +++ b/xscreensaver.lsm @@ -1,7 +1,7 @@ Begin3 Title: xscreensaver -Version: 3.01 -Entered-date: 24OCT98 +Version: 3.02 +Entered-date: 25OCT98 Description: A modular screen saver and locker for the X Window System. Highly customizable: allows the use of any program that can draw on the root window as a display mode. @@ -10,15 +10,15 @@ Keywords: screen saver, screen lock, lock, xlock, X11 Author: jwz@jwz.org (Jamie Zawinski) Maintained-by: jwz@jwz.org (Jamie Zawinski) Primary-site: http://www.jwz.org/xscreensaver/ - 957K xscreensaver-3.01.tar.gz + 957K xscreensaver-3.02.tar.gz 24K xscreensaver.README 1K xscreensaver.lsm Alternate-site: sunsite.unc.edu /pub/Linux/X11/screensavers/ - 957K xscreensaver-3.01.tar.gz + 957K xscreensaver-3.02.tar.gz 24K xscreensaver.README 1K xscreensaver.lsm Alternate-site: ftp.x.org /contrib/applications/ - 957K xscreensaver-3.01.tar.gz + 957K xscreensaver-3.02.tar.gz 24K xscreensaver.README 1K xscreensaver.lsm Platforms: Linux, Irix, SunOS, Solaris, HPUX, AIX, FreeBSD, NetBSD, -- 2.30.2