From 76042704de0302ea952f2631fc296d76098fb002 Mon Sep 17 00:00:00 2001 From: Zygo Blaxell Date: Mon, 2 Mar 2009 00:42:44 -0500 Subject: [PATCH] http://packetstormsecurity.org/UNIX/admin/xscreensaver-3.28.tar.gz -rw-r--r-- 1 zblaxell zblaxell 1497039 Feb 2 2001 xscreensaver-3.28.tar.gz c1a0de2966f30d56c1660519d450b87e4892c95a xscreensaver-3.28.tar.gz --- README | 41 +- configure | 852 +-- configure.in | 69 +- driver/Makefile.in | 127 +- driver/XScreenSaver.ad.in | 55 +- driver/XScreenSaver_ad.h | 42 +- driver/demo-Gtk-widgets.c | 632 +- driver/demo-Gtk.c | 281 +- driver/demo-Xm.c | 111 +- driver/dpms.c | 137 + driver/lock.c | 20 +- driver/prefs.c | 274 +- driver/prefs.h | 16 +- driver/screensaver-properties-capplet | 19 + driver/splash.c | 26 +- driver/test-passwd.c | 18 +- driver/timers.c | 9 + driver/windows.c | 43 +- driver/xscreensaver-command.c | 17 +- driver/xscreensaver-command.man | 4 +- driver/xscreensaver-demo.glade | 1383 +++-- driver/xscreensaver-demo.man | 98 +- driver/xscreensaver.c | 198 +- driver/xscreensaver.h | 6 +- driver/xscreensaver.kss | 4 +- driver/xscreensaver.man | 41 +- hacks/Makefile.in | 66 +- hacks/bsod.c | 274 +- hacks/bsod.man | 3 +- hacks/bubbles.man | 13 +- hacks/compile_axp.com | 3 +- hacks/compile_decc.com | 3 +- hacks/glx/Makefile.in | 97 +- hacks/glx/atlantis.c | 4 +- hacks/glx/cage.c | 2 +- hacks/glx/extrusion.c | 2 + hacks/glx/gears.c | 2 +- hacks/glx/gflux.c | 3 +- hacks/glx/glplanet.c | 4 + hacks/glx/glut_roman.h | 2452 ++++++++ hacks/glx/glut_stroke.c | 49 + hacks/glx/glut_swidth.c | 65 + hacks/glx/glutstroke.h | 47 + hacks/glx/lament.c | 4 +- hacks/glx/moebius.c | 2 +- hacks/glx/morph3d.c | 2 +- hacks/glx/pulsar.c | 10 +- hacks/glx/sierpinski3d.c | 2 +- hacks/glx/sproingiewrap.c | 2 +- hacks/glx/stairs.c | 99 +- hacks/glx/starwars.c | 704 +++ hacks/glx/starwars.man | 137 + hacks/glx/stonerview-move.c | 172 + hacks/glx/stonerview-move.h | 23 + hacks/glx/stonerview-osc.c | 341 ++ hacks/glx/stonerview-osc.h | 168 + hacks/glx/stonerview-view.c | 482 ++ hacks/glx/stonerview.c | 65 + hacks/glx/superquadrics.c | 2 +- hacks/glx/xlock-gl.c | 39 + hacks/grav.c | 4 +- hacks/grav.man | 2 +- hacks/hyperball.man | 74 + hacks/link_axp.com | 2 - hacks/link_decc.com | 2 - hacks/maze.c | 51 +- hacks/screenhack.c | 10 + hacks/screenhack.h | 8 +- hacks/sonar.c | 8 +- hacks/webcollage | 138 +- hacks/whirlwindwarp.c | 368 ++ hacks/whirlwindwarp.man | 60 + hacks/xlockmore.h | 2 + hacks/xrayswarm.c | 48 +- hacks/xroger-hack.c | 103 - hacks/xroger.man | 52 - hacks/zoom.c | 205 + hacks/zoom.man | 87 + setup.com | 3 +- utils/Makefile.in | 15 +- utils/compile_axp.com | 2 +- utils/compile_decc.com | 2 +- utils/erase.c | 3 +- utils/logo.c | 1083 ++++ utils/logo.eps | 8058 +++++++++++++++++++++++++ utils/logo.gif | Bin 0 -> 5805 bytes utils/logo.xpm | 86 + utils/version.h | 2 +- utils/visual-gl.c | 268 +- utils/visual.h | 4 +- utils/xroger.c | 134 - xscreensaver.lsm | 16 +- xscreensaver.spec | 4 +- 93 files changed, 18826 insertions(+), 1944 deletions(-) create mode 100644 driver/dpms.c create mode 100755 driver/screensaver-properties-capplet create mode 100644 hacks/glx/glut_roman.h create mode 100644 hacks/glx/glut_stroke.c create mode 100644 hacks/glx/glut_swidth.c create mode 100644 hacks/glx/glutstroke.h create mode 100644 hacks/glx/starwars.c create mode 100644 hacks/glx/starwars.man create mode 100644 hacks/glx/stonerview-move.c create mode 100644 hacks/glx/stonerview-move.h create mode 100644 hacks/glx/stonerview-osc.c create mode 100644 hacks/glx/stonerview-osc.h create mode 100644 hacks/glx/stonerview-view.c create mode 100644 hacks/glx/stonerview.c create mode 100644 hacks/hyperball.man create mode 100644 hacks/whirlwindwarp.c create mode 100644 hacks/whirlwindwarp.man delete mode 100644 hacks/xroger-hack.c delete mode 100644 hacks/xroger.man create mode 100644 hacks/zoom.c create mode 100644 hacks/zoom.man create mode 100644 utils/logo.c create mode 100644 utils/logo.eps create mode 100644 utils/logo.gif create mode 100644 utils/logo.xpm delete mode 100644 utils/xroger.c diff --git a/README b/README index 0aacf8f6..b81c5d33 100644 --- a/README +++ b/README @@ -38,14 +38,11 @@ Getting Started: You can try out xscreensaver like so: xscreensaver & - xscreensaver-command -demo - -After a few seconds, the screen should go black, and a dialog box should -appear in the upper right corner. This is "Demo Mode". + xscreensaver-demo Note: unlike `xlock', xscreensaver has a client-server model: the `xscreensaver' process is a daemon that runs in the background; it is -controlled by the foreground `xscreensaver-command' program. +controlled by the foreground `xscreensaver-demo' program. xscreensaver has an extensive manual -- please read it! @@ -77,6 +74,40 @@ http://www.jwz.org/xscreensaver/. ============ +Changes since 3.27: * New logo for xscreensaver! + * New hacks, `starwars' and `stonerview'. + * Made the motion of the bouncing ball in `stairs' be a + little less jerky. + * Made newly-added screenhacks be added to .xscreensaver + automatically: if there are hacks in the app-defaults + file that are not also in ~/.xscreensaver, they will + be added to the end of the list. + * Redid the `Screensaver Options' part of the control + panel; xscreensaver now lets you configure your DPMS + settings. + * Fixed some Makefile problems with non-GL builds. + * Fixed detection of MesaGL for version 3.3. + * Better workaround to Red Hat 7.0's broken gcc. + * Added Sparc Solaris kernel panic to `bsod'. +Changes since 3.26: * New hacks: `zoom' and `whirlwindwarp'. + * Fixed a free-memory-reference bug in `sonar'. + * Better error handling when there are no suitable GL + visuals. + * Added diagnostic dialog when xscreensaver-demo is + unable to launch xscreensaver (e.g., when running as + root.) + * Fixed a bug that caused screenhack argument changes + to be ignored when xscreensaver-demo was running as + root (if "root" and "nobody" have different home + directories.) + * Made the programs default to ":0" if $DISPLAY is unset. + * Made the `-verbose' output include information about + which server extensions were supported at compile time. + * Worked around Red Hat 7.0's broken gcc 2.96. + * Updated default delays on the GL hacks to look better + on machines with super-fast 3D hardware. + * Install `screensaver-properties-capplet' to work around + the usual egregious GNOME lossage. Changes since 3.25: * Added "enabled" checkboxes in the list of hacks in xscreensaver-demo (Gtk version only.) * New hacks `hyperball', `xrayswarm', and `gflux'. diff --git a/configure b/configure index 944a239d..44721d4a 100755 --- a/configure +++ b/configure @@ -634,6 +634,22 @@ done +############################################################################### +# +# Functions to figure out how to disable // comments in ANSI C code. +# +# (With recent gcc, this is done with "-std=c89". With older gcc, this +# is done by passing "-lang-c89" to cpp, by passing "-Wp,-lang-c89" to +# gcc. Old gcc doesn't support -std, and new gcc doesn't support -lang. +# so much for compatibility!) +# +############################################################################### + + + + + + ############################################################################### # # Function to figure out how to create directory trees. @@ -797,7 +813,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:812: checking host system type" >&5 +echo "configure:828: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -820,7 +836,7 @@ echo "$ac_t""$host" 1>&6 # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:835: checking for $ac_word" >&5 +echo "configure:851: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -850,7 +866,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:865: checking for $ac_word" >&5 +echo "configure:881: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -901,7 +917,7 @@ fi # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:916: checking for $ac_word" >&5 +echo "configure:932: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -933,7 +949,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:948: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:964: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -944,12 +960,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 959 "configure" +#line 975 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:964: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:980: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -975,12 +991,12 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:990: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1006: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:995: checking whether we are using GNU C" >&5 +echo "configure:1011: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -989,7 +1005,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1004: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1020: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -1008,7 +1024,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1023: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1039: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1042,7 +1058,7 @@ fi if test -z "$GCC"; then echo $ac_n "checking how to request ANSI compilation""... $ac_c" 1>&6 -echo "configure:1057: checking how to request ANSI compilation" >&5 +echo "configure:1073: checking how to request ANSI compilation" >&5 case "$host" in *-hpux* ) echo "$ac_t""HPUX: adding -Ae" 1>&6 @@ -1065,16 +1081,16 @@ echo "configure:1057: checking how to request ANSI compilation" >&5 fi echo $ac_n "checking whether the compiler works on ANSI C""... $ac_c" 1>&6 -echo "configure:1080: checking whether the compiler works on ANSI C" >&5 +echo "configure:1096: checking whether the compiler works on ANSI C" >&5 if test "$cross_compiling" = yes; then { echo "configure: error: Couldn't build even a trivial ANSI C program: check CC." 1>&2; exit 1; } else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1105: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then echo "$ac_t""yes" 1>&6 else @@ -1091,8 +1107,6 @@ fi if test -n "$GCC"; then echo "$ac_t""Turning on gcc compiler warnings." 1>&6 CC="$CC -Wall -Wstrict-prototypes -Wnested-externs -Wno-format" - echo "$ac_t""Disabling C++ comments in ANSI C code." 1>&6 - CC="$CC -Wp,-lang-c89" else case "$host" in *-irix5* |*-irix6.0-3* ) @@ -1108,8 +1122,44 @@ fi esac fi +if test -n "$GCC"; then + if test -n "$GCC"; then + echo $ac_n "checking whether gcc accepts -std""... $ac_c" 1>&6 +echo "configure:1140: checking whether gcc accepts -std" >&5 +if eval "test \"`echo '$''{'ac_cv_gcc_accepts_std'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if ( gcc -E -std=c89 - &1 >/dev/null | \ + grep unrecognized >/dev/null ); then + ac_cv_gcc_accepts_std=no + else + ac_cv_gcc_accepts_std=yes + fi +fi + +echo "$ac_t""$ac_cv_gcc_accepts_std" 1>&6 + ac_gcc_accepts_std="$ac_cv_gcc_accepts_std" + fi + + echo "$ac_t""Disabling C++ comments in ANSI C code." 1>&6 + if test "$ac_gcc_accepts_std" = yes ; then + # + # -std=c89 defines __STRICT_ANSI__, which we don't want. + # (That appears to be the only additional preprocessor symbol + # it defines, in addition to the syntax changes it makes.) + # + # -std=gnu89 is no good, because // comments were a GNU + # extension before they were in the ANSI C 99 spec... + # + CC="$CC -std=c89 -U__STRICT_ANSI__" + else + # The old way: + CC="$CC -Wp,-lang-c89" + fi + fi + echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1124: checking how to run the C preprocessor" >&5 +echo "configure:1174: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1124,13 +1174,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1145: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1195: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1141,13 +1191,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1162: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1212: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1158,13 +1208,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1179: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1229: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1189,12 +1239,12 @@ fi echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:1204: checking for working const" >&5 +echo "configure:1254: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1308: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -1264,21 +1314,21 @@ EOF fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:1279: checking for inline" >&5 +echo "configure:1329: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1343: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -1305,7 +1355,7 @@ esac ac_bc_result=`echo 6+9 | bc 2>/dev/null` echo $ac_n "checking for bc""... $ac_c" 1>&6 -echo "configure:1320: checking for bc" >&5 +echo "configure:1370: checking for bc" >&5 if test "$ac_bc_result" = "15" ; then echo "$ac_t""yes" 1>&6 else @@ -1330,7 +1380,7 @@ echo "configure:1320: checking for bc" >&5 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:1345: checking for a BSD compatible install" >&5 +echo "configure:1395: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1383,7 +1433,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo $ac_n "checking whether \"\${INSTALL} -d\" creates intermediate directories""... $ac_c" 1>&6 -echo "configure:1398: checking whether \"\${INSTALL} -d\" creates intermediate directories" >&5 +echo "configure:1448: checking whether \"\${INSTALL} -d\" creates intermediate directories" >&5 if eval "test \"`echo '$''{'ac_cv_install_d_creates_dirs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1405,7 +1455,7 @@ echo "$ac_t""$ac_cv_install_d_creates_dirs" 1>&6 if test "$ac_cv_install_d_creates_dirs" = no ; then echo $ac_n "checking whether \"mkdir -p\" creates intermediate directories""... $ac_c" 1>&6 -echo "configure:1420: checking whether \"mkdir -p\" creates intermediate directories" >&5 +echo "configure:1470: checking whether \"mkdir -p\" creates intermediate directories" >&5 if eval "test \"`echo '$''{'ac_cv_mkdir_p_creates_dirs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1436,7 +1486,7 @@ echo "$ac_t""$ac_cv_mkdir_p_creates_dirs" 1>&6 fi echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:1451: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:1501: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1465,12 +1515,12 @@ fi # random libc stuff echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:1480: checking for ANSI C header files" >&5 +echo "configure:1530: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1478,7 +1528,7 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1493: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1543: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1495,7 +1545,7 @@ rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -1513,7 +1563,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -1534,7 +1584,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -1545,7 +1595,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:1560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1610: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -1572,17 +1622,17 @@ for ac_hdr in unistd.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1587: checking for $ac_hdr" >&5 +echo "configure:1637: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1597: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1647: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1609,12 +1659,12 @@ fi done echo $ac_n "checking for mode_t""... $ac_c" 1>&6 -echo "configure:1624: checking for mode_t" >&5 +echo "configure:1674: checking for mode_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -1642,12 +1692,12 @@ EOF fi echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:1657: checking for pid_t" >&5 +echo "configure:1707: checking for pid_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -1675,12 +1725,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:1690: checking for size_t" >&5 +echo "configure:1740: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -1708,12 +1758,12 @@ EOF fi echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:1723: checking return type of signal handlers" >&5 +echo "configure:1773: checking return type of signal handlers" >&5 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1730,7 +1780,7 @@ int main() { int i; ; return 0; } EOF -if { (eval echo configure:1745: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1795: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -1749,12 +1799,12 @@ EOF echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:1764: checking whether time.h and sys/time.h may both be included" >&5 +echo "configure:1814: checking whether time.h and sys/time.h may both be included" >&5 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1763,7 +1813,7 @@ int main() { struct tm *tp; ; return 0; } EOF -if { (eval echo configure:1778: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1828: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -1784,12 +1834,12 @@ EOF fi echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 -echo "configure:1799: checking for sys/wait.h that is POSIX.1 compatible" >&5 +echo "configure:1849: checking for sys/wait.h that is POSIX.1 compatible" >&5 if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1805,7 +1855,7 @@ wait (&s); s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF -if { (eval echo configure:1820: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1870: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else @@ -1830,12 +1880,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6 -echo "configure:1845: checking for $ac_hdr that defines DIR" >&5 +echo "configure:1895: checking for $ac_hdr that defines DIR" >&5 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include <$ac_hdr> @@ -1843,7 +1893,7 @@ int main() { DIR *dirp = 0; ; return 0; } EOF -if { (eval echo configure:1858: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1908: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_header_dirent_$ac_safe=yes" else @@ -1868,7 +1918,7 @@ done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 -echo "configure:1883: checking for opendir in -ldir" >&5 +echo "configure:1933: checking for opendir in -ldir" >&5 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1876,7 +1926,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldir $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1952: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1909,7 +1959,7 @@ fi else echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 -echo "configure:1924: checking for opendir in -lx" >&5 +echo "configure:1974: checking for opendir in -lx" >&5 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1917,7 +1967,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lx $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1993: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1951,12 +2001,12 @@ fi fi echo $ac_n "checking how to call gettimeofday""... $ac_c" 1>&6 -echo "configure:1966: checking how to call gettimeofday" >&5 +echo "configure:2016: checking how to call gettimeofday" >&5 if eval "test \"`echo '$''{'ac_cv_gettimeofday_args'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1965,7 +2015,7 @@ struct timeval tv; struct timezone tzp; gettimeofday(&tv, &tzp); ; return 0; } EOF -if { (eval echo configure:1980: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2030: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_gettimeofday_args=2 else @@ -1973,7 +2023,7 @@ else cat conftest.$ac_ext >&5 rm -rf conftest* cat > conftest.$ac_ext < #include @@ -1981,7 +2031,7 @@ int main() { struct timeval tv; gettimeofday(&tv); ; return 0; } EOF -if { (eval echo configure:1996: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2046: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_gettimeofday_args=1 else @@ -2020,12 +2070,12 @@ EOF for ac_func in select fcntl uname nice setpriority getcwd getwd putenv do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2035: checking for $ac_func" >&5 +echo "configure:2085: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2113: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2076,12 +2126,12 @@ done for ac_func in sigaction syslog realpath do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2091: checking for $ac_func" >&5 +echo "configure:2141: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2169: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2129,12 +2179,12 @@ fi done echo $ac_n "checking for struct icmp""... $ac_c" 1>&6 -echo "configure:2144: checking for struct icmp" >&5 +echo "configure:2194: checking for struct icmp" >&5 if eval "test \"`echo '$''{'ac_cv_have_icmp'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -2169,7 +2219,7 @@ struct icmp i; ip.ip_hl = 0; ; return 0; } EOF -if { (eval echo configure:2184: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2234: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_icmp=yes else @@ -2189,12 +2239,12 @@ EOF fi echo $ac_n "checking for struct icmphdr""... $ac_c" 1>&6 -echo "configure:2204: checking for struct icmphdr" >&5 +echo "configure:2254: checking for struct icmphdr" >&5 if eval "test \"`echo '$''{'ac_cv_have_icmphdr'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -2229,7 +2279,7 @@ struct icmphdr i; ip.ip_hl = 0; ; return 0; } EOF -if { (eval echo configure:2244: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2294: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_icmphdr=yes else @@ -2252,17 +2302,17 @@ for ac_hdr in 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 -echo "configure:2267: checking for $ac_hdr" >&5 +echo "configure:2317: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2277: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2327: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2293,7 +2343,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2308: checking for $ac_word" >&5 +echo "configure:2358: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2332,7 +2382,7 @@ done PERL_VERSION=0 else echo $ac_n "checking perl version""... $ac_c" 1>&6 -echo "configure:2347: checking perl version" >&5 +echo "configure:2397: checking perl version" >&5 if eval "test \"`echo '$''{'ac_cv_perl_version'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2354,7 +2404,7 @@ fi # Uses ac_ vars as temps to allow command line to override cache and checks. # --without-x overrides everything else, but does not touch the cache. echo $ac_n "checking for X""... $ac_c" 1>&6 -echo "configure:2369: checking for X" >&5 +echo "configure:2419: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then @@ -2416,12 +2466,12 @@ if test "$ac_x_includes" = NO; then # First, try using that file with no special directory specified. cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2436: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2486: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2490,14 +2540,14 @@ if test "$ac_x_libraries" = NO; then ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2562: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* LIBS="$ac_save_LIBS" # We can link X programs with no special library path. @@ -2603,17 +2653,17 @@ else case "`(uname -sr) 2>/dev/null`" in "SunOS 5"*) echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6 -echo "configure:2618: checking whether -R must be followed by a space" >&5 +echo "configure:2668: checking whether -R must be followed by a space" >&5 ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2678: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_nospace=yes else @@ -2629,14 +2679,14 @@ rm -f conftest* else LIBS="$ac_xsave_LIBS -R $x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2701: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_space=yes else @@ -2668,7 +2718,7 @@ rm -f conftest* # libraries were built with DECnet support. And karl@cs.umb.edu says # the Alpha needs dnet_stub (dnet does not exist). echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 -echo "configure:2683: checking for dnet_ntoa in -ldnet" >&5 +echo "configure:2733: checking for dnet_ntoa in -ldnet" >&5 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2676,7 +2726,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldnet $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2752: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2709,7 +2759,7 @@ fi if test $ac_cv_lib_dnet_dnet_ntoa = no; then echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6 -echo "configure:2724: checking for dnet_ntoa in -ldnet_stub" >&5 +echo "configure:2774: checking for dnet_ntoa in -ldnet_stub" >&5 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2717,7 +2767,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldnet_stub $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2793: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2757,12 +2807,12 @@ fi # The nsl library prevents programs from opening the X display # on Irix 5.2, according to dickey@clark.net. echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 -echo "configure:2772: checking for gethostbyname" >&5 +echo "configure:2822: checking for gethostbyname" >&5 if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2850: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else @@ -2806,7 +2856,7 @@ fi if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:2821: checking for gethostbyname in -lnsl" >&5 +echo "configure:2871: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2814,7 +2864,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2890: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2855,12 +2905,12 @@ fi # -lsocket must be given before -lnsl if both are needed. # We assume that if connect needs -lnsl, so does gethostbyname. echo $ac_n "checking for connect""... $ac_c" 1>&6 -echo "configure:2870: checking for connect" >&5 +echo "configure:2920: checking for connect" >&5 if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2948: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_connect=yes" else @@ -2904,7 +2954,7 @@ fi if test $ac_cv_func_connect = no; then echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6 -echo "configure:2919: checking for connect in -lsocket" >&5 +echo "configure:2969: checking for connect in -lsocket" >&5 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2912,7 +2962,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsocket $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2988: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2947,12 +2997,12 @@ fi # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX. echo $ac_n "checking for remove""... $ac_c" 1>&6 -echo "configure:2962: checking for remove" >&5 +echo "configure:3012: checking for remove" >&5 if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3040: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_remove=yes" else @@ -2996,7 +3046,7 @@ fi if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 -echo "configure:3011: checking for remove in -lposix" >&5 +echo "configure:3061: checking for remove in -lposix" >&5 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3004,7 +3054,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lposix $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3080: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3039,12 +3089,12 @@ fi # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo $ac_n "checking for shmat""... $ac_c" 1>&6 -echo "configure:3054: checking for shmat" >&5 +echo "configure:3104: checking for shmat" >&5 if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3132: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_shmat=yes" else @@ -3088,7 +3138,7 @@ fi if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 -echo "configure:3103: checking for shmat in -lipc" >&5 +echo "configure:3153: checking for shmat in -lipc" >&5 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3096,7 +3146,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lipc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3172: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3140,7 +3190,7 @@ fi # libraries we check for below, so use a different variable. # --interran@uluru.Stanford.EDU, kb@cs.umb.edu. echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6 -echo "configure:3155: checking for IceConnectionNumber in -lICE" >&5 +echo "configure:3205: checking for IceConnectionNumber in -lICE" >&5 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3148,7 +3198,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lICE $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3224: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3190,7 +3240,7 @@ fi echo $ac_n "checking for X app-defaults directory""... $ac_c" 1>&6 -echo "configure:3205: checking for X app-defaults directory" >&5 +echo "configure:3255: checking for X app-defaults directory" >&5 if eval "test \"`echo '$''{'ac_cv_x_app_defaults'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3389,7 +3439,7 @@ case "$host" in # Some versions of Slowlaris Motif require -lgen. But not all. Why? echo $ac_n "checking for regcmp in -lgen""... $ac_c" 1>&6 -echo "configure:3404: checking for regcmp in -lgen" >&5 +echo "configure:3454: checking for regcmp in -lgen" >&5 ac_lib_var=`echo gen'_'regcmp | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3397,7 +3447,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lgen $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3473: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3432,7 +3482,7 @@ fi ;; esac echo $ac_n "checking for XPointer""... $ac_c" 1>&6 -echo "configure:3447: checking for XPointer" >&5 +echo "configure:3497: checking for XPointer" >&5 if eval "test \"`echo '$''{'ac_cv_xpointer'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3443,14 +3493,14 @@ else fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" cat > conftest.$ac_ext < int main() { XPointer foo = (XPointer) 0; ; return 0; } EOF -if { (eval echo configure:3465: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3515: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_xpointer=yes else @@ -3488,17 +3538,17 @@ have_xmu=no CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "X11/Xmu/Error.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Xmu/Error.h""... $ac_c" 1>&6 -echo "configure:3503: checking for X11/Xmu/Error.h" >&5 +echo "configure:3553: checking for X11/Xmu/Error.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3513: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3563: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3549,7 +3599,7 @@ if test "$have_xmu" = yes ; then case "$host" in *-sunos4*) echo $ac_n "checking for the SunOS 4.1.x _get_wmShellWidgetClass bug""... $ac_c" 1>&6 -echo "configure:3564: checking for the SunOS 4.1.x _get_wmShellWidgetClass bug" >&5 +echo "configure:3614: checking for the SunOS 4.1.x _get_wmShellWidgetClass bug" >&5 if eval "test \"`echo '$''{'ac_cv_sunos_xmu_bug'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3562,14 +3612,14 @@ else # with X libraries because we know it's SunOS. LDFLAGS="$LDFLAGS -lXmu -lXt -lX11 -lXext -lm" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3634: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_sunos_xmu_bug=no else @@ -3585,21 +3635,21 @@ fi echo "$ac_t""$ac_cv_sunos_xmu_bug" 1>&6 if test "$ac_cv_sunos_xmu_bug" = yes ; then echo $ac_n "checking whether the compiler understands -static""... $ac_c" 1>&6 -echo "configure:3600: checking whether the compiler understands -static" >&5 +echo "configure:3650: checking whether the compiler understands -static" >&5 if eval "test \"`echo '$''{'ac_cv_ld_static'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -static" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3664: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_ld_static=yes else @@ -3682,7 +3732,7 @@ fi /*) echo $ac_n "checking for SGI SCREEN_SAVER headers""... $ac_c" 1>&6 -echo "configure:3697: checking for SGI SCREEN_SAVER headers" >&5 +echo "configure:3747: checking for SGI SCREEN_SAVER headers" >&5 d=$with_sgi/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -3692,7 +3742,7 @@ echo "configure:3697: checking for SGI SCREEN_SAVER headers" >&5 fi echo $ac_n "checking for SGI SCREEN_SAVER libs""... $ac_c" 1>&6 -echo "configure:3707: checking for SGI SCREEN_SAVER libs" >&5 +echo "configure:3757: checking for SGI SCREEN_SAVER libs" >&5 d=$with_sgi/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -3725,17 +3775,17 @@ if test "$with_sgi" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "X11/extensions/XScreenSaver.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/extensions/XScreenSaver.h""... $ac_c" 1>&6 -echo "configure:3740: checking for X11/extensions/XScreenSaver.h" >&5 +echo "configure:3790: checking for X11/extensions/XScreenSaver.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3750: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3800: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3792,7 +3842,7 @@ fi /*) echo $ac_n "checking for MIT-SCREEN-SAVER headers""... $ac_c" 1>&6 -echo "configure:3807: checking for MIT-SCREEN-SAVER headers" >&5 +echo "configure:3857: checking for MIT-SCREEN-SAVER headers" >&5 d=$with_mit/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -3802,7 +3852,7 @@ echo "configure:3807: checking for MIT-SCREEN-SAVER headers" >&5 fi echo $ac_n "checking for MIT-SCREEN-SAVER libs""... $ac_c" 1>&6 -echo "configure:3817: checking for MIT-SCREEN-SAVER libs" >&5 +echo "configure:3867: checking for MIT-SCREEN-SAVER libs" >&5 d=$with_mit/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -3835,17 +3885,17 @@ if test "$with_mit" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "X11/extensions/scrnsaver.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/extensions/scrnsaver.h""... $ac_c" 1>&6 -echo "configure:3850: checking for X11/extensions/scrnsaver.h" >&5 +echo "configure:3900: checking for X11/extensions/scrnsaver.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3860: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3910: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3890,7 +3940,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for XScreenSaverRegister in -lXext""... $ac_c" 1>&6 -echo "configure:3905: checking for XScreenSaverRegister in -lXext" >&5 +echo "configure:3955: checking for XScreenSaverRegister in -lXext" >&5 ac_lib_var=`echo Xext'_'XScreenSaverRegister | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3898,7 +3948,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3974: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3956,7 +4006,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for XScreenSaverRegister in -lXExExt""... $ac_c" 1>&6 -echo "configure:3971: checking for XScreenSaverRegister in -lXExExt" >&5 +echo "configure:4021: checking for XScreenSaverRegister in -lXExExt" >&5 ac_lib_var=`echo XExExt'_'XScreenSaverRegister | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3964,7 +4014,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXExExt -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4040: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4025,7 +4075,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for XScreenSaverRegister in -lXss""... $ac_c" 1>&6 -echo "configure:4040: checking for XScreenSaverRegister in -lXss" >&5 +echo "configure:4090: checking for XScreenSaverRegister in -lXss" >&5 ac_lib_var=`echo Xss'_'XScreenSaverRegister | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4033,7 +4083,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXss -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4109: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4110,7 +4160,7 @@ fi /*) echo $ac_n "checking for XIDLE headers""... $ac_c" 1>&6 -echo "configure:4125: checking for XIDLE headers" >&5 +echo "configure:4175: checking for XIDLE headers" >&5 d=$with_xidle/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -4120,7 +4170,7 @@ echo "configure:4125: checking for XIDLE headers" >&5 fi echo $ac_n "checking for XIDLE libs""... $ac_c" 1>&6 -echo "configure:4135: checking for XIDLE libs" >&5 +echo "configure:4185: checking for XIDLE libs" >&5 d=$with_xidle/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -4153,17 +4203,17 @@ if test "$with_xidle" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "X11/extensions/xidle.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/extensions/xidle.h""... $ac_c" 1>&6 -echo "configure:4168: checking for X11/extensions/xidle.h" >&5 +echo "configure:4218: checking for X11/extensions/xidle.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4178: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4228: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4219,7 +4269,7 @@ fi /*) echo $ac_n "checking for SGI-VIDEO-CONTROL headers""... $ac_c" 1>&6 -echo "configure:4234: checking for SGI-VIDEO-CONTROL headers" >&5 +echo "configure:4284: checking for SGI-VIDEO-CONTROL headers" >&5 d=$with_sgivc/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -4229,7 +4279,7 @@ echo "configure:4234: checking for SGI-VIDEO-CONTROL headers" >&5 fi echo $ac_n "checking for SGI-VIDEO-CONTROL libs""... $ac_c" 1>&6 -echo "configure:4244: checking for SGI-VIDEO-CONTROL libs" >&5 +echo "configure:4294: checking for SGI-VIDEO-CONTROL libs" >&5 d=$with_sgivc/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -4264,17 +4314,17 @@ if test "$with_sgivc" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "X11/extensions/XSGIvc.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/extensions/XSGIvc.h""... $ac_c" 1>&6 -echo "configure:4279: checking for X11/extensions/XSGIvc.h" >&5 +echo "configure:4329: checking for X11/extensions/XSGIvc.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4289: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4339: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4318,7 +4368,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for XSGIvcQueryGammaMap in -lXsgivc""... $ac_c" 1>&6 -echo "configure:4333: checking for XSGIvcQueryGammaMap in -lXsgivc" >&5 +echo "configure:4383: checking for XSGIvcQueryGammaMap in -lXsgivc" >&5 ac_lib_var=`echo Xsgivc'_'XSGIvcQueryGammaMap | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4326,7 +4376,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXsgivc -lXext -lX11 $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4402: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4402,7 +4452,7 @@ fi /*) echo $ac_n "checking for DPMS headers""... $ac_c" 1>&6 -echo "configure:4417: checking for DPMS headers" >&5 +echo "configure:4467: checking for DPMS headers" >&5 d=$with_dpms/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -4412,7 +4462,7 @@ echo "configure:4417: checking for DPMS headers" >&5 fi echo $ac_n "checking for DPMS libs""... $ac_c" 1>&6 -echo "configure:4427: checking for DPMS libs" >&5 +echo "configure:4477: checking for DPMS libs" >&5 d=$with_dpms/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -4447,17 +4497,17 @@ if test "$with_dpms" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "X11/extensions/dpms.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/extensions/dpms.h""... $ac_c" 1>&6 -echo "configure:4462: checking for X11/extensions/dpms.h" >&5 +echo "configure:4512: checking for X11/extensions/dpms.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4472: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4522: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4503,7 +4553,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for DPMSInfo in -lXext""... $ac_c" 1>&6 -echo "configure:4518: checking for DPMSInfo in -lXext" >&5 +echo "configure:4568: checking for DPMSInfo in -lXext" >&5 ac_lib_var=`echo Xext'_'DPMSInfo | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4511,7 +4561,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXext -lXext -lX11 $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4587: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4568,7 +4618,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for DPMSInfo in -lXdpms""... $ac_c" 1>&6 -echo "configure:4583: checking for DPMSInfo in -lXdpms" >&5 +echo "configure:4633: checking for DPMSInfo in -lXdpms" >&5 ac_lib_var=`echo Xdpms'_'DPMSInfo | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4576,7 +4626,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXdpms -lXext -lX11 $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4652: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4602,7 +4652,7 @@ LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - have_dpms=yes; SAVER_LIBS="$SAVER_LIBS -lXdpms" + have_dpms=yes; XDPMS_LIBS="-lXdpms" else echo "$ac_t""no" 1>&6 true @@ -4654,7 +4704,7 @@ fi /*) echo $ac_n "checking for xf86vmode headers""... $ac_c" 1>&6 -echo "configure:4669: checking for xf86vmode headers" >&5 +echo "configure:4719: checking for xf86vmode headers" >&5 d=$with_xf86vmode/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -4664,7 +4714,7 @@ echo "configure:4669: checking for xf86vmode headers" >&5 fi echo $ac_n "checking for xf86vmode libs""... $ac_c" 1>&6 -echo "configure:4679: checking for xf86vmode libs" >&5 +echo "configure:4729: checking for xf86vmode libs" >&5 d=$with_xf86vmode/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -4699,17 +4749,17 @@ if test "$with_xf86vmode" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "X11/extensions/xf86vmode.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/extensions/xf86vmode.h""... $ac_c" 1>&6 -echo "configure:4714: checking for X11/extensions/xf86vmode.h" >&5 +echo "configure:4764: checking for X11/extensions/xf86vmode.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4724: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4774: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4753,7 +4803,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for XF86VidModeGetViewPort in -lXxf86vm""... $ac_c" 1>&6 -echo "configure:4768: checking for XF86VidModeGetViewPort in -lXxf86vm" >&5 +echo "configure:4818: checking for XF86VidModeGetViewPort in -lXxf86vm" >&5 ac_lib_var=`echo Xxf86vm'_'XF86VidModeGetViewPort | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4761,7 +4811,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXxf86vm -lXext -lX11 $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4837: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4826,7 +4876,7 @@ fi fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" cat > conftest.$ac_ext < EOF @@ -4864,7 +4914,7 @@ fi if test "$with_proc_interrupts" = yes; then echo $ac_n "checking whether /proc/interrupts contains keyboard data""... $ac_c" 1>&6 -echo "configure:4879: checking whether /proc/interrupts contains keyboard data" >&5 +echo "configure:4929: checking whether /proc/interrupts contains keyboard data" >&5 if eval "test \"`echo '$''{'ac_cv_have_proc_interrupts'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4997,7 +5047,7 @@ fi /*) echo $ac_n "checking for PAM headers""... $ac_c" 1>&6 -echo "configure:5012: checking for PAM headers" >&5 +echo "configure:5062: checking for PAM headers" >&5 d=$with_pam/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -5007,7 +5057,7 @@ echo "configure:5012: checking for PAM headers" >&5 fi echo $ac_n "checking for PAM libs""... $ac_c" 1>&6 -echo "configure:5022: checking for PAM libs" >&5 +echo "configure:5072: checking for PAM libs" >&5 d=$with_pam/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -5033,7 +5083,7 @@ echo "configure:5022: checking for PAM libs" >&5 if test "$enable_locking" = yes -a "$with_pam" = yes; then echo $ac_n "checking for PAM""... $ac_c" 1>&6 -echo "configure:5048: checking for PAM" >&5 +echo "configure:5098: checking for PAM" >&5 if eval "test \"`echo '$''{'ac_cv_pam'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5044,14 +5094,14 @@ else fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" cat > conftest.$ac_ext < int main() { ; return 0; } EOF -if { (eval echo configure:5066: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5116: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_pam=yes else @@ -5076,7 +5126,7 @@ EOF # libpam typically requires dlopen and dlsym. On FreeBSD, # those are in libc. On Linux and Solaris, they're in libdl. echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:5091: checking for dlopen in -ldl" >&5 +echo "configure:5141: checking for dlopen in -ldl" >&5 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5084,7 +5134,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5160: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5117,12 +5167,12 @@ fi echo $ac_n "checking how to call pam_strerror""... $ac_c" 1>&6 -echo "configure:5132: checking how to call pam_strerror" >&5 +echo "configure:5182: checking how to call pam_strerror" >&5 if eval "test \"`echo '$''{'ac_cv_pam_strerror_args'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -5132,7 +5182,7 @@ pam_handle_t *pamh = 0; char *s = pam_strerror(pamh, PAM_SUCCESS); ; return 0; } EOF -if { (eval echo configure:5147: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5197: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_pam_strerror_args=2 else @@ -5140,7 +5190,7 @@ else cat conftest.$ac_ext >&5 rm -rf conftest* cat > conftest.$ac_ext < #include @@ -5150,7 +5200,7 @@ char *s = pam_strerror(PAM_SUCCESS); ; return 0; } EOF -if { (eval echo configure:5165: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5215: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_pam_strerror_args=1 else @@ -5207,7 +5257,7 @@ fi /*) echo $ac_n "checking for Kerberos headers""... $ac_c" 1>&6 -echo "configure:5222: checking for Kerberos headers" >&5 +echo "configure:5272: checking for Kerberos headers" >&5 d=$with_kerberos/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -5217,7 +5267,7 @@ echo "configure:5222: checking for Kerberos headers" >&5 fi echo $ac_n "checking for Kerberos libs""... $ac_c" 1>&6 -echo "configure:5232: checking for Kerberos libs" >&5 +echo "configure:5282: checking for Kerberos libs" >&5 d=$with_kerberos/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -5243,7 +5293,7 @@ echo "configure:5232: checking for Kerberos libs" >&5 if test "$enable_locking" = yes -a "$with_kerberos" = yes; then echo $ac_n "checking for Kerberos 4""... $ac_c" 1>&6 -echo "configure:5258: checking for Kerberos 4" >&5 +echo "configure:5308: checking for Kerberos 4" >&5 if eval "test \"`echo '$''{'ac_cv_kerberos'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5254,14 +5304,14 @@ else fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" cat > conftest.$ac_ext < int main() { ; return 0; } EOF -if { (eval echo configure:5276: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5326: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_kerberos=yes else @@ -5276,7 +5326,7 @@ fi echo "$ac_t""$ac_cv_kerberos" 1>&6 echo $ac_n "checking for Kerberos 5""... $ac_c" 1>&6 -echo "configure:5291: checking for Kerberos 5" >&5 +echo "configure:5341: checking for Kerberos 5" >&5 if eval "test \"`echo '$''{'ac_cv_kerberos5'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5287,14 +5337,14 @@ else fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" cat > conftest.$ac_ext < int main() { ; return 0; } EOF -if { (eval echo configure:5309: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5359: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_kerberos5=yes else @@ -5341,12 +5391,12 @@ EOF if test "$have_kerberos" = yes ; then echo $ac_n "checking for res_search""... $ac_c" 1>&6 -echo "configure:5356: checking for res_search" >&5 +echo "configure:5406: checking for res_search" >&5 if eval "test \"`echo '$''{'ac_cv_func_res_search'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5434: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_res_search=yes" else @@ -5387,7 +5437,7 @@ if eval "test \"`echo '$ac_cv_func_'res_search`\" = yes"; then else echo "$ac_t""no" 1>&6 echo $ac_n "checking for res_search in -lresolv""... $ac_c" 1>&6 -echo "configure:5402: checking for res_search in -lresolv" >&5 +echo "configure:5452: checking for res_search in -lresolv" >&5 ac_lib_var=`echo resolv'_'res_search | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5395,7 +5445,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lresolv $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5471: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5461,7 +5511,7 @@ fi /*) echo $ac_n "checking for shadow password headers""... $ac_c" 1>&6 -echo "configure:5476: checking for shadow password headers" >&5 +echo "configure:5526: checking for shadow password headers" >&5 d=$with_shadow/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -5471,7 +5521,7 @@ echo "configure:5476: checking for shadow password headers" >&5 fi echo $ac_n "checking for shadow password libs""... $ac_c" 1>&6 -echo "configure:5486: checking for shadow password libs" >&5 +echo "configure:5536: checking for shadow password libs" >&5 d=$with_shadow/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -5509,7 +5559,7 @@ fi if test "$with_shadow" = yes ; then echo $ac_n "checking for Sun-style shadow passwords""... $ac_c" 1>&6 -echo "configure:5524: checking for Sun-style shadow passwords" >&5 +echo "configure:5574: checking for Sun-style shadow passwords" >&5 if eval "test \"`echo '$''{'ac_cv_sun_adjunct'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5520,7 +5570,7 @@ else fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" cat > conftest.$ac_ext < #include @@ -5533,7 +5583,7 @@ struct passwd_adjunct *p = getpwanam("nobody"); const char *pw = p->pwa_passwd; ; return 0; } EOF -if { (eval echo configure:5548: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5598: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_sun_adjunct=yes else @@ -5563,7 +5613,7 @@ fi if test "$with_shadow" = yes ; then echo $ac_n "checking for DEC-style shadow passwords""... $ac_c" 1>&6 -echo "configure:5578: checking for DEC-style shadow passwords" >&5 +echo "configure:5628: checking for DEC-style shadow passwords" >&5 if eval "test \"`echo '$''{'ac_cv_enhanced_passwd'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5574,7 +5624,7 @@ else fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" cat > conftest.$ac_ext < #include @@ -5591,7 +5641,7 @@ struct pr_passwd *p; pw = p->ufld.fd_encrypt; ; return 0; } EOF -if { (eval echo configure:5606: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5656: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_enhanced_passwd=yes else @@ -5615,7 +5665,7 @@ echo "$ac_t""$ac_cv_enhanced_passwd" 1>&6 # But on DEC, it's in -lsecurity. # echo $ac_n "checking for getprpwnam in -lprot""... $ac_c" 1>&6 -echo "configure:5630: checking for getprpwnam in -lprot" >&5 +echo "configure:5680: checking for getprpwnam in -lprot" >&5 ac_lib_var=`echo prot'_'getprpwnam | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5623,7 +5673,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lprot -lx $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5653,7 +5703,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then else echo "$ac_t""no" 1>&6 echo $ac_n "checking for getprpwnam in -lsecurity""... $ac_c" 1>&6 -echo "configure:5668: checking for getprpwnam in -lsecurity" >&5 +echo "configure:5718: checking for getprpwnam in -lsecurity" >&5 ac_lib_var=`echo security'_'getprpwnam | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5661,7 +5711,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsecurity $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5737: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5705,7 +5755,7 @@ fi if test "$with_shadow" = yes ; then echo $ac_n "checking for HP-style shadow passwords""... $ac_c" 1>&6 -echo "configure:5720: checking for HP-style shadow passwords" >&5 +echo "configure:5770: checking for HP-style shadow passwords" >&5 if eval "test \"`echo '$''{'ac_cv_hpux_passwd'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5716,7 +5766,7 @@ else fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" cat > conftest.$ac_ext < #include @@ -5729,7 +5779,7 @@ struct s_passwd *p = getspwnam("nobody"); const char *pw = p->pw_passwd; ; return 0; } EOF -if { (eval echo configure:5744: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5794: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_hpux_passwd=yes else @@ -5750,7 +5800,7 @@ echo "$ac_t""$ac_cv_hpux_passwd" 1>&6 # on HPUX, bigcrypt is in -lsec echo $ac_n "checking for bigcrypt in -lsec""... $ac_c" 1>&6 -echo "configure:5765: checking for bigcrypt in -lsec" >&5 +echo "configure:5815: checking for bigcrypt in -lsec" >&5 ac_lib_var=`echo sec'_'bigcrypt | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5758,7 +5808,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsec $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5834: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5807,7 +5857,7 @@ fi if test "$with_shadow" = yes ; then echo $ac_n "checking for FreeBSD-style shadow passwords""... $ac_c" 1>&6 -echo "configure:5822: checking for FreeBSD-style shadow passwords" >&5 +echo "configure:5872: checking for FreeBSD-style shadow passwords" >&5 if eval "test \"`echo '$''{'ac_cv_master_passwd'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5833,7 +5883,7 @@ fi if test "$with_shadow" = yes ; then echo $ac_n "checking for generic shadow passwords""... $ac_c" 1>&6 -echo "configure:5848: checking for generic shadow passwords" >&5 +echo "configure:5898: checking for generic shadow passwords" >&5 if eval "test \"`echo '$''{'ac_cv_shadow'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5844,7 +5894,7 @@ else fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" cat > conftest.$ac_ext < #include @@ -5856,7 +5906,7 @@ struct spwd *p = getspnam("nobody"); const char *pw = p->sp_pwdp; ; return 0; } EOF -if { (eval echo configure:5871: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5921: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_shadow=yes else @@ -5877,7 +5927,7 @@ echo "$ac_t""$ac_cv_shadow" 1>&6 # On some systems (UnixWare 2.1), getspnam() is in -lgen instead of -lc. have_getspnam=no echo $ac_n "checking for getspnam in -lc""... $ac_c" 1>&6 -echo "configure:5892: checking for getspnam in -lc" >&5 +echo "configure:5942: checking for getspnam in -lc" >&5 ac_lib_var=`echo c'_'getspnam | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5885,7 +5935,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5918,7 +5968,7 @@ fi if test "$have_getspnam" = no ; then echo $ac_n "checking for getspnam in -lgen""... $ac_c" 1>&6 -echo "configure:5933: checking for getspnam in -lgen" >&5 +echo "configure:5983: checking for getspnam in -lgen" >&5 ac_lib_var=`echo gen'_'getspnam | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5926,7 +5976,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lgen $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6002: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5973,7 +6023,7 @@ if test "$enable_locking" = yes ; then # On some systems (UnixWare 2.1), crypt() is in -lcrypt instead of -lc. have_crypt=no echo $ac_n "checking for crypt in -lc""... $ac_c" 1>&6 -echo "configure:5988: checking for crypt in -lc" >&5 +echo "configure:6038: checking for crypt in -lc" >&5 ac_lib_var=`echo c'_'crypt | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5981,7 +6031,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6057: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6014,7 +6064,7 @@ fi if test "$have_crypt" = no ; then echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6 -echo "configure:6029: checking for crypt in -lcrypt" >&5 +echo "configure:6079: checking for crypt in -lcrypt" >&5 ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6022,7 +6072,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lcrypt $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6098: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6117,7 +6167,7 @@ fi /*) echo $ac_n "checking for Motif headers""... $ac_c" 1>&6 -echo "configure:6132: checking for Motif headers" >&5 +echo "configure:6182: checking for Motif headers" >&5 d=$with_motif/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -6127,7 +6177,7 @@ echo "configure:6132: checking for Motif headers" >&5 fi echo $ac_n "checking for Motif libs""... $ac_c" 1>&6 -echo "configure:6142: checking for Motif libs" >&5 +echo "configure:6192: checking for Motif libs" >&5 d=$with_motif/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -6166,17 +6216,17 @@ if test "$with_motif" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6 -echo "configure:6181: checking for Xm/Xm.h" >&5 +echo "configure:6231: checking for Xm/Xm.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6191: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6241: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6215,17 +6265,17 @@ if test "$have_motif" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "Xm/ComboBox.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Xm/ComboBox.h""... $ac_c" 1>&6 -echo "configure:6230: checking for Xm/ComboBox.h" >&5 +echo "configure:6280: checking for Xm/ComboBox.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6240: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6290: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6288,7 +6338,7 @@ esac /*) echo $ac_n "checking for Gtk headers""... $ac_c" 1>&6 -echo "configure:6303: checking for Gtk headers" >&5 +echo "configure:6353: checking for Gtk headers" >&5 d=$with_gtk/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -6298,7 +6348,7 @@ echo "configure:6303: checking for Gtk headers" >&5 fi echo $ac_n "checking for Gtk libs""... $ac_c" 1>&6 -echo "configure:6313: checking for Gtk libs" >&5 +echo "configure:6363: checking for Gtk libs" >&5 d=$with_gtk/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -6356,7 +6406,7 @@ esac /*) echo $ac_n "checking for Gnome headers""... $ac_c" 1>&6 -echo "configure:6371: checking for Gnome headers" >&5 +echo "configure:6421: checking for Gnome headers" >&5 d=$with_gnome/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -6366,7 +6416,7 @@ echo "configure:6371: checking for Gnome headers" >&5 fi echo $ac_n "checking for Gnome libs""... $ac_c" 1>&6 -echo "configure:6381: checking for Gnome libs" >&5 +echo "configure:6431: checking for Gnome libs" >&5 d=$with_gnome/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -6422,7 +6472,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:6437: checking for $ac_word" >&5 +echo "configure:6487: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_glib_config'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6462,7 +6512,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:6477: checking for $ac_word" >&5 +echo "configure:6527: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_gtk_config'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6504,7 +6554,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:6519: checking for $ac_word" >&5 +echo "configure:6569: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_gnome_config'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6550,7 +6600,7 @@ done if test "$have_gtk" = yes; then echo $ac_n "checking Gtk version number""... $ac_c" 1>&6 -echo "configure:6565: checking Gtk version number" >&5 +echo "configure:6615: checking Gtk version number" >&5 if eval "test \"`echo '$''{'ac_cv_gtk_version_string'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6579,7 +6629,7 @@ echo "$ac_t""$ac_cv_gtk_version_string" 1>&6 if test "$have_gtk" = yes; then echo $ac_n "checking for Gtk includes""... $ac_c" 1>&6 -echo "configure:6594: checking for Gtk includes" >&5 +echo "configure:6644: checking for Gtk includes" >&5 if eval "test \"`echo '$''{'ac_cv_gtk_config_cflags'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6588,7 +6638,7 @@ fi echo "$ac_t""$ac_cv_gtk_config_cflags" 1>&6 echo $ac_n "checking for Gtk libs""... $ac_c" 1>&6 -echo "configure:6603: checking for Gtk libs" >&5 +echo "configure:6653: checking for Gtk libs" >&5 if eval "test \"`echo '$''{'ac_cv_gtk_config_libs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6605,7 +6655,7 @@ echo "$ac_t""$ac_cv_gtk_config_libs" 1>&6 if test "$have_gnome" = yes -a "$have_gtk" = yes; then gnome_config_libs="capplet gnomeui" echo $ac_n "checking for Gnome capplet includes""... $ac_c" 1>&6 -echo "configure:6620: checking for Gnome capplet includes" >&5 +echo "configure:6670: checking for Gnome capplet includes" >&5 if eval "test \"`echo '$''{'ac_cv_gnome_config_cflags'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6628,7 +6678,7 @@ fi if test "$have_gnome" = yes -a "$have_gtk" = yes; then echo $ac_n "checking for Gnome capplet libs""... $ac_c" 1>&6 -echo "configure:6643: checking for Gnome capplet libs" >&5 +echo "configure:6693: checking for Gnome capplet libs" >&5 if eval "test \"`echo '$''{'ac_cv_gnome_config_libs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6689,7 +6739,7 @@ fi have_lesstif=no if test "$have_motif" = yes ; then echo $ac_n "checking whether Motif is really LessTif""... $ac_c" 1>&6 -echo "configure:6704: checking whether Motif is really LessTif" >&5 +echo "configure:6754: checking whether Motif is really LessTif" >&5 if eval "test \"`echo '$''{'ac_cv_have_lesstif'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6700,14 +6750,14 @@ else fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" cat > conftest.$ac_ext < int main() { long vers = LesstifVersion; ; return 0; } EOF -if { (eval echo configure:6722: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6772: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_lesstif=yes else @@ -6732,7 +6782,7 @@ if test "$have_lesstif" = yes ; then ltv=unknown echo unknown > conftest-lt echo $ac_n "checking LessTif version number""... $ac_c" 1>&6 -echo "configure:6747: checking LessTif version number" >&5 +echo "configure:6797: checking LessTif version number" >&5 if eval "test \"`echo '$''{'ac_cv_lesstif_version_string'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6747,7 +6797,7 @@ else ac_cv_lesstif_version_string=unknown else cat > conftest.$ac_ext < #include @@ -6760,7 +6810,7 @@ else exit(0); } EOF -if { (eval echo configure:6775: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6825: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ltv=`cat conftest-lt` ac_cv_lesstif_version=`echo $ltv | sed 's/ .*//'` @@ -6790,7 +6840,7 @@ if test "$have_motif" = yes ; then mtv=unknown echo unknown > conftest-mt echo $ac_n "checking Motif version number""... $ac_c" 1>&6 -echo "configure:6805: checking Motif version number" >&5 +echo "configure:6855: checking Motif version number" >&5 if eval "test \"`echo '$''{'ac_cv_motif_version_string'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6805,7 +6855,7 @@ else ac_cv_motif_version_string=unknown else cat > conftest.$ac_ext < #include @@ -6818,7 +6868,7 @@ else exit(0); } EOF -if { (eval echo configure:6833: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then mtv=`cat conftest-mt` ac_cv_motif_version=`echo $mtv | sed 's/ .*//'` @@ -6862,7 +6912,7 @@ fi motif_requires_xpm=no if test "$have_motif" = yes ; then echo $ac_n "checking whether Motif requires XPM""... $ac_c" 1>&6 -echo "configure:6877: checking whether Motif requires XPM" >&5 +echo "configure:6927: checking whether Motif requires XPM" >&5 if test "$motif_version" = "unknown" || test "$motif_version" -ge 2000 then motif_requires_xpm=yes @@ -6904,7 +6954,7 @@ if test "$have_motif" = yes ; then LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for XpQueryExtension in -lXp""... $ac_c" 1>&6 -echo "configure:6919: checking for XpQueryExtension in -lXp" >&5 +echo "configure:6969: checking for XpQueryExtension in -lXp" >&5 ac_lib_var=`echo Xp'_'XpQueryExtension | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6912,7 +6962,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXp -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6988: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6977,7 +7027,7 @@ if test "$have_motif" = yes ; then LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for _Xsetlocale in -lXintl""... $ac_c" 1>&6 -echo "configure:6992: checking for _Xsetlocale in -lXintl" >&5 +echo "configure:7042: checking for _Xsetlocale in -lXintl" >&5 ac_lib_var=`echo Xintl'_'_Xsetlocale | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6985,7 +7035,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXintl -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7061: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7053,7 +7103,7 @@ fi /*) echo $ac_n "checking for GL headers""... $ac_c" 1>&6 -echo "configure:7068: checking for GL headers" >&5 +echo "configure:7118: checking for GL headers" >&5 d=$with_gl/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -7063,7 +7113,7 @@ echo "configure:7068: checking for GL headers" >&5 fi echo $ac_n "checking for GL libs""... $ac_c" 1>&6 -echo "configure:7078: checking for GL libs" >&5 +echo "configure:7128: checking for GL libs" >&5 d=$with_gl/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -7099,17 +7149,17 @@ if test "$with_gl" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "GL/gl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for GL/gl.h""... $ac_c" 1>&6 -echo "configure:7114: checking for GL/gl.h" >&5 +echo "configure:7164: checking for GL/gl.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7124: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7174: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7140,17 +7190,17 @@ fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "GL/glx.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for GL/glx.h""... $ac_c" 1>&6 -echo "configure:7155: checking for GL/glx.h" >&5 +echo "configure:7205: checking for GL/glx.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7165: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7215: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7182,7 +7232,7 @@ fi # to link against. # echo $ac_n "checking whether GL is really MesaGL""... $ac_c" 1>&6 -echo "configure:7197: checking whether GL is really MesaGL" >&5 +echo "configure:7247: checking whether GL is really MesaGL" >&5 if eval "test \"`echo '$''{'ac_cv_have_mesa_gl'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7194,12 +7244,12 @@ else fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" cat > conftest.$ac_ext < EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "Mesa" >/dev/null 2>&1; then + egrep "Mesa|MESA" >/dev/null 2>&1; then rm -rf conftest* ac_cv_have_mesa_gl=yes fi @@ -7223,7 +7273,7 @@ echo "$ac_t""$ac_cv_have_mesa_gl" 1>&6 # if test "$ac_have_mesa_gl" = yes; then echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6 -echo "configure:7238: checking for pthread_create in -lpthread" >&5 +echo "configure:7288: checking for pthread_create in -lpthread" >&5 ac_lib_var=`echo pthread'_'pthread_create | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -7231,7 +7281,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lpthread $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7307: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7289,7 +7339,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for glXCreateContext in -lMesaGL""... $ac_c" 1>&6 -echo "configure:7304: checking for glXCreateContext in -lMesaGL" >&5 +echo "configure:7354: checking for glXCreateContext in -lMesaGL" >&5 ac_lib_var=`echo MesaGL'_'glXCreateContext | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -7297,7 +7347,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lMesaGL -lMesaGLU $GL_LIBS -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7373: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7354,7 +7404,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for glXCreateContext in -lGL""... $ac_c" 1>&6 -echo "configure:7369: checking for glXCreateContext in -lGL" >&5 +echo "configure:7419: checking for glXCreateContext in -lGL" >&5 ac_lib_var=`echo GL'_'glXCreateContext | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -7362,7 +7412,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lGL -lGLU $GL_LIBS -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7438: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7431,14 +7481,19 @@ EOF if test "$ac_have_mesa_gl" = yes; then echo $ac_n "checking MesaGL version number""... $ac_c" 1>&6 -echo "configure:7446: checking MesaGL version number" >&5 +echo "configure:7496: checking MesaGL version number" >&5 if eval "test \"`echo '$''{'ac_cv_mesagl_version_string'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < +#ifndef MESA_MAJOR_VERSION +# include +# define MESA_MAJOR_VERSION XMESA_MAJOR_VERSION +# define MESA_MINOR_VERSION XMESA_MINOR_VERSION +#endif configure: MESA_MAJOR_VERSION MESA_MINOR_VERSION EOF @@ -7502,7 +7557,7 @@ echo "$ac_t""$ac_cv_mesagl_version_string" 1>&6 LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for glBindTexture in -l$gl_lib_1""... $ac_c" 1>&6 -echo "configure:7517: checking for glBindTexture in -l$gl_lib_1" >&5 +echo "configure:7572: checking for glBindTexture in -l$gl_lib_1" >&5 ac_lib_var=`echo $gl_lib_1'_'glBindTexture | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -7510,7 +7565,7 @@ else ac_save_LIBS="$LIBS" LIBS="-l$gl_lib_1 $GL_LIBS -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7591: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7582,7 +7637,7 @@ fi /*) echo $ac_n "checking for GLE headers""... $ac_c" 1>&6 -echo "configure:7597: checking for GLE headers" >&5 +echo "configure:7652: checking for GLE headers" >&5 d=$with_gle/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -7592,7 +7647,7 @@ echo "configure:7597: checking for GLE headers" >&5 fi echo $ac_n "checking for GLE libs""... $ac_c" 1>&6 -echo "configure:7607: checking for GLE libs" >&5 +echo "configure:7662: checking for GLE libs" >&5 d=$with_gle/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -7628,17 +7683,17 @@ if test "$with_gle" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "GL/gle.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for GL/gle.h""... $ac_c" 1>&6 -echo "configure:7643: checking for GL/gle.h" >&5 +echo "configure:7698: checking for GL/gle.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7653: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7708: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7671,17 +7726,17 @@ fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "GL/gutil.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for GL/gutil.h""... $ac_c" 1>&6 -echo "configure:7686: checking for GL/gutil.h" >&5 +echo "configure:7741: checking for GL/gutil.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7696: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7751: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7712,17 +7767,17 @@ fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "GL/tube.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for GL/tube.h""... $ac_c" 1>&6 -echo "configure:7727: checking for GL/tube.h" >&5 +echo "configure:7782: checking for GL/tube.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7737: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7792: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7768,7 +7823,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for gleCreateGC in -lgle""... $ac_c" 1>&6 -echo "configure:7783: checking for gleCreateGC in -lgle" >&5 +echo "configure:7838: checking for gleCreateGC in -lgle" >&5 ac_lib_var=`echo gle'_'gleCreateGC | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -7776,7 +7831,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lgle $GL_LIBS -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7857: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7847,7 +7902,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for uview_direction in -lgle""... $ac_c" 1>&6 -echo "configure:7862: checking for uview_direction in -lgle" >&5 +echo "configure:7917: checking for uview_direction in -lgle" >&5 ac_lib_var=`echo gle'_'uview_direction | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -7855,7 +7910,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lgle $GL_LIBS -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7936: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7911,7 +7966,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for uview_direction_d in -lmatrix""... $ac_c" 1>&6 -echo "configure:7926: checking for uview_direction_d in -lmatrix" >&5 +echo "configure:7981: checking for uview_direction_d in -lmatrix" >&5 ac_lib_var=`echo matrix'_'uview_direction_d | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -7919,7 +7974,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lmatrix $GL_LIBS -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8000: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8003,7 +8058,7 @@ fi /*) echo $ac_n "checking for XPM headers""... $ac_c" 1>&6 -echo "configure:8018: checking for XPM headers" >&5 +echo "configure:8073: checking for XPM headers" >&5 d=$with_xpm/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -8013,7 +8068,7 @@ echo "configure:8018: checking for XPM headers" >&5 fi echo $ac_n "checking for XPM libs""... $ac_c" 1>&6 -echo "configure:8028: checking for XPM libs" >&5 +echo "configure:8083: checking for XPM libs" >&5 d=$with_xpm/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -8046,17 +8101,17 @@ if test "$with_xpm" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "X11/xpm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/xpm.h""... $ac_c" 1>&6 -echo "configure:8061: checking for X11/xpm.h" >&5 +echo "configure:8116: checking for X11/xpm.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8071: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8126: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8122,7 +8177,7 @@ fi /*) echo $ac_n "checking for XSHM headers""... $ac_c" 1>&6 -echo "configure:8137: checking for XSHM headers" >&5 +echo "configure:8192: checking for XSHM headers" >&5 d=$with_xshm/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -8132,7 +8187,7 @@ echo "configure:8137: checking for XSHM headers" >&5 fi echo $ac_n "checking for XSHM libs""... $ac_c" 1>&6 -echo "configure:8147: checking for XSHM libs" >&5 +echo "configure:8202: checking for XSHM libs" >&5 d=$with_xshm/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -8167,17 +8222,17 @@ if test "$with_xshm" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "X11/extensions/XShm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/extensions/XShm.h""... $ac_c" 1>&6 -echo "configure:8182: checking for X11/extensions/XShm.h" >&5 +echo "configure:8237: checking for X11/extensions/XShm.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8192: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8247: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8211,17 +8266,17 @@ fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "sys/ipc.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for sys/ipc.h""... $ac_c" 1>&6 -echo "configure:8226: checking for sys/ipc.h" >&5 +echo "configure:8281: checking for sys/ipc.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8236: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8291: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8256,17 +8311,17 @@ fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "sys/shm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for sys/shm.h""... $ac_c" 1>&6 -echo "configure:8271: checking for sys/shm.h" >&5 +echo "configure:8326: checking for sys/shm.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8281: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8336: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8318,7 +8373,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for XShmQueryExtension in -lXextSam""... $ac_c" 1>&6 -echo "configure:8333: checking for XShmQueryExtension in -lXextSam" >&5 +echo "configure:8388: checking for XShmQueryExtension in -lXextSam" >&5 ac_lib_var=`echo XextSam'_'XShmQueryExtension | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -8326,7 +8381,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXextSam -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8407: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8404,7 +8459,7 @@ fi /*) echo $ac_n "checking for DOUBLE-BUFFER headers""... $ac_c" 1>&6 -echo "configure:8419: checking for DOUBLE-BUFFER headers" >&5 +echo "configure:8474: checking for DOUBLE-BUFFER headers" >&5 d=$with_xdbe/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -8414,7 +8469,7 @@ echo "configure:8419: checking for DOUBLE-BUFFER headers" >&5 fi echo $ac_n "checking for DOUBLE-BUFFER libs""... $ac_c" 1>&6 -echo "configure:8429: checking for DOUBLE-BUFFER libs" >&5 +echo "configure:8484: checking for DOUBLE-BUFFER libs" >&5 d=$with_xdbe/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -8448,17 +8503,17 @@ if test "$with_xdbe" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "X11/extensions/Xdbe.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/extensions/Xdbe.h""... $ac_c" 1>&6 -echo "configure:8463: checking for X11/extensions/Xdbe.h" >&5 +echo "configure:8518: checking for X11/extensions/Xdbe.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8473: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8528: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8521,7 +8576,7 @@ fi /*) echo $ac_n "checking for XReadDisplay headers""... $ac_c" 1>&6 -echo "configure:8536: checking for XReadDisplay headers" >&5 +echo "configure:8591: checking for XReadDisplay headers" >&5 d=$with_readdisplay/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -8531,7 +8586,7 @@ echo "configure:8536: checking for XReadDisplay headers" >&5 fi echo $ac_n "checking for XReadDisplay libs""... $ac_c" 1>&6 -echo "configure:8546: checking for XReadDisplay libs" >&5 +echo "configure:8601: checking for XReadDisplay libs" >&5 d=$with_readdisplay/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -8564,17 +8619,17 @@ if test "$with_readdisplay" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "X11/extensions/readdisplay.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/extensions/readdisplay.h""... $ac_c" 1>&6 -echo "configure:8579: checking for X11/extensions/readdisplay.h" >&5 +echo "configure:8634: checking for X11/extensions/readdisplay.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8589: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8644: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8629,7 +8684,7 @@ fi /*) echo $ac_n "checking for Iris Video headers""... $ac_c" 1>&6 -echo "configure:8644: checking for Iris Video headers" >&5 +echo "configure:8699: checking for Iris Video headers" >&5 d=$with_sgivideo/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -8639,7 +8694,7 @@ echo "configure:8644: checking for Iris Video headers" >&5 fi echo $ac_n "checking for Iris Video libs""... $ac_c" 1>&6 -echo "configure:8654: checking for Iris Video libs" >&5 +echo "configure:8709: checking for Iris Video libs" >&5 d=$with_sgivideo/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -8672,17 +8727,17 @@ if test "$with_sgivideo" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "dmedia/vl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for dmedia/vl.h""... $ac_c" 1>&6 -echo "configure:8687: checking for dmedia/vl.h" >&5 +echo "configure:8742: checking for dmedia/vl.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8697: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8752: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8707,7 +8762,7 @@ fi if test "$have_sgivideo" = yes; then have_sgivideo=no echo $ac_n "checking for vlOpenVideo in -lvl""... $ac_c" 1>&6 -echo "configure:8722: checking for vlOpenVideo in -lvl" >&5 +echo "configure:8777: checking for vlOpenVideo in -lvl" >&5 ac_lib_var=`echo vl'_'vlOpenVideo | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -8715,7 +8770,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lvl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8796: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8797,7 +8852,7 @@ if test -n "$with_zippy_req" ; then case "$with_zippy_req" in /*) echo $ac_n "checking for $with_zippy_req""... $ac_c" 1>&6 -echo "configure:8812: checking for $with_zippy_req" >&5 +echo "configure:8867: checking for $with_zippy_req" >&5 if test -x "$with_zippy_req" ; then echo "$ac_t""yes" 1>&6 else @@ -8811,7 +8866,7 @@ echo "configure:8812: checking for $with_zippy_req" >&5 # Extract the first word of "$with_zippy_req", so it can be a program name with args. set dummy $with_zippy_req; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:8826: checking for $ac_word" >&5 +echo "configure:8881: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_zip2'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8861,7 +8916,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:8876: checking for $ac_word" >&5 +echo "configure:8931: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_emacs_exe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8895,7 +8950,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:8910: checking for $ac_word" >&5 +echo "configure:8965: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_xemacs_exe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8930,7 +8985,7 @@ done if test -n "$emacs_exe" ; then echo $ac_n "checking for emacs yow""... $ac_c" 1>&6 -echo "configure:8945: checking for emacs yow" >&5 +echo "configure:9000: checking for emacs yow" >&5 # # get emacs to tell us where the libexec directory is. # @@ -8952,7 +9007,7 @@ echo "configure:8945: checking for emacs yow" >&5 if test -z "$ac_cv_zippy_program" ; then echo $ac_n "checking for xemacs yow""... $ac_c" 1>&6 -echo "configure:8967: checking for xemacs yow" >&5 +echo "configure:9022: checking for xemacs yow" >&5 if test -n "$xemacs_exe" ; then # # get xemacs to tell us where the libexec directory is. @@ -9011,7 +9066,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:9026: checking for $ac_word" >&5 +echo "configure:9081: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_fortune'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -9047,7 +9102,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:9062: checking for $ac_word" >&5 +echo "configure:9117: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_fortune'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -9218,6 +9273,7 @@ fi + APPDEFAULTS=$ac_x_app_defaults @@ -9399,6 +9455,7 @@ s%@HACK_LIBS@%$HACK_LIBS%g s%@XPM_LIBS@%$XPM_LIBS%g s%@GL_LIBS@%$GL_LIBS%g s%@GLE_LIBS@%$GLE_LIBS%g +s%@XDPMS_LIBS@%$XDPMS_LIBS%g s%@PASSWD_LIBS@%$PASSWD_LIBS%g s%@INSTALL_SETUID@%$INSTALL_SETUID%g s%@INSTALL_DIRS@%$INSTALL_DIRS%g @@ -9676,7 +9733,8 @@ warn() { warnpre if test "$warning" = long ; then echo '' ; fi warning=yes - echo "$warn_prefix $@" + rest="$@" + echo "$warn_prefix $rest" } warnL() { @@ -9684,11 +9742,13 @@ warnL() { warnpre warning=yes if test "$was" != no ; then echo '' ; fi - echo "$warn_prefix $@" + rest="$@" + echo "$warn_prefix $rest" } warn2() { - echo " $@" + rest="$@" + echo " $rest" warning=long } diff --git a/configure.in b/configure.in index 20548088..8dae53f5 100644 --- a/configure.in +++ b/configure.in @@ -66,8 +66,6 @@ AC_DEFUN(AC_PROG_CC_ANSI, if test -n "$GCC"; then AC_MSG_RESULT(Turning on gcc compiler warnings.) CC="$CC -Wall -Wstrict-prototypes -Wnested-externs -Wno-format" - AC_MSG_RESULT(Disabling C++ comments in ANSI C code.) - CC="$CC -Wp,-lang-c89" else case "$host" in *-irix5* |*-irix6.[0-3]* ) @@ -85,6 +83,53 @@ AC_DEFUN(AC_PROG_CC_ANSI, ]) +############################################################################### +# +# Functions to figure out how to disable // comments in ANSI C code. +# +# (With recent gcc, this is done with "-std=c89". With older gcc, this +# is done by passing "-lang-c89" to cpp, by passing "-Wp,-lang-c89" to +# gcc. Old gcc doesn't support -std, and new gcc doesn't support -lang. +# so much for compatibility!) +# +############################################################################### + +AC_DEFUN(AC_GCC_ACCEPTS_STD, + [if test -n "$GCC"; then + AC_CACHE_CHECK([whether gcc accepts -std], + ac_cv_gcc_accepts_std, + [if ( gcc -E -std=c89 - &1 >/dev/null | \ + grep unrecognized >/dev/null ); then + ac_cv_gcc_accepts_std=no + else + ac_cv_gcc_accepts_std=yes + fi]) + ac_gcc_accepts_std="$ac_cv_gcc_accepts_std" + fi +]) + +AC_DEFUN(AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE, + [if test -n "$GCC"; then + AC_GCC_ACCEPTS_STD + AC_MSG_RESULT(Disabling C++ comments in ANSI C code.) + if test "$ac_gcc_accepts_std" = yes ; then + # + # -std=c89 defines __STRICT_ANSI__, which we don't want. + # (That appears to be the only additional preprocessor symbol + # it defines, in addition to the syntax changes it makes.) + # + # -std=gnu89 is no good, because // comments were a GNU + # extension before they were in the ANSI C 99 spec... + # + CC="$CC -std=c89 -U__STRICT_ANSI__" + else + # The old way: + CC="$CC -Wp,-lang-c89" + fi + fi +]) + + ############################################################################### # # Function to figure out how to create directory trees. @@ -674,6 +719,7 @@ AC_DEFUN(HANDLE_X_PATH_ARG, [ # random compiler setup AC_CANONICAL_HOST AC_PROG_CC_ANSI +AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE AC_PROG_CPP AC_C_CONST AC_C_INLINE @@ -1007,7 +1053,7 @@ if test "$with_dpms" = yes; then # if that failed, look in -lXdpms (this is where it was in XFree86 3.x) if test "$have_dpms" = no; then AC_CHECK_X_LIB(Xdpms, DPMSInfo, - [have_dpms=yes; SAVER_LIBS="$SAVER_LIBS -lXdpms"], [true], + [have_dpms=yes; XDPMS_LIBS="-lXdpms"], [true], -lXext -lX11) fi fi @@ -1914,7 +1960,7 @@ if test "$with_gl" = yes; then # AC_CACHE_CHECK([whether GL is really MesaGL], ac_cv_have_mesa_gl, [ac_cv_have_mesa_gl=no - AC_EGREP_X_HEADER(Mesa, GL/glx.h, [ac_cv_have_mesa_gl=yes]) + AC_EGREP_X_HEADER(Mesa|MESA, GL/glx.h, [ac_cv_have_mesa_gl=yes]) ]) ac_have_mesa_gl=$ac_cv_have_mesa_gl @@ -1980,6 +2026,11 @@ if test "$with_gl" = yes; then #line __oline__ "configure" #include "confdefs.h" #include +#ifndef MESA_MAJOR_VERSION +# include +# define MESA_MAJOR_VERSION XMESA_MAJOR_VERSION +# define MESA_MINOR_VERSION XMESA_MINOR_VERSION +#endif configure: MESA_MAJOR_VERSION MESA_MINOR_VERSION EOF @@ -2550,6 +2601,7 @@ AC_SUBST(HACK_LIBS) AC_SUBST(XPM_LIBS) AC_SUBST(GL_LIBS) AC_SUBST(GLE_LIBS) +AC_SUBST(XDPMS_LIBS) AC_SUBST(PASSWD_LIBS) AC_SUBST(INSTALL_SETUID) AC_SUBST(INSTALL_DIRS) @@ -2615,7 +2667,8 @@ warn() { warnpre if test "$warning" = long ; then echo '' ; fi warning=yes - echo "$warn_prefix $@" + rest="$@" + echo "$warn_prefix $rest" } warnL() { @@ -2623,11 +2676,13 @@ warnL() { warnpre warning=yes if test "$was" != no ; then echo '' ; fi - echo "$warn_prefix $@" + rest="$@" + echo "$warn_prefix $rest" } warn2() { - echo " $@" + rest="$@" + echo " $rest" warning=long } diff --git a/driver/Makefile.in b/driver/Makefile.in index 6f78544a..dee86900 100644 --- a/driver/Makefile.in +++ b/driver/Makefile.in @@ -19,6 +19,8 @@ mansuffix = 1 GNOME_DATADIR = @GNOME_DATADIR@ GNOME_CCDIR = $(GNOME_DATADIR)/control-center/Desktop GNOME_PANELDIR = $(GNOME_DATADIR)/gnome/apps/Settings/Desktop +GNOME_ICONDIR = $(GNOME_DATADIR)/pixmaps +GNOME_BINDIR = $(bindir) CC = @CC@ CFLAGS = @CFLAGS@ @@ -90,10 +92,14 @@ NOLOCK_OBJS_1 = lock.o TEST_SRCS = test-passwd.c test-uid.c test-xdpms.c test-grab.c \ test-apm.c xdpyinfo.c +TEST_EXES = test-passwd test-uid test-xdpms test-grab \ + test-apm xdpyinfo MOTIF_LIBS = @MOTIF_LIBS@ @XPM_LIBS@ GTK_LIBS = @GTK_LIBS@ +XDPMS_LIBS = @XDPMS_LIBS@ + PASSWD_SRCS = @PASSWD_SRCS@ PASSWD_OBJS = @PASSWD_OBJS@ PASSWD_LIBS = @PASSWD_LIBS@ @@ -108,17 +114,18 @@ GL_SRCS = @SAVER_GL_SRCS@ GL_OBJS = @SAVER_GL_OBJS@ GL_LIBS = @SAVER_GL_LIBS@ +LOGO = $(UTILS_SRC)/logo.xpm DEMO_UTIL_SRCS = $(UTILS_SRC)/resources.c $(UTILS_SRC)/usleep.c \ $(UTILS_SRC)/visual.c DEMO_UTIL_OBJS = $(UTILS_BIN)/resources.o $(UTILS_BIN)/usleep.o \ $(UTILS_BIN)/visual.o SAVER_UTIL_SRCS = $(UTILS_SRC)/fade.c $(UTILS_SRC)/overlay.c \ - $(UTILS_SRC)/xroger.c $(UTILS_SRC)/spline.c \ + $(UTILS_SRC)/logo.c $(UTILS_SRC)/spline.c \ $(UTILS_SRC)/yarandom.c \ $(DEMO_UTIL_SRCS) SAVER_UTIL_OBJS = $(UTILS_BIN)/fade.o $(UTILS_BIN)/overlay.o \ - $(UTILS_BIN)/xroger.o $(UTILS_BIN)/spline.o \ + $(UTILS_BIN)/logo.o $(UTILS_BIN)/spline.o \ $(UTILS_BIN)/yarandom.o \ $(DEMO_UTIL_OBJS) @@ -127,21 +134,21 @@ SAVER_SRCS_1 = xscreensaver.c windows.c timers.c subprocs.c \ SAVER_OBJS_1 = xscreensaver.o windows.o timers.o subprocs.o \ xset.o splash.o setuid.o stderr.o -SAVER_SRCS = $(SAVER_SRCS_1) prefs.c $(LOCK_SRCS) \ +SAVER_SRCS = $(SAVER_SRCS_1) prefs.c dpms.c $(LOCK_SRCS) \ $(SAVER_UTIL_SRCS) $(GL_SRCS) $(XMU_SRCS) -SAVER_OBJS = $(SAVER_OBJS_1) prefs.o $(LOCK_OBJS) \ +SAVER_OBJS = $(SAVER_OBJS_1) prefs.o dpms.o $(LOCK_OBJS) \ $(SAVER_UTIL_OBJS) $(GL_OBJS) $(XMU_OBJS) CMD_SRCS = remote.c xscreensaver-command.c CMD_OBJS = remote.o xscreensaver-command.o -DEMO_SRCS_1 = prefs.c $(XMU_SRCS) -DEMO_OBJS_1 = prefs.o $(XMU_OBJS) +DEMO_SRCS_1 = prefs.c dpms.c $(XMU_SRCS) +DEMO_OBJS_1 = prefs.o dpms.o $(XMU_OBJS) -DEMO_SRCS = prefs.c remote.c $(DEMO_UTIL_SRCS) -DEMO_OBJS = prefs.o remote.o $(DEMO_UTIL_OBJS) +DEMO_SRCS = prefs.c dpms.c remote.c $(DEMO_UTIL_SRCS) +DEMO_OBJS = prefs.o dpms.o remote.o $(DEMO_UTIL_OBJS) -SAVER_LIBS = $(LIBS) $(X_LIBS) @SAVER_LIBS@ $(GL_LIBS) \ +SAVER_LIBS = $(LIBS) $(X_LIBS) @SAVER_LIBS@ $(XDPMS_LIBS) $(GL_LIBS) \ $(X_PRE_LIBS) -lXt -lX11 -lXext $(X_EXTRA_LIBS) \ $(PASSWD_LIBS) @@ -159,7 +166,9 @@ ALL_MEN = xscreensaver.man \ xscreensaver-demo.man xscreensaver-command.man EXTRAS = README Makefile.in XScreenSaver.ad.in xscreensaver.pam \ xscreensaver.kss xscreensaver-demo.glade \ - screensaver-properties.desktop.in .gdbinit + screensaver-properties.desktop.in \ + screensaver-properties-capplet \ + .gdbinit VMSFILES = compile_axp.com compile_decc.com link_axp.com link_decc.com \ vms-getpwnam.c vms-pwd.h vms-hpwd.c vms-validate.c \ vms_axp.opt vms_axp_12.opt vms_decc.opt vms_decc_12.opt @@ -172,6 +181,7 @@ TARFILES = $(EXTRAS) $(VMSFILES) $(SAVER_SRCS_1) \ default: $(EXES) all: $(EXES) $(EXES2) +tests: $(TEST_EXES) install: install-program install-ad install-gnome install-kde \ install-man @INSTALL_PAM@ @@ -345,18 +355,31 @@ install-pam: fi ; \ fi -install-gnome: screensaver-properties.desktop +install-gnome:: screensaver-properties.desktop @lost1="" ;\ lost2="" ;\ - if [ "$(install_prefix)$(GNOME_DATADIR)" != "" ]; then \ + if [ "$(GNOME_DATADIR)" != "" ]; then \ + \ + if [ ! -d "$(install_prefix)$(GNOME_CCDIR)" ]; then \ + echo $(INSTALL_DIRS) "$(install_prefix)$(GNOME_CCDIR)" ;\ + $(INSTALL_DIRS) "$(install_prefix)$(GNOME_CCDIR)" ;\ + fi ;\ + \ echo $(INSTALL_DATA) $(srcdir)/screensaver-properties.desktop \ $(install_prefix)$(GNOME_CCDIR)/screensaver-properties.desktop ;\ + \ if $(INSTALL_DATA) $(srcdir)/screensaver-properties.desktop \ $(install_prefix)$(GNOME_CCDIR)/screensaver-properties.desktop ;\ then true ;\ else \ lost1="$(install_prefix)$(GNOME_CCDIR)" ;\ fi ;\ + \ + if [ ! -d "$(install_prefix)$(GNOME_PANELDIR)" ]; then \ + echo $(INSTALL_DIRS) "$(install_prefix)$(GNOME_PANELDIR)" ;\ + $(INSTALL_DIRS) "$(install_prefix)$(GNOME_PANELDIR)" ;\ + fi ;\ + \ echo $(INSTALL_DATA) $(srcdir)/screensaver-properties.desktop \ $(GNOME_PANELDIR)/screensaver-properties.desktop ;\ if $(INSTALL_DATA) $(srcdir)/screensaver-properties.desktop \ @@ -365,6 +388,7 @@ install-gnome: screensaver-properties.desktop else \ lost2="$(install_prefix)$(GNOME_PANELDIR)" ;\ fi ;\ + \ if [ "$$lost1" != "" -o "$$lost2" != "" ]; then \ e=echo ; \ $$e "" ;\ @@ -388,8 +412,47 @@ install-gnome: screensaver-properties.desktop fi ;\ fi -uninstall-gnome: - @if [ "$(install_prefix)$(GNOME_DATADIR)" != "" ]; then \ +install-gnome:: screensaver-properties-capplet + @if [ "$(GNOME_DATADIR)" != "" ]; then \ + if [ ! -d "$(install_prefix)$(GNOME_BINDIR)" ]; then \ + echo $(INSTALL_DIRS) "$(install_prefix)$(GNOME_BINDIR)" ;\ + $(INSTALL_DIRS) "$(install_prefix)$(GNOME_BINDIR)" ;\ + fi ;\ + program=screensaver-properties-capplet ;\ + echo $(INSTALL_SCRIPT) $$program \ + $(install_prefix)$(GNOME_BINDIR)/$$program ;\ + if $(INSTALL_SCRIPT) $$program \ + $(install_prefix)$(GNOME_BINDIR)/$$program ;\ + then true ;\ + else \ + e=echo ; \ + $$e "" ;\ + $$e " ####################################################################";\ + $$e " Warning: unable to install $$program into" ;\ + $$e " $(install_prefix)$(GNOME_BINDIR)/." ;\ + $$e " Without this file, the Gnome session manager will not" ;\ + $$e " launch xscreensaver properly at login time." ;\ + $$e " ####################################################################";\ + $$e "" ;\ + exit 1 ; \ + fi ; \ + fi + +install-gnome:: $(LOGO) + @if [ "$(GNOME_DATADIR)" != "" ]; then \ + if [ ! -d "$(install_prefix)$(GNOME_ICONDIR)" ]; then \ + echo $(INSTALL_DIRS) "$(install_prefix)$(GNOME_ICONDIR)" ;\ + $(INSTALL_DIRS) "$(install_prefix)$(GNOME_ICONDIR)" ;\ + fi ;\ + target=xscreensaver.xpm ;\ + echo $(INSTALL_DATA) $(LOGO) \ + $(install_prefix)$(GNOME_ICONDIR)/$$target ;\ + $(INSTALL_DATA) $(LOGO) \ + $(install_prefix)$(GNOME_ICONDIR)/$$target ;\ + fi + +uninstall-gnome:: + @if [ "$(GNOME_DATADIR)" != "" ]; then \ f=screensaver-properties.desktop ;\ echo rm -f $(install_prefix)$(GNOME_CCDIR)/$$f ;\ rm -f $(install_prefix)$(GNOME_CCDIR)/$$f ;\ @@ -397,6 +460,20 @@ uninstall-gnome: rm -f $(install_prefix)$(GNOME_PANELDIR)/$$f ;\ fi +uninstall-gnome:: + @if [ "$(GNOME_DATADIR)" != "" ]; then \ + program=screensaver-properties-capplet ;\ + echo rm -f $(install_prefix)$(bindir)/$$program ;\ + rm -f $(install_prefix)$(bindir)/$$program ;\ + fi + +uninstall-gnome:: + @if [ "$(GNOME_DATADIR)" != "" ]; then \ + target=xscreensaver.xpm ;\ + echo rm -f $(install_prefix)$(GNOME_ICONDIR)/$$target ;\ + rm -f $(install_prefix)$(GNOME_ICONDIR)/$$target ;\ + fi + install-kde: @src="$(srcdir)/xscreensaver.kss" ; \ if [ "$$KDEDIR" != "" ]; then \ @@ -433,7 +510,7 @@ uninstall-kde: fi clean: - -rm -f *.o a.out core $(EXES) $(EXES2) XScreenSaver_ad.h + -rm -f *.o a.out core $(EXES) $(EXES2) $(TEST_EXES) XScreenSaver_ad.h distclean: clean -rm -f Makefile XScreenSaver.ad TAGS *~ "#"* @@ -527,7 +604,7 @@ $(UTILS_BIN)/resources.o: $(UTILS_SRC)/resources.c $(UTILS_BIN)/usleep.o: $(UTILS_SRC)/usleep.c $(UTILS_BIN)/visual.o: $(UTILS_SRC)/visual.c $(UTILS_BIN)/xmu.o: $(UTILS_SRC)/xmu.c -$(UTILS_BIN)/xroger.o: $(UTILS_SRC)/xroger.c +$(UTILS_BIN)/logo.o: $(UTILS_SRC)/logo.c $(UTILS_BIN)/spline.o: $(UTILS_SRC)/spline.c $(UTILS_BIN)/yarandom.o: $(UTILS_SRC)/yarandom.c @@ -570,11 +647,13 @@ xscreensaver-demo: @PREFERRED_DEMO_PROGRAM@ xscreensaver-demo-Xm: $(DEMO_OBJS) $(MOTIF_OBJS) $(CC) $(LDFLAGS) -o $@ $(DEMO_OBJS) $(MOTIF_OBJS) $(LIBS) $(X_LIBS) \ - $(MOTIF_LIBS) $(X_PRE_LIBS) -lXt -lX11 -lXext $(X_EXTRA_LIBS) + $(MOTIF_LIBS) $(X_PRE_LIBS) -lXt -lX11 $(XDPMS_LIBS) -lXext \ + $(X_EXTRA_LIBS) xscreensaver-demo-Gtk: $(DEMO_OBJS) $(GTK_OBJS) $(CC) $(LDFLAGS) -o $@ $(DEMO_OBJS) $(GTK_OBJS) $(LIBS) $(X_LIBS) \ - $(GTK_LIBS) $(X_PRE_LIBS) -lXt -lX11 -lXext $(X_EXTRA_LIBS) + $(GTK_LIBS) $(X_PRE_LIBS) -lXt -lX11 $(XDPMS_LIBS) -lXext \ + $(X_EXTRA_LIBS) @@ -583,23 +662,19 @@ TEST_PASSWD_OBJS = test-passwd.o $(LOCK_OBJS_1) $(PASSWD_OBJS) \ $(SAVER_UTIL_OBJS) test-passwd.o: XScreenSaver_ad.h -tests:: test-passwd test-passwd: $(TEST_PASSWD_OBJS) XScreenSaver_ad.h $(CC) $(LDFLAGS) -o $@ $(TEST_PASSWD_OBJS) $(SAVER_LIBS) -tests:: test-uid test-uid: test-uid.o $(CC) $(LDFLAGS) -o $@ test-uid.o -tests:: test-xdpms test-xdpms: test-xdpms.o - $(CC) $(LDFLAGS) -o $@ test-xdpms.o $(SAVER_LIBS) + $(CC) $(LDFLAGS) -o $@ test-xdpms.o $(LIBS) $(X_LIBS) $(XDPMS_LIBS) \ + $(X_PRE_LIBS) -lXt -lX11 -lXext $(X_EXTRA_LIBS) -tests:: test-grab test-grab: test-grab.o $(CC) $(LDFLAGS) -o $@ test-grab.o $(SAVER_LIBS) -tests:: test-apm test-apm: test-apm.o $(CC) $(LDFLAGS) -o $@ test-apm.o $(SAVER_LIBS) -lapm @@ -673,6 +748,7 @@ demo-Gtk.o: $(UTILS_SRC)/visual.h demo-Gtk.o: $(srcdir)/remote.h demo-Gtk.o: $(UTILS_SRC)/usleep.h demo-Gtk.o: $(srcdir)/demo-Gtk-widgets.h +demo-Gtk.o: $(UTILS_SRC)/logo.xpm demo-Gtk.o: XScreenSaver_ad.h demo-Gtk-widgets.o: ../config.h demo-Gtk-widgets.o: $(srcdir)/demo-Gtk-stubs.h @@ -686,6 +762,9 @@ passwd.o: ../config.h prefs.o: ../config.h prefs.o: $(srcdir)/prefs.h prefs.o: $(UTILS_SRC)/resources.h +dpms.o: ../config.h +dpms.o: $(srcdir)/xscreensaver.h +dpms.o: $(srcdir)/prefs.h remote.o: ../config.h remote.o: $(srcdir)/remote.h xscreensaver-command.o: ../config.h diff --git a/driver/XScreenSaver.ad.in b/driver/XScreenSaver.ad.in index efc5955e..13e57949 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.26 -! 10-Nov-2000 +! version 3.28 +! 02-Feb-2001 ! ! See "man xscreensaver" for more info. The latest version is always ! available at http://www.jwz.org/xscreensaver/ @@ -154,7 +154,6 @@ rorschach -root -offset 7 \n\ hopalong -root \n\ greynetic -root \n\ - xroger -root \n\ imsmap -root \n\ slidescreen -root \n\ decayscreen -root \n\ @@ -254,6 +253,9 @@ - "NerveRot (thick)" nerverot -root -count 100 -line-width 4 \ -max-nerve-radius 0.8 -nervousness 0.5 -db \n\ xrayswarm -root \n\ +- "Zoom (Fatbits)" zoom -root \n\ + "Zoom (Lenses)" zoom -root -lenses \n\ + whirlwindwarp -root \n\ color: bubbles -root \n\ default-n: webcollage -root \n\ default-n: "WebCollage (whacked)" \ @@ -281,6 +283,8 @@ @GLE_KLUDGE@GL: extrusion -root \n\ @GL_KLUDGE@ GL: sierpinski3d -root \n\ @GL_KLUDGE@ GL: gflux -root \n\ +@GL_KLUDGE@ GL: stonerview -root \n\ +@GL_KLUDGE@ GL: starwars -root \n\ \ - xdaliclock -root -builtin3 -cycle \n\ - default-n: xearth -nofork -nostars -ncolors 50 \ @@ -294,7 +298,8 @@ - xfishtank -d -s \n\ - xsnow \n\ - goban -root \n\ -- electricsheep \n +- electricsheep \n\ +- cosmos -root \n ! To display a randomized slideshow of images, you can do something like this: @@ -339,6 +344,9 @@ ! ! xscreensaver-sgigl /usr/sbin/ep -S ! +! (But note that, on non-SGIs, the bundled "stonerview" hack is a decent +! clone of "ep". Yay!) +! ! You can also use the "ant" demo, but first you need to wrap a shell script ! around it that cds to its home directory, so that it can find its files; ! and also pass it the -S argument, to prevent it from forking. What a mess! @@ -391,7 +399,7 @@ XScreenSaver.bourneShell: /bin/sh *passwd.thermometer.width: 8 *splash.heading.label: XScreenSaver %s -*splash.body.label: Copyright © 1991-2000 by +*splash.body.label: Copyright © 1991-2001 by *splash.body2.label: Jamie Zawinski *splash.demo.label: Demo *splash.prefs.label: Prefs @@ -589,11 +597,6 @@ Patrick Naughton. This draws random colored and stippled rectangles. Written by Jamie \ Zawinski. -*hacks.xroger.documentation: \ -The XScreenSaver logo. Don't you hate it? So do I. Would you like \ -to design a new logo for XScreenSaver? If so, send jwz your \ -submissions. - *hacks.imsmap.name: IMSmap *hacks.imsmap.documentation: \ This generates random cloud-like patterns. It looks quite different \ @@ -686,9 +689,9 @@ each face. Don't think about it too long, or your brain will melt. \ Written by Joe Keane, Fritz Mueller, and Jamie Zawinski. *hacks.hyperball.documentation: \ -Hyperball is to hypercube as icosahedron is to cube: this displays \ +Hyperball is to hypercube as dodecahedron is to cube: this displays \ a 2D projection of the sequence of 3D objects which are the projections \ -of the 4D analog to the icosahedron. Written by Joe Keane. +of the 4D analog to the dodecahedron. Written by Joe Keane. *hacks.halo.documentation: \ This draws trippy psychedelic circular patterns that hurt to look at. \ @@ -1221,6 +1224,30 @@ Written by Josiah Pease. Draws a few swarms of critters flying around the screen, with nicely \ faded color trails behind them. Written by Chris Leger. +*hacks.zoom.documentation: \ +Zooms in on a part of the screen and then moves around. With the \ +-lenses option the result is like looking through many overlapping \ +lenses rather than just a simple zoom. Written by James Macnicol. + +*hacks.whirlwindwarp.name: WhirlwindWarp +*hacks.whirlwindwarp.documentation: \ +Floating stars are acted upon by a mixture of simple 2D \ +forcefields. The strength of each forcefield changes \ +continuously, and it is also switched on and off at random. \ +By Paul 'Joey' Clark. + +*hacks.stonerview.name: StonerView +*hacks.stonerview.documentation: \ +Chains of colorful squares dance around each other in complex spiral \ +patterns. Written by Andrew Plotkin, based on SGI's `electropaint' \ +screensaver. + +*hacks.starwars.name: StarWars +*hacks.starwars.documentation: \ +Draws a stream of text slowly scrolling into the distance at an \ +angle, over a star field, like at the beginning of the movie of the \ +same name. Written by Jamie Zawinski and Claudio Matauoka. + !============================================================================= ! @@ -1295,4 +1322,8 @@ connection to the Internet. \ By Scott Draves. You can find it at . \ See that web site for configuration information. +*hacks.cosmos.documentation: \ +Draws fireworks and zooming, fading flares. By Tom Campbell. \ +You can find it at . + ! (xrdb prevention kludge: whole file) */ diff --git a/driver/XScreenSaver_ad.h b/driver/XScreenSaver_ad.h index 56c3687e..a793aed0 100644 --- a/driver/XScreenSaver_ad.h +++ b/driver/XScreenSaver_ad.h @@ -58,7 +58,6 @@ rorschach -root -offset 7 \\n\ hopalong -root \\n\ greynetic -root \\n\ - xroger -root \\n\ imsmap -root \\n\ slidescreen -root \\n\ decayscreen -root \\n\ @@ -158,6 +157,9 @@ - \"NerveRot (thick)\" nerverot -root -count 100 -line-width 4 \ -max-nerve-radius 0.8 -nervousness 0.5 -db \\n\ xrayswarm -root \\n\ +- \"Zoom (Fatbits)\" zoom -root \\n\ + \"Zoom (Lenses)\" zoom -root -lenses \\n\ + whirlwindwarp -root \\n\ color: bubbles -root \\n\ default-n: webcollage -root \\n\ default-n: \"WebCollage (whacked)\" \ @@ -185,6 +187,8 @@ GL: extrusion -root \\n\ GL: sierpinski3d -root \\n\ GL: gflux -root \\n\ + GL: stonerview -root \\n\ + GL: starwars -root \\n\ \ - xdaliclock -root -builtin3 -cycle \\n\ - default-n: xearth -nofork -nostars -ncolors 50 \ @@ -198,7 +202,8 @@ - xfishtank -d -s \\n\ - xsnow \\n\ - goban -root \\n\ -- electricsheep \\n", +- electricsheep \\n\ +- cosmos -root \\n", "XScreenSaver.pointerPollTime: 5", "XScreenSaver.initialDelay: 0", "XScreenSaver.windowCreationTimeout: 30", @@ -230,7 +235,7 @@ "*passwd.passwdFont: *-courier-medium-r-*-*-*-140-*-*-*-iso8859-1", "*passwd.thermometer.width: 8", "*splash.heading.label: XScreenSaver %s", -"*splash.body.label: Copyright © 1991-2000 by", +"*splash.body.label: Copyright © 1991-2001 by", "*splash.body2.label: Jamie Zawinski ", "*splash.demo.label: Demo", "*splash.prefs.label: Prefs", @@ -388,10 +393,6 @@ Patrick Naughton.", "*hacks.greynetic.documentation: \ This draws random colored and stippled rectangles. Written by Jamie \ Zawinski.", -"*hacks.xroger.documentation: \ -The XScreenSaver logo. Don't you hate it? So do I. Would you like \ -to design a new logo for XScreenSaver? If so, send jwz your \ -submissions.", "*hacks.imsmap.name: IMSmap", "*hacks.imsmap.documentation: \ This generates random cloud-like patterns. It looks quite different \ @@ -475,9 +476,9 @@ visualize the rotation, it uses a different color for the edges of \ each face. Don't think about it too long, or your brain will melt. \ Written by Joe Keane, Fritz Mueller, and Jamie Zawinski.", "*hacks.hyperball.documentation: \ -Hyperball is to hypercube as icosahedron is to cube: this displays \ +Hyperball is to hypercube as dodecahedron is to cube: this displays \ a 2D projection of the sequence of 3D objects which are the projections \ -of the 4D analog to the icosahedron. Written by Joe Keane.", +of the 4D analog to the dodecahedron. Written by Joe Keane.", "*hacks.halo.documentation: \ This draws trippy psychedelic circular patterns that hurt to look at. \ It can also animate the control-points, but that takes a lot of CPU \ @@ -914,6 +915,26 @@ Written by Josiah Pease.", "*hacks.xrayswarm.documentation: \ Draws a few swarms of critters flying around the screen, with nicely \ faded color trails behind them. Written by Chris Leger.", +"*hacks.zoom.documentation: \ +Zooms in on a part of the screen and then moves around. With the \ +-lenses option the result is like looking through many overlapping \ +lenses rather than just a simple zoom. Written by James Macnicol.", +"*hacks.whirlwindwarp.name: WhirlwindWarp", +"*hacks.whirlwindwarp.documentation: \ +Floating stars are acted upon by a mixture of simple 2D \ +forcefields. The strength of each forcefield changes \ +continuously, and it is also switched on and off at random. \ +By Paul 'Joey' Clark.", +"*hacks.stonerview.name: StonerView", +"*hacks.stonerview.documentation: \ +Chains of colorful squares dance around each other in complex spiral \ +patterns. Written by Andrew Plotkin, based on SGI's `electropaint' \ +screensaver.", +"*hacks.starwars.name: StarWars", +"*hacks.starwars.documentation: \ +Draws a stream of text slowly scrolling into the distance at an \ +angle, over a star field, like at the beginning of the movie of the \ +same name. Written by Jamie Zawinski and Claudio Matauoka.", "*hacks.xdaliclock.name: XDaliClock", "*hacks.xdaliclock.documentation: \ XDaliClock draws a large digital clock, the numbers of which change by \ @@ -972,3 +993,6 @@ connection to the Internet. \ \\n\\n\ By Scott Draves. You can find it at . \ See that web site for configuration information.", +"*hacks.cosmos.documentation: \ +Draws fireworks and zooming, fading flares. By Tom Campbell. \ +You can find it at .", diff --git a/driver/demo-Gtk-widgets.c b/driver/demo-Gtk-widgets.c index 6adcd800..8066bbb5 100644 --- a/driver/demo-Gtk-widgets.c +++ b/driver/demo-Gtk-widgets.c @@ -71,27 +71,52 @@ create_xscreensaver_demo (void) GtkWidget *demo; GtkWidget *manual; GtkWidget *demo_tab; - GtkWidget *prefs_hbox; - GtkWidget *prefs_frame; - GtkWidget *prefs_table; - GtkWidget *timeout_text; - GtkWidget *cycle_text; - GtkWidget *fade_text; - GtkWidget *ticks_text; + GtkWidget *options_vbox; + GtkWidget *options_table; + GtkWidget *blanking_frame; + GtkWidget *blanking_table; GtkWidget *lock_text; - GtkWidget *pass_text; + GtkWidget *cycle_text; + GtkWidget *timeout_text; GtkWidget *timeout_label; GtkWidget *cycle_label; - GtkWidget *fade_label; - GtkWidget *ticks_label; GtkWidget *lock_label; - GtkWidget *pass_label; + GtkWidget *blanking_dummy; + GtkWidget *blanking_hr; + GtkWidget *lock_button_eventbox; + GtkWidget *lock_button; + GtkWidget *dpms_frame; + GtkWidget *dpms_table; + GtkWidget *dpms_off_text; + GtkWidget *dpms_suspend_text; + GtkWidget *dpms_standby_text; + GtkWidget *dpms_standby_label; + GtkWidget *dpms_off_label; + GtkWidget *dpms_suspend_label; + GtkWidget *dpms_dummy; + GtkWidget *dpms_button_eventbox; + GtkWidget *dpms_button; + GtkWidget *diag_frame; + GtkWidget *diag_table; + GtkWidget *verbose_button_eventbox; GtkWidget *verbose_button; + GtkWidget *capture_button_eventbox; + GtkWidget *capture_button; + GtkWidget *splash_button_eventbox; + GtkWidget *splash_button; + GtkWidget *cmap_frame; + GtkWidget *cmap_table; + GtkWidget *fade_text; + GtkWidget *cmap_dummy; + GtkWidget *fade_label; + GtkWidget *cmap_hr; + GtkWidget *install_button_eventbox; GtkWidget *install_button; + GtkWidget *fade_button_eventbox; GtkWidget *fade_button; + GtkWidget *unfade_button_eventbox; GtkWidget *unfade_button; - GtkWidget *lock_button; - GtkWidget *prefs_tab; + GtkWidget *options_tab; GtkAccelGroup *accel_group; GtkTooltips *tooltips; @@ -567,33 +592,67 @@ create_xscreensaver_demo (void) gtk_widget_show (demo_tab); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 0), demo_tab); - prefs_hbox = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (prefs_hbox, "prefs_hbox"); - gtk_widget_ref (prefs_hbox); - gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "prefs_hbox", prefs_hbox, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (prefs_hbox); - gtk_container_add (GTK_CONTAINER (notebook), prefs_hbox); + options_vbox = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (options_vbox, "options_vbox"); + gtk_widget_ref (options_vbox); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "options_vbox", options_vbox, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (options_vbox); + gtk_container_add (GTK_CONTAINER (notebook), options_vbox); + + options_table = gtk_table_new (2, 2, TRUE); + gtk_widget_set_name (options_table, "options_table"); + gtk_widget_ref (options_table); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "options_table", options_table, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (options_table); + gtk_box_pack_start (GTK_BOX (options_vbox), options_table, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (options_table), 10); + gtk_table_set_row_spacings (GTK_TABLE (options_table), 2); + + blanking_frame = gtk_frame_new ("Blanking and Locking:"); + gtk_widget_set_name (blanking_frame, "blanking_frame"); + gtk_widget_ref (blanking_frame); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "blanking_frame", blanking_frame, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (blanking_frame); + gtk_table_attach (GTK_TABLE (options_table), blanking_frame, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); + gtk_container_set_border_width (GTK_CONTAINER (blanking_frame), 10); + + blanking_table = gtk_table_new (5, 3, FALSE); + gtk_widget_set_name (blanking_table, "blanking_table"); + gtk_widget_ref (blanking_table); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "blanking_table", blanking_table, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (blanking_table); + gtk_container_add (GTK_CONTAINER (blanking_frame), blanking_table); + gtk_container_set_border_width (GTK_CONTAINER (blanking_table), 10); + gtk_table_set_row_spacings (GTK_TABLE (blanking_table), 2); + gtk_table_set_col_spacings (GTK_TABLE (blanking_table), 10); - prefs_frame = gtk_frame_new (NULL); - gtk_widget_set_name (prefs_frame, "prefs_frame"); - gtk_widget_ref (prefs_frame); - gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "prefs_frame", prefs_frame, + lock_text = gtk_entry_new_with_max_length (8); + gtk_widget_set_name (lock_text, "lock_text"); + gtk_widget_ref (lock_text); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_text", lock_text, (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (prefs_frame); - gtk_box_pack_start (GTK_BOX (prefs_hbox), prefs_frame, TRUE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (prefs_frame), 10); + gtk_widget_show (lock_text); + gtk_table_attach (GTK_TABLE (blanking_table), lock_text, 1, 2, 4, 5, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_tooltips_set_tip (tooltips, lock_text, "How long after the screen saver has activated until a password will be required (if `Require Password' is also set.)", NULL); - prefs_table = gtk_table_new (6, 3, FALSE); - gtk_widget_set_name (prefs_table, "prefs_table"); - gtk_widget_ref (prefs_table); - gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "prefs_table", prefs_table, + cycle_text = gtk_entry_new_with_max_length (8); + gtk_widget_set_name (cycle_text, "cycle_text"); + gtk_widget_ref (cycle_text); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cycle_text", cycle_text, (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (prefs_table); - gtk_container_add (GTK_CONTAINER (prefs_frame), prefs_table); - gtk_container_set_border_width (GTK_CONTAINER (prefs_table), 10); - gtk_table_set_row_spacings (GTK_TABLE (prefs_table), 2); - gtk_table_set_col_spacings (GTK_TABLE (prefs_table), 10); + gtk_widget_show (cycle_text); + gtk_table_attach (GTK_TABLE (blanking_table), cycle_text, 1, 2, 1, 2, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_tooltips_set_tip (tooltips, cycle_text, "How long each demo will be run before moving on to another.", NULL); timeout_text = gtk_entry_new_with_max_length (8); gtk_widget_set_name (timeout_text, "timeout_text"); @@ -601,147 +660,365 @@ create_xscreensaver_demo (void) gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "timeout_text", timeout_text, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (timeout_text); - gtk_table_attach (GTK_TABLE (prefs_table), timeout_text, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_FILL), + gtk_table_attach (GTK_TABLE (blanking_table), timeout_text, 1, 2, 0, 1, + (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); - gtk_tooltips_set_tip (tooltips, timeout_text, "How long until the screensaver activates.", NULL); + gtk_tooltips_set_tip (tooltips, timeout_text, "How long until the screen saver activates and begins running demos.", NULL); - cycle_text = gtk_entry_new_with_max_length (8); - gtk_widget_set_name (cycle_text, "cycle_text"); - gtk_widget_ref (cycle_text); - gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cycle_text", cycle_text, + timeout_label = gtk_label_new ("Blank After:"); + gtk_widget_set_name (timeout_label, "timeout_label"); + gtk_widget_ref (timeout_label); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "timeout_label", timeout_label, (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (cycle_text); - gtk_table_attach (GTK_TABLE (prefs_table), cycle_text, 1, 2, 1, 2, + gtk_widget_show (timeout_label); + gtk_table_attach (GTK_TABLE (blanking_table), timeout_label, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - gtk_tooltips_set_tip (tooltips, cycle_text, "How long each demo will be run before moving on to another.", NULL); + gtk_label_set_justify (GTK_LABEL (timeout_label), GTK_JUSTIFY_RIGHT); + gtk_misc_set_alignment (GTK_MISC (timeout_label), 1, 0.5); - fade_text = gtk_entry_new_with_max_length (8); - gtk_widget_set_name (fade_text, "fade_text"); - gtk_widget_ref (fade_text); - gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_text", fade_text, + cycle_label = gtk_label_new ("Cycle After:"); + gtk_widget_set_name (cycle_label, "cycle_label"); + gtk_widget_ref (cycle_label); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cycle_label", cycle_label, (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (fade_text); - gtk_table_attach (GTK_TABLE (prefs_table), fade_text, 1, 2, 2, 3, + gtk_widget_show (cycle_label); + gtk_table_attach (GTK_TABLE (blanking_table), cycle_label, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - gtk_tooltips_set_tip (tooltips, fade_text, "How long (in seconds) it should take for the screen to fade to black (8-bit displays only.)", NULL); + gtk_label_set_justify (GTK_LABEL (cycle_label), GTK_JUSTIFY_RIGHT); + gtk_misc_set_alignment (GTK_MISC (cycle_label), 1, 0.5); - ticks_text = gtk_entry_new_with_max_length (8); - gtk_widget_set_name (ticks_text, "ticks_text"); - gtk_widget_ref (ticks_text); - gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "ticks_text", ticks_text, + lock_label = gtk_label_new ("Lock After:"); + gtk_widget_set_name (lock_label, "lock_label"); + gtk_widget_ref (lock_label); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_label", lock_label, (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (ticks_text); - gtk_table_attach (GTK_TABLE (prefs_table), ticks_text, 1, 2, 3, 4, + gtk_widget_show (lock_label); + gtk_table_attach (GTK_TABLE (blanking_table), lock_label, 0, 1, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - gtk_tooltips_set_tip (tooltips, ticks_text, "How many steps are in the fade animation (8-bit displays only.)", NULL); + gtk_label_set_justify (GTK_LABEL (lock_label), GTK_JUSTIFY_RIGHT); + gtk_misc_set_alignment (GTK_MISC (lock_label), 1, 0.5); - lock_text = gtk_entry_new_with_max_length (8); - gtk_widget_set_name (lock_text, "lock_text"); - gtk_widget_ref (lock_text); - gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_text", lock_text, + blanking_dummy = gtk_label_new (""); + gtk_widget_set_name (blanking_dummy, "blanking_dummy"); + gtk_widget_ref (blanking_dummy); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "blanking_dummy", blanking_dummy, (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (lock_text); - gtk_table_attach (GTK_TABLE (prefs_table), lock_text, 1, 2, 4, 5, - (GtkAttachOptions) (GTK_FILL), + gtk_widget_show (blanking_dummy); + gtk_table_attach (GTK_TABLE (blanking_table), blanking_dummy, 2, 3, 4, 5, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); - gtk_tooltips_set_tip (tooltips, lock_text, "How long after the screensaver has activated until a password will be required (if `Require Password' is also set.)", NULL); + gtk_label_set_justify (GTK_LABEL (blanking_dummy), GTK_JUSTIFY_LEFT); + + blanking_hr = gtk_hseparator_new (); + gtk_widget_set_name (blanking_hr, "blanking_hr"); + gtk_widget_ref (blanking_hr); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "blanking_hr", blanking_hr, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (blanking_hr); + gtk_table_attach (GTK_TABLE (blanking_table), blanking_hr, 0, 3, 2, 3, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); - pass_text = gtk_entry_new_with_max_length (8); - gtk_widget_set_name (pass_text, "pass_text"); - gtk_widget_ref (pass_text); - gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "pass_text", pass_text, + lock_button_eventbox = gtk_event_box_new (); + gtk_widget_set_name (lock_button_eventbox, "lock_button_eventbox"); + gtk_widget_ref (lock_button_eventbox); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_button_eventbox", lock_button_eventbox, (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pass_text); - gtk_table_attach (GTK_TABLE (prefs_table), pass_text, 1, 2, 5, 6, + gtk_widget_show (lock_button_eventbox); + gtk_table_attach (GTK_TABLE (blanking_table), lock_button_eventbox, 0, 3, 3, 4, (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_tooltips_set_tip (tooltips, pass_text, "How long the password dialog will wait.", NULL); + (GtkAttachOptions) (GTK_FILL), 0, 0); + gtk_tooltips_set_tip (tooltips, lock_button_eventbox, "Whether a password should be required to unblank the screen.", NULL); - timeout_label = gtk_label_new ("Saver Timeout:"); - gtk_widget_set_name (timeout_label, "timeout_label"); - gtk_widget_ref (timeout_label); - gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "timeout_label", timeout_label, + lock_button = gtk_check_button_new_with_label ("Require Password"); + gtk_widget_set_name (lock_button, "lock_button"); + gtk_widget_ref (lock_button); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_button", lock_button, (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (timeout_label); - gtk_table_attach (GTK_TABLE (prefs_table), timeout_label, 0, 1, 0, 1, + gtk_widget_show (lock_button); + gtk_container_add (GTK_CONTAINER (lock_button_eventbox), lock_button); + + dpms_frame = gtk_frame_new ("Display Power Management:"); + gtk_widget_set_name (dpms_frame, "dpms_frame"); + gtk_widget_ref (dpms_frame); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_frame", dpms_frame, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (dpms_frame); + gtk_table_attach (GTK_TABLE (options_table), dpms_frame, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + gtk_container_set_border_width (GTK_CONTAINER (dpms_frame), 10); + + dpms_table = gtk_table_new (4, 3, FALSE); + gtk_widget_set_name (dpms_table, "dpms_table"); + gtk_widget_ref (dpms_table); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_table", dpms_table, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (dpms_table); + gtk_container_add (GTK_CONTAINER (dpms_frame), dpms_table); + gtk_container_set_border_width (GTK_CONTAINER (dpms_table), 10); + gtk_table_set_row_spacings (GTK_TABLE (dpms_table), 2); + gtk_table_set_col_spacings (GTK_TABLE (dpms_table), 10); + + dpms_off_text = gtk_entry_new_with_max_length (8); + gtk_widget_set_name (dpms_off_text, "dpms_off_text"); + gtk_widget_ref (dpms_off_text); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_off_text", dpms_off_text, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (dpms_off_text); + gtk_table_attach (GTK_TABLE (dpms_table), dpms_off_text, 1, 2, 3, 4, + (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (timeout_label), GTK_JUSTIFY_RIGHT); - gtk_misc_set_alignment (GTK_MISC (timeout_label), 1, 0.5); + gtk_tooltips_set_tip (tooltips, dpms_off_text, "How long until the monitor powers down (if Power Management is enabled).", NULL); - cycle_label = gtk_label_new ("Cycle Timeout:"); - gtk_widget_set_name (cycle_label, "cycle_label"); - gtk_widget_ref (cycle_label); - gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cycle_label", cycle_label, + dpms_suspend_text = gtk_entry_new_with_max_length (8); + gtk_widget_set_name (dpms_suspend_text, "dpms_suspend_text"); + gtk_widget_ref (dpms_suspend_text); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_suspend_text", dpms_suspend_text, (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (cycle_label); - gtk_table_attach (GTK_TABLE (prefs_table), cycle_label, 0, 1, 1, 2, - (GtkAttachOptions) (GTK_FILL), + gtk_widget_show (dpms_suspend_text); + gtk_table_attach (GTK_TABLE (dpms_table), dpms_suspend_text, 1, 2, 2, 3, + (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (cycle_label), GTK_JUSTIFY_RIGHT); - gtk_misc_set_alignment (GTK_MISC (cycle_label), 1, 0.5); + gtk_tooltips_set_tip (tooltips, dpms_suspend_text, "How long until the monitor goes into power-saving mode (if Power Management is enabled).", NULL); - fade_label = gtk_label_new ("Fade Duration:"); - gtk_widget_set_name (fade_label, "fade_label"); - gtk_widget_ref (fade_label); - gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_label", fade_label, + dpms_standby_text = gtk_entry_new_with_max_length (8); + gtk_widget_set_name (dpms_standby_text, "dpms_standby_text"); + gtk_widget_ref (dpms_standby_text); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_standby_text", dpms_standby_text, (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (fade_label); - gtk_table_attach (GTK_TABLE (prefs_table), fade_label, 0, 1, 2, 3, - (GtkAttachOptions) (GTK_FILL), + gtk_widget_show (dpms_standby_text); + gtk_table_attach (GTK_TABLE (dpms_table), dpms_standby_text, 1, 2, 1, 2, + (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (fade_label), GTK_JUSTIFY_RIGHT); - gtk_misc_set_alignment (GTK_MISC (fade_label), 1, 0.5); + gtk_tooltips_set_tip (tooltips, dpms_standby_text, "How long before the monitor goes completely black (if Power Management is enabled).", NULL); - ticks_label = gtk_label_new ("Fade Ticks:"); - gtk_widget_set_name (ticks_label, "ticks_label"); - gtk_widget_ref (ticks_label); - gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "ticks_label", ticks_label, + dpms_standby_label = gtk_label_new ("Standby After:"); + gtk_widget_set_name (dpms_standby_label, "dpms_standby_label"); + gtk_widget_ref (dpms_standby_label); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_standby_label", dpms_standby_label, (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (ticks_label); - gtk_table_attach (GTK_TABLE (prefs_table), ticks_label, 0, 1, 3, 4, + gtk_widget_show (dpms_standby_label); + gtk_table_attach (GTK_TABLE (dpms_table), dpms_standby_label, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (ticks_label), GTK_JUSTIFY_RIGHT); - gtk_misc_set_alignment (GTK_MISC (ticks_label), 1, 0.5); + gtk_label_set_justify (GTK_LABEL (dpms_standby_label), GTK_JUSTIFY_RIGHT); + gtk_misc_set_alignment (GTK_MISC (dpms_standby_label), 1, 0.5); - lock_label = gtk_label_new ("Lock Timeout:"); - gtk_widget_set_name (lock_label, "lock_label"); - gtk_widget_ref (lock_label); - gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_label", lock_label, + dpms_off_label = gtk_label_new ("Off After:"); + gtk_widget_set_name (dpms_off_label, "dpms_off_label"); + gtk_widget_ref (dpms_off_label); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_off_label", dpms_off_label, (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (lock_label); - gtk_table_attach (GTK_TABLE (prefs_table), lock_label, 0, 1, 4, 5, + gtk_widget_show (dpms_off_label); + gtk_table_attach (GTK_TABLE (dpms_table), dpms_off_label, 0, 1, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (lock_label), GTK_JUSTIFY_RIGHT); - gtk_misc_set_alignment (GTK_MISC (lock_label), 1, 0.5); + gtk_label_set_justify (GTK_LABEL (dpms_off_label), GTK_JUSTIFY_RIGHT); + gtk_misc_set_alignment (GTK_MISC (dpms_off_label), 1, 0.5); - pass_label = gtk_label_new ("Password Timeout:"); - gtk_widget_set_name (pass_label, "pass_label"); - gtk_widget_ref (pass_label); - gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "pass_label", pass_label, + dpms_suspend_label = gtk_label_new ("Suspend After:"); + gtk_widget_set_name (dpms_suspend_label, "dpms_suspend_label"); + gtk_widget_ref (dpms_suspend_label); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_suspend_label", dpms_suspend_label, (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pass_label); - gtk_table_attach (GTK_TABLE (prefs_table), pass_label, 0, 1, 5, 6, + gtk_widget_show (dpms_suspend_label); + gtk_table_attach (GTK_TABLE (dpms_table), dpms_suspend_label, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (pass_label), GTK_JUSTIFY_RIGHT); - gtk_misc_set_alignment (GTK_MISC (pass_label), 1, 0.5); + gtk_label_set_justify (GTK_LABEL (dpms_suspend_label), GTK_JUSTIFY_RIGHT); + gtk_misc_set_alignment (GTK_MISC (dpms_suspend_label), 1, 0.5); + + dpms_dummy = gtk_label_new (""); + gtk_widget_set_name (dpms_dummy, "dpms_dummy"); + gtk_widget_ref (dpms_dummy); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_dummy", dpms_dummy, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (dpms_dummy); + gtk_table_attach (GTK_TABLE (dpms_table), dpms_dummy, 2, 3, 3, 4, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (dpms_dummy), GTK_JUSTIFY_LEFT); + + dpms_button_eventbox = gtk_event_box_new (); + gtk_widget_set_name (dpms_button_eventbox, "dpms_button_eventbox"); + gtk_widget_ref (dpms_button_eventbox); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_button_eventbox", dpms_button_eventbox, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (dpms_button_eventbox); + gtk_table_attach (GTK_TABLE (dpms_table), dpms_button_eventbox, 0, 3, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + gtk_tooltips_set_tip (tooltips, dpms_button_eventbox, "Whether the monitor should be powered down after a while.", NULL); - verbose_button = gtk_check_button_new_with_label ("Verbose"); + dpms_button = gtk_check_button_new_with_label ("Power Management Enabled"); + gtk_widget_set_name (dpms_button, "dpms_button"); + gtk_widget_ref (dpms_button); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_button", dpms_button, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (dpms_button); + gtk_container_add (GTK_CONTAINER (dpms_button_eventbox), dpms_button); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dpms_button), TRUE); + + diag_frame = gtk_frame_new ("Diagnostics:"); + gtk_widget_set_name (diag_frame, "diag_frame"); + gtk_widget_ref (diag_frame); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "diag_frame", diag_frame, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (diag_frame); + gtk_table_attach (GTK_TABLE (options_table), diag_frame, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + gtk_container_set_border_width (GTK_CONTAINER (diag_frame), 10); + + diag_table = gtk_table_new (3, 1, FALSE); + gtk_widget_set_name (diag_table, "diag_table"); + gtk_widget_ref (diag_table); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "diag_table", diag_table, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (diag_table); + gtk_container_add (GTK_CONTAINER (diag_frame), diag_table); + gtk_container_set_border_width (GTK_CONTAINER (diag_table), 10); + gtk_table_set_row_spacings (GTK_TABLE (diag_table), 2); + gtk_table_set_col_spacings (GTK_TABLE (diag_table), 10); + + verbose_button_eventbox = gtk_event_box_new (); + gtk_widget_set_name (verbose_button_eventbox, "verbose_button_eventbox"); + gtk_widget_ref (verbose_button_eventbox); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "verbose_button_eventbox", verbose_button_eventbox, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (verbose_button_eventbox); + gtk_table_attach (GTK_TABLE (diag_table), verbose_button_eventbox, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + gtk_tooltips_set_tip (tooltips, verbose_button_eventbox, "Whether the daemon should print lots of debugging information.", NULL); + + verbose_button = gtk_check_button_new_with_label ("Verbose Diagnostics"); gtk_widget_set_name (verbose_button, "verbose_button"); gtk_widget_ref (verbose_button); gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "verbose_button", verbose_button, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (verbose_button); - gtk_table_attach (GTK_TABLE (prefs_table), verbose_button, 2, 3, 0, 1, + gtk_container_add (GTK_CONTAINER (verbose_button_eventbox), verbose_button); + + capture_button_eventbox = gtk_event_box_new (); + gtk_widget_set_name (capture_button_eventbox, "capture_button_eventbox"); + gtk_widget_ref (capture_button_eventbox); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "capture_button_eventbox", capture_button_eventbox, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (capture_button_eventbox); + gtk_table_attach (GTK_TABLE (diag_table), capture_button_eventbox, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + gtk_tooltips_set_tip (tooltips, capture_button_eventbox, "Whether the stdout and stderr streams of graphics demos should be displayed on the xscreensaver window.", NULL); + + capture_button = gtk_check_button_new_with_label ("Display Subprocess Errors"); + gtk_widget_set_name (capture_button, "capture_button"); + gtk_widget_ref (capture_button); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "capture_button", capture_button, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (capture_button); + gtk_container_add (GTK_CONTAINER (capture_button_eventbox), capture_button); + + splash_button_eventbox = gtk_event_box_new (); + gtk_widget_set_name (splash_button_eventbox, "splash_button_eventbox"); + gtk_widget_ref (splash_button_eventbox); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "splash_button_eventbox", splash_button_eventbox, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (splash_button_eventbox); + gtk_table_attach (GTK_TABLE (diag_table), splash_button_eventbox, 0, 1, 2, 3, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_tooltips_set_tip (tooltips, splash_button_eventbox, "Whether the splash screen (with the version number and `Help' button) should be momentarily displayed when the daemon first starts up.", NULL); + + splash_button = gtk_check_button_new_with_label ("Display Splash Screen at Startup"); + gtk_widget_set_name (splash_button, "splash_button"); + gtk_widget_ref (splash_button); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "splash_button", splash_button, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (splash_button); + gtk_container_add (GTK_CONTAINER (splash_button_eventbox), splash_button); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (splash_button), TRUE); + + cmap_frame = gtk_frame_new ("Colormaps: (8-bit displays only)"); + gtk_widget_set_name (cmap_frame, "cmap_frame"); + gtk_widget_ref (cmap_frame); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cmap_frame", cmap_frame, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cmap_frame); + gtk_table_attach (GTK_TABLE (options_table), cmap_frame, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + gtk_container_set_border_width (GTK_CONTAINER (cmap_frame), 10); + + cmap_table = gtk_table_new (5, 3, FALSE); + gtk_widget_set_name (cmap_table, "cmap_table"); + gtk_widget_ref (cmap_table); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cmap_table", cmap_table, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cmap_table); + gtk_container_add (GTK_CONTAINER (cmap_frame), cmap_table); + gtk_container_set_border_width (GTK_CONTAINER (cmap_table), 10); + gtk_table_set_row_spacings (GTK_TABLE (cmap_table), 2); + gtk_table_set_col_spacings (GTK_TABLE (cmap_table), 10); + + fade_text = gtk_entry_new_with_max_length (8); + gtk_widget_set_name (fade_text, "fade_text"); + gtk_widget_ref (fade_text); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_text", fade_text, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (fade_text); + gtk_table_attach (GTK_TABLE (cmap_table), fade_text, 1, 2, 4, 5, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_tooltips_set_tip (tooltips, fade_text, "How long it should take for the screen to fade in and out.", NULL); + + cmap_dummy = gtk_label_new (""); + gtk_widget_set_name (cmap_dummy, "cmap_dummy"); + gtk_widget_ref (cmap_dummy); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cmap_dummy", cmap_dummy, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cmap_dummy); + gtk_table_attach (GTK_TABLE (cmap_table), cmap_dummy, 2, 3, 4, 5, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (cmap_dummy), GTK_JUSTIFY_LEFT); + + fade_label = gtk_label_new ("Fade Duration:"); + gtk_widget_set_name (fade_label, "fade_label"); + gtk_widget_ref (fade_label); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_label", fade_label, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (fade_label); + gtk_table_attach (GTK_TABLE (cmap_table), fade_label, 0, 1, 4, 5, (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 10, 0); + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (fade_label), GTK_JUSTIFY_RIGHT); + gtk_misc_set_alignment (GTK_MISC (fade_label), 1, 0.5); + + cmap_hr = gtk_hseparator_new (); + gtk_widget_set_name (cmap_hr, "cmap_hr"); + gtk_widget_ref (cmap_hr); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cmap_hr", cmap_hr, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cmap_hr); + gtk_table_attach (GTK_TABLE (cmap_table), cmap_hr, 0, 3, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); + + install_button_eventbox = gtk_event_box_new (); + gtk_widget_set_name (install_button_eventbox, "install_button_eventbox"); + gtk_widget_ref (install_button_eventbox); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "install_button_eventbox", install_button_eventbox, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (install_button_eventbox); + gtk_table_attach (GTK_TABLE (cmap_table), install_button_eventbox, 0, 3, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + gtk_tooltips_set_tip (tooltips, install_button_eventbox, "Whether to install a private colormap when running in 8-bit mode on the default Visual.", NULL); install_button = gtk_check_button_new_with_label ("Install Colormap"); gtk_widget_set_name (install_button, "install_button"); @@ -749,47 +1026,53 @@ create_xscreensaver_demo (void) gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "install_button", install_button, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (install_button); - gtk_table_attach (GTK_TABLE (prefs_table), install_button, 2, 3, 1, 2, + gtk_container_add (GTK_CONTAINER (install_button_eventbox), install_button); + + fade_button_eventbox = gtk_event_box_new (); + gtk_widget_set_name (fade_button_eventbox, "fade_button_eventbox"); + gtk_widget_ref (fade_button_eventbox); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_button_eventbox", fade_button_eventbox, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (fade_button_eventbox); + gtk_table_attach (GTK_TABLE (cmap_table), fade_button_eventbox, 0, 3, 2, 3, (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 10, 0); + (GtkAttachOptions) (GTK_FILL), 0, 0); + gtk_tooltips_set_tip (tooltips, fade_button_eventbox, "Whether the screen should slowly fade to black when the screen saver activates.", NULL); - fade_button = gtk_check_button_new_with_label ("Fade Colormap"); + fade_button = gtk_check_button_new_with_label ("Fade To Black When Blanking"); gtk_widget_set_name (fade_button, "fade_button"); gtk_widget_ref (fade_button); gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_button", fade_button, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fade_button); - gtk_table_attach (GTK_TABLE (prefs_table), fade_button, 2, 3, 2, 3, + gtk_container_add (GTK_CONTAINER (fade_button_eventbox), fade_button); + + unfade_button_eventbox = gtk_event_box_new (); + gtk_widget_set_name (unfade_button_eventbox, "unfade_button_eventbox"); + gtk_widget_ref (unfade_button_eventbox); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "unfade_button_eventbox", unfade_button_eventbox, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (unfade_button_eventbox); + gtk_table_attach (GTK_TABLE (cmap_table), unfade_button_eventbox, 0, 3, 3, 4, (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 10, 0); + (GtkAttachOptions) (GTK_FILL), 0, 0); + gtk_tooltips_set_tip (tooltips, unfade_button_eventbox, "Whether the screen should slowly fade in from black when the screen saver deactivates.", NULL); - unfade_button = gtk_check_button_new_with_label ("Unfade Colormap"); + unfade_button = gtk_check_button_new_with_label ("Fade From Black When Unblanking"); gtk_widget_set_name (unfade_button, "unfade_button"); gtk_widget_ref (unfade_button); gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "unfade_button", unfade_button, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (unfade_button); - gtk_table_attach (GTK_TABLE (prefs_table), unfade_button, 2, 3, 3, 4, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 10, 0); + gtk_container_add (GTK_CONTAINER (unfade_button_eventbox), unfade_button); - lock_button = gtk_check_button_new_with_label ("Require Password"); - gtk_widget_set_name (lock_button, "lock_button"); - gtk_widget_ref (lock_button); - gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_button", lock_button, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (lock_button); - gtk_table_attach (GTK_TABLE (prefs_table), lock_button, 2, 3, 4, 5, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 10, 0); - - prefs_tab = gtk_label_new ("Screensaver Options"); - gtk_widget_set_name (prefs_tab, "prefs_tab"); - gtk_widget_ref (prefs_tab); - gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "prefs_tab", prefs_tab, + options_tab = gtk_label_new ("Screensaver Options"); + gtk_widget_set_name (options_tab, "options_tab"); + gtk_widget_ref (options_tab); + gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "options_tab", options_tab, (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (prefs_tab); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 1), prefs_tab); + gtk_widget_show (options_tab); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 1), options_tab); gtk_signal_connect (GTK_OBJECT (activate_menu), "activate", GTK_SIGNAL_FUNC (activate_menu_cb), @@ -839,10 +1122,10 @@ create_xscreensaver_demo (void) gtk_signal_connect (GTK_OBJECT (manual), "clicked", GTK_SIGNAL_FUNC (manual_cb), NULL); - gtk_signal_connect (GTK_OBJECT (timeout_text), "activate", + gtk_signal_connect (GTK_OBJECT (lock_text), "activate", GTK_SIGNAL_FUNC (pref_changed_cb), NULL); - gtk_signal_connect (GTK_OBJECT (timeout_text), "focus_out_event", + gtk_signal_connect (GTK_OBJECT (lock_text), "focus_out_event", GTK_SIGNAL_FUNC (pref_changed_cb), NULL); gtk_signal_connect (GTK_OBJECT (cycle_text), "activate", @@ -851,33 +1134,51 @@ create_xscreensaver_demo (void) gtk_signal_connect (GTK_OBJECT (cycle_text), "focus_out_event", GTK_SIGNAL_FUNC (pref_changed_cb), NULL); - gtk_signal_connect (GTK_OBJECT (fade_text), "activate", + gtk_signal_connect (GTK_OBJECT (timeout_text), "activate", GTK_SIGNAL_FUNC (pref_changed_cb), NULL); - gtk_signal_connect (GTK_OBJECT (fade_text), "focus_out_event", + gtk_signal_connect (GTK_OBJECT (timeout_text), "focus_out_event", GTK_SIGNAL_FUNC (pref_changed_cb), NULL); - gtk_signal_connect (GTK_OBJECT (ticks_text), "activate", + gtk_signal_connect (GTK_OBJECT (lock_button), "toggled", GTK_SIGNAL_FUNC (pref_changed_cb), NULL); - gtk_signal_connect (GTK_OBJECT (ticks_text), "focus_out_event", + gtk_signal_connect (GTK_OBJECT (dpms_off_text), "activate", GTK_SIGNAL_FUNC (pref_changed_cb), NULL); - gtk_signal_connect (GTK_OBJECT (lock_text), "activate", + gtk_signal_connect (GTK_OBJECT (dpms_off_text), "focus_out_event", GTK_SIGNAL_FUNC (pref_changed_cb), NULL); - gtk_signal_connect (GTK_OBJECT (lock_text), "focus_out_event", + gtk_signal_connect (GTK_OBJECT (dpms_suspend_text), "activate", GTK_SIGNAL_FUNC (pref_changed_cb), NULL); - gtk_signal_connect (GTK_OBJECT (pass_text), "activate", + gtk_signal_connect (GTK_OBJECT (dpms_suspend_text), "focus_out_event", GTK_SIGNAL_FUNC (pref_changed_cb), NULL); - gtk_signal_connect (GTK_OBJECT (pass_text), "focus_out_event", + gtk_signal_connect (GTK_OBJECT (dpms_standby_text), "activate", + GTK_SIGNAL_FUNC (pref_changed_cb), + NULL); + gtk_signal_connect (GTK_OBJECT (dpms_standby_text), "focus_out_event", + GTK_SIGNAL_FUNC (pref_changed_cb), + NULL); + gtk_signal_connect (GTK_OBJECT (dpms_button), "toggled", GTK_SIGNAL_FUNC (pref_changed_cb), NULL); gtk_signal_connect (GTK_OBJECT (verbose_button), "toggled", GTK_SIGNAL_FUNC (pref_changed_cb), NULL); + gtk_signal_connect (GTK_OBJECT (capture_button), "toggled", + GTK_SIGNAL_FUNC (pref_changed_cb), + NULL); + gtk_signal_connect (GTK_OBJECT (splash_button), "toggled", + GTK_SIGNAL_FUNC (pref_changed_cb), + NULL); + gtk_signal_connect (GTK_OBJECT (fade_text), "activate", + GTK_SIGNAL_FUNC (pref_changed_cb), + NULL); + gtk_signal_connect (GTK_OBJECT (fade_text), "focus_out_event", + GTK_SIGNAL_FUNC (pref_changed_cb), + NULL); gtk_signal_connect (GTK_OBJECT (install_button), "toggled", GTK_SIGNAL_FUNC (pref_changed_cb), NULL); @@ -887,9 +1188,6 @@ create_xscreensaver_demo (void) gtk_signal_connect (GTK_OBJECT (unfade_button), "toggled", GTK_SIGNAL_FUNC (pref_changed_cb), NULL); - gtk_signal_connect (GTK_OBJECT (lock_button), "toggled", - GTK_SIGNAL_FUNC (pref_changed_cb), - NULL); gtk_widget_grab_default (next); gtk_object_set_data (GTK_OBJECT (xscreensaver_demo), "tooltips", tooltips); diff --git a/driver/demo-Gtk.c b/driver/demo-Gtk.c index be35a67d..02995e08 100644 --- a/driver/demo-Gtk.c +++ b/driver/demo-Gtk.c @@ -1,5 +1,5 @@ /* demo-Gtk.c --- implements the interactive demo-mode and options dialogs. - * xscreensaver, Copyright (c) 1993-1999 Jamie Zawinski + * xscreensaver, Copyright (c) 1993-2001 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -109,6 +109,7 @@ static void populate_demo_window (GtkWidget *toplevel, static void populate_prefs_page (GtkWidget *top, prefs_pair *pair); static int apply_changes_and_save (GtkWidget *widget); static int maybe_reload_init_file (GtkWidget *widget, prefs_pair *pair); +static void await_xscreensaver (GtkWidget *widget); /* Some random utility functions @@ -501,6 +502,69 @@ restart_menu_cb (GtkWidget *widget, gpointer user_data) sleep (1); system ("xscreensaver -nosplash &"); #endif + + await_xscreensaver (GTK_WIDGET (widget)); +} + +static void +await_xscreensaver (GtkWidget *widget) +{ + int countdown = 5; + + Display *dpy = gdk_display; + /* GtkWidget *dialog = 0;*/ + char *rversion = 0; + + while (!rversion && (--countdown > 0)) + { + /* Check for the version of the running xscreensaver... */ + server_xscreensaver_version (dpy, &rversion, 0, 0); + + /* If it's not there yet, wait a second... */ + sleep (1); + } + +/* if (dialog) gtk_widget_destroy (dialog);*/ + + if (rversion) + { + /* Got it. */ + free (rversion); + } + else + { + /* Timed out, no screensaver running. */ + + char buf [1024]; + Bool root_p = (geteuid () == 0); + + strcpy (buf, + "Error:\n\n" + "The xscreensaver daemon did not start up properly.\n" + "\n"); + + if (root_p) + strcat (buf, + "You are running as root. This usually means that xscreensaver\n" + "was unable to contact your X server because access control is\n" + "turned on. Try running this command:\n" + "\n" + " xhost +localhost\n" + "\n" + "and then selecting `File / Restart Daemon'.\n" + "\n" + "Note that turning off access control will allow anyone logged\n" + "on to this machine to access your screen, which might be\n" + "considered a security problem. Please read the xscreensaver\n" + "manual and FAQ for more information.\n" + "\n" + "You shouldn't run X as root. Instead, you should log in as a\n" + "normal user, and `su' as necessary."); + else + strcat (buf, "Please check your $PATH and permissions."); + + warning_dialog (widget, buf, False, 1); + } } @@ -821,17 +885,24 @@ prefs_ok_cb (GtkButton *button, gpointer user_data) field = gtk_toggle_button_get_active (\ GTK_TOGGLE_BUTTON (name_to_widget (GTK_WIDGET(button), (name)))) - MINUTES (&p2->timeout, "timeout_text"); - MINUTES (&p2->cycle, "cycle_text"); - SECONDS (&p2->fade_seconds, "fade_text"); - INTEGER (&p2->fade_ticks, "ticks_text"); - MINUTES (&p2->lock_timeout, "lock_text"); - SECONDS (&p2->passwd_timeout, "pass_text"); - CHECKBOX (p2->verbose_p, "verbose_button"); - CHECKBOX (p2->install_cmap_p, "install_button"); - CHECKBOX (p2->fade_p, "fade_button"); - CHECKBOX (p2->unfade_p, "unfade_button"); - CHECKBOX (p2->lock_p, "lock_button"); + MINUTES (&p2->timeout, "timeout_text"); + MINUTES (&p2->cycle, "cycle_text"); + CHECKBOX (p2->lock_p, "lock_button"); + MINUTES (&p2->lock_timeout, "lock_text"); + + CHECKBOX (p2->dpms_enabled_p, "dpms_button"); + MINUTES (&p2->dpms_standby, "dpms_standby_text"); + MINUTES (&p2->dpms_suspend, "dpms_suspend_text"); + MINUTES (&p2->dpms_off, "dpms_off_text"); + + CHECKBOX (p2->verbose_p, "verbose_button"); + CHECKBOX (p2->capture_stderr_p, "capture_button"); + CHECKBOX (p2->splash_p, "splash_button"); + + CHECKBOX (p2->install_cmap_p, "install_button"); + CHECKBOX (p2->fade_p, "fade_button"); + CHECKBOX (p2->unfade_p, "unfade_button"); + SECONDS (&p2->fade_seconds, "fade_text"); # undef SECONDS # undef MINUTES @@ -844,21 +915,37 @@ prefs_ok_cb (GtkButton *button, gpointer user_data) COPY(timeout); COPY(cycle); + COPY(lock_p); COPY(lock_timeout); - COPY(passwd_timeout); - COPY(fade_seconds); - COPY(fade_ticks); + + COPY(dpms_enabled_p); + COPY(dpms_standby); + COPY(dpms_suspend); + COPY(dpms_off); + COPY(verbose_p); + COPY(capture_stderr_p); + COPY(splash_p); + COPY(install_cmap_p); COPY(fade_p); COPY(unfade_p); - COPY(lock_p); + COPY(fade_seconds); # undef COPY populate_prefs_page (GTK_WIDGET (button), pair); if (changed) - demo_write_init_file (GTK_WIDGET (button), p); + { + Display *dpy = gdk_display; + sync_server_dpms_settings (dpy, p->dpms_enabled_p, + p->dpms_standby / 1000, + p->dpms_suspend / 1000, + p->dpms_off / 1000, + False); + + demo_write_init_file (GTK_WIDGET (button), p); + } } @@ -1019,48 +1106,6 @@ format_time (char *buf, Time time) } -static char * -make_pretty_name (const char *shell_command) -{ - char *s = strdup (shell_command); - char *s2; - char res_name[255]; - - for (s2 = s; *s2; s2++) /* truncate at first whitespace */ - if (isspace (*s2)) - { - *s2 = 0; - break; - } - - s2 = strrchr (s, '/'); /* if pathname, take last component */ - if (s2) - { - s2 = strdup (s2+1); - free (s); - s = s2; - } - - if (strlen (s) > 50) /* 51 is hereby defined as "unreasonable" */ - s[50] = 0; - - sprintf (res_name, "hacks.%s.name", s); /* resource? */ - s2 = get_string_resource (res_name, res_name); - if (s2) - return s2; - - for (s2 = s; *s2; s2++) /* if it has any capitals, return it */ - if (*s2 >= 'A' && *s2 <= 'Z') - return s; - - if (s[0] >= 'a' && s[0] <= 'z') /* else cap it */ - s[0] -= 'a'-'A'; - if (s[0] == 'X' && s[1] >= 'a' && s[1] <= 'z') /* (magic leading X) */ - s[1] -= 'a'-'A'; - return s; -} - - /* Finds the number of the last hack to run, and makes that item be selected by default. */ @@ -1127,7 +1172,7 @@ populate_hack_list (GtkWidget *toplevel, prefs_pair *pair) char *pretty_name = (h[0]->name ? strdup (h[0]->name) - : make_pretty_name (h[0]->command)); + : make_hack_name (h[0]->command)); line = gtk_list_item_new (); line_hbox = gtk_hbox_new (FALSE, 0); @@ -1186,16 +1231,31 @@ populate_prefs_page (GtkWidget *top, prefs_pair *pair) gtk_entry_set_text (GTK_ENTRY (name_to_widget (top, "cycle_text")), s); format_time (s, p->lock_timeout); gtk_entry_set_text (GTK_ENTRY (name_to_widget (top, "lock_text")), s); - format_time (s, p->passwd_timeout); - gtk_entry_set_text (GTK_ENTRY (name_to_widget (top, "pass_text")), s); + + format_time (s, p->dpms_standby); + gtk_entry_set_text (GTK_ENTRY (name_to_widget (top, "dpms_standby_text")),s); + format_time (s, p->dpms_suspend); + gtk_entry_set_text (GTK_ENTRY (name_to_widget (top, "dpms_suspend_text")),s); + format_time (s, p->dpms_off); + gtk_entry_set_text (GTK_ENTRY (name_to_widget (top, "dpms_off_text")), s); + format_time (s, p->fade_seconds); gtk_entry_set_text (GTK_ENTRY (name_to_widget (top, "fade_text")), s); - sprintf (s, "%u", p->fade_ticks); - gtk_entry_set_text (GTK_ENTRY (name_to_widget (top, "ticks_text")), s); + gtk_toggle_button_set_active ( + GTK_TOGGLE_BUTTON (name_to_widget (top, "lock_button")), + p->lock_p); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON (name_to_widget (top, "verbose_button")), p->verbose_p); + gtk_toggle_button_set_active ( + GTK_TOGGLE_BUTTON (name_to_widget (top, "capture_button")), + p->capture_stderr_p); + + gtk_toggle_button_set_active ( + GTK_TOGGLE_BUTTON (name_to_widget (top, "dpms_button")), + p->dpms_enabled_p); + gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON (name_to_widget (top, "install_button")), p->install_cmap_p); @@ -1205,13 +1265,12 @@ populate_prefs_page (GtkWidget *top, prefs_pair *pair) gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON (name_to_widget (top, "unfade_button")), p->unfade_p); - gtk_toggle_button_set_active ( - GTK_TOGGLE_BUTTON (name_to_widget (top, "lock_button")), - p->lock_p); { Bool found_any_writable_cells = False; + Bool dpms_supported = False; + Display *dpy = gdk_display; int nscreens = ScreenCount(dpy); int i; @@ -1225,17 +1284,55 @@ populate_prefs_page (GtkWidget *top, prefs_pair *pair) } } +#ifdef HAVE_DPMS_EXTENSION + { + int op = 0, event = 0, error = 0; + if (XQueryExtension (dpy, "DPMS", &op, &event, &error)) + dpms_supported = True; + } +#endif /* HAVE_DPMS_EXTENSION */ + + + /* Blanking and Locking + */ gtk_widget_set_sensitive ( - GTK_WIDGET (name_to_widget (top, "fade_label")), - found_any_writable_cells); + GTK_WIDGET (name_to_widget (top, "lock_label")), + p->lock_p); gtk_widget_set_sensitive ( - GTK_WIDGET (name_to_widget (top, "ticks_label")), - found_any_writable_cells); + GTK_WIDGET (name_to_widget (top, "lock_text")), + p->lock_p); + + /* DPMS + */ gtk_widget_set_sensitive ( - GTK_WIDGET (name_to_widget (top, "fade_text")), - found_any_writable_cells); + GTK_WIDGET (name_to_widget (top, "dpms_frame")), + dpms_supported); + gtk_widget_set_sensitive ( + GTK_WIDGET (name_to_widget (top, "dpms_button")), + dpms_supported); + gtk_widget_set_sensitive ( + GTK_WIDGET (name_to_widget (top, "dpms_standby_label")), + dpms_supported && p->dpms_enabled_p); + gtk_widget_set_sensitive ( + GTK_WIDGET (name_to_widget (top, "dpms_standby_text")), + dpms_supported && p->dpms_enabled_p); + gtk_widget_set_sensitive ( + GTK_WIDGET (name_to_widget (top, "dpms_suspend_label")), + dpms_supported && p->dpms_enabled_p); gtk_widget_set_sensitive ( - GTK_WIDGET (name_to_widget (top, "ticks_text")), + GTK_WIDGET (name_to_widget (top, "dpms_suspend_text")), + dpms_supported && p->dpms_enabled_p); + gtk_widget_set_sensitive ( + GTK_WIDGET (name_to_widget (top, "dpms_off_label")), + dpms_supported && p->dpms_enabled_p); + gtk_widget_set_sensitive ( + GTK_WIDGET (name_to_widget (top, "dpms_off_text")), + dpms_supported && p->dpms_enabled_p); + + /* Colormaps + */ + gtk_widget_set_sensitive ( + GTK_WIDGET (name_to_widget (top, "cmap_frame")), found_any_writable_cells); gtk_widget_set_sensitive ( GTK_WIDGET (name_to_widget (top, "install_button")), @@ -1246,6 +1343,15 @@ populate_prefs_page (GtkWidget *top, prefs_pair *pair) gtk_widget_set_sensitive ( GTK_WIDGET (name_to_widget (top, "unfade_button")), found_any_writable_cells); + + gtk_widget_set_sensitive ( + GTK_WIDGET (name_to_widget (top, "fade_label")), + (found_any_writable_cells && + (p->fade_p || p->unfade_p))); + gtk_widget_set_sensitive ( + GTK_WIDGET (name_to_widget (top, "fade_text")), + (found_any_writable_cells && + (p->fade_p || p->unfade_p))); } } @@ -1283,8 +1389,9 @@ sensitize_demo_widgets (GtkWidget *toplevel, Bool sensitive_p) static void fix_text_entry_sizes (GtkWidget *toplevel) { - const char *names[] = { "timeout_text", "cycle_text", "fade_text", - "ticks_text", "lock_text", "pass_text" }; + const char *names[] = { "timeout_text", "cycle_text", "lock_text", + "dpms_standby_text", "dpms_suspend_text", + "dpms_off_text", "fade_text" }; int i; int width = 0; GtkWidget *w; @@ -1467,7 +1574,7 @@ get_hack_blurb (screenhack *hack) char *prog_name = strdup (hack->command); char *pretty_name = (hack->name ? strdup (hack->name) - : make_pretty_name (hack->command)); + : make_hack_name (hack->command)); char doc_name[255], doc_class[255]; char *s, *s2; @@ -1572,7 +1679,7 @@ populate_demo_window (GtkWidget *toplevel, int which, prefs_pair *pair) char *pretty_name = (hack ? (hack->name ? strdup (hack->name) - : make_pretty_name (hack->command)) + : make_hack_name (hack->command)) : 0); char *doc_string = hack ? get_hack_blurb (hack) : 0; @@ -1667,6 +1774,23 @@ maybe_reload_init_file (GtkWidget *widget, prefs_pair *pair) } + +/* Setting window manager icon + */ + +#include "logo.xpm" + +static void +init_icon (GdkWindow *window) +{ + GdkBitmap *mask = 0; + GdkColor transp; + GdkPixmap *pixmap = + gdk_pixmap_create_from_xpm_d (window, &mask, &transp, logo_xpm); + if (pixmap) + gdk_window_set_icon (window, 0, pixmap, mask); +} + /* The main demo-mode command loop. */ @@ -2218,6 +2342,7 @@ main (int argc, char **argv) # endif /* HAVE_CRAPPLET */ { gtk_widget_show (gtk_window); + init_icon (GTK_WIDGET(gtk_window)->window); /* Issue any warnings about the running xscreensaver daemon. */ the_network_is_not_the_computer (gtk_window); diff --git a/driver/demo-Xm.c b/driver/demo-Xm.c index 9d4c31d5..bf7e0520 100644 --- a/driver/demo-Xm.c +++ b/driver/demo-Xm.c @@ -1,5 +1,5 @@ /* demo-Xm.c --- implements the interactive demo-mode and options dialogs. - * xscreensaver, Copyright (c) 1993-1999 Jamie Zawinski + * xscreensaver, Copyright (c) 1993-2001 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -118,6 +118,7 @@ static void populate_demo_window (Widget toplevel, static void populate_prefs_page (Widget top, prefs_pair *pair); static int apply_changes_and_save (Widget widget); static int maybe_reload_init_file (Widget widget, prefs_pair *pair); +static void await_xscreensaver (Widget widget); /* Some random utility functions @@ -419,6 +420,66 @@ restart_menu_cb (Widget button, XtPointer client_data, XtPointer ignored) sleep (1); system ("xscreensaver -nosplash &"); #endif + + await_xscreensaver (button); +} + +static void +await_xscreensaver (Widget widget) +{ + int countdown = 5; + + Display *dpy = XtDisplay (widget); + char *rversion = 0; + + while (!rversion && (--countdown > 0)) + { + /* Check for the version of the running xscreensaver... */ + server_xscreensaver_version (dpy, &rversion, 0, 0); + + /* If it's not there yet, wait a second... */ + sleep (1); + } + + if (rversion) + { + /* Got it. */ + free (rversion); + } + else + { + /* Timed out, no screensaver running. */ + + char buf [1024]; + Bool root_p = (geteuid () == 0); + + strcpy (buf, + "Error:\n\n" + "The xscreensaver daemon did not start up properly.\n" + "\n"); + + if (root_p) + strcat (buf, + "You are running as root. This usually means that xscreensaver\n" + "was unable to contact your X server because access control is\n" + "turned on. Try running this command:\n" + "\n" + " xhost +localhost\n" + "\n" + "and then selecting `File / Restart Daemon'.\n" + "\n" + "Note that turning off access control will allow anyone logged\n" + "on to this machine to access your screen, which might be\n" + "considered a security problem. Please read the xscreensaver\n" + "manual and FAQ for more information.\n" + "\n" + "You shouldn't run X as root. Instead, you should log in as a\n" + "normal user, and `su' as necessary."); + else + strcat (buf, "Please check your $PATH and permissions."); + + warning_dialog (XtParent (widget), buf, 1); + } } @@ -839,48 +900,6 @@ format_time (char *buf, Time time) } -static char * -make_pretty_name (const char *shell_command) -{ - char *s = strdup (shell_command); - char *s2; - char res_name[255]; - - for (s2 = s; *s2; s2++) /* truncate at first whitespace */ - if (isspace (*s2)) - { - *s2 = 0; - break; - } - - s2 = strrchr (s, '/'); /* if pathname, take last component */ - if (s2) - { - s2 = strdup (s2+1); - free (s); - s = s2; - } - - if (strlen (s) > 50) /* 51 is hereby defined as "unreasonable" */ - s[50] = 0; - - sprintf (res_name, "hacks.%s.name", s); /* resource? */ - s2 = get_string_resource (res_name, res_name); - if (s2) - return s2; - - for (s2 = s; *s2; s2++) /* if it has any capitals, return it */ - if (*s2 >= 'A' && *s2 <= 'Z') - return s; - - if (s[0] >= 'a' && s[0] <= 'z') /* else cap it */ - s[0] -= 'a'-'A'; - if (s[0] == 'X' && s[1] >= 'a' && s[1] <= 'z') /* (magic leading X) */ - s[1] -= 'a'-'A'; - return s; -} - - /* Finds the number of the last hack to run, and makes that item be selected by default. */ @@ -935,7 +954,7 @@ populate_hack_list (Widget toplevel, prefs_pair *pair) { char *pretty_name = (h[0]->name ? strdup (h[0]->name) - : make_pretty_name (h[0]->command)); + : make_hack_name (h[0]->command)); XmString xmstr = XmStringCreate (pretty_name, XmSTRING_DEFAULT_CHARSET); XmListAddItem (list, xmstr, 0); @@ -1178,7 +1197,7 @@ get_hack_blurb (screenhack *hack) char *prog_name = strdup (hack->command); char *pretty_name = (hack->name ? strdup (hack->name) - : make_pretty_name (hack->command)); + : make_hack_name (hack->command)); char doc_name[255], doc_class[255]; char *s, *s2; @@ -1282,7 +1301,7 @@ populate_demo_window (Widget toplevel, int which, prefs_pair *pair) char *pretty_name = (hack ? (hack->name ? strdup (hack->name) - : make_pretty_name (hack->command)) + : make_hack_name (hack->command)) : 0); char *doc_string = hack ? get_hack_blurb (hack) : 0; diff --git a/driver/dpms.c b/driver/dpms.c new file mode 100644 index 00000000..570c2348 --- /dev/null +++ b/driver/dpms.c @@ -0,0 +1,137 @@ +/* dpms.c --- syncing the X Display Power Management values + * xscreensaver, Copyright (c) 2001 Jamie Zawinski + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation. No representations are made about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include + +#ifdef HAVE_DPMS_EXTENSION + +# include +# include +# include + + /* Why this crap is not in a header file somewhere, I have no idea. Losers! + */ + extern Bool DPMSQueryExtension (Display *dpy, int *event_ret, int *err_ret); + extern Bool DPMSCapable (Display *dpy); + extern Status DPMSInfo (Display *dpy, CARD16 *power_level, BOOL *state); + extern Status DPMSSetTimeouts (Display *dpy, + CARD16 standby, CARD16 suspend, CARD16 off); + extern Bool DPMSGetTimeouts (Display *dpy, + CARD16 *standby, CARD16 *suspend, CARD16 *off); + extern Status DPMSEnable (Display *dpy); + extern Status DPMSDisable (Display *dpy); + +#endif /* HAVE_DPMS_EXTENSION */ + + +/* This file doesn't need the Xt headers, so stub these types out... */ +#undef XtPointer +#define XtAppContext void* +#define XrmDatabase void* +#define XtIntervalId void* +#define XtPointer void* +#define Widget void* + +#include "xscreensaver.h" + +void +sync_server_dpms_settings (Display *dpy, Bool enabled_p, + int standby_secs, int suspend_secs, int off_secs, + Bool verbose_p) +{ +# ifdef HAVE_DPMS_EXTENSION + + int event = 0, error = 0; + BOOL o_enabled = False; + CARD16 o_power = 0; + CARD16 o_standby = 0, o_suspend = 0, o_off = 0; + + Bool bogus_p = (standby_secs == 0 || suspend_secs == 0 || off_secs == 0); + + if (bogus_p) enabled_p = False; + + if (! DPMSQueryExtension (dpy, &event, &error)) + { + if (verbose_p) + fprintf (stderr, "%s: XDPMS extension not supported.\n", blurb()); + return; + } + + if (! DPMSCapable (dpy)) + { + if (verbose_p) + fprintf (stderr, "%s: DPMS not supported.\n", blurb()); + return; + } + + if (! DPMSInfo (dpy, &o_power, &o_enabled)) + { + if (verbose_p) + fprintf (stderr, "%s: unable to get DPMS state.\n", blurb()); + return; + } + + if (o_enabled != enabled_p) + { + if (! (enabled_p ? DPMSEnable (dpy) : DPMSDisable (dpy))) + { + if (verbose_p) + fprintf (stderr, "%s: unable to set DPMS state.\n", blurb()); + return; + } + else if (verbose_p) + fprintf (stderr, "%s: turned DPMS %s.\n", blurb(), + enabled_p ? "on" : "off"); + } + + if (bogus_p) + { + if (verbose_p) + fprintf (stderr, "%s: not setting bogus DPMS timeouts: %d %d %d.\n", + blurb(), standby_secs, suspend_secs, off_secs); + return; + } + + if (!DPMSGetTimeouts (dpy, &o_standby, &o_suspend, &o_off)) + { + if (verbose_p) + fprintf (stderr, "%s: unable to get DPMS timeouts.\n", blurb()); + return; + } + + if (o_standby != standby_secs || + o_suspend != suspend_secs || + o_off != off_secs) + { + if (!DPMSSetTimeouts (dpy, standby_secs, suspend_secs, off_secs)) + { + if (verbose_p) + fprintf (stderr, "%s: unable to set DPMS timeouts.\n", blurb()); + return; + } + else if (verbose_p) + fprintf (stderr, "%s: set DPMS timeouts: %d %d %d.\n", blurb(), + standby_secs, suspend_secs, off_secs); + } + +# else /* !HAVE_DPMS_EXTENSION */ + + if (verbose_p) + fprintf (stderr, "%s: DPMS support not compiled in.\n", blurb()); + +# endif /* HAVE_DPMS_EXTENSION */ +} diff --git a/driver/lock.c b/driver/lock.c index b5088560..2c766b55 100644 --- a/driver/lock.c +++ b/driver/lock.c @@ -538,18 +538,12 @@ draw_passwd_window (saver_info *si) /* the logo */ - XSetForeground (si->dpy, gc1, pw->logo_foreground); - XSetForeground (si->dpy, gc2, pw->logo_background); - x1 = pw->shadow_width * 3; y1 = pw->shadow_width * 3; x2 = pw->logo_width - (pw->shadow_width * 6); y2 = pw->logo_height - (pw->shadow_width * 6); - XFillRectangle (si->dpy, si->passwd_dialog, gc2, x1, y1, x2, y2); - skull (si->dpy, si->passwd_dialog, gc1, gc2, - x1 + pw->shadow_width, y1 + pw->shadow_width, - x2 - (pw->shadow_width * 2), y2 - (pw->shadow_width * 2)); + draw_logo (si, si->passwd_dialog, x1, y1, x2, y2, True); /* The thermometer */ @@ -680,6 +674,18 @@ update_passwd_window (saver_info *si, const char *printed_passwd, float ratio) MAX (0, pw->thermo_field_height - y - 2)); } + /* the logo + */ + { + int x1, y1, x2, y2; + x1 = pw->shadow_width * 3; + y1 = pw->shadow_width * 3; + x2 = pw->logo_width - (pw->shadow_width * 6); + y2 = pw->logo_height - (pw->shadow_width * 6); + + draw_logo (si, si->passwd_dialog, x1, y1, x2, y2, False); + } + XFreeGC (si->dpy, gc1); XFreeGC (si->dpy, gc2); XSync (si->dpy, False); diff --git a/driver/prefs.c b/driver/prefs.c index ae490864..71ed252a 100644 --- a/driver/prefs.c +++ b/driver/prefs.c @@ -74,7 +74,8 @@ extern const char *blurb (void); static void get_screenhacks (saver_preferences *p); static char *format_command (const char *cmd, Bool wrap_p); - +static void merge_system_screenhacks (saver_preferences *p, + screenhack **system_list, int count); static char * chase_symlinks (const char *file) @@ -94,6 +95,22 @@ chase_symlinks (const char *file) } +static Bool +i_am_a_nobody (uid_t uid) +{ + struct passwd *p; + + p = getpwnam ("nobody"); + if (! p) p = getpwnam ("noaccess"); + if (! p) p = getpwnam ("daemon"); + + if (! p) /* There is no nobody? */ + return False; + + return (uid == p->pw_uid); +} + + const char * init_file_name (void) { @@ -101,7 +118,18 @@ init_file_name (void) if (!file) { - struct passwd *p = getpwuid (getuid ()); + uid_t uid = getuid (); + struct passwd *p = getpwuid (uid); + + if (i_am_a_nobody (uid)) + /* If we're running as nobody, then use root's .xscreensaver file + (since ~root/.xscreensaver and ~nobody/.xscreensaver are likely + to be different -- if we didn't do this, then xscreensaver-demo + would appear to have no effect when the luser is running as root.) + */ + uid = 0; + + p = getpwuid (uid); if (!p || !p->pw_name || !*p->pw_name) { @@ -176,7 +204,7 @@ static const char * const prefs[] = { "installColormap", "verbose", "timestamp", - "splash", /* not saved -- same as "splashDuration: 0" */ + "splash", "splashDuration", "demoCommand", "prefsCommand", @@ -190,6 +218,10 @@ static const char * const prefs[] = { "captureStderr", "captureStdout", /* not saved -- obsolete */ "font", + "dpmsEnabled", + "dpmsStandby", + "dpmsSuspend", + "dpmsOff", "", "programs", "", @@ -548,7 +580,6 @@ write_init_file (saver_preferences *p, const char *version_string, */ char *visual_name; char *programs; - Bool capture_stderr_p; Bool overlay_stderr_p; char *stderr_font; FILE *out; @@ -600,7 +631,6 @@ write_init_file (saver_preferences *p, const char *version_string, /* Kludge, since these aren't in the saver_preferences struct... */ visual_name = get_string_resource ("visualID", "VisualID"); programs = 0; - capture_stderr_p = get_boolean_resource ("captureStderr", "Boolean"); overlay_stderr_p = get_boolean_resource ("overlayStderr", "Boolean"); stderr_font = get_string_resource ("font", "Font"); @@ -680,7 +710,7 @@ write_init_file (saver_preferences *p, const char *version_string, CHECK("installColormap") type = pref_bool, b = p->install_cmap_p; CHECK("verbose") type = pref_bool, b = p->verbose_p; CHECK("timestamp") type = pref_bool, b = p->timestamp_p; - CHECK("splash") continue; /* don't save */ + CHECK("splash") type = pref_bool, b = p->splash_p; CHECK("splashDuration") type = pref_time, t = p->splash_duration; CHECK("demoCommand") type = pref_str, s = p->demo_command; CHECK("prefsCommand") type = pref_str, s = p->prefs_command; @@ -691,9 +721,13 @@ write_init_file (saver_preferences *p, const char *version_string, CHECK("unfade") type = pref_bool, b = p->unfade_p; CHECK("fadeSeconds") type = pref_time, t = p->fade_seconds; CHECK("fadeTicks") type = pref_int, i = p->fade_ticks; - CHECK("captureStderr") type = pref_bool, b = capture_stderr_p; + CHECK("captureStderr") type = pref_bool, b = p->capture_stderr_p; CHECK("captureStdout") continue; /* don't save */ CHECK("font") type = pref_str, s = stderr_font; + CHECK("dpmsEnabled") type = pref_bool, b = p->dpms_enabled_p; + CHECK("dpmsStandby") type = pref_time, t = p->dpms_standby; + CHECK("dpmsSuspend") type = pref_time, t = p->dpms_suspend; + CHECK("dpmsOff") type = pref_time, t = p->dpms_off; CHECK("programs") type = pref_str, s = programs; CHECK("pointerPollTime") type = pref_time, t = p->pointer_timeout; CHECK("windowCreationTimeout")type=pref_time,t= p->notice_events_timeout; @@ -808,6 +842,27 @@ write_init_file (saver_preferences *p, const char *version_string, /* Parsing the resource database */ +void +free_screenhack (screenhack *hack) +{ + if (hack->visual) free (hack->visual); + if (hack->name) free (hack->name); + free (hack->command); + memset (hack, 0, sizeof(*hack)); + free (hack); +} + +static void +free_screenhack_list (screenhack **list, int count) +{ + int i; + if (!list) return; + for (i = 0; i < count; i++) + if (list[i]) + free_screenhack (list[i]); + free (list); +} + /* Populate `saver_preferences' with the contents of the resource database. Note that this may be called multiple times -- it is re-run each time @@ -821,6 +876,24 @@ load_init_file (saver_preferences *p) { static Bool first_time = True; + screenhack **system_default_screenhacks = 0; + int system_default_screenhack_count = 0; + + if (first_time) + { + /* Get the programs resource before the .xscreensaver file has been + parsed and merged into the resource database for the first time: + this is the value of *programs from the app-defaults file. + Then clear it out so that it will be parsed again later, after + the init file has been read. + */ + get_screenhacks (p); + system_default_screenhacks = p->screenhacks; + system_default_screenhack_count = p->screenhacks_count; + p->screenhacks = 0; + p->screenhacks_count = 0; + } + if (parse_init_file (p) != 0) /* file might have gone away */ if (!first_time) return; @@ -837,6 +910,8 @@ load_init_file (saver_preferences *p) p->fade_ticks = get_integer_resource ("fadeTicks", "Integer"); p->install_cmap_p = get_boolean_resource ("installColormap", "Boolean"); p->nice_inferior = get_integer_resource ("nice", "Nice"); + p->splash_p = get_boolean_resource ("splash", "Boolean"); + p->capture_stderr_p = get_boolean_resource ("captureStderr", "Boolean"); p->initial_delay = 1000 * get_seconds_resource ("initialDelay", "Time"); p->splash_duration = 1000 * get_seconds_resource ("splashDuration", "Time"); @@ -847,6 +922,12 @@ load_init_file (saver_preferences *p) p->pointer_timeout = 1000 * get_seconds_resource ("pointerPollTime", "Time"); p->notice_events_timeout = 1000*get_seconds_resource("windowCreationTimeout", "Time"); + + p->dpms_enabled_p = get_boolean_resource ("dpmsEnabled", "Boolean"); + p->dpms_standby = 1000 * get_seconds_resource ("dpmsStandby", "Time"); + p->dpms_suspend = 1000 * get_seconds_resource ("dpmsSuspend", "Time"); + p->dpms_off = 1000 * get_seconds_resource ("dpmsOff", "Time"); + p->shell = get_string_resource ("bourneShell", "BourneShell"); p->demo_command = get_string_resource("demoCommand", "URL"); @@ -854,12 +935,14 @@ load_init_file (saver_preferences *p) p->help_url = get_string_resource("helpURL", "URL"); p->load_url_command = get_string_resource("loadURL", "LoadURL"); + + /* If "*splash" is unset, default to true. */ { - char *s; - if ((s = get_string_resource ("splash", "Boolean"))) - if (!get_boolean_resource("splash", "Boolean")) - p->splash_duration = 0; - if (s) free (s); + char *s = get_string_resource ("splash", "Boolean"); + if (s) + free (s); + else + p->splash_p = True; } p->use_xidle_extension = get_boolean_resource ("xidleExtension","Boolean"); @@ -881,12 +964,29 @@ load_init_file (saver_preferences *p) p->fade_p = False; if (! p->fade_p) p->unfade_p = False; + if (p->dpms_standby <= 0 || p->dpms_suspend <= 0 || p->dpms_off <= 0) + p->dpms_enabled_p = False; + + if (p->dpms_standby <= 10000) p->dpms_standby = 10000; /* 10 secs */ + if (p->dpms_suspend <= 10000) p->dpms_suspend = 10000; /* 10 secs */ + if (p->dpms_off <= 10000) p->dpms_off = 10000; /* 10 secs */ + p->watchdog_timeout = p->cycle * 0.6; if (p->watchdog_timeout < 30000) p->watchdog_timeout = 30000; /* 30 secs */ if (p->watchdog_timeout > 3600000) p->watchdog_timeout = 3600000; /* 1 hr */ get_screenhacks (p); + if (system_default_screenhack_count) /* note: first_time is also true */ + { + merge_system_screenhacks (p, system_default_screenhacks, + system_default_screenhack_count); + free_screenhack_list (system_default_screenhacks, + system_default_screenhack_count); + system_default_screenhacks = 0; + system_default_screenhack_count = 0; + } + if (p->debug_p) { p->xsync_p = True; @@ -896,6 +996,81 @@ load_init_file (saver_preferences *p) } } + +/* If there are any hacks in the system-wide defaults that are not in + the ~/.xscreensaver file, add the new ones to the end of the list. + This does *not* actually save the file. + */ +static void +merge_system_screenhacks (saver_preferences *p, + screenhack **system_list, int system_count) +{ + /* Yeah yeah, this is an N^2 operation, but I don't have hashtables handy, + so fuck it. */ + + int made_space = 0; + int i; + for (i = 0; i < system_count; i++) + { + int j; + Bool matched_p = False; + + for (j = 0; j < p->screenhacks_count; j++) + { + char *name; + if (!system_list[i]->name) + system_list[i]->name = make_hack_name (system_list[i]->command); + + name = p->screenhacks[j]->name; + if (!name) + name = make_hack_name (p->screenhacks[j]->command); + + matched_p = !strcasecmp (name, system_list[i]->name); + + if (name != p->screenhacks[j]->name) + free (name); + + if (matched_p) + break; + } + + if (!matched_p) + { + /* We have an entry in the system-wide list that is not in the + user's .xscreensaver file. Add it to the end. + Note that p->screenhacks is a single malloc block, not a + linked list, so we have to realloc it. + */ + screenhack *oh = system_list[i]; + screenhack *nh = (screenhack *) malloc (sizeof(screenhack)); + + if (made_space == 0) + { + made_space = 10; + p->screenhacks = (screenhack **) + realloc (p->screenhacks, + (p->screenhacks_count + made_space) + * sizeof(screenhack)); + if (!p->screenhacks) abort(); + } + + nh->enabled_p = oh->enabled_p; + nh->visual = oh->visual ? strdup(oh->visual) : 0; + nh->name = oh->name ? strdup(oh->name) : 0; + nh->command = oh->command ? strdup(oh->command) : 0; + + p->screenhacks[p->screenhacks_count++] = nh; + made_space--; + +#if 0 + fprintf (stderr, "%s: noticed new hack: %s\n", blurb(), + (nh->name ? nh->name : make_hack_name (nh->command))); +#endif + } + } +} + + /* Parsing the programs resource. */ @@ -948,17 +1123,6 @@ parse_screenhack (const char *line) } -void -free_screenhack (screenhack *hack) -{ - if (hack->visual) free (hack->visual); - if (hack->name) free (hack->name); - free (hack->command); - memset (hack, 0, sizeof(*hack)); - free (hack); -} - - static char * format_command (const char *cmd, Bool wrap_p) { @@ -1005,6 +1169,53 @@ format_command (const char *cmd, Bool wrap_p) } +/* Returns a new string describing the shell command. + This may be just the name of the program, capitalized. + It also may be something from the resource database (gotten + by looking for "hacks.XYZ.name", where XYZ is the program.) + */ +char * +make_hack_name (const char *shell_command) +{ + char *s = strdup (shell_command); + char *s2; + char res_name[255]; + + for (s2 = s; *s2; s2++) /* truncate at first whitespace */ + if (isspace (*s2)) + { + *s2 = 0; + break; + } + + s2 = strrchr (s, '/'); /* if pathname, take last component */ + if (s2) + { + s2 = strdup (s2+1); + free (s); + s = s2; + } + + if (strlen (s) > 50) /* 51 is hereby defined as "unreasonable" */ + s[50] = 0; + + sprintf (res_name, "hacks.%s.name", s); /* resource? */ + s2 = get_string_resource (res_name, res_name); + if (s2) + return s2; + + for (s2 = s; *s2; s2++) /* if it has any capitals, return it */ + if (*s2 >= 'A' && *s2 <= 'Z') + return s; + + if (s[0] >= 'a' && s[0] <= 'z') /* else cap it */ + s[0] -= 'a'-'A'; + if (s[0] == 'X' && s[1] >= 'a' && s[1] <= 'z') /* (magic leading X) */ + s[1] -= 'a'-'A'; + return s; +} + + char * format_hack (screenhack *hack, Bool wrap_p) { @@ -1098,21 +1309,12 @@ get_screenhacks (saver_preferences *p) d = get_string_resource ("programs", "Programs"); - if (p->screenhacks) - { - for (i = 0; i < p->screenhacks_count; i++) - if (p->screenhacks[i]) - free_screenhack (p->screenhacks[i]); - free(p->screenhacks); - p->screenhacks = 0; - } + free_screenhack_list (p->screenhacks, p->screenhacks_count); + p->screenhacks = 0; + p->screenhacks_count = 0; if (!d || !*d) - { - p->screenhacks_count = 0; - p->screenhacks = 0; - return; - } + return; size = strlen (d); diff --git a/driver/prefs.h b/driver/prefs.h index 8395f323..a2b83b75 100644 --- a/driver/prefs.h +++ b/driver/prefs.h @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1993-1998 Jamie Zawinski +/* xscreensaver, Copyright (c) 1993-2001 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -38,6 +38,7 @@ struct saver_preferences { Bool verbose_p; /* whether to print out lots of status info */ Bool timestamp_p; /* whether to mark messages with a timestamp */ + Bool capture_stderr_p; /* whether to redirect stdout/stderr */ Bool debug_p; /* pay no mind to the man behind the curtain */ Bool xsync_p; /* whether XSynchronize has been called */ @@ -48,6 +49,7 @@ struct saver_preferences { Bool unfade_p; /* whether to fade from black, if possible */ Time fade_seconds; /* how long that should take */ int fade_ticks; /* how many ticks should be used */ + Bool splash_p; /* whether to do a splash screen at startup */ Bool install_cmap_p; /* whether we should use our own colormap when using the screen's default visual. */ @@ -67,6 +69,11 @@ struct saver_preferences { Time notice_events_timeout; /* how long after window creation to select */ Time watchdog_timeout; /* how often to re-raise and re-blank screen */ + Bool dpms_enabled_p; /* Whether to power down the monitor */ + Time dpms_standby; /* how long until monitor goes black */ + Time dpms_suspend; /* how long until monitor power-saves */ + Time dpms_off; /* how long until monitor powers down */ + Bool use_xidle_extension; /* which extension to use, if possible */ Bool use_mit_saver_extension; Bool use_sgi_saver_extension; @@ -90,5 +97,12 @@ const char *init_file_name (void); extern screenhack *parse_screenhack (const char *line); extern void free_screenhack (screenhack *hack); extern char *format_hack (screenhack *hack, Bool wrap_p); +char *make_hack_name (const char *shell_command); + +/* From dpms.c */ +extern void sync_server_dpms_settings (Display *dpy, Bool enabled_p, + int standby_secs, int suspend_secs, + int off_secs, + Bool verbose_p); #endif /* __XSCREENSAVER_PREFS_H__ */ diff --git a/driver/screensaver-properties-capplet b/driver/screensaver-properties-capplet new file mode 100755 index 00000000..a2bb0da0 --- /dev/null +++ b/driver/screensaver-properties-capplet @@ -0,0 +1,19 @@ +#!/bin/sh +# screensaver-properties-capplet --- interface to gnome-session. +# xscreensaver, Copyright (c) 1993-2001 Jamie Zawinski +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation. No representations are made about the suitability of this +# software for any purpose. It is provided "as is" without express or +# implied warranty. + +# The existence of this script in /usr/bin/ forces Gnome to use the +# xscreensaver-demo program (instead of the lame Gnome code) to launch, +# initialize, and configure xscreensaver. When running in crapplet mode, +# xscreensaver-demo accepts the same arguments that Gnome's capplet does, +# except that "--capplet" must be the first argument. + +exec xscreensaver-demo --capplet "$@" diff --git a/driver/splash.c b/driver/splash.c index fabd8824..b4dcf20c 100644 --- a/driver/splash.c +++ b/driver/splash.c @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1991-1998 Jamie Zawinski +/* xscreensaver, Copyright (c) 1991-2001 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -157,7 +157,8 @@ make_splash_dialog (saver_info *si) if (si->sp_data) return; - if (si->prefs.splash_duration <= 0) + if (!si->prefs.splash_p || + si->prefs.splash_duration <= 0) return; sp = (splash_dialog_data *) calloc (1, sizeof(*sp)); @@ -375,6 +376,22 @@ make_splash_dialog (saver_info *si) XSync (si->dpy, False); } +void +draw_logo (saver_info *si, Window win, int x, int y, int w, int h, + Bool first_time_p) +{ + Colormap cmap = DefaultColormapOfScreen (si->default_screen->screen); + Pixmap logo_map = XCreatePixmap (si->dpy, win, w, h, + si->default_screen->current_depth); + XGCValues gcv; + GC gc = XCreateGC (si->dpy, win, 0, &gcv); + xscreensaver_logo (si->dpy, logo_map, cmap, !first_time_p); + XCopyArea (si->dpy, logo_map, win, gc, 0, 0, w, h, x, y); + XFreeGC (si->dpy, gc); + XFreePixmap (si->dpy, logo_map); +} + + static void draw_splash_window (saver_info *si) { @@ -488,10 +505,7 @@ draw_splash_window (saver_info *si) x2 = sp->logo_width - (sp->shadow_width * 6); y2 = sp->logo_height - (sp->shadow_width * 6); - XFillRectangle (si->dpy, si->splash_dialog, gc2, x1, y1, x2, y2); - skull (si->dpy, si->splash_dialog, gc1, gc2, - x1 + sp->shadow_width, y1 + sp->shadow_width, - x2 - (sp->shadow_width * 2), y2 - (sp->shadow_width * 2)); + draw_logo (si, si->splash_dialog, x1, y1, x2, y2, True); /* The shadow around the logo diff --git a/driver/test-passwd.c b/driver/test-passwd.c index f86f8069..eaa884ff 100644 --- a/driver/test-passwd.c +++ b/driver/test-passwd.c @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1998 Jamie Zawinski +/* xscreensaver, Copyright (c) 1998, 2001 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -14,7 +14,11 @@ itself. */ -#define WHICH 0 +#define WHICH_PASS 100 +#define WHICH_SPLASH 101 +#define WHICH_TTY 102 + +#define WHICH WHICH_PASS #ifdef HAVE_CONFIG_H # include "config.h" @@ -133,7 +137,7 @@ main (int argc, char **argv) progclass = "XScreenSaver"; -#if (WHICH != 2) +#if (WHICH != WHICH_TTY) toplevel_shell = XtAppInitialize (&si->app, progclass, 0, 0, &argc, argv, fallback, 0, 0); @@ -162,7 +166,7 @@ main (int argc, char **argv) while (1) { -#if WHICH == 0 +#if WHICH == WHICH_PASS if (unlock_p (si)) fprintf (stderr, "%s: password correct\n", progname); else @@ -170,7 +174,7 @@ main (int argc, char **argv) XSync(si->dpy, False); sleep (3); -#elif WHICH == 1 +#elif WHICH == WHICH_SPLASH { XEvent event; make_splash_dialog (si); @@ -186,7 +190,7 @@ main (int argc, char **argv) XSync (si->dpy, False); sleep (1); } -#elif WHICH == 2 +#elif WHICH == WHICH_TTY { char *pass; char buf[255]; @@ -204,6 +208,8 @@ main (int argc, char **argv) else printf ("%s: Wrong!\n", progname); } +#else +# error bogus WHICH value! #endif } } diff --git a/driver/timers.c b/driver/timers.c index 1dbdeff6..d810b492 100644 --- a/driver/timers.c +++ b/driver/timers.c @@ -1071,9 +1071,18 @@ static void watchdog_timer (XtPointer closure, XtIntervalId *id) { saver_info *si = (saver_info *) closure; + saver_preferences *p = &si->prefs; disable_builtin_screensaver (si, False); + /* If the DPMS settings on the server have changed, change them back to + what ~/.xscreensaver says they should be. */ + sync_server_dpms_settings (si->dpy, p->dpms_enabled_p, + p->dpms_standby / 1000, + p->dpms_suspend / 1000, + p->dpms_off / 1000, + False); + if (si->screen_blanked_p) { Bool running_p = screenhack_running_p (si); diff --git a/driver/windows.c b/driver/windows.c index b092a72b..29e04619 100644 --- a/driver/windows.c +++ b/driver/windows.c @@ -1,5 +1,5 @@ /* windows.c --- turning the screen black; dealing with visuals, virtual roots. - * xscreensaver, Copyright (c) 1991-2000 Jamie Zawinski + * xscreensaver, Copyright (c) 1991-2001 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -159,28 +159,39 @@ static Bool grab_keyboard_and_mouse (saver_info *si, Window window, Cursor cursor) { Status mstatus, kstatus; - XSync (si->dpy, False); + int i; + int retries = 4; - kstatus = grab_kbd (si, window); - if (kstatus != GrabSuccess) - { /* try again in a second */ - sleep (1); + for (i = 0; i < retries; i++) + { + XSync (si->dpy, False); kstatus = grab_kbd (si, window); - if (kstatus != GrabSuccess) - fprintf (stderr, "%s: couldn't grab keyboard! (%s)\n", - blurb(), grab_string(kstatus)); - } + if (kstatus == GrabSuccess) + break; - mstatus = grab_mouse (si, window, cursor); - if (mstatus != GrabSuccess) - { /* try again in a second */ + /* else, wait a second and try to grab again. */ sleep (1); + } + + if (kstatus != GrabSuccess) + fprintf (stderr, "%s: couldn't grab keyboard! (%s)\n", + blurb(), grab_string(kstatus)); + + for (i = 0; i < retries; i++) + { + XSync (si->dpy, False); mstatus = grab_mouse (si, window, cursor); - if (mstatus != GrabSuccess) - fprintf (stderr, "%s: couldn't grab pointer! (%s)\n", - blurb(), grab_string(mstatus)); + if (mstatus == GrabSuccess) + break; + + /* else, wait a second and try to grab again. */ + sleep (1); } + if (mstatus != GrabSuccess) + fprintf (stderr, "%s: couldn't grab pointer! (%s)\n", + blurb(), grab_string(mstatus)); + return (kstatus == GrabSuccess || mstatus == GrabSuccess); } diff --git a/driver/xscreensaver-command.c b/driver/xscreensaver-command.c index 684fd4e3..9b86557b 100644 --- a/driver/xscreensaver-command.c +++ b/driver/xscreensaver-command.c @@ -1,4 +1,4 @@ -/* xscreensaver-command, Copyright (c) 1991-2000 +/* xscreensaver-command, Copyright (c) 1991-2001 * by Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its @@ -52,7 +52,7 @@ static char *usage = "\n\ usage: %s -