-# Makefile.in --- xscreensaver, Copyright (c) 1999-2010 Jamie Zawinski.
+# Makefile.in --- xscreensaver, Copyright (c) 1999-2014 Jamie Zawinski.
# the `../configure' script generates `Makefile' from this file.
@SET_MAKE@
# of autoconf other than the ones I've tried (2.12 and 2.13.)
#
configure::
+ aclocal
autoconf
autoheader
@TMP=configure.$$$$ ; \
fi ; \
\
git commit -m "$$VERS" . ; \
- git tag -a "v$$VERS" -m "$$VERS" . ; \
- git push . ; \
+ git tag -a "v$$VERS" -m "$$VERS" ; \
+ git push ; \
count::
-# XScreenSaver for MacOS X, Copyright (c) 2006-2013 by Jamie Zawinski.
+# XScreenSaver for MacOS X, Copyright (c) 2006-2014 by Jamie Zawinski.
-XCODEBUILD = /usr/bin/xcodebuild
-TARGETS = -target "All Savers"
+# We have to use Xcode 5.0.2 in order to build savers that will run on
+# MacOS 10.6 and 10.7, because that's the latest version of Xcode that
+# ships with a version of clang that implements "-fobjc-gc".
+#
+XCODE_APP = /Applications/Xcode-5.0.2.app
+
+TARGETS = All Savers
ARCH = -arch i386 -arch x86_64
CERT = 'Jamie Zawinski'
CERT = 'iPhone Developer: Jamie Zawinski (Y5M82TL69N)'
-THUMBDIR = $(HOME)/www/xscreensaver/screenshots/
PKGID = org.jwz.xscreensaver
-SETFILE = /Applications/Xcode.app/Contents/Developer/Tools/SetFile
+THUMBDIR = $(HOME)/www/xscreensaver/screenshots/
+XCODEBUILD = $(XCODE_APP)/Contents/Developer/usr/bin/xcodebuild
+SETFILE = $(XCODE_APP)/Contents/Developer/Tools/SetFile
SETICON = /usr/local/bin/seticon
+# seticon is from osxutils1.7.pkg
default: release
all: debug release
clean:
-rm -rf build
-# cd ..; $(XCODEBUILD) $(TARGETS) clean
+# cd ..; $(XCODEBUILD) -target "$(TARGETS)" clean
distclean:
-rm -f config.status config.cache config.log \
distdepend:: update_plist_version
debug: distdepend
- cd ..; $(XCODEBUILD) $(ARCH) $(TARGETS) -configuration Debug build
+ cd ..; $(XCODEBUILD) $(ARCH) -target "$(TARGETS)" -configuration Debug build
release:: distdepend
- cd ..; $(XCODEBUILD) $(ARCH) $(TARGETS) -configuration Release build
+ cd ..; $(XCODEBUILD) $(ARCH) -target "$(TARGETS)" -configuration Release build
release:: check_versions
release:: update_thumbs
if [ "$$RESULT" = 0 ]; then echo "Versions match ($$V2)" ; fi ; \
exit $$RESULT
+
+check_gc:
+ @\
+ DIR="build/Release" ; \
+ RESULT=0 ; \
+ for S in "$$DIR/"*.saver ; do \
+ SS=`echo "$$S" | sed -e 's@^.*/@@' -e 's/.saver$$//'` ; \
+ D="$$S/Contents/MacOS/$$SS" ; \
+ V=`otool -s __DATA __objc_imageinfo "$$D" \
+ | grep ' 00 02 00 '` ; \
+ if [ -z "$$V" ]; then \
+ echo "$$S does not have GC enabled" ; \
+ RESULT=1 ; \
+ fi ; \
+ done ; \
+ if [ "$$RESULT" = 0 ]; then echo "GC enabled" ; fi ; \
+ exit $$RESULT
+
+
update_thumbs::
./update-thumbnail.pl $(THUMBDIR) build/Release/*.saver
# -format UDBZ saves 4% (~1.2 MB) over UDZO.
-dmg:: distdepend check_versions build/Release/installer.pkg
+dmg:: distdepend check_versions check_gc build/Release/installer.pkg
@ \
set -e ; \
SRC=../utils/version.h ; \
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleGetInfoString</key>
- <string>5.27</string>
+ <string>5.29</string>
<key>CFBundleIconFile</key>
<string>SaverRunner</string>
<key>CFBundleIdentifier</key>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleLongVersionString</key>
- <string>5.27</string>
+ <string>5.29</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>5.27</string>
+ <string>5.29</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>5.27</string>
+ <string>5.29</string>
<key>LSMinimumSystemVersion</key>
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
<key>NSHumanReadableCopyright</key>
- <string>5.27</string>
+ <string>5.29</string>
<key>NSMainNibFile</key>
<string>SaverRunner</string>
<key>NSPrincipalClass</key>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleGetInfoString</key>
- <string>5.27</string>
+ <string>5.29</string>
<key>CFBundleIconFile</key>
<string>SaverRunner</string>
<key>CFBundleIdentifier</key>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleLongVersionString</key>
- <string>5.27</string>
+ <string>5.29</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleDisplayName</key>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>5.27</string>
+ <string>5.29</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>5.27</string>
+ <string>5.29</string>
<key>LSMinimumSystemVersion</key>
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
<key>LSUIElement</key>
<true/>
<key>NSHumanReadableCopyright</key>
- <string>5.27</string>
+ <string>5.29</string>
<key>NSMainNibFile</key>
<string>Updater</string>
<key>NSPrincipalClass</key>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
- <string>5.27</string>
+ <string>5.29</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>5.27</string>
+ <string>5.29</string>
<key>LSMinimumSystemVersion</key>
<string>10.4</string>
<key>NSMainNibFile</key>
(void *(*) (Display *, Window, void *)) xsft->init_cb;
xdata = init_cb (xdpy, xwindow, xsft->setup_arg);
+ // NSAssert(xdata, @"no xdata from init");
+ if (! xdata) abort();
if (get_boolean_resource (xdpy, "doFPS", "DoFPS")) {
fpst = fps_init (xdpy, xwindow);
# ifndef USE_IPHONE
NSDisableScreenUpdates();
# endif
+ // NSAssert(xdata, @"no xdata when drawing");
+ if (! xdata) abort();
unsigned long delay = xsft->draw_cb (xdpy, xwindow, xdata);
if (fpst) xsft->fps_cb (xdpy, xwindow, fpst, xdata);
# ifndef USE_IPHONE
\b0 by Jamie Zawinski\
and many others\
\
-version 5.27\
-27-May-2014\
+version 5.29\
+08-Jun-2014\
\
{\field{\*\fldinst{HYPERLINK "http://www.jwz.org/xscreensaver/"}}{\fldrslt \cf2 \ul \ulc2 http://www.jwz.org/xscreensaver/}}\
\pard\pardeftab720
* The problem:
*
* - OSX 10.5 and earlier require .saver bundles to not use GC.
- * - OSX 10.6 require .saver bundles to use GC.
- * - OSX 10.7 and later require .saver bundles to not use GC.
+ * - OSX 10.6 and 10.7 require .saver bundles to use GC.
+ * - OSX 10.8 and later require .saver bundles to not use GC.
*
* So the way to build a portable .saver is to build it with "GC optional",
* via "-fobjc-gc" on the x86-64 architecture.
*
- * But XCode 5.x on OSX 10.9 no longer supports building executables
- * that support GC, even optionally. So there's no way to make XCode
- * 5.x create a .saver bundle that will work on OSX 10.6. Though it
- * will work on 10.5!
+ * But XCode 5.0.2 was the last version of XCode to support building
+ * executables that support GC, even optionally. So there's no way to make
+ * the XCode that ships with OSX 10.9 create a .saver bundle that will work
+ * on OSX 10.6 and 10.7. Though it will work on 10.5!
*
* The fix: after compiling, hand-hack the generated binary to tag the
* x86-64 arch with the OBJC_IMAGE_SUPPORTS_GC flag.
* dependency of "libjwxyz" (so that it gets built first) and is
* invoked by "update-info-plist.pl" (so that it gets run on every
* saver).
+ *
+ *
+ * UPDATE, 2-Jun-2014:
+ *
+ * Actually, this seems not to be working. We're seeing intermittent
+ * crashes in malloc/calloc/free on 10.6 64 bit. When compiled with
+ * legit -fobjc-gc, those crashes don't occur.
*/
#include <assert.h>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>NSHumanReadableCopyright</key>
- <string>5.27</string>
+ <string>5.29</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleVersion</key>
- <string>5.27</string>
+ <string>5.29</string>
<key>NSMainNibFile</key>
<string>iSaverRunner</string>
<key>CFBundlePackageType</key>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>CFBundleShortVersionString</key>
- <string>5.27</string>
+ <string>5.29</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>UIRequiredDeviceCapabilities</key>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>CFBundleLongVersionString</key>
- <string>5.27</string>
+ <string>5.29</string>
<key>CFBundleIdentifier</key>
<string>${BUNDLE_IDENTIFIER}</string>
<key>CFBundleSignature</key>
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleGetInfoString</key>
- <string>5.27</string>
+ <string>5.29</string>
</dict>
</plist>
#!/bin/sh
-# XScreenSaver, Copyright © 2013 Jamie Zawinski <jwz@jwz.org>
+# XScreenSaver, Copyright © 2013-2014 Jamie Zawinski <jwz@jwz.org>
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
#exec >/tmp/xscreensaver.log 2>&1
#set -x
+DEBUG=0
+REQUIRED_SPACE=160 # MB. Highly approximate.
+
export PATH="/bin:/sbin:/usr/bin:/usr/sbin:$PATH"
-REQUIRED_SPACE=140 # MB. Highly approximate.
+function error() {
+ echo "XScreenSaver Installer: Error: $@" >&2
+ (
+ # Using "System Events" says "No user interaction allowed" on 10.9.
+ # But using "Automator Runner" still seems to work.
+ osascript <<__EOF__
+ tell app "Automator Runner" to \
+ display dialog "$@" \
+ buttons "Bummer" \
+ default button 1 \
+ with icon 0 \
+ with title "Installation Error"
+__EOF__
+ ) </dev/null >/dev/null 2>&1 &
+ exit 1
+}
-DEBUG=0
+#if[ x"$DSTVOLUME" = x ]; then error "DSTVOLUME unset"; fi
+if [ x"$PACKAGE_PATH" = x ]; then error "PACKAGE_PATH unset"; fi
+if [ x"$HOME" = x ]; then error "HOME unset"; fi
-if [ x"$USER" = xjwz ]; then
- DEBUG=1
-fi
echo "Destination: $DSTVOLUME" >&2
-if [ "$DEBUG" != 0 ]; then
- DSTVOLUME=/tmp
-fi
+if [ x"$USER" = xjwz ]; then DEBUG=1; fi
+
+if [ "$DEBUG" != 0 ]; then DSTVOLUME=/tmp; fi
SRC=`dirname "$PACKAGE_PATH"`/"Screen Savers"
DST1="$DSTVOLUME/Library/Screen Savers"
PU="$DSTVOLUME/$HOME/Library/Screen Savers"
UPDATER="XScreenSaverUpdater.app"
-function error() {
- echo "Error: $@" >&2
- (
- osascript <<__EOF__
- tell app "System Events" to display dialog "$@" buttons "Bummer" default button 1 with icon 0 with title "Installation Error"
-__EOF__
- ) </dev/null >/dev/null 2>&1 &
- exit 1
-}
-
cd "$SRC" || error "The 'Screen Savers' folder does not exist.
You can't copy the installer out of the Disk Image!"
-/* xscreensaver, Copyright (c) 1991-2012 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1991-2014 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
#define DisplayHeight XDisplayHeight
#define XMaxRequestSize(dpy) (65535)
+#define ScreenCount(dpy) jwxyz_ScreenCount(dpy)
+extern int jwxyz_ScreenCount(Display *);
+
extern Display *jwxyz_make_display (void *nsview, void *cgc);
extern void jwxyz_free_display (Display *);
extern void *jwxyz_window_view (Window);
struct jwxyz_Display {
Window main_window;
Screen *screen;
+ int screen_count;
struct jwxyz_sources_data *timers_data;
# ifndef USE_IPHONE
struct jwxyz_Screen {
Display *dpy;
Visual *visual;
+ int screen_number;
};
struct jwxyz_GC {
}
+/* We keep a list of all of the Displays that have been created and not
+ yet freed so that they can have sensible display numbers. If three
+ displays are created (0, 1, 2) and then #1 is closed, then the fourth
+ display will be given the now-unused display number 1. (Everything in
+ here assumes a 1:1 Display/Screen mapping.)
+
+ The size of this array is the most number of live displays at one time.
+ So if it's 20, then we'll blow up if the system has 19 monitors and also
+ has System Preferences open (the small preview window).
+
+ Note that xlockmore-style savers tend to allocate big structures, so
+ setting this to 1000 will waste a few megabytes. Also some of them assume
+ that the number of screens never changes, so dynamically expanding this
+ array won't work.
+ */
+# ifndef USE_IPHONE
+static Display *jwxyz_live_displays[20] = { 0, };
+# endif
+
+
Display *
jwxyz_make_display (void *nsview_arg, void *cgc_arg)
{
d->screen = (Screen *) calloc (1, sizeof(Screen));
d->screen->dpy = d;
+ d->screen_count = 1;
+ d->screen->screen_number = 0;
+# ifndef USE_IPHONE
+ {
+ // Find the first empty slot in live_displays and plug us in.
+ int size = sizeof(jwxyz_live_displays) / sizeof(*jwxyz_live_displays);
+ int i;
+ for (i = 0; i < size; i++) {
+ if (! jwxyz_live_displays[i])
+ break;
+ }
+ if (i >= size) abort();
+ jwxyz_live_displays[i] = d;
+ d->screen_count = size;
+ d->screen->screen_number = i;
+ }
+# endif // !USE_IPHONE
+
Visual *v = (Visual *) calloc (1, sizeof(Visual));
v->class = TrueColor;
v->red_mask = 0x00FF0000;
jwxyz_XtRemoveInput_all (dpy);
// #### jwxyz_XtRemoveTimeOut_all ();
+# ifndef USE_IPHONE
+ {
+ // Find us in live_displays and clear that slot.
+ int size = ScreenCount(dpy);
+ int i;
+ for (i = 0; i < size; i++) {
+ if (dpy == jwxyz_live_displays[i]) {
+ jwxyz_live_displays[i] = 0;
+ break;
+ }
+ }
+ if (i >= size) abort();
+ }
+# endif // !USE_IPHONE
+
free (dpy->screen->visual);
free (dpy->screen);
CFRelease (dpy->main_window->window.view);
int
XScreenNumberOfScreen (Screen *s)
{
- return 0;
+ return s->screen_number;
+}
+
+int
+jwxyz_ScreenCount (Display *dpy)
+{
+ return dpy->screen_count;
}
int
my ($exec_dir, $progname) = ($0 =~ m@^(.*?)/([^/]+)$@);
-my ($version) = ('$Revision: 1.30 $' =~ m/\s(\d[.\d]+)\s/s);
+my ($version) = ('$Revision: 1.33 $' =~ m/\s(\d[.\d]+)\s/s);
$ENV{PATH} = "/usr/local/bin:$ENV{PATH}"; # for seticon
set_icon ($app_dir);
set_thumb ($app_dir);
- enable_gc ($app_dir);
+# enable_gc ($app_dir);
}
<link>http://www.jwz.org/xscreensaver/updates.xml</link>
<description>Updates to xscreensaver.</description>
<language>en</language>
+ <item>
+ <title>Version 5.28</title>
+ <link>http://www.jwz.org/xscreensaver/xscreensaver-5.28.dmg</link>
+ <description><![CDATA[• Fixed some compilation problems and intermittent crashes. <BR>• Turned off the OSX 10.6 enable_gc hack. It didn't work.]]></description>
+ <pubDate>Wed, 04 Jun 2014 13:51:27 -0700</pubDate>
+ <enclosure url="http://www.jwz.org/xscreensaver/xscreensaver-5.28.dmg"
+ sparkle:version="5.28"
+ sparkle:dsaSignature="MC0CFCic+M1r8vJdzeZ0tbsvhSlkcuOTAhUAqxQeckaXmn8TV+KJp3EsoEzMiBo="
+ length="51021639"
+ type="application/octet-stream" />
+ </item>
+ <item>
+ <title>Version 5.27</title>
+ <link>http://www.jwz.org/xscreensaver/xscreensaver-5.27.dmg</link>
+ <description><![CDATA[• New hacks, `tessellimage' and `projectiveplane'. <BR>• Added support for pthreads, because Dave Odell is a madman. <BR>• Updated `webcollage' for recent changes. <BR>• Minor iOS tweaks to the `analogtv' hacks. <BR>• X11: Don't assume Suspend = 0 implies "No DPMS". <BR>• Minor updates to `boxed' and `klein'. <BR>• Fixed possible crash in `apple2', `noseguy', `xmatrix', `shadebobs'. <BR>• Fixed possible crash in OSX preferences. <BR>• OSX Performance improvements. <BR>• Plugged some leaks.]]></description>
+ <pubDate>Tue, 27 May 2014 03:05:35 -0700</pubDate>
+ <enclosure url="http://www.jwz.org/xscreensaver/xscreensaver-5.27.dmg"
+ sparkle:version="5.27"
+ sparkle:dsaSignature="MC0CFQDIHH0Q0NqJ8K0XDDe8lUPpTdpLeQIUW1tdF1xsu0WviJ+EpxOXYiudetM="
+ length="50979508"
+ type="application/octet-stream" />
+ </item>
<item>
<title>Version 5.26</title>
<link>http://www.jwz.org/xscreensaver/xscreensaver-5.26.dmg</link>
length="50489976"
type="application/octet-stream" />
</item>
- <item>
- <title>Version 5.25</title>
- <link>http://www.jwz.org/xscreensaver/xscreensaver-5.25.dmg</link>
- <description><![CDATA[• Try harder to bypass Quarrantine and Gatekeeper in OSX installer. <BR>• Some files were missing from the tarball.]]></description>
- <pubDate>Mon, 09 Dec 2013 00:38:35 -0800</pubDate>
- <enclosure url="http://www.jwz.org/xscreensaver/xscreensaver-5.25.dmg"
- sparkle:version="5.25"
- sparkle:dsaSignature="MC0CFQCr8H3E7MQ9UF8WoSfkNMYAeezkCgIUCEfh4LmhELZlR53pihwrbPn8/gw="
- length="50492771"
- type="application/octet-stream" />
- </item>
- <item>
- <title>Version 5.24</title>
- <link>http://www.jwz.org/xscreensaver/xscreensaver-5.24.dmg</link>
- <description><![CDATA[• Added "Automatically check for updates" option on OSX. <BR>• Updated feed-loading for recent Flickr changes. <BR>• Updated `webcollage' for recent Google changes. <BR>• Added Instagram and Bing as `webcollage' image sources. <BR>• Updated to latest autoconf. <BR>• Bug fixes.]]></description>
- <pubDate>Sat, 07 Dec 2013 19:06:56 -0800</pubDate>
- <enclosure url="http://www.jwz.org/xscreensaver/xscreensaver-5.24.dmg"
- sparkle:version="5.24"
- sparkle:dsaSignature="MCwCFCIlSSS7+eSfv1YkqIppcyIqTeU7AhRpDCQEQmI61UWhHInQGwduI+Mr8A=="
- length="50258845"
- type="application/octet-stream" />
- </item>
<item>
<title>Version 5.14</title>
<link>http://www.jwz.org/xscreensaver/xscreensaver-5.14.dmg</link>
===============================================================================
+5.29 * Downgraded to Xcode 5.0.2 to make it possible to build savers
+ that will still run on 10.6 and 10.7. Sigh.
+ * Updated `webcollage' for recent changes.
+
+5.28 * Fixed some compilation problems and intermittent crashes.
+ * Turned off the OSX 10.6 enable_gc hack. It didn't work.
+
5.27 * New hacks, `tessellimage' and `projectiveplane'.
* Added support for pthreads, because Dave Odell is a madman.
* Updated `webcollage' for recent changes.
-dnl aclocal.m4 generated automatically by aclocal 1.4-p5
+# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
-dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-dnl PARTICULAR PURPOSE.
-
-
-dnl AC_PROG_INTLTOOL([MINIMUM-VERSION])
-# serial 1 AC_PROG_INTLTOOL
-AC_DEFUN(AC_PROG_INTLTOOL,
-[
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
-if test -n "$1"; then
- AC_MSG_CHECKING(for intltool >= $1)
-
- INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ printf "%d", $[1] * 100 + $[2]; }'`
- INTLTOOL_APPLIED_VERSION=`awk -F\" '/\\$VERSION / { printf $[2]; }' < intltool-update.in`
- changequote({{,}})
- INTLTOOL_APPLIED_VERSION_AS_INT=`awk -F\" '/\\$VERSION / { split(${{2}}, VERSION, "."); printf "%d\n", VERSION[1] * 100 + VERSION[2];}' < intltool-update.in`
- changequote([,])
-
- if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT"; then
- AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found])
- else
- AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found. Your intltool is too old. You need intltool $1 or later.])
- exit 1
- fi
-fi
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
- INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -d -u -c $(top_builddir)/po/.intltool-merge-cache'
-INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -d -u -c $(top_builddir)/po/.intltool-merge-cache'
- INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -k -u -c $(top_builddir)/po/.intltool-merge-cache'
- INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -o -p'
- INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -x -u -c $(top_builddir)/po/.intltool-merge-cache'
- INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -o -u -c $(top_builddir)/po/.intltool-merge-cache'
- INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -x -u -c $(top_builddir)/po/.intltool-merge-cache'
-INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -d -u -c $(top_builddir)/po/.intltool-merge-cache'
- INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -x -u -c $(top_builddir)/po/.intltool-merge-cache'
- INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -x -u -c $(top_builddir)/po/.intltool-merge-cache'
- INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -d -u -c $(top_builddir)/po/.intltool-merge-cache'
-
-AC_SUBST(INTLTOOL_DESKTOP_RULE)
-AC_SUBST(INTLTOOL_DIRECTORY_RULE)
-AC_SUBST(INTLTOOL_KEYS_RULE)
-AC_SUBST(INTLTOOL_OAF_RULE)
-AC_SUBST(INTLTOOL_PONG_RULE)
-AC_SUBST(INTLTOOL_SERVER_RULE)
-AC_SUBST(INTLTOOL_SHEET_RULE)
-AC_SUBST(INTLTOOL_SOUNDLIST_RULE)
-AC_SUBST(INTLTOOL_UI_RULE)
-AC_SUBST(INTLTOOL_XML_RULE)
-AC_SUBST(INTLTOOL_CAVES_RULE)
-
-# Use the tools built into the package, not the ones that are installed.
-
-INTLTOOL_EXTRACT='$(top_builddir)/intltool-extract'
-INTLTOOL_MERGE='$(top_builddir)/intltool-merge'
-INTLTOOL_UPDATE='$(top_builddir)/intltool-update'
-
-AC_SUBST(INTLTOOL_EXTRACT)
-AC_SUBST(INTLTOOL_MERGE)
-AC_SUBST(INTLTOOL_UPDATE)
-
-AC_PATH_PROG(INTLTOOL_PERL, perl)
-if test -z "$INTLTOOL_PERL"; then
- AC_MSG_ERROR([perl not found; required for intltool])
-fi
-if test -z "`$INTLTOOL_PERL -v | fgrep '5.' 2> /dev/null`"; then
- AC_MSG_ERROR([perl 5.x required for intltool])
-fi
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
-# Remove file type tags (using []) from po/POTFILES.
-
-ifdef([AC_DIVERSION_ICMDS],[
- AC_DIVERT_PUSH(AC_DIVERSION_ICMDS)
- changequote(,)
- mv -f po/POTFILES po/POTFILES.tmp
- sed -e 's/\[.*\] *//' < po/POTFILES.tmp > po/POTFILES
- rm -f po/POTFILES.tmp
- changequote([,])
- AC_DIVERT_POP()
-],[
- ifdef([AC_CONFIG_COMMANDS_PRE],[
- AC_CONFIG_COMMANDS_PRE([
- changequote(,)
- mv -f po/POTFILES po/POTFILES.tmp
- sed -e 's/\[.*\] *//' < po/POTFILES.tmp > po/POTFILES
- rm -f po/POTFILES.tmp
- changequote([,])
- ])
- ])
-])
-
-# Manually sed perl in so people don't have to put the intltool scripts in AC_OUTPUT.
-
-AC_OUTPUT_COMMANDS([
-
-sed -e "s:@INTLTOOL_PERL@:${INTLTOOL_PERL}:;" < ${srcdir}/intltool-extract.in > intltool-extract.out
-if cmp -s intltool-extract intltool-extract.out 2>/dev/null; then
- rm -f intltool-extract.out
-else
- mv -f intltool-extract.out intltool-extract
-fi
-chmod ugo+x intltool-extract
-chmod u+w intltool-extract
-
-sed -e "s:@INTLTOOL_PERL@:${INTLTOOL_PERL}:;" < ${srcdir}/intltool-merge.in > intltool-merge.out
-if cmp -s intltool-merge intltool-merge.out 2>/dev/null; then
- rm -f intltool-merge.out
-else
- mv -f intltool-merge.out intltool-merge
-fi
-chmod ugo+x intltool-merge
-chmod u+w intltool-merge
-
-sed -e "s:@INTLTOOL_PERL@:${INTLTOOL_PERL}:;" < ${srcdir}/intltool-update.in > intltool-update.out
-if cmp -s intltool-update intltool-update.out 2>/dev/null; then
- rm -f intltool-update.out
-else
- mv -f intltool-update.out intltool-update
-fi
-chmod ugo+x intltool-update
-chmod u+w intltool-update
-
-], INTLTOOL_PERL=${INTLTOOL_PERL})
-
-])
-
-# Macro to add for using GNU gettext.
-# Ulrich Drepper <drepper@cygnus.com>, 1995.
-#
-# Modified to never use included libintl.
-# Owen Taylor <otaylor@redhat.com>, 12/15/1998
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
+# Copyright (C) 1995-2002 Free Software Foundation, Inc.
+# Copyright (C) 2001-2003,2004 Red Hat, Inc.
#
+# This file is free software, distributed under the terms of the GNU
+# General Public License. As a special exception to the GNU General
+# Public License, this file may be distributed as part of a program
+# that contains a configuration script generated by Autoconf, under
+# the same distribution terms as the rest of that program.
#
# This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU Public License
# but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
#
+# Macro to add for using GNU gettext.
+# Ulrich Drepper <drepper@cygnus.com>, 1995, 1996
+#
+# Modified to never use included libintl.
+# Owen Taylor <otaylor@redhat.com>, 12/15/1998
+#
+# Major rework to remove unused code
+# Owen Taylor <otaylor@redhat.com>, 12/11/2002
+#
+# Added better handling of ALL_LINGUAS from GNU gettext version
+# written by Bruno Haible, Owen Taylor <otaylor.redhat.com> 5/30/3002
#
-# If you make changes to this file, you MUST update the copy in
-# acinclude.m4. [ aclocal dies on duplicate macros, so if
-# we run 'aclocal -I macros/' then we'll run into problems
-# once we've installed glib-gettext.m4 :-( ]
+# Modified to require ngettext
+# Matthias Clasen <mclasen@redhat.com> 08/06/2004
#
+# We need this here as well, since someone might use autoconf-2.5x
+# to configure GLib then an older version to configure a package
+# using AM_GLIB_GNU_GETTEXT
+AC_PREREQ(2.53)
+
+dnl
+dnl We go to great lengths to make sure that aclocal won't
+dnl try to pull in the installed version of these macros
+dnl when running aclocal in the glib directory.
+dnl
+m4_copy([AC_DEFUN],[glib_DEFUN])
+m4_copy([AC_REQUIRE],[glib_REQUIRE])
+dnl
+dnl At the end, if we're not within glib, we'll define the public
+dnl definitions in terms of our private definitions.
+dnl
+
+# GLIB_LC_MESSAGES
+#--------------------
+glib_DEFUN([GLIB_LC_MESSAGES],
+ [AC_CHECK_HEADERS([locale.h])
+ if test $ac_cv_header_locale_h = yes; then
+ AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
+ [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
+ am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
+ if test $am_cv_val_LC_MESSAGES = yes; then
+ AC_DEFINE(HAVE_LC_MESSAGES, 1,
+ [Define if your <locale.h> file defines LC_MESSAGES.])
+ fi
+ fi])
-# serial 5
+# GLIB_PATH_PROG_WITH_TEST
+#----------------------------
+dnl GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
+dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+glib_DEFUN([GLIB_PATH_PROG_WITH_TEST],
+[# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL(ac_cv_path_$1,
+[case "[$]$1" in
+ /*)
+ ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in ifelse([$5], , $PATH, [$5]); do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if [$3]; then
+ ac_cv_path_$1="$ac_dir/$ac_word"
+ break
+ fi
+ fi
+ done
+ IFS="$ac_save_ifs"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+ ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
+ AC_MSG_RESULT([$]$1)
+else
+ AC_MSG_RESULT(no)
+fi
+AC_SUBST($1)dnl
+])
-AC_DEFUN(AM_GLIB_WITH_NLS,
+# GLIB_WITH_NLS
+#-----------------
+glib_DEFUN([GLIB_WITH_NLS],
dnl NLS is obligatory
[USE_NLS=yes
AC_SUBST(USE_NLS)
- dnl Figure out what method
- nls_cv_force_use_gnu_gettext="no"
-
- nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
- if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
- dnl User does not insist on using GNU NLS library. Figure out what
- dnl to use. If gettext or catgets are available (in this order) we
- dnl use this. Else we have to fall back to GNU NLS library.
- dnl catgets is only used if permitted by option --with-catgets.
- nls_cv_header_intl=
- nls_cv_header_libgt=
- CATOBJEXT=NONE
-
- AC_CHECK_HEADER(libintl.h,
- [AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc,
- [AC_TRY_LINK([#include <libintl.h>], [return (int) dgettext ("","")],
- gt_cv_func_dgettext_libc=yes, gt_cv_func_dgettext_libc=no)])
-
- if test "$gt_cv_func_dgettext_libc" != "yes"; then
- AC_CHECK_LIB(intl, bindtextdomain,
- [AC_CACHE_CHECK([for dgettext in libintl],
- gt_cv_func_dgettext_libintl,
- [AC_CHECK_LIB(intl, dgettext,
- gt_cv_func_dgettext_libintl=yes,
- gt_cv_func_dgettext_libintl=no)],
- gt_cv_func_dgettext_libintl=no)])
- fi
-
- if test "$gt_cv_func_dgettext_libintl" = "yes"; then
- LIBS="$LIBS -lintl";
+ gt_cv_have_gettext=no
+
+ CATOBJEXT=NONE
+ XGETTEXT=:
+ INTLLIBS=
+
+ AC_CHECK_HEADER(libintl.h,
+ [gt_cv_func_dgettext_libintl="no"
+ libintl_extra_libs=""
+
+ #
+ # First check in libc
+ #
+ AC_CACHE_CHECK([for ngettext in libc], gt_cv_func_ngettext_libc,
+ [AC_TRY_LINK([
+#include <libintl.h>
+],
+ [return !ngettext ("","", 1)],
+ gt_cv_func_ngettext_libc=yes,
+ gt_cv_func_ngettext_libc=no)
+ ])
+
+ if test "$gt_cv_func_ngettext_libc" = "yes" ; then
+ AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc,
+ [AC_TRY_LINK([
+#include <libintl.h>
+],
+ [return !dgettext ("","")],
+ gt_cv_func_dgettext_libc=yes,
+ gt_cv_func_dgettext_libc=no)
+ ])
+ fi
+
+ if test "$gt_cv_func_ngettext_libc" = "yes" ; then
+ AC_CHECK_FUNCS(bind_textdomain_codeset)
+ fi
+
+ #
+ # If we don't have everything we want, check in libintl
+ #
+ if test "$gt_cv_func_dgettext_libc" != "yes" \
+ || test "$gt_cv_func_ngettext_libc" != "yes" \
+ || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then
+
+ AC_CHECK_LIB(intl, bindtextdomain,
+ [AC_CHECK_LIB(intl, ngettext,
+ [AC_CHECK_LIB(intl, dgettext,
+ gt_cv_func_dgettext_libintl=yes)])])
+
+ if test "$gt_cv_func_dgettext_libintl" != "yes" ; then
+ AC_MSG_CHECKING([if -liconv is needed to use gettext])
+ AC_MSG_RESULT([])
+ AC_CHECK_LIB(intl, ngettext,
+ [AC_CHECK_LIB(intl, dcgettext,
+ [gt_cv_func_dgettext_libintl=yes
+ libintl_extra_libs=-liconv],
+ :,-liconv)],
+ :,-liconv)
+ fi
+
+ #
+ # If we found libintl, then check in it for bind_textdomain_codeset();
+ # we'll prefer libc if neither have bind_textdomain_codeset(),
+ # and both have dgettext and ngettext
+ #
+ if test "$gt_cv_func_dgettext_libintl" = "yes" ; then
+ glib_save_LIBS="$LIBS"
+ LIBS="$LIBS -lintl $libintl_extra_libs"
+ unset ac_cv_func_bind_textdomain_codeset
+ AC_CHECK_FUNCS(bind_textdomain_codeset)
+ LIBS="$glib_save_LIBS"
+
+ if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then
+ gt_cv_func_dgettext_libc=no
+ else
+ if test "$gt_cv_func_dgettext_libc" = "yes" \
+ && test "$gt_cv_func_ngettext_libc" = "yes"; then
+ gt_cv_func_dgettext_libintl=no
+ fi
fi
+ fi
+ fi
- if test "$gt_cv_func_dgettext_libc" = "yes" \
- || test "$gt_cv_func_dgettext_libintl" = "yes"; then
- AC_DEFINE(HAVE_GETTEXT,1,
- [Define if the GNU gettext() function is already present or preinstalled.])
- AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
- [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
- if test "$MSGFMT" != "no"; then
- AC_CHECK_FUNCS(dcgettext)
- AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
- AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
- [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
- AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
- return _nl_msg_cat_cntr],
- [CATOBJEXT=.gmo
- DATADIRNAME=share],
- [CATOBJEXT=.mo
- DATADIRNAME=lib])
- INSTOBJEXT=.mo
- fi
- fi
-
- # Added by Martin Baulig 12/15/98 for libc5 systems
- if test "$gt_cv_func_dgettext_libc" != "yes" \
- && test "$gt_cv_func_dgettext_libintl" = "yes"; then
- INTLLIBS=-lintl
- LIBS=`echo $LIBS | sed -e 's/-lintl//'`
- fi
- ])
-
- if test "$CATOBJEXT" = "NONE"; then
- dnl Neither gettext nor catgets in included in the C library.
- dnl Fall back on GNU gettext library.
- nls_cv_use_gnu_gettext=yes
+ if test "$gt_cv_func_dgettext_libc" = "yes" \
+ || test "$gt_cv_func_dgettext_libintl" = "yes"; then
+ gt_cv_have_gettext=yes
fi
- fi
+
+ if test "$gt_cv_func_dgettext_libintl" = "yes"; then
+ INTLLIBS="-lintl $libintl_extra_libs"
+ fi
+
+ if test "$gt_cv_have_gettext" = "yes"; then
+ AC_DEFINE(HAVE_GETTEXT,1,
+ [Define if the GNU gettext() function is already present or preinstalled.])
+ GLIB_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+ [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
+ if test "$MSGFMT" != "no"; then
+ glib_save_LIBS="$LIBS"
+ LIBS="$LIBS $INTLLIBS"
+ AC_CHECK_FUNCS(dcgettext)
+ MSGFMT_OPTS=
+ AC_MSG_CHECKING([if msgfmt accepts -c])
+ GLIB_RUN_PROG([$MSGFMT -c -o /dev/null],[
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: test 1.0\n"
+"PO-Revision-Date: 2007-02-15 12:01+0100\n"
+"Last-Translator: test <foo@bar.xx>\n"
+"Language-Team: C <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+], [MSGFMT_OPTS=-c; AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])])
+ AC_SUBST(MSGFMT_OPTS)
+ AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+ GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+ [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
+ AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
+ return _nl_msg_cat_cntr],
+ [CATOBJEXT=.gmo
+ DATADIRNAME=share],
+ [case $host in
+ *-*-solaris*)
+ dnl On Solaris, if bind_textdomain_codeset is in libc,
+ dnl GNU format message catalog is always supported,
+ dnl since both are added to the libc all together.
+ dnl Hence, we'd like to go with DATADIRNAME=share and
+ dnl and CATOBJEXT=.gmo in this case.
+ AC_CHECK_FUNC(bind_textdomain_codeset,
+ [CATOBJEXT=.gmo
+ DATADIRNAME=share],
+ [CATOBJEXT=.mo
+ DATADIRNAME=lib])
+ ;;
+ *-*-openbsd*)
+ CATOBJEXT=.mo
+ DATADIRNAME=share
+ ;;
+ *)
+ CATOBJEXT=.mo
+ DATADIRNAME=lib
+ ;;
+ esac])
+ LIBS="$glib_save_LIBS"
+ INSTOBJEXT=.mo
+ else
+ gt_cv_have_gettext=no
+ fi
+ fi
+ ])
- if test "$nls_cv_use_gnu_gettext" != "yes"; then
+ if test "$gt_cv_have_gettext" = "yes" ; then
AC_DEFINE(ENABLE_NLS, 1,
[always defined to indicate that i18n is enabled])
- else
- dnl Unset this variable since we use the non-zero value as a flag.
- CATOBJEXT=
fi
dnl Test whether we really found GNU xgettext.
if test "$XGETTEXT" != ":"; then
- dnl If it is no GNU xgettext we define it as : so that the
+ dnl If it is not GNU xgettext we define it as : so that the
dnl Makefiles still can work.
if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
: ;
AC_OUTPUT_COMMANDS(
[case "$CONFIG_FILES" in *po/Makefile.in*)
- rm -f po/stamp-it po/stamp-it.tmp
- > po/stamp-it.tmp
sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
- mv po/stamp-it.tmp po/stamp-it
esac])
dnl These rules are solely for the distribution goal. While doing this
dnl we only have to keep exactly one list of the available catalogs
- dnl in configure.in.
+ dnl in configure.ac.
for lang in $ALL_LINGUAS; do
GMOFILES="$GMOFILES $lang.gmo"
POFILES="$POFILES $lang.po"
AC_SUBST(DATADIRNAME)
AC_SUBST(GMOFILES)
AC_SUBST(INSTOBJEXT)
- AC_SUBST(INTLDEPS)
AC_SUBST(INTLLIBS)
- AC_SUBST(INTLOBJS)
+ AC_SUBST(PO_IN_DATADIR_TRUE)
+ AC_SUBST(PO_IN_DATADIR_FALSE)
AC_SUBST(POFILES)
AC_SUBST(POSUB)
])
-AC_DEFUN(AM_GLIB_GNU_GETTEXT,
- [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
- AC_REQUIRE([AC_PROG_CC])dnl
- AC_REQUIRE([AC_PROG_RANLIB])dnl
- AC_REQUIRE([AC_HEADER_STDC])dnl
- AC_REQUIRE([AC_C_CONST])dnl
- AC_REQUIRE([AC_C_INLINE])dnl
- AC_REQUIRE([AC_TYPE_OFF_T])dnl
- AC_REQUIRE([AC_TYPE_SIZE_T])dnl
- AC_REQUIRE([AC_FUNC_ALLOCA])dnl
- AC_REQUIRE([AC_FUNC_MMAP])dnl
-
- AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
-unistd.h sys/param.h])
- AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
-strdup __argz_count __argz_stringify __argz_next])
-
- AM_LC_MESSAGES
- AM_GLIB_WITH_NLS
-
- if test "x$CATOBJEXT" != "x"; then
+# AM_GLIB_GNU_GETTEXT
+# -------------------
+# Do checks necessary for use of gettext. If a suitable implementation
+# of gettext is found in either in libintl or in the C library,
+# it will set INTLLIBS to the libraries needed for use of gettext
+# and AC_DEFINE() HAVE_GETTEXT and ENABLE_NLS. (The shell variable
+# gt_cv_have_gettext will be set to "yes".) It will also call AC_SUBST()
+# on various variables needed by the Makefile.in.in installed by
+# glib-gettextize.
+dnl
+glib_DEFUN([GLIB_GNU_GETTEXT],
+ [AC_REQUIRE([AC_PROG_CC])dnl
+
+ GLIB_LC_MESSAGES
+ GLIB_WITH_NLS
+
+ if test "$gt_cv_have_gettext" = "yes"; then
if test "x$ALL_LINGUAS" = "x"; then
LINGUAS=
else
AC_MSG_CHECKING(for catalogs to be installed)
NEW_LINGUAS=
- for lang in ${LINGUAS=$ALL_LINGUAS}; do
- case "$ALL_LINGUAS" in
- *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
- esac
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ NEW_LINGUAS="$NEW_LINGUAS $presentlang"
+ fi
done
LINGUAS=$NEW_LINGUAS
AC_MSG_RESULT($LINGUAS)
fi
fi
- dnl Determine which catalog format we have (if any is needed)
- dnl For now we know about two different formats:
- dnl Linux libc-5 and the normal X/Open format
- test -d po || mkdir po
- if test "$CATOBJEXT" = ".cat"; then
- AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
-
- dnl Transform the SED scripts while copying because some dumb SEDs
- dnl cannot handle comments.
- sed -e '/^#/d' $srcdir/po/$msgformat-msg.sed > po/po2msg.sed
- fi
-
dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
dnl Try to locate is.
MKINSTALLDIRS=
-#
-# jwz: fuck this! it puts hardcoded pathnames into the generated Makefiles!
-#
-# if test -n "$ac_aux_dir"; then
-# MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
-# fi
+ if test -n "$ac_aux_dir"; then
+ MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
+ fi
if test -z "$MKINSTALLDIRS"; then
MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
fi
-
- # jwz: you know what, screw it. Let's just use the version that I
- # already computed in configure.in, instead of this version that came
- # with the i18n crud, ok?
- MKINSTALLDIRS="$INSTALL_DIRS"
-
-
AC_SUBST(MKINSTALLDIRS)
dnl Generate list of files to be processed by xgettext which will
< $srcdir/po/POTFILES.in > po/POTFILES
])
+# AM_GLIB_DEFINE_LOCALEDIR(VARIABLE)
+# -------------------------------
+# Define VARIABLE to the location where catalog files will
+# be installed by po/Makefile.
+glib_DEFUN([GLIB_DEFINE_LOCALEDIR],
+[glib_REQUIRE([GLIB_GNU_GETTEXT])dnl
+glib_save_prefix="$prefix"
+glib_save_exec_prefix="$exec_prefix"
+glib_save_datarootdir="$datarootdir"
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+test "x$exec_prefix" = xNONE && exec_prefix=$prefix
+datarootdir=`eval echo "${datarootdir}"`
+if test "x$CATOBJEXT" = "x.mo" ; then
+ localedir=`eval echo "${libdir}/locale"`
+else
+ localedir=`eval echo "${datadir}/locale"`
+fi
+prefix="$glib_save_prefix"
+exec_prefix="$glib_save_exec_prefix"
+datarootdir="$glib_save_datarootdir"
+AC_DEFINE_UNQUOTED($1, "$localedir",
+ [Define the location where the catalogs will be installed])
+])
-# Search path for a program which passes the given test.
-# Ulrich Drepper <drepper@cygnus.com>, 1996.
-#
-# This file can be copied and used freely without restrictions. It can
-# be used in projects which are not available under the GNU Public License
-# but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
+dnl
+dnl Now the definitions that aclocal will find
+dnl
+ifdef(glib_configure_ac,[],[
+AC_DEFUN([AM_GLIB_GNU_GETTEXT],[GLIB_GNU_GETTEXT($@)])
+AC_DEFUN([AM_GLIB_DEFINE_LOCALEDIR],[GLIB_DEFINE_LOCALEDIR($@)])
+])dnl
-# serial 1
+# GLIB_RUN_PROG(PROGRAM, TEST-FILE, [ACTION-IF-PASS], [ACTION-IF-FAIL])
+#
+# Create a temporary file with TEST-FILE as its contents and pass the
+# file name to PROGRAM. Perform ACTION-IF-PASS if PROGRAM exits with
+# 0 and perform ACTION-IF-FAIL for any other exit status.
+AC_DEFUN([GLIB_RUN_PROG],
+[cat >conftest.foo <<_ACEOF
+$2
+_ACEOF
+if AC_RUN_LOG([$1 conftest.foo]); then
+ m4_ifval([$3], [$3], [:])
+m4_ifvaln([$4], [else $4])dnl
+echo "$as_me: failed input was:" >&AS_MESSAGE_LOG_FD
+sed 's/^/| /' conftest.foo >&AS_MESSAGE_LOG_FD
+fi])
+
+
+
+dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml])
+# serial 42 IT_PROG_INTLTOOL
+AC_DEFUN([IT_PROG_INTLTOOL], [
+AC_PREREQ([2.50])dnl
+AC_REQUIRE([AM_NLS])dnl
+
+case "$am__api_version" in
+ 1.[01234])
+ AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool])
+ ;;
+ *)
+ ;;
+esac
+
+INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
+INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3`
+INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
+if test -n "$1"; then
+ AC_MSG_CHECKING([for intltool >= $1])
+ AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found])
+ test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" ||
+ AC_MSG_ERROR([Your intltool is too old. You need intltool $1 or later.])
+fi
-dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
-dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
-AC_DEFUN([AM_PATH_PROG_WITH_TEST],
-[# Extract the first word of "$2", so it can be a program name with args.
-set dummy $2; ac_word=[$]2
-AC_MSG_CHECKING([for $ac_word])
-AC_CACHE_VAL(ac_cv_path_$1,
-[case "[$]$1" in
- /*)
- ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in ifelse([$5], , $PATH, [$5]); do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if [$3]; then
- ac_cv_path_$1="$ac_dir/$ac_word"
- break
- fi
- fi
- done
- IFS="$ac_save_ifs"
-dnl If no 4th arg is given, leave the cache variable unset,
-dnl so AC_PATH_PROGS will keep looking.
-ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
-])dnl
- ;;
-esac])dnl
-$1="$ac_cv_path_$1"
-if test -n "[$]$1"; then
- AC_MSG_RESULT([$]$1)
+AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update])
+AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge])
+AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract])
+if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then
+ AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.])
+fi
+
+if test -z "$AM_DEFAULT_VERBOSITY"; then
+ AM_DEFAULT_VERBOSITY=1
+fi
+AC_SUBST([AM_DEFAULT_VERBOSITY])
+
+INTLTOOL_V_MERGE='$(INTLTOOL__v_MERGE_$(V))'
+INTLTOOL__v_MERGE_='$(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY))'
+INTLTOOL__v_MERGE_0='@echo " ITMRG " [$]@;'
+AC_SUBST(INTLTOOL_V_MERGE)
+AC_SUBST(INTLTOOL__v_MERGE_)
+AC_SUBST(INTLTOOL__v_MERGE_0)
+
+INTLTOOL_V_MERGE_OPTIONS='$(intltool__v_merge_options_$(V))'
+intltool__v_merge_options_='$(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY))'
+intltool__v_merge_options_0='-q'
+AC_SUBST(INTLTOOL_V_MERGE_OPTIONS)
+AC_SUBST(intltool__v_merge_options_)
+AC_SUBST(intltool__v_merge_options_0)
+
+ INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -p $(top_srcdir)/po $< [$]@'
+ INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge 5000; then
+ INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u --no-translations $< [$]@'
else
- AC_MSG_RESULT(no)
+ INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)_it_tmp_dir=tmp.intltool.[$][$]RANDOM && mkdir [$][$]_it_tmp_dir && LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u [$][$]_it_tmp_dir $< [$]@ && rmdir [$][$]_it_tmp_dir'
fi
-AC_SUBST($1)dnl
+ INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+
+_IT_SUBST(INTLTOOL_DESKTOP_RULE)
+_IT_SUBST(INTLTOOL_DIRECTORY_RULE)
+_IT_SUBST(INTLTOOL_KEYS_RULE)
+_IT_SUBST(INTLTOOL_PROP_RULE)
+_IT_SUBST(INTLTOOL_OAF_RULE)
+_IT_SUBST(INTLTOOL_PONG_RULE)
+_IT_SUBST(INTLTOOL_SERVER_RULE)
+_IT_SUBST(INTLTOOL_SHEET_RULE)
+_IT_SUBST(INTLTOOL_SOUNDLIST_RULE)
+_IT_SUBST(INTLTOOL_UI_RULE)
+_IT_SUBST(INTLTOOL_XAM_RULE)
+_IT_SUBST(INTLTOOL_KBD_RULE)
+_IT_SUBST(INTLTOOL_XML_RULE)
+_IT_SUBST(INTLTOOL_XML_NOMERGE_RULE)
+_IT_SUBST(INTLTOOL_CAVES_RULE)
+_IT_SUBST(INTLTOOL_SCHEMAS_RULE)
+_IT_SUBST(INTLTOOL_THEME_RULE)
+_IT_SUBST(INTLTOOL_SERVICE_RULE)
+_IT_SUBST(INTLTOOL_POLICY_RULE)
+
+# Check the gettext tools to make sure they are GNU
+AC_PATH_PROG(XGETTEXT, xgettext)
+AC_PATH_PROG(MSGMERGE, msgmerge)
+AC_PATH_PROG(MSGFMT, msgfmt)
+AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then
+ AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
+fi
+xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`"
+mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`"
+mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`"
+if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then
+ AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
+fi
+
+# Substitute ALL_LINGUAS so we can use it in po/Makefile
+AC_SUBST(ALL_LINGUAS)
+
+# Set DATADIRNAME correctly if it is not set yet
+# (copied from glib-gettext.m4)
+if test -z "$DATADIRNAME"; then
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[]],
+ [[extern int _nl_msg_cat_cntr;
+ return _nl_msg_cat_cntr]])],
+ [DATADIRNAME=share],
+ [case $host in
+ *-*-solaris*)
+ dnl On Solaris, if bind_textdomain_codeset is in libc,
+ dnl GNU format message catalog is always supported,
+ dnl since both are added to the libc all together.
+ dnl Hence, we'd like to go with DATADIRNAME=share
+ dnl in this case.
+ AC_CHECK_FUNC(bind_textdomain_codeset,
+ [DATADIRNAME=share], [DATADIRNAME=lib])
+ ;;
+ *)
+ [DATADIRNAME=lib]
+ ;;
+ esac])
+fi
+AC_SUBST(DATADIRNAME)
+
+IT_PO_SUBDIR([po])
+
])
-# Check whether LC_MESSAGES is available in <locale.h>.
-# Ulrich Drepper <drepper@cygnus.com>, 1995.
+
+# IT_PO_SUBDIR(DIRNAME)
+# ---------------------
+# All po subdirs have to be declared with this macro; the subdir "po" is
+# declared by IT_PROG_INTLTOOL.
#
-# This file can be copied and used freely without restrictions. It can
-# be used in projects which are not available under the GNU Public License
-# but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
+AC_DEFUN([IT_PO_SUBDIR],
+[AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS.
+dnl
+dnl The following CONFIG_COMMANDS should be executed at the very end
+dnl of config.status.
+AC_CONFIG_COMMANDS_PRE([
+ AC_CONFIG_COMMANDS([$1/stamp-it], [
+ if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then
+ AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.])
+ fi
+ rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp"
+ >"$1/stamp-it.tmp"
+ [sed '/^#/d
+ s/^[[].*] *//
+ /^[ ]*$/d
+ '"s|^| $ac_top_srcdir/|" \
+ "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES"
+ ]
+ [sed '/^POTFILES =/,/[^\\]$/ {
+ /^POTFILES =/!d
+ r $1/POTFILES
+ }
+ ' "$1/Makefile.in" >"$1/Makefile"]
+ rm -f "$1/Makefile.tmp"
+ mv "$1/stamp-it.tmp" "$1/stamp-it"
+ ])
+])dnl
+])
-# serial 2
+# _IT_SUBST(VARIABLE)
+# -------------------
+# Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST
+#
+AC_DEFUN([_IT_SUBST],
+[
+AC_SUBST([$1])
+m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])])
+]
+)
-AC_DEFUN([AM_LC_MESSAGES],
- [if test $ac_cv_header_locale_h = yes; then
- AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
- [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
- am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
- if test $am_cv_val_LC_MESSAGES = yes; then
- AC_DEFINE(HAVE_LC_MESSAGES, 1,
- [Define if your <locale.h> file defines LC_MESSAGES.])
- fi
- fi])
+# deprecated macros
+AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL])
+# A hint is needed for aclocal from Automake <= 1.9.4:
+# AC_DEFUN([AC_PROG_INTLTOOL], ...)
+
+
+# nls.m4 serial 5 (gettext-0.18)
+dnl Copyright (C) 1995-2003, 2005-2006, 2008-2013 Free Software Foundation,
+dnl Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ([2.50])
+
+AC_DEFUN([AM_NLS],
+[
+ AC_MSG_CHECKING([whether NLS is requested])
+ dnl Default is enabled NLS
+ AC_ARG_ENABLE([nls],
+ [ --disable-nls do not use Native Language Support],
+ USE_NLS=$enableval, USE_NLS=yes)
+ AC_MSG_RESULT([$USE_NLS])
+ AC_SUBST([USE_NLS])
+])
+
+# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# --------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
/* config.h.in. Generated from configure.in by autoheader. */
-/* config.h.in --- xscreensaver, Copyright (c) 1998-2000 Jamie Zawinski.
+/* config.h.in --- xscreensaver, Copyright (c) 1991-2014 Jamie Zawinski.
*
* The best way to set these parameters is by running the included `configure'
* script. That examines your system, and generates `config.h' from
/* Define this to allow the root password to unlock the screen. */
#undef ALLOW_ROOT_PASSWD
-/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
- systems. This function is required for `alloca.c' support on those systems.
- */
-#undef CRAY_STACKSEG_END
-
-/* Define to 1 if using `alloca.c'. */
-#undef C_ALLOCA
-
/* always defined to indicate that i18n is enabled */
#undef ENABLE_NLS
getpwnam().) I haven't tested this one, let me know if it works. */
#undef HAVE_ADJUNCT_PASSWD
-/* Define to 1 if you have `alloca', as a function or macro. */
-#undef HAVE_ALLOCA
-
-/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
- */
-#undef HAVE_ALLOCA_H
-
-/* Define to 1 if you have the <argz.h> header file. */
-#undef HAVE_ARGZ_H
+/* Define to 1 if you have the `bind_textdomain_codeset' function. */
+#undef HAVE_BIND_TEXTDOMAIN_CODESET
/* Define this if you have Gnome and want to build support for the
xscreensaver control panel in the Gnome Control Center (gnomecc). (This is
/* Define this if you have the getifaddrs() function. */
#undef HAVE_GETIFADDRS
-/* Define to 1 if you have the `getpagesize' function. */
-#undef HAVE_GETPAGESIZE
-
/* Define if the GNU gettext() function is already present or preinstalled. */
#undef HAVE_GETTEXT
/* Define if your <locale.h> file defines LC_MESSAGES. */
#undef HAVE_LC_MESSAGES
-/* Define to 1 if you have the <limits.h> header file. */
-#undef HAVE_LIMITS_H
-
/* Define to 1 if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
-/* Define to 1 if you have the <malloc.h> header file. */
-#undef HAVE_MALLOC_H
-
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
have different names.) (HAVE_GL should be defined too.) */
#undef HAVE_MESA_GL
-/* Define to 1 if you have a working `mmap' system call. */
-#undef HAVE_MMAP
-
/* Define this if you have Motif. */
#undef HAVE_MOTIF
-/* Define to 1 if you have the `munmap' function. */
-#undef HAVE_MUNMAP
-
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H
/* Define to 1 if you have the `nice' function. */
#undef HAVE_NICE
-/* Define to 1 if you have the <nl_types.h> header file. */
-#undef HAVE_NL_TYPES_H
-
/* Define this if you have the XML library headers in their old,
non-namespaced location (you lack the gnome-xml/libxml symlink) */
#undef HAVE_OLD_XML_HEADERS
/* Define to 1 if you have the `select' function. */
#undef HAVE_SELECT
-/* Define to 1 if you have the `setenv' function. */
-#undef HAVE_SETENV
-
/* Define to 1 if you have the `setlocale' function. */
#undef HAVE_SETLOCALE
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
-/* Define to 1 if you have the `strcasecmp' function. */
-#undef HAVE_STRCASECMP
-
-/* Define to 1 if you have the `strchr' function. */
-#undef HAVE_STRCHR
-
-/* Define to 1 if you have the `strdup' function. */
-#undef HAVE_STRDUP
-
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
*/
#undef HAVE_SYS_NDIR_H
-/* Define to 1 if you have the <sys/param.h> header file. */
-#undef HAVE_SYS_PARAM_H
-
/* Define to 1 if you have the <sys/select.h> header file. */
#undef HAVE_SYS_SELECT_H
/* Define this if you have the X Shared Memory Extension. */
#undef HAVE_XSHM_EXTENSION
-/* Define to 1 if you have the `__argz_count' function. */
-#undef HAVE___ARGZ_COUNT
-
-/* Define to 1 if you have the `__argz_next' function. */
-#undef HAVE___ARGZ_NEXT
-
-/* Define to 1 if you have the `__argz_stringify' function. */
-#undef HAVE___ARGZ_STRINGIFY
-
/* Define this to remove the option of locking the screen at all. */
#undef NO_LOCKING
/* Define as the return type of signal handlers (`int' or `void'). */
#undef RETSIGTYPE
-/* If using the C implementation of alloca, define if you know the
- direction of stack growth for your system; otherwise it will be
- automatically deduced at runtime.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown */
-#undef STACK_DIRECTION
-
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define to `int' if <sys/types.h> does not define. */
#undef mode_t
-/* Define to `long int' if <sys/types.h> does not define. */
-#undef off_t
-
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
# include <unistd.h>
#endif"
-ac_header_list=
ac_subst_vars='LTLIBOBJS
LIBOBJS
DEPEND_DEFINES
MKINSTALLDIRS
POSUB
POFILES
-INTLOBJS
+PO_IN_DATADIR_FALSE
+PO_IN_DATADIR_TRUE
INTLLIBS
-INTLDEPS
INSTOBJEXT
GMOFILES
-DATADIRNAME
CATOBJEXT
CATALOGS
-XGETTEXT
+MSGFMT_OPTS
+GETTEXT_PACKAGE
+DATADIRNAME
+ALL_LINGUAS
GMSGFMT
MSGFMT
+MSGMERGE
+XGETTEXT
+INTLTOOL_POLICY_RULE
+INTLTOOL_SERVICE_RULE
+INTLTOOL_THEME_RULE
+INTLTOOL_SCHEMAS_RULE
+INTLTOOL_CAVES_RULE
+INTLTOOL_XML_NOMERGE_RULE
+INTLTOOL_XML_RULE
+INTLTOOL_KBD_RULE
+INTLTOOL_XAM_RULE
+INTLTOOL_UI_RULE
+INTLTOOL_SOUNDLIST_RULE
+INTLTOOL_SHEET_RULE
+INTLTOOL_SERVER_RULE
+INTLTOOL_PONG_RULE
+INTLTOOL_OAF_RULE
+INTLTOOL_PROP_RULE
+INTLTOOL_KEYS_RULE
+INTLTOOL_DIRECTORY_RULE
+INTLTOOL_DESKTOP_RULE
+intltool__v_merge_options_0
+intltool__v_merge_options_
+INTLTOOL_V_MERGE_OPTIONS
+INTLTOOL__v_MERGE_0
+INTLTOOL__v_MERGE_
+INTLTOOL_V_MERGE
+AM_DEFAULT_VERBOSITY
+INTLTOOL_EXTRACT
+INTLTOOL_MERGE
+INTLTOOL_UPDATE
USE_NLS
-ALLOCA
-RANLIB
-GETTEXT_PACKAGE
X_EXTRA_LIBS
X_LIBS
X_PRE_LIBS
with_pthread
enable_largefile
with_x
+enable_nls
with_hackdir
enable_subdir
with_configdir
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--disable-largefile omit support for large files
+ --disable-nls do not use Native Language Support
Screen locking options:
--enable-locking Compile in support for locking the display.
>$cache_file
fi
-as_fn_append ac_header_list " stdlib.h"
-as_fn_append ac_header_list " unistd.h"
-as_fn_append ac_header_list " sys/param.h"
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
$as_echo "#define HAVE_PTHREAD 1" >>confdefs.h
CC=$PTHREAD_CC
-
- # AX_PTHREAD documentation specifically suggests this...
- LIBS="$PTHREAD_LIBS $LIBS"
- CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
fi
fi
# Needs ac_original_cc.
#
###############################################################################
-IT_PROG_INTLTOOL
-GETTEXT_PACKAGE=xscreensaver
-cat >>confdefs.h <<_ACEOF
-#define GETTEXT_PACKAGE "$GETTEXT_PACKAGE"
-_ACEOF
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
+$as_echo_n "checking whether NLS is requested... " >&6; }
+ # Check whether --enable-nls was given.
+if test "${enable_nls+set}" = set; then :
+ enableval=$enable_nls; USE_NLS=$enableval
+else
+ USE_NLS=yes
+fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
+$as_echo "$USE_NLS" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$GETTEXT_PACKAGE"
-_ACEOF
-ALL_LINGUAS="ca da de es et fi fr hu it ja ko nb nl pl pt pt_BR ru sk sv vi wa zh_CN zh_TW"
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+case "$am__api_version" in
+ 1.01234)
+ as_fn_error $? "Automake 1.5 or newer is required to use intltool" "$LINENO" 5
+ ;;
+ *)
+ ;;
+esac
+
+INTLTOOL_REQUIRED_VERSION_AS_INT=`echo | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
+INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3`
+INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
+if test -n ""; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intltool >= " >&5
+$as_echo_n "checking for intltool >= ... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_APPLIED_VERSION found" >&5
+$as_echo "$INTLTOOL_APPLIED_VERSION found" >&6; }
+ test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" ||
+ as_fn_error $? "Your intltool is too old. You need intltool or later." "$LINENO" 5
+fi
+
+# Extract the first word of "intltool-update", so it can be a program name with args.
+set dummy intltool-update; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
+if ${ac_cv_path_INTLTOOL_UPDATE+:} false; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ case $INTLTOOL_UPDATE in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_INTLTOOL_UPDATE="$INTLTOOL_UPDATE" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ ac_cv_path_INTLTOOL_UPDATE="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
IFS=$as_save_IFS
+ ;;
+esac
fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
+INTLTOOL_UPDATE=$ac_cv_path_INTLTOOL_UPDATE
+if test -n "$INTLTOOL_UPDATE"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_UPDATE" >&5
+$as_echo "$INTLTOOL_UPDATE" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
+# Extract the first word of "intltool-merge", so it can be a program name with args.
+set dummy intltool-merge; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+if ${ac_cv_path_INTLTOOL_MERGE+:} false; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ case $INTLTOOL_MERGE in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_INTLTOOL_MERGE="$INTLTOOL_MERGE" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
+ ac_cv_path_INTLTOOL_MERGE="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
IFS=$as_save_IFS
+ ;;
+esac
fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
+INTLTOOL_MERGE=$ac_cv_path_INTLTOOL_MERGE
+if test -n "$INTLTOOL_MERGE"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_MERGE" >&5
+$as_echo "$INTLTOOL_MERGE" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"
-if test "x$ac_cv_type_off_t" = xyes; then :
+# Extract the first word of "intltool-extract", so it can be a program name with args.
+set dummy intltool-extract; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_INTLTOOL_EXTRACT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $INTLTOOL_EXTRACT in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_INTLTOOL_EXTRACT="$INTLTOOL_EXTRACT" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_INTLTOOL_EXTRACT="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+ ;;
+esac
+fi
+INTLTOOL_EXTRACT=$ac_cv_path_INTLTOOL_EXTRACT
+if test -n "$INTLTOOL_EXTRACT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_EXTRACT" >&5
+$as_echo "$INTLTOOL_EXTRACT" >&6; }
else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
-cat >>confdefs.h <<_ACEOF
-#define off_t long int
-_ACEOF
+if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then
+ as_fn_error $? "The intltool scripts were not found. Please install intltool." "$LINENO" 5
fi
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_working_alloca_h=yes
-else
- ac_cv_working_alloca_h=no
+if test -z "$AM_DEFAULT_VERBOSITY"; then
+ AM_DEFAULT_VERBOSITY=1
fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-fi
+INTLTOOL_V_MERGE='$(INTLTOOL__v_MERGE_$(V))'
+INTLTOOL__v_MERGE_='$(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY))'
+INTLTOOL__v_MERGE_0='@echo " ITMRG " $@;'
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-# endif
-# endif
-# endif
-# endif
-#endif
-int
-main ()
-{
-char *p = (char *) alloca (1);
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_func_alloca_works=yes
+
+
+INTLTOOL_V_MERGE_OPTIONS='$(intltool__v_merge_options_$(V))'
+intltool__v_merge_options_='$(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY))'
+intltool__v_merge_options_0='-q'
+
+
+
+
+ INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+ INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+ INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+ INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -p $(top_srcdir)/po $< $@'
+ INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+ INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+ INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+ INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+ INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge 5000; then
+ INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u --no-translations $< $@'
else
- ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
+ INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)_it_tmp_dir=tmp.intltool.$$RANDOM && mkdir $$_it_tmp_dir && LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u $$_it_tmp_dir $< $@ && rmdir $$_it_tmp_dir'
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
+ INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+ INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+ INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+ INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+ INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+ INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+ INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+
+
+
+
+
+
+
+
+
+
+
+
-if test $ac_cv_func_alloca_works = yes; then
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-else
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble. Some versions do not even contain alloca or
-# contain a buggy version. If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "webecray" >/dev/null 2>&1; then :
- ac_cv_os_cray=yes
-else
- ac_cv_os_cray=no
-fi
-rm -rf conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
- for ac_func in _getb67 GETB67 getb67; do
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
- break
-fi
- done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_c_stack_direction=0
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-find_stack_direction (int *addr, int depth)
-{
- int dir, dummy = 0;
- if (! addr)
- addr = &dummy;
- *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
- dir = depth ? find_stack_direction (addr, depth - 1) : 0;
- return dir + dummy;
-}
-int
-main (int argc, char **argv)
-{
- return find_stack_direction (0, argc + !argv + 20) < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_stack_direction=1
-else
- ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-fi
- for ac_header in $ac_header_list
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check the gettext tools to make sure they are GNU
+# Extract the first word of "xgettext", so it can be a program name with args.
+set dummy xgettext; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_XGETTEXT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $XGETTEXT in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_XGETTEXT="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+XGETTEXT=$ac_cv_path_XGETTEXT
+if test -n "$XGETTEXT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
+$as_echo "$XGETTEXT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
+
+# Extract the first word of "msgmerge", so it can be a program name with args.
+set dummy msgmerge; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_MSGMERGE+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $MSGMERGE in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_MSGMERGE="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
done
+ done
+IFS=$as_save_IFS
+ ;;
+esac
+fi
+MSGMERGE=$ac_cv_path_MSGMERGE
+if test -n "$MSGMERGE"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
+$as_echo "$MSGMERGE" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+# Extract the first word of "msgfmt", so it can be a program name with args.
+set dummy msgfmt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_MSGFMT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $MSGFMT in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_MSGFMT="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+MSGFMT=$ac_cv_path_MSGFMT
+if test -n "$MSGFMT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
+$as_echo "$MSGFMT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+# Extract the first word of "gmsgfmt", so it can be a program name with args.
+set dummy gmsgfmt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_GMSGFMT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $GMSGFMT in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
+ ;;
+esac
+fi
+GMSGFMT=$ac_cv_path_GMSGFMT
+if test -n "$GMSGFMT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
+$as_echo "$GMSGFMT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then
+ as_fn_error $? "GNU gettext tools not found; required for intltool" "$LINENO" 5
+fi
+xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`"
+mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`"
+mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`"
+if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then
+ as_fn_error $? "GNU gettext tools not found; required for intltool" "$LINENO" 5
+fi
-for ac_func in getpagesize
-do :
- ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize"
-if test "x$ac_cv_func_getpagesize" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_GETPAGESIZE 1
-_ACEOF
+# Substitute ALL_LINGUAS so we can use it in po/Makefile
-fi
-done
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5
-$as_echo_n "checking for working mmap... " >&6; }
-if ${ac_cv_func_mmap_fixed_mapped+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_func_mmap_fixed_mapped=no
-else
+# Set DATADIRNAME correctly if it is not set yet
+# (copied from glib-gettext.m4)
+if test -z "$DATADIRNAME"; then
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-$ac_includes_default
-/* malloc might have been renamed as rpl_malloc. */
-#undef malloc
-
-/* Thanks to Mike Haertel and Jim Avera for this test.
- Here is a matrix of mmap possibilities:
- mmap private not fixed
- mmap private fixed at somewhere currently unmapped
- mmap private fixed at somewhere already mapped
- mmap shared not fixed
- mmap shared fixed at somewhere currently unmapped
- mmap shared fixed at somewhere already mapped
- For private mappings, we should verify that changes cannot be read()
- back from the file, nor mmap's back from the file at a different
- address. (There have been systems where private was not correctly
- implemented like the infamous i386 svr4.0, and systems where the
- VM page cache was not coherent with the file system buffer cache
- like early versions of FreeBSD and possibly contemporary NetBSD.)
- For shared mappings, we should conversely verify that changes get
- propagated back to all the places they're supposed to be.
-
- Grep wants private fixed already mapped.
- The main things grep needs to know about mmap are:
- * does it exist and is it safe to write into the mmap'd area
- * how to use it (BSD variants) */
-
-#include <fcntl.h>
-#include <sys/mman.h>
-
-#if !defined STDC_HEADERS && !defined HAVE_STDLIB_H
-char *malloc ();
-#endif
-
-/* This mess was copied from the GNU getpagesize.h. */
-#ifndef HAVE_GETPAGESIZE
-# ifdef _SC_PAGESIZE
-# define getpagesize() sysconf(_SC_PAGESIZE)
-# else /* no _SC_PAGESIZE */
-# ifdef HAVE_SYS_PARAM_H
-# include <sys/param.h>
-# ifdef EXEC_PAGESIZE
-# define getpagesize() EXEC_PAGESIZE
-# else /* no EXEC_PAGESIZE */
-# ifdef NBPG
-# define getpagesize() NBPG * CLSIZE
-# ifndef CLSIZE
-# define CLSIZE 1
-# endif /* no CLSIZE */
-# else /* no NBPG */
-# ifdef NBPC
-# define getpagesize() NBPC
-# else /* no NBPC */
-# ifdef PAGESIZE
-# define getpagesize() PAGESIZE
-# endif /* PAGESIZE */
-# endif /* no NBPC */
-# endif /* no NBPG */
-# endif /* no EXEC_PAGESIZE */
-# else /* no HAVE_SYS_PARAM_H */
-# define getpagesize() 8192 /* punt totally */
-# endif /* no HAVE_SYS_PARAM_H */
-# endif /* no _SC_PAGESIZE */
-
-#endif /* no HAVE_GETPAGESIZE */
int
main ()
{
- char *data, *data2, *data3;
- const char *cdata2;
- int i, pagesize;
- int fd, fd2;
-
- pagesize = getpagesize ();
-
- /* First, make a file with some known garbage in it. */
- data = (char *) malloc (pagesize);
- if (!data)
- return 1;
- for (i = 0; i < pagesize; ++i)
- *(data + i) = rand ();
- umask (0);
- fd = creat ("conftest.mmap", 0600);
- if (fd < 0)
- return 2;
- if (write (fd, data, pagesize) != pagesize)
- return 3;
- close (fd);
-
- /* Next, check that the tail of a page is zero-filled. File must have
- non-zero length, otherwise we risk SIGBUS for entire page. */
- fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600);
- if (fd2 < 0)
- return 4;
- cdata2 = "";
- if (write (fd2, cdata2, 1) != 1)
- return 5;
- data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L);
- if (data2 == MAP_FAILED)
- return 6;
- for (i = 0; i < pagesize; ++i)
- if (*(data2 + i))
- return 7;
- close (fd2);
- if (munmap (data2, pagesize))
- return 8;
-
- /* Next, try to mmap the file at a fixed address which already has
- something else allocated at it. If we can, also make sure that
- we see the same garbage. */
- fd = open ("conftest.mmap", O_RDWR);
- if (fd < 0)
- return 9;
- if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE,
- MAP_PRIVATE | MAP_FIXED, fd, 0L))
- return 10;
- for (i = 0; i < pagesize; ++i)
- if (*(data + i) != *(data2 + i))
- return 11;
-
- /* Finally, make sure that changes to the mapped area do not
- percolate back to the file as seen by read(). (This is a bug on
- some variants of i386 svr4.0.) */
- for (i = 0; i < pagesize; ++i)
- *(data2 + i) = *(data2 + i) + 1;
- data3 = (char *) malloc (pagesize);
- if (!data3)
- return 12;
- if (read (fd, data3, pagesize) != pagesize)
- return 13;
- for (i = 0; i < pagesize; ++i)
- if (*(data + i) != *(data3 + i))
- return 14;
- close (fd);
+extern int _nl_msg_cat_cntr;
+ return _nl_msg_cat_cntr
+ ;
return 0;
}
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_func_mmap_fixed_mapped=yes
+if ac_fn_c_try_link "$LINENO"; then :
+ DATADIRNAME=share
else
- ac_cv_func_mmap_fixed_mapped=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ case $host in
+ *-*-solaris*)
+ ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset"
+if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then :
+ DATADIRNAME=share
+else
+ DATADIRNAME=lib
fi
+ ;;
+ *)
+ DATADIRNAME=lib
+ ;;
+ esac
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_fixed_mapped" >&5
-$as_echo "$ac_cv_func_mmap_fixed_mapped" >&6; }
-if test $ac_cv_func_mmap_fixed_mapped = yes; then
-$as_echo "#define HAVE_MMAP 1" >>confdefs.h
-fi
-rm -rf conftest.mmap conftest.txt
- for ac_header in argz.h limits.h locale.h nl_types.h malloc.h string.h \
-unistd.h sys/param.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+
+GETTEXT_PACKAGE=xscreensaver
+
+cat >>confdefs.h <<_ACEOF
+#define GETTEXT_PACKAGE "$GETTEXT_PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$GETTEXT_PACKAGE"
_ACEOF
-fi
-done
- for ac_func in getcwd munmap putenv setenv setlocale strchr strcasecmp \
-strdup __argz_count __argz_stringify __argz_next
+ALL_LINGUAS="ca da de es et fi fr hu it ja ko nb nl pl pt pt_BR ru sk sv vi wa zh_CN zh_TW"
+
+ for ac_header in locale.h
do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ ac_fn_c_check_header_mongrel "$LINENO" "locale.h" "ac_cv_header_locale_h" "$ac_includes_default"
+if test "x$ac_cv_header_locale_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+#define HAVE_LOCALE_H 1
_ACEOF
fi
-done
+done
- if test $ac_cv_header_locale_h = yes; then
+ if test $ac_cv_header_locale_h = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5
$as_echo_n "checking for LC_MESSAGES... " >&6; }
if ${am_cv_val_LC_MESSAGES+:} false; then :
USE_NLS=yes
- nls_cv_force_use_gnu_gettext="no"
+ gt_cv_have_gettext=no
- nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
- if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
- nls_cv_header_intl=
- nls_cv_header_libgt=
- CATOBJEXT=NONE
+ CATOBJEXT=NONE
+ XGETTEXT=:
+ INTLLIBS=
- ac_fn_c_check_header_mongrel "$LINENO" "libintl.h" "ac_cv_header_libintl_h" "$ac_includes_default"
+ ac_fn_c_check_header_mongrel "$LINENO" "libintl.h" "ac_cv_header_libintl_h" "$ac_includes_default"
if test "x$ac_cv_header_libintl_h" = xyes; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in libc" >&5
+ gt_cv_func_dgettext_libintl="no"
+ libintl_extra_libs=""
+
+ #
+ # First check in libc
+ #
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in libc" >&5
+$as_echo_n "checking for ngettext in libc... " >&6; }
+if ${gt_cv_func_ngettext_libc+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <libintl.h>
+
+int
+main ()
+{
+return !ngettext ("","", 1)
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gt_cv_func_ngettext_libc=yes
+else
+ gt_cv_func_ngettext_libc=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_ngettext_libc" >&5
+$as_echo "$gt_cv_func_ngettext_libc" >&6; }
+
+ if test "$gt_cv_func_ngettext_libc" = "yes" ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in libc" >&5
$as_echo_n "checking for dgettext in libc... " >&6; }
if ${gt_cv_func_dgettext_libc+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+
#include <libintl.h>
+
int
main ()
{
-return (int) dgettext ("","")
+return !dgettext ("","")
;
return 0;
}
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
+
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_dgettext_libc" >&5
$as_echo "$gt_cv_func_dgettext_libc" >&6; }
+ fi
+
+ if test "$gt_cv_func_ngettext_libc" = "yes" ; then
+ for ac_func in bind_textdomain_codeset
+do :
+ ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset"
+if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_BIND_TEXTDOMAIN_CODESET 1
+_ACEOF
+
+fi
+done
- if test "$gt_cv_func_dgettext_libc" != "yes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bindtextdomain in -lintl" >&5
+ fi
+
+ #
+ # If we don't have everything we want, check in libintl
+ #
+ if test "$gt_cv_func_dgettext_libc" != "yes" \
+ || test "$gt_cv_func_ngettext_libc" != "yes" \
+ || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bindtextdomain in -lintl" >&5
$as_echo_n "checking for bindtextdomain in -lintl... " >&6; }
if ${ac_cv_lib_intl_bindtextdomain+:} false; then :
$as_echo_n "(cached) " >&6
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_bindtextdomain" >&5
$as_echo "$ac_cv_lib_intl_bindtextdomain" >&6; }
if test "x$ac_cv_lib_intl_bindtextdomain" = xyes; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in libintl" >&5
-$as_echo_n "checking for dgettext in libintl... " >&6; }
-if ${gt_cv_func_dgettext_libintl+:} false; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in -lintl" >&5
+$as_echo_n "checking for ngettext in -lintl... " >&6; }
+if ${ac_cv_lib_intl_ngettext+:} false; then :
$as_echo_n "(cached) " >&6
else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lintl $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char ngettext ();
+int
+main ()
+{
+return ngettext ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_intl_ngettext=yes
+else
+ ac_cv_lib_intl_ngettext=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_ngettext" >&5
+$as_echo "$ac_cv_lib_intl_ngettext" >&6; }
+if test "x$ac_cv_lib_intl_ngettext" = xyes; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in -lintl" >&5
$as_echo_n "checking for dgettext in -lintl... " >&6; }
if ${ac_cv_lib_intl_dgettext+:} false; then :
$as_echo "$ac_cv_lib_intl_dgettext" >&6; }
if test "x$ac_cv_lib_intl_dgettext" = xyes; then :
gt_cv_func_dgettext_libintl=yes
+fi
+
+fi
+
+fi
+
+
+ if test "$gt_cv_func_dgettext_libintl" != "yes" ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -liconv is needed to use gettext" >&5
+$as_echo_n "checking if -liconv is needed to use gettext... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
+$as_echo "" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in -lintl" >&5
+$as_echo_n "checking for ngettext in -lintl... " >&6; }
+if ${ac_cv_lib_intl_ngettext+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lintl -liconv $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char ngettext ();
+int
+main ()
+{
+return ngettext ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_intl_ngettext=yes
+else
+ ac_cv_lib_intl_ngettext=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_ngettext" >&5
+$as_echo "$ac_cv_lib_intl_ngettext" >&6; }
+if test "x$ac_cv_lib_intl_ngettext" = xyes; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dcgettext in -lintl" >&5
+$as_echo_n "checking for dcgettext in -lintl... " >&6; }
+if ${ac_cv_lib_intl_dcgettext+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lintl -liconv $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dcgettext ();
+int
+main ()
+{
+return dcgettext ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_intl_dcgettext=yes
+else
+ ac_cv_lib_intl_dcgettext=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_dcgettext" >&5
+$as_echo "$ac_cv_lib_intl_dcgettext" >&6; }
+if test "x$ac_cv_lib_intl_dcgettext" = xyes; then :
+ gt_cv_func_dgettext_libintl=yes
+ libintl_extra_libs=-liconv
else
- gt_cv_func_dgettext_libintl=no
+ :
fi
+else
+ :
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_dgettext_libintl" >&5
-$as_echo "$gt_cv_func_dgettext_libintl" >&6; }
+
+ fi
+
+ #
+ # If we found libintl, then check in it for bind_textdomain_codeset();
+ # we'll prefer libc if neither have bind_textdomain_codeset(),
+ # and both have dgettext and ngettext
+ #
+ if test "$gt_cv_func_dgettext_libintl" = "yes" ; then
+ glib_save_LIBS="$LIBS"
+ LIBS="$LIBS -lintl $libintl_extra_libs"
+ unset ac_cv_func_bind_textdomain_codeset
+ for ac_func in bind_textdomain_codeset
+do :
+ ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset"
+if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_BIND_TEXTDOMAIN_CODESET 1
+_ACEOF
+
fi
+done
- fi
+ LIBS="$glib_save_LIBS"
- if test "$gt_cv_func_dgettext_libintl" = "yes"; then
- LIBS="$LIBS -lintl";
+ if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then
+ gt_cv_func_dgettext_libc=no
+ else
+ if test "$gt_cv_func_dgettext_libc" = "yes" \
+ && test "$gt_cv_func_ngettext_libc" = "yes"; then
+ gt_cv_func_dgettext_libintl=no
+ fi
fi
+ fi
+ fi
+
+ if test "$gt_cv_func_dgettext_libc" = "yes" \
+ || test "$gt_cv_func_dgettext_libintl" = "yes"; then
+ gt_cv_have_gettext=yes
+ fi
+
+ if test "$gt_cv_func_dgettext_libintl" = "yes"; then
+ INTLLIBS="-lintl $libintl_extra_libs"
+ fi
- if test "$gt_cv_func_dgettext_libc" = "yes" \
- || test "$gt_cv_func_dgettext_libintl" = "yes"; then
+ if test "$gt_cv_have_gettext" = "yes"; then
$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h
- # Extract the first word of "msgfmt", so it can be a program name with args.
+ # Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
esac
fi
MSGFMT="$ac_cv_path_MSGFMT"
-if test -n "$MSGFMT"; then
+if test "$MSGFMT" != "no"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
$as_echo "$MSGFMT" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- if test "$MSGFMT" != "no"; then
- for ac_func in dcgettext
+ if test "$MSGFMT" != "no"; then
+ glib_save_LIBS="$LIBS"
+ LIBS="$LIBS $INTLLIBS"
+ for ac_func in dcgettext
do :
ac_fn_c_check_func "$LINENO" "dcgettext" "ac_cv_func_dcgettext"
if test "x$ac_cv_func_dcgettext" = xyes; then :
fi
done
- # Extract the first word of "gmsgfmt", so it can be a program name with args.
+ MSGFMT_OPTS=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if msgfmt accepts -c" >&5
+$as_echo_n "checking if msgfmt accepts -c... " >&6; }
+ cat >conftest.foo <<_ACEOF
+
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: test 1.0\n"
+"PO-Revision-Date: 2007-02-15 12:01+0100\n"
+"Last-Translator: test <foo@bar.xx>\n"
+"Language-Team: C <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+_ACEOF
+if { { $as_echo "$as_me:${as_lineno-$LINENO}: \$MSGFMT -c -o /dev/null conftest.foo"; } >&5
+ ($MSGFMT -c -o /dev/null conftest.foo) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ MSGFMT_OPTS=-c; { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+echo "$as_me: failed input was:" >&5
+sed 's/^/| /' conftest.foo >&5
+fi
+
+ # Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
fi
- # Extract the first word of "xgettext", so it can be a program name with args.
+ # Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
esac
fi
XGETTEXT="$ac_cv_path_XGETTEXT"
-if test -n "$XGETTEXT"; then
+if test "$XGETTEXT" != ":"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
$as_echo "$XGETTEXT" >&6; }
else
$as_echo "no" >&6; }
fi
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
extern int _nl_msg_cat_cntr;
- return _nl_msg_cat_cntr
+ return _nl_msg_cat_cntr
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
CATOBJEXT=.gmo
- DATADIRNAME=share
+ DATADIRNAME=share
+else
+ case $host in
+ *-*-solaris*)
+ ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset"
+if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then :
+ CATOBJEXT=.gmo
+ DATADIRNAME=share
else
CATOBJEXT=.mo
- DATADIRNAME=lib
+ DATADIRNAME=lib
+fi
+
+ ;;
+ *-*-openbsd*)
+ CATOBJEXT=.mo
+ DATADIRNAME=share
+ ;;
+ *)
+ CATOBJEXT=.mo
+ DATADIRNAME=lib
+ ;;
+ esac
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
- INSTOBJEXT=.mo
- fi
- fi
-
- # Added by Martin Baulig 12/15/98 for libc5 systems
- if test "$gt_cv_func_dgettext_libc" != "yes" \
- && test "$gt_cv_func_dgettext_libintl" = "yes"; then
- INTLLIBS=-lintl
- LIBS=`echo $LIBS | sed -e 's/-lintl//'`
- fi
+ LIBS="$glib_save_LIBS"
+ INSTOBJEXT=.mo
+ else
+ gt_cv_have_gettext=no
+ fi
+ fi
fi
- if test "$CATOBJEXT" = "NONE"; then
- nls_cv_use_gnu_gettext=yes
- fi
- fi
-
- if test "$nls_cv_use_gnu_gettext" != "yes"; then
+ if test "$gt_cv_have_gettext" = "yes" ; then
$as_echo "#define ENABLE_NLS 1" >>confdefs.h
- else
- CATOBJEXT=
fi
if test "$XGETTEXT" != ":"; then
- if test "x$CATOBJEXT" != "x"; then
+ if test "$gt_cv_have_gettext" = "yes"; then
if test "x$ALL_LINGUAS" = "x"; then
LINGUAS=
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for catalogs to be installed" >&5
$as_echo_n "checking for catalogs to be installed... " >&6; }
NEW_LINGUAS=
- for lang in ${LINGUAS=$ALL_LINGUAS}; do
- case "$ALL_LINGUAS" in
- *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
- esac
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ NEW_LINGUAS="$NEW_LINGUAS $presentlang"
+ fi
done
LINGUAS=$NEW_LINGUAS
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINGUAS" >&5
fi
fi
- test -d po || mkdir po
- if test "$CATOBJEXT" = ".cat"; then
- ac_fn_c_check_header_mongrel "$LINENO" "linux/version.h" "ac_cv_header_linux_version_h" "$ac_includes_default"
-if test "x$ac_cv_header_linux_version_h" = xyes; then :
- msgformat=linux
-else
- msgformat=xopen
-fi
-
-
-
- sed -e '/^#/d' $srcdir/po/$msgformat-msg.sed > po/po2msg.sed
- fi
-
MKINSTALLDIRS=
-#
-# jwz: fuck this! it puts hardcoded pathnames into the generated Makefiles!
-#
-# if test -n "$ac_aux_dir"; then
-# MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
-# fi
+ if test -n "$ac_aux_dir"; then
+ MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
+ fi
if test -z "$MKINSTALLDIRS"; then
MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
fi
- # jwz: you know what, screw it. Let's just use the version that I
- # already computed in configure.in, instead of this version that came
- # with the i18n crud, ok?
- MKINSTALLDIRS="$INSTALL_DIRS"
-
-
-
test -d po || mkdir po
if test "x$srcdir" != "x."; then
$as_echo_n "(cached) " >&6
else
cat > conftest.$ac_ext <<EOF
-#line 12838 "configure"
+#line 13116 "configure"
#include "confdefs.h"
#include <GL/gl.h>
#ifndef MESA_MAJOR_VERSION
+ ac_config_commands="$ac_config_commands po/stamp-it"
+
+
+
: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
"hacks/glx/Makefile") CONFIG_FILES="$CONFIG_FILES hacks/glx/Makefile" ;;
"po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
"driver/XScreenSaver.ad") CONFIG_FILES="$CONFIG_FILES driver/XScreenSaver.ad" ;;
+ "po/stamp-it") CONFIG_COMMANDS="$CONFIG_COMMANDS po/stamp-it" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
case $ac_file$ac_mode in
"default-1":C) case "$CONFIG_FILES" in *po/Makefile.in*)
- rm -f po/stamp-it po/stamp-it.tmp
- > po/stamp-it.tmp
sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
- mv po/stamp-it.tmp po/stamp-it
esac ;;
+ "po/stamp-it":C)
+ if ! grep "^# INTLTOOL_MAKEFILE$" "po/Makefile.in" > /dev/null ; then
+ as_fn_error $? "po/Makefile.in.in was not created by intltoolize." "$LINENO" 5
+ fi
+ rm -f "po/stamp-it" "po/stamp-it.tmp" "po/POTFILES" "po/Makefile.tmp"
+ >"po/stamp-it.tmp"
+ sed '/^#/d
+ s/^[[].*] *//
+ /^[ ]*$/d
+ '"s|^| $ac_top_srcdir/|" \
+ "$srcdir/po/POTFILES.in" | sed '$!s/$/ \\/' >"po/POTFILES"
+
+ sed '/^POTFILES =/,/[^\\]$/ {
+ /^POTFILES =/!d
+ r po/POTFILES
+ }
+ ' "po/Makefile.in" >"po/Makefile"
+ rm -f "po/Makefile.tmp"
+ mv "po/stamp-it.tmp" "po/stamp-it"
+ ;;
esac
done # for ac_tag
echo ''
warn2 'Those demos which use 3D will not be built or installed.'
warn2 'You might want to consider installing OpenGL and'
- warn2 "re-running configure. If your vendor doesn't ship"
- warn2 'their own implementation of OpenGL, you can get a free'
- warn2 'version at <http://www.mesa3d.org/>. For general OpenGL'
- warn2 'info, see <http://www.opengl.org/>.'
+ warn2 're-running configure.'
fi
warn2 'library is not.'
else
noteL 'The OpenGL Library was found, but the GLE (GL Extrusion)'
- warn2 'was not.'
+ warn2 'library was not.'
fi
if test "$gle_halfassed" = yes ; then
warn2 'Some of the OpenGL (3D) demos (those that depend on GLE)'
warn2 'will not be built or installed. You might want to consider'
warn2 'installing GLE and re-running configure. You can find the'
- warn2 'GLE library at <http://www.linas.org/gle/>. For general'
- warn2 'OpenGL info, see <http://www.opengl.org/>.'
+ warn2 'GLE library at <http://www.linas.org/gle/>'
fi
fi
echo ' "xscreensaver-demo", and "xscreensaver-command" executables'
echo " will be installed in ${bindir}/."
echo ""
- echo " The various graphics demos (190+ different executables) will"
+ echo " The various graphics demos (200+ different executables) will"
echo " be installed in ${HACKDIR}/."
echo ""
echo " If you would prefer the demos to be installed elsewhere,"
-# configure.in --- xscreensaver, Copyright (c) 1997-2005 Jamie Zawinski.
+# configure.in --- xscreensaver, Copyright (c) 1997-2014 Jamie Zawinski.
#
AC_PREREQ(2.52)
###############################################################################
AH_TOP([
-/* config.h.in --- xscreensaver, Copyright (c) 1998-2000 Jamie Zawinski.
+/* config.h.in --- xscreensaver, Copyright (c) 1991-2014 Jamie Zawinski.
*
* The best way to set these parameters is by running the included `configure'
* script. That examines your system, and generates `config.h' from
if test "$have_pthread" = yes; then
AC_DEFINE([HAVE_PTHREAD])
CC=$PTHREAD_CC
-
- # AX_PTHREAD documentation specifically suggests this...
- LIBS="$PTHREAD_LIBS $LIBS"
- CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
fi
fi
])
echo ''
warn2 'Those demos which use 3D will not be built or installed.'
warn2 'You might want to consider installing OpenGL and'
- warn2 "re-running configure. If your vendor doesn't ship"
- warn2 'their own implementation of OpenGL, you can get a free'
- warn2 'version at <http://www.mesa3d.org/>. For general OpenGL'
- warn2 'info, see <http://www.opengl.org/>.'
+ warn2 're-running configure.'
fi
warn2 'library is not.'
else
noteL 'The OpenGL Library was found, but the GLE (GL Extrusion)'
- warn2 'was not.'
+ warn2 'library was not.'
fi
if test "$gle_halfassed" = yes ; then
warn2 'Some of the OpenGL (3D) demos (those that depend on GLE)'
warn2 'will not be built or installed. You might want to consider'
warn2 'installing GLE and re-running configure. You can find the'
- warn2 'GLE library at <http://www.linas.org/gle/>. For general'
- warn2 'OpenGL info, see <http://www.opengl.org/>.'
+ warn2 'GLE library at <http://www.linas.org/gle/>'
fi
fi
echo ' "xscreensaver-demo", and "xscreensaver-command" executables'
echo " will be installed in ${bindir}/."
echo ""
- echo " The various graphics demos (190+ different executables) will"
+ echo " The various graphics demos (200+ different executables) will"
echo " be installed in ${HACKDIR}/."
echo ""
echo " If you would prefer the demos to be installed elsewhere,"
MOTIF_SRCS = demo-Xm.c demo-Xm-widgets.c
MOTIF_OBJS = demo-Xm.o demo-Xm-widgets.o
-GTK_SRCS = demo-Gtk.c demo-Gtk-conf.c \
- demo-Gtk-widgets.c demo-Gtk-support.c
-GTK_EXTRA_OBJS = demo-Gtk-widgets.o demo-Gtk-support.o
+GTK_SRCS = demo-Gtk.c demo-Gtk-conf.c
GTK_OBJS = demo-Gtk.o demo-Gtk-conf.o @GTK_EXTRA_OBJS@
PWENT_SRCS = passwd-pwent.c
HDRS = XScreenSaver_ad.h XScreenSaver_Xm_ad.h \
xscreensaver.h prefs.h remote.h exec.h \
- demo-Gtk-widgets.h demo-Gtk-stubs.h demo-Gtk-support.h \
demo-Gtk-conf.h auth.h mlstring.h types.h
MEN_1 = xscreensaver.man xscreensaver-demo.man \
xscreensaver-command.man \
XScreenSaver_Xm_ad.h: XScreenSaver-Xm.ad
$(SHELL) $(UTILS_SRC)/ad2c XScreenSaver-Xm.ad > XScreenSaver_Xm_ad.h
-# What was this for? Now it's undefined.
-# @INTLTOOL_DESKTOP_RULE@
+@INTLTOOL_DESKTOP_RULE@
# The executables linked in this directory.
#
xscreensaver: $(SAVER_OBJS)
- $(CC) $(LDFLAGS) -o $@ $(SAVER_OBJS) $(SAVER_LIBS)
+ $(CC) $(LDFLAGS) -o $@ $(SAVER_OBJS) $(SAVER_LIBS) $(INTL_LIBS)
xscreensaver-command: $(CMD_OBJS)
$(CC) $(LDFLAGS) -o $@ $(CMD_OBJS) $(CMD_LIBS)
demo-Gtk.o: XScreenSaver_ad.h
demo-Gtk.o: ../config.h
demo-Gtk.o: $(srcdir)/demo-Gtk-conf.h
-demo-Gtk.o: $(srcdir)/demo-Gtk-support.h
-demo-Gtk.o: $(srcdir)/demo-Gtk-widgets.h
demo-Gtk.o: $(srcdir)/prefs.h
demo-Gtk.o: $(srcdir)/remote.h
demo-Gtk.o: $(srcdir)/types.h
demo-Gtk.o: $(UTILS_SRC)/version.h
demo-Gtk.o: $(UTILS_SRC)/visual.h
demo-Gtk.o: $(UTILS_SRC)/xscreensaver-intl.h
-demo-Gtk-support.o: ../config.h
-demo-Gtk-support.o: $(srcdir)/demo-Gtk-support.h
-demo-Gtk-widgets.o: ../config.h
-demo-Gtk-widgets.o: $(srcdir)/demo-Gtk-stubs.h
-demo-Gtk-widgets.o: $(srcdir)/demo-Gtk-support.h
-demo-Gtk-widgets.o: $(srcdir)/demo-Gtk-widgets.h
demo-Xm.o: ../config.h
demo-Xm-widgets.o: ../config.h
dpms.o: ../config.h
! a screen saver and locker for the X window system
! by Jamie Zawinski
!
-! version 5.27
-! 27-May-2014
+! version 5.29
+! 08-Jun-2014
!
! See "man xscreensaver" for more info. The latest version is always
! available at http://www.jwz.org/xscreensaver/
*passwd.uname: True
*splash.heading.label: XScreenSaver %s
-*splash.body.label: Copyright © 1991-2014 by
+*splash.body.label: Copyright \xa9 1991-2014 by
*splash.body2.label: Jamie Zawinski <jwz@jwz.org>
*splash.demo.label: Settings
*splash.help.label: Help
"*passwd.asterisks: True",
"*passwd.uname: True",
"*splash.heading.label: XScreenSaver %s",
-"*splash.body.label: Copyright © 1991-2014 by",
+"*splash.body.label: Copyright \\xa9 1991-2014 by",
"*splash.body2.label: Jamie Zawinski <jwz@jwz.org>",
"*splash.demo.label: Settings",
"*splash.help.label: Help",
+++ /dev/null
-#include <gtk/gtk.h>
-
-
-void
-activate_menu_cb (GtkMenuItem *menuitem,
- gpointer user_data);
-
-void
-lock_menu_cb (GtkMenuItem *menuitem,
- gpointer user_data);
-
-void
-kill_menu_cb (GtkMenuItem *menuitem,
- gpointer user_data);
-
-void
-restart_menu_cb (GtkMenuItem *menuitem,
- gpointer user_data);
-
-void
-exit_menu_cb (GtkMenuItem *menuitem,
- gpointer user_data);
-
-void
-about_menu_cb (GtkMenuItem *menuitem,
- gpointer user_data);
-
-void
-doc_menu_cb (GtkMenuItem *menuitem,
- gpointer user_data);
-
-void
-switch_page_cb (GtkNotebook *notebook,
- GtkNotebookPage *page,
- gint page_num,
- gpointer user_data);
-
-void
-pref_changed_cb (GtkToggleButton *togglebutton,
- gpointer user_data);
-
-void
-run_this_cb (GtkButton *button,
- gpointer user_data);
-
-void
-settings_cb (GtkButton *button,
- gpointer user_data);
-
-void
-run_next_cb (GtkButton *button,
- gpointer user_data);
-
-void
-run_prev_cb (GtkButton *button,
- gpointer user_data);
-
-void
-browse_image_dir_cb (GtkButton *button,
- gpointer user_data);
-
-void
-settings_switch_page_cb (GtkNotebook *notebook,
- GtkNotebookPage *page,
- gint page_num,
- gpointer user_data);
-
-void
-manual_cb (GtkButton *button,
- gpointer user_data);
-
-void
-settings_adv_cb (GtkButton *button,
- gpointer user_data);
-
-void
-settings_std_cb (GtkButton *button,
- gpointer user_data);
-
-void
-settings_reset_cb (GtkButton *button,
- gpointer user_data);
-
-void
-settings_ok_cb (GtkButton *button,
- gpointer user_data);
-
-void
-settings_cancel_cb (GtkButton *button,
- gpointer user_data);
+++ /dev/null
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- WARNING: I did edit this file! Be careful! -jwz
- */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <string.h>
-
-#include <gtk/gtk.h>
-
-#include "demo-Gtk-support.h"
-
-/* jwz -- dumbass Glade1 doesn't emit code that can read PNGs. this does. */
-#ifdef HAVE_GDK_PIXBUF
-# ifdef HAVE_GTK2
-# include <gdk-pixbuf-xlib/gdk-pixbuf-xlib.h>
-# else /* !HAVE_GTK2 */
-# include <gdk-pixbuf/gdk-pixbuf-xlib.h>
-# endif /* !HAVE_GTK2 */
-#endif /* HAVE_GDK_PIXBUF */
-
-
-/* This is an internally used function to check if a pixmap file exists. */
-static gchar* check_file_exists (const gchar *directory,
- const gchar *filename);
-
-/* This is an internally used function to create pixmaps. */
-static GtkWidget* create_dummy_pixmap (GtkWidget *widget);
-
-GtkWidget*
-lookup_widget (GtkWidget *widget,
- const gchar *widget_name)
-{
- GtkWidget *parent, *found_widget;
-
- for (;;)
- {
- if (GTK_IS_MENU (widget))
- parent = gtk_menu_get_attach_widget (GTK_MENU (widget));
- else
- parent = widget->parent;
- if (parent == NULL)
- break;
- widget = parent;
- }
-
- found_widget = (GtkWidget*) gtk_object_get_data (GTK_OBJECT (widget),
- widget_name);
- if (!found_widget)
- g_warning ("Widget not found: %s", widget_name);
- return found_widget;
-}
-
-/* This is a dummy pixmap we use when a pixmap can't be found. */
-static char *dummy_pixmap_xpm[] = {
-/* columns rows colors chars-per-pixel */
-"1 1 1 1",
-" c None",
-/* pixels */
-" "
-};
-
-/* This is an internally used function to create pixmaps. */
-static GtkWidget*
-create_dummy_pixmap (GtkWidget *widget)
-{
- GdkColormap *colormap;
- GdkPixmap *gdkpixmap;
- GdkBitmap *mask;
- GtkWidget *pixmap;
-
- colormap = gtk_widget_get_colormap (widget);
- gdkpixmap = gdk_pixmap_colormap_create_from_xpm_d (NULL, colormap, &mask,
- NULL, dummy_pixmap_xpm);
- if (gdkpixmap == NULL)
- g_error ("Couldn't create replacement pixmap.");
- pixmap = gtk_pixmap_new (gdkpixmap, mask);
- gdk_pixmap_unref (gdkpixmap);
- gdk_bitmap_unref (mask);
- return pixmap;
-}
-
-static GList *pixmaps_directories = NULL;
-
-/* Use this function to set the directory containing installed pixmaps. */
-void
-add_pixmap_directory (const gchar *directory)
-{
- pixmaps_directories = g_list_prepend (pixmaps_directories,
- g_strdup (directory));
-}
-
-/* This is an internally used function to create pixmaps. */
-/* #### Warning: this version of this function hacked by jwz to
- support PNGs. Don't let Glade1 overwrite this!
- */
-GtkWidget*
-create_pixmap (GtkWidget *widget,
- const gchar *filename)
-{
- gchar *found_filename = NULL;
- GdkColormap *colormap = 0;
- GdkPixmap *gdkpixmap = 0;
- GdkBitmap *mask = 0;
- GtkWidget *pixmap = 0;
- GList *elem = 0;
-
- if (!filename || !filename[0])
- return create_dummy_pixmap (widget);
-
- /* We first try any pixmaps directories set by the application. */
- elem = pixmaps_directories;
- while (elem)
- {
- found_filename = check_file_exists ((gchar*)elem->data, filename);
- if (found_filename)
- break;
- elem = elem->next;
- }
-
- /* If we haven't found the pixmap, try the source directory. */
- if (!found_filename)
- {
- found_filename = check_file_exists ("../utils/images", filename);
- }
-
- if (!found_filename)
- {
- g_warning (_("Couldn't find pixmap file: %s"), filename);
- return create_dummy_pixmap (widget);
- }
-
- colormap = gtk_widget_get_colormap (widget);
-
-# ifndef HAVE_GDK_PIXBUF
-
- gdkpixmap = gdk_pixmap_colormap_create_from_xpm (NULL, colormap, &mask,
- NULL, found_filename);
- if (gdkpixmap == NULL)
- {
- g_warning (_("Error loading pixmap file: %s"), found_filename);
- g_free (found_filename);
- return create_dummy_pixmap (widget);
- }
-
-# else /* HAVE_GDK_PIXBUF */
-
- /* jwz -- dumbass Glade1 doesn't emit code that can read PNGs.
- This code does... */
-
- /* #### Danger: we aren't using `colormap'... */
-
- {
- GdkPixbuf *pb;
-# ifdef HAVE_GTK2
- GError *gerr = 0;
-# endif /* HAVE_GTK2 */
-
- pb = gdk_pixbuf_new_from_file (found_filename
-# ifdef HAVE_GTK2
- , &gerr
-# endif /* HAVE_GTK2 */
- );
-
- if (pb)
- {
- gdkpixmap = 0;
- mask = 0;
- gdk_pixbuf_render_pixmap_and_mask (pb, &gdkpixmap, &mask, 128);
- }
- else
- {
- g_warning (_("Error loading pixmap file: %s"), found_filename);
-# ifdef HAVE_GTK2
- if (gerr && gerr->message && *gerr->message)
- g_warning (_("reason: %s\n"), gerr->message);
-# endif /* HAVE_GTK2 */
-
- return create_dummy_pixmap (widget);
- }
- }
-# endif /* HAVE_GDK_PIXBUF */
-
- g_free (found_filename);
- pixmap = gtk_pixmap_new (gdkpixmap, mask);
- gdk_pixmap_unref (gdkpixmap);
- gdk_bitmap_unref (mask);
-
- return pixmap;
-}
-
-/* This is an internally used function to check if a pixmap file exists. */
-static gchar*
-check_file_exists (const gchar *directory,
- const gchar *filename)
-{
- gchar *full_filename;
- struct stat s;
- gint status;
-
- full_filename = (gchar*) g_malloc (strlen (directory) + 1
- + strlen (filename) + 1);
- strcpy (full_filename, directory);
- strcat (full_filename, G_DIR_SEPARATOR_S);
- strcat (full_filename, filename);
-
- status = stat (full_filename, &s);
- if (status == 0 && S_ISREG (s.st_mode))
- return full_filename;
- g_free (full_filename);
- return NULL;
-}
-
+++ /dev/null
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <gtk/gtk.h>
-
-/*
- * Standard gettext macros.
- */
-#ifdef ENABLE_NLS
-# include <libintl.h>
-# undef _
-# define _(String) dgettext (PACKAGE, String)
-# ifdef gettext_noop
-# define N_(String) gettext_noop (String)
-# else
-# define N_(String) (String)
-# endif
-#else
-# define textdomain(String) (String)
-# define gettext(String) (String)
-# define dgettext(Domain,Message) (Message)
-# define dcgettext(Domain,Message,Type) (Message)
-# define bindtextdomain(Domain,Directory) (Domain)
-# define _(String) (String)
-# define N_(String) (String)
-#endif
-
-
-/*
- * Public Functions.
- */
-
-/*
- * This function returns a widget in a component created by Glade.
- * Call it with the toplevel widget in the component (i.e. a window/dialog),
- * or alternatively any widget in the component, and the name of the widget
- * you want returned.
- */
-GtkWidget* lookup_widget (GtkWidget *widget,
- const gchar *widget_name);
-
-/* get_widget() is deprecated. Use lookup_widget instead. */
-#define get_widget lookup_widget
-
-/* Use this function to set the directory containing installed pixmaps. */
-void add_pixmap_directory (const gchar *directory);
-
-
-/*
- * Private Functions.
- */
-
-/* This is used to create the pixmaps in the interface. */
-GtkWidget* create_pixmap (GtkWidget *widget,
- const gchar *filename);
-
+++ /dev/null
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <string.h>
-
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtk.h>
-
-#include "demo-Gtk-stubs.h"
-#include "demo-Gtk-widgets.h"
-#include "demo-Gtk-support.h"
-
-# ifdef __GNUC__
-# define STFU __extension__ /* ignore gcc -pendantic warnings in next sexp */
-# else
-# define STFU /* */
-# endif
-
-GtkWidget*
-create_xscreensaver_demo (void)
-{
- GtkWidget *xscreensaver_demo;
- GtkWidget *outer_vbox;
- GtkWidget *menubar;
- guint tmp_key;
- GtkWidget *file;
- GtkWidget *file_menu;
- GtkAccelGroup *file_menu_accels;
- GtkWidget *activate_menu;
- GtkWidget *lock_menu;
- GtkWidget *kill_menu;
- GtkWidget *restart;
- GtkWidget *separator1;
- GtkWidget *exit_menu;
- GtkWidget *help;
- GtkWidget *help_menu;
- GtkAccelGroup *help_menu_accels;
- GtkWidget *about_menu;
- GtkWidget *doc_menu;
- GtkWidget *notebook;
- GtkWidget *demos_table;
- GtkWidget *blanking_table;
- GtkWidget *cycle_label;
- GtkWidget *lock_button_eventbox;
- GtkWidget *lock_button;
- GtkWidget *timeout_label;
- GtkObject *timeout_spinbutton_adj;
- GtkWidget *timeout_spinbutton;
- GtkWidget *timeout_mlabel;
- GtkWidget *cycle_mlabel;
- GtkWidget *lock_mlabel;
- GtkObject *lock_spinbutton_adj;
- GtkWidget *lock_spinbutton;
- GtkObject *cycle_spinbutton_adj;
- GtkWidget *cycle_spinbutton;
- GtkWidget *demo_manual_hbbox;
- GtkWidget *demo;
- GtkWidget *settings;
- GtkWidget *list_vbox;
- GtkWidget *mode_hbox;
- GtkWidget *mode_label;
- GtkWidget *mode_menu;
- GtkWidget *mode_menu_menu;
- GtkWidget *glade_menuitem;
- GtkWidget *col_head_hbox;
- GtkWidget *use_col_frame;
- GtkWidget *use_label;
- GtkWidget *saver_col_frame;
- GtkWidget *saver_label;
- GtkWidget *scroller;
- GtkWidget *viewport;
- GtkWidget *list;
- GtkWidget *centering_hbox;
- GtkWidget *next_prev_hbox;
- GtkWidget *next;
- GtkWidget *prev;
- GtkWidget *preview_frame;
- GtkWidget *preview_aspectframe;
- GtkWidget *preview;
- GtkWidget *demo_tab;
- GtkWidget *options_table;
- GtkWidget *diag_frame;
- GtkWidget *diag_hbox;
- GtkWidget *diag_logo;
- GtkWidget *diag_vbox;
- 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_hbox;
- GtkWidget *cmap_logo;
- GtkWidget *cmap_vbox;
- GtkWidget *install_button_eventbox;
- GtkWidget *install_button;
- GtkWidget *cmap_hr;
- GtkWidget *fade_button_eventbox;
- GtkWidget *fade_button;
- GtkWidget *unfade_button_eventbox;
- GtkWidget *unfade_button;
- GtkWidget *fade_hbox;
- GtkWidget *fade_dummy;
- GtkWidget *fade_label;
- GtkObject *fade_spinbutton_adj;
- GtkWidget *fade_spinbutton;
- GtkWidget *fade_sec_label;
- GtkWidget *dpms_frame;
- GtkWidget *dpms_hbox;
- GtkWidget *dpms_logo;
- GtkWidget *dpms_vbox;
- GtkWidget *dpms_button_eventbox;
- GtkWidget *dpms_button;
- GtkWidget *dpms_table;
- GtkObject *dpms_standby_spinbutton_adj;
- GtkWidget *dpms_standby_spinbutton;
- GtkWidget *dpms_standby_mlabel;
- GtkWidget *dpms_suspend_mlabel;
- GtkWidget *dpms_off_mlabel;
- GtkWidget *dpms_off_label;
- GtkWidget *dpms_suspend_label;
- GtkWidget *dpms_standby_label;
- GtkObject *dpms_suspend_spinbutton_adj;
- GtkWidget *dpms_suspend_spinbutton;
- GtkObject *dpms_off_spinbutton_adj;
- GtkWidget *dpms_off_spinbutton;
- GtkWidget *grab_frame;
- GtkWidget *grab_hbox;
- GtkWidget *img_logo;
- GtkWidget *grab_vbox;
- GtkWidget *grab_desk_eventbox;
- GtkWidget *grab_desk_button;
- GtkWidget *grab_video_eventbox;
- GtkWidget *grab_video_button;
- GtkWidget *grab_image_eventbox;
- GtkWidget *grab_image_button;
- GtkWidget *image_hbox;
- GtkWidget *grab_dummy;
- GtkWidget *image_text;
- GtkWidget *image_browse_button;
- GtkWidget *options_tab;
- GtkAccelGroup *accel_group;
- GtkTooltips *tooltips;
-
- tooltips = gtk_tooltips_new ();
-
- accel_group = gtk_accel_group_new ();
-
- xscreensaver_demo = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_widget_set_name (xscreensaver_demo, "xscreensaver_demo");
- gtk_object_set_data (GTK_OBJECT (xscreensaver_demo), "xscreensaver_demo", xscreensaver_demo);
- gtk_window_set_title (GTK_WINDOW (xscreensaver_demo), _("XScreenSaver"));
- gtk_window_set_wmclass (GTK_WINDOW (xscreensaver_demo), "xscreensaver", "XScreenSaver");
-
- outer_vbox = gtk_vbox_new (FALSE, 5);
- gtk_widget_set_name (outer_vbox, "outer_vbox");
- gtk_widget_ref (outer_vbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "outer_vbox", outer_vbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (outer_vbox);
- gtk_container_add (GTK_CONTAINER (xscreensaver_demo), outer_vbox);
-
- menubar = gtk_menu_bar_new ();
- gtk_widget_set_name (menubar, "menubar");
- gtk_widget_ref (menubar);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "menubar", menubar,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (menubar);
- gtk_box_pack_start (GTK_BOX (outer_vbox), menubar, FALSE, FALSE, 0);
-
- file = gtk_menu_item_new_with_label ("");
- tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (file)->child),
- _("_File"));
- gtk_widget_add_accelerator (file, "activate_item", accel_group,
- tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
- gtk_widget_set_name (file, "file");
- gtk_widget_ref (file);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "file", file,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (file);
- gtk_container_add (GTK_CONTAINER (menubar), file);
-
- file_menu = gtk_menu_new ();
- gtk_widget_set_name (file_menu, "file_menu");
- gtk_widget_ref (file_menu);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "file_menu", file_menu,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_menu_item_set_submenu (GTK_MENU_ITEM (file), file_menu);
- file_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (file_menu));
-
- activate_menu = gtk_menu_item_new_with_label ("");
- tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (activate_menu)->child),
- _("_Blank Screen Now"));
- gtk_widget_add_accelerator (activate_menu, "activate_item", file_menu_accels,
- tmp_key, 0, 0);
- gtk_widget_set_name (activate_menu, "activate_menu");
- gtk_widget_ref (activate_menu);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "activate_menu", activate_menu,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (activate_menu);
- gtk_container_add (GTK_CONTAINER (file_menu), activate_menu);
- gtk_tooltips_set_tip (tooltips, activate_menu, _("Activate the XScreenSaver daemon now (locking the screen if so configured.)"), NULL);
-
- lock_menu = gtk_menu_item_new_with_label ("");
- tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (lock_menu)->child),
- _("_Lock Screen Now"));
- gtk_widget_add_accelerator (lock_menu, "activate_item", file_menu_accels,
- tmp_key, 0, 0);
- gtk_widget_set_name (lock_menu, "lock_menu");
- gtk_widget_ref (lock_menu);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_menu", lock_menu,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (lock_menu);
- gtk_container_add (GTK_CONTAINER (file_menu), lock_menu);
- gtk_tooltips_set_tip (tooltips, lock_menu, _("Lock the screen now (even if \"Lock Screen\" is unchecked.)"), NULL);
-
- kill_menu = gtk_menu_item_new_with_label ("");
- tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (kill_menu)->child),
- _("_Kill Daemon"));
- gtk_widget_add_accelerator (kill_menu, "activate_item", file_menu_accels,
- tmp_key, 0, 0);
- gtk_widget_set_name (kill_menu, "kill_menu");
- gtk_widget_ref (kill_menu);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "kill_menu", kill_menu,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (kill_menu);
- gtk_container_add (GTK_CONTAINER (file_menu), kill_menu);
- gtk_tooltips_set_tip (tooltips, kill_menu, _("Tell the running XScreenSaver daemon to exit."), NULL);
-
- restart = gtk_menu_item_new_with_label ("");
- tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (restart)->child),
- _("_Restart Daemon"));
- gtk_widget_add_accelerator (restart, "activate_item", file_menu_accels,
- tmp_key, 0, 0);
- gtk_widget_set_name (restart, "restart");
- gtk_widget_ref (restart);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "restart", restart,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (restart);
- gtk_container_add (GTK_CONTAINER (file_menu), restart);
- gtk_tooltips_set_tip (tooltips, restart, _("Kill and re-launch the XScreenSaver daemon."), NULL);
-
- separator1 = gtk_menu_item_new ();
- gtk_widget_set_name (separator1, "separator1");
- gtk_widget_ref (separator1);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "separator1", separator1,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (separator1);
- gtk_container_add (GTK_CONTAINER (file_menu), separator1);
- gtk_widget_set_sensitive (separator1, FALSE);
-
- exit_menu = gtk_menu_item_new_with_label ("");
- tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (exit_menu)->child),
- _("_Exit"));
- gtk_widget_add_accelerator (exit_menu, "activate_item", file_menu_accels,
- tmp_key, 0, 0);
- gtk_widget_set_name (exit_menu, "exit_menu");
- gtk_widget_ref (exit_menu);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "exit_menu", exit_menu,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (exit_menu);
- gtk_container_add (GTK_CONTAINER (file_menu), exit_menu);
- gtk_tooltips_set_tip (tooltips, exit_menu, _("Exit the xscreensaver-demo program (but leave the XScreenSaver daemon running in the background.)"), NULL);
-
- help = gtk_menu_item_new_with_label ("");
- tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (help)->child),
- _("_Help"));
- gtk_widget_add_accelerator (help, "activate_item", accel_group,
- tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
- gtk_widget_set_name (help, "help");
- gtk_widget_ref (help);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "help", help,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (help);
- gtk_container_add (GTK_CONTAINER (menubar), help);
-
- help_menu = gtk_menu_new ();
- gtk_widget_set_name (help_menu, "help_menu");
- gtk_widget_ref (help_menu);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "help_menu", help_menu,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_menu_item_set_submenu (GTK_MENU_ITEM (help), help_menu);
- help_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (help_menu));
-
- about_menu = gtk_menu_item_new_with_label ("");
- tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (about_menu)->child),
- _("_About..."));
- gtk_widget_add_accelerator (about_menu, "activate_item", help_menu_accels,
- tmp_key, 0, 0);
- gtk_widget_set_name (about_menu, "about_menu");
- gtk_widget_ref (about_menu);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "about_menu", about_menu,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (about_menu);
- gtk_container_add (GTK_CONTAINER (help_menu), about_menu);
- gtk_tooltips_set_tip (tooltips, about_menu, _("Display version information."), NULL);
-
- doc_menu = gtk_menu_item_new_with_label ("");
- tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (doc_menu)->child),
- _("_Documentation..."));
- gtk_widget_add_accelerator (doc_menu, "activate_item", help_menu_accels,
- tmp_key, 0, 0);
- gtk_widget_set_name (doc_menu, "doc_menu");
- gtk_widget_ref (doc_menu);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "doc_menu", doc_menu,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (doc_menu);
- gtk_container_add (GTK_CONTAINER (help_menu), doc_menu);
- gtk_tooltips_set_tip (tooltips, doc_menu, _("Go to the documentation on the XScreenSaver web page."), NULL);
-
- notebook = gtk_notebook_new ();
- gtk_widget_set_name (notebook, "notebook");
- gtk_widget_ref (notebook);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "notebook", notebook,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (notebook);
- gtk_box_pack_start (GTK_BOX (outer_vbox), notebook, TRUE, TRUE, 0);
-
- demos_table = gtk_table_new (2, 2, FALSE);
- gtk_widget_set_name (demos_table, "demos_table");
- gtk_widget_ref (demos_table);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "demos_table", demos_table,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (demos_table);
- gtk_container_add (GTK_CONTAINER (notebook), demos_table);
- gtk_container_set_border_width (GTK_CONTAINER (demos_table), 10);
-
- blanking_table = gtk_table_new (3, 4, 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_table_attach (GTK_TABLE (demos_table), blanking_table, 0, 1, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
- gtk_table_set_row_spacings (GTK_TABLE (blanking_table), 2);
-
- 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 (cycle_label);
- gtk_table_attach (GTK_TABLE (blanking_table), cycle_label, 1, 2, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (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_misc_set_padding (GTK_MISC (cycle_label), 8, 0);
-
- 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 (lock_button_eventbox);
- gtk_table_attach (GTK_TABLE (blanking_table), lock_button_eventbox, 0, 2, 2, 3,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_tooltips_set_tip (tooltips, lock_button_eventbox, _("Whether a password should be required to un-blank the screen."), NULL);
-
- lock_button = gtk_check_button_new_with_label (_("Lock Screen After"));
- 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_container_add (GTK_CONTAINER (lock_button_eventbox), lock_button);
-
- 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 (timeout_label);
- gtk_table_attach (GTK_TABLE (blanking_table), timeout_label, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (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_misc_set_padding (GTK_MISC (timeout_label), 8, 0);
-
- timeout_spinbutton_adj = gtk_adjustment_new (0, 1, 720, 1, 30, 30);
- timeout_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (timeout_spinbutton_adj), 15, 0);
- gtk_widget_set_name (timeout_spinbutton, "timeout_spinbutton");
- gtk_widget_ref (timeout_spinbutton);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "timeout_spinbutton", timeout_spinbutton,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (timeout_spinbutton);
- gtk_table_attach (GTK_TABLE (blanking_table), timeout_spinbutton, 2, 3, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_tooltips_set_tip (tooltips, timeout_spinbutton, _("How long before the monitor goes completely black."), NULL);
- gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (timeout_spinbutton), TRUE);
- gtk_spin_button_set_snap_to_ticks (GTK_SPIN_BUTTON (timeout_spinbutton), TRUE);
-
- timeout_mlabel = gtk_label_new (_("minutes"));
- gtk_widget_set_name (timeout_mlabel, "timeout_mlabel");
- gtk_widget_ref (timeout_mlabel);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "timeout_mlabel", timeout_mlabel,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (timeout_mlabel);
- gtk_table_attach (GTK_TABLE (blanking_table), timeout_mlabel, 3, 4, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_label_set_justify (GTK_LABEL (timeout_mlabel), GTK_JUSTIFY_LEFT);
- gtk_misc_set_alignment (GTK_MISC (timeout_mlabel), 0, 0.5);
-
- cycle_mlabel = gtk_label_new (_("minutes"));
- gtk_widget_set_name (cycle_mlabel, "cycle_mlabel");
- gtk_widget_ref (cycle_mlabel);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cycle_mlabel", cycle_mlabel,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (cycle_mlabel);
- gtk_table_attach (GTK_TABLE (blanking_table), cycle_mlabel, 3, 4, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_label_set_justify (GTK_LABEL (cycle_mlabel), GTK_JUSTIFY_LEFT);
- gtk_misc_set_alignment (GTK_MISC (cycle_mlabel), 0, 0.5);
-
- lock_mlabel = gtk_label_new (_("minutes"));
- gtk_widget_set_name (lock_mlabel, "lock_mlabel");
- gtk_widget_ref (lock_mlabel);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_mlabel", lock_mlabel,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (lock_mlabel);
- gtk_table_attach (GTK_TABLE (blanking_table), lock_mlabel, 3, 4, 2, 3,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_label_set_justify (GTK_LABEL (lock_mlabel), GTK_JUSTIFY_LEFT);
- gtk_misc_set_alignment (GTK_MISC (lock_mlabel), 0, 0.5);
-
- lock_spinbutton_adj = gtk_adjustment_new (0, 0, 720, 1, 30, 30);
- lock_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (lock_spinbutton_adj), 15, 0);
- gtk_widget_set_name (lock_spinbutton, "lock_spinbutton");
- gtk_widget_ref (lock_spinbutton);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_spinbutton", lock_spinbutton,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (lock_spinbutton);
- gtk_table_attach (GTK_TABLE (blanking_table), lock_spinbutton, 2, 3, 2, 3,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 10);
- gtk_tooltips_set_tip (tooltips, lock_spinbutton, _("How long before the monitor goes completely black."), NULL);
- gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (lock_spinbutton), TRUE);
- gtk_spin_button_set_snap_to_ticks (GTK_SPIN_BUTTON (lock_spinbutton), TRUE);
-
- cycle_spinbutton_adj = gtk_adjustment_new (0, 1, 720, 1, 30, 30);
- cycle_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (cycle_spinbutton_adj), 15, 0);
- gtk_widget_set_name (cycle_spinbutton, "cycle_spinbutton");
- gtk_widget_ref (cycle_spinbutton);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cycle_spinbutton", cycle_spinbutton,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (cycle_spinbutton);
- gtk_table_attach (GTK_TABLE (blanking_table), cycle_spinbutton, 2, 3, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_tooltips_set_tip (tooltips, cycle_spinbutton, _("How long before the monitor goes completely black."), NULL);
- gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (cycle_spinbutton), TRUE);
- gtk_spin_button_set_snap_to_ticks (GTK_SPIN_BUTTON (cycle_spinbutton), TRUE);
-
- demo_manual_hbbox = gtk_hbutton_box_new ();
- gtk_widget_set_name (demo_manual_hbbox, "demo_manual_hbbox");
- gtk_widget_ref (demo_manual_hbbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "demo_manual_hbbox", demo_manual_hbbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (demo_manual_hbbox);
- gtk_table_attach (GTK_TABLE (demos_table), demo_manual_hbbox, 1, 2, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
- gtk_button_box_set_layout (GTK_BUTTON_BOX (demo_manual_hbbox), GTK_BUTTONBOX_SPREAD);
-
- demo = gtk_button_new_with_label (_("Preview"));
- gtk_widget_set_name (demo, "demo");
- gtk_widget_ref (demo);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "demo", demo,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (demo);
- gtk_container_add (GTK_CONTAINER (demo_manual_hbbox), demo);
- STFU GTK_WIDGET_SET_FLAGS (demo, GTK_CAN_DEFAULT);
- gtk_tooltips_set_tip (tooltips, demo, _("Demo the selected screen saver in full-screen mode (click the mouse to return.)"), NULL);
-
- settings = gtk_button_new_with_label (_("Settings..."));
- gtk_widget_set_name (settings, "settings");
- gtk_widget_ref (settings);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "settings", settings,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (settings);
- gtk_container_add (GTK_CONTAINER (demo_manual_hbbox), settings);
- STFU GTK_WIDGET_SET_FLAGS (settings, GTK_CAN_DEFAULT);
- gtk_tooltips_set_tip (tooltips, settings, _("Customization and explanation of the selected screen saver."), NULL);
-
- list_vbox = gtk_vbox_new (FALSE, 0);
- gtk_widget_set_name (list_vbox, "list_vbox");
- gtk_widget_ref (list_vbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "list_vbox", list_vbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (list_vbox);
- gtk_table_attach (GTK_TABLE (demos_table), list_vbox, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
- gtk_container_set_border_width (GTK_CONTAINER (list_vbox), 10);
-
- mode_hbox = gtk_hbox_new (FALSE, 0);
- gtk_widget_set_name (mode_hbox, "mode_hbox");
- gtk_widget_ref (mode_hbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "mode_hbox", mode_hbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (mode_hbox);
- gtk_box_pack_start (GTK_BOX (list_vbox), mode_hbox, FALSE, TRUE, 10);
-
- mode_label = gtk_label_new (_("Mode:"));
- gtk_widget_set_name (mode_label, "mode_label");
- gtk_widget_ref (mode_label);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "mode_label", mode_label,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (mode_label);
- gtk_box_pack_start (GTK_BOX (mode_hbox), mode_label, FALSE, FALSE, 0);
- gtk_label_set_justify (GTK_LABEL (mode_label), GTK_JUSTIFY_LEFT);
- gtk_misc_set_alignment (GTK_MISC (mode_label), 0, 0.5);
-
- mode_menu = gtk_option_menu_new ();
- gtk_widget_set_name (mode_menu, "mode_menu");
- gtk_widget_ref (mode_menu);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "mode_menu", mode_menu,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (mode_menu);
- gtk_box_pack_start (GTK_BOX (mode_hbox), mode_menu, FALSE, FALSE, 4);
- mode_menu_menu = gtk_menu_new ();
- glade_menuitem = gtk_menu_item_new_with_label (_("Disable Screen Saver"));
- gtk_widget_show (glade_menuitem);
- gtk_menu_append (GTK_MENU (mode_menu_menu), glade_menuitem);
- glade_menuitem = gtk_menu_item_new_with_label (_("Blank Screen Only"));
- gtk_widget_show (glade_menuitem);
- gtk_menu_append (GTK_MENU (mode_menu_menu), glade_menuitem);
- glade_menuitem = gtk_menu_item_new_with_label (_("Only One Screen Saver"));
- gtk_widget_show (glade_menuitem);
- gtk_menu_append (GTK_MENU (mode_menu_menu), glade_menuitem);
- glade_menuitem = gtk_menu_item_new_with_label (_("Random Screen Saver"));
- gtk_widget_show (glade_menuitem);
- gtk_menu_append (GTK_MENU (mode_menu_menu), glade_menuitem);
- gtk_option_menu_set_menu (GTK_OPTION_MENU (mode_menu), mode_menu_menu);
- gtk_option_menu_set_history (GTK_OPTION_MENU (mode_menu), 3);
-
- col_head_hbox = gtk_hbox_new (FALSE, 0);
- gtk_widget_set_name (col_head_hbox, "col_head_hbox");
- gtk_widget_ref (col_head_hbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "col_head_hbox", col_head_hbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (col_head_hbox);
- gtk_box_pack_start (GTK_BOX (list_vbox), col_head_hbox, FALSE, TRUE, 0);
-
- use_col_frame = gtk_frame_new (NULL);
- gtk_widget_set_name (use_col_frame, "use_col_frame");
- gtk_widget_ref (use_col_frame);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "use_col_frame", use_col_frame,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (use_col_frame);
- gtk_box_pack_start (GTK_BOX (col_head_hbox), use_col_frame, FALSE, FALSE, 0);
- gtk_frame_set_shadow_type (GTK_FRAME (use_col_frame), GTK_SHADOW_OUT);
-
- use_label = gtk_label_new (_("Use"));
- gtk_widget_set_name (use_label, "use_label");
- gtk_widget_ref (use_label);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "use_label", use_label,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (use_label);
- gtk_container_add (GTK_CONTAINER (use_col_frame), use_label);
- gtk_label_set_justify (GTK_LABEL (use_label), GTK_JUSTIFY_LEFT);
- gtk_misc_set_alignment (GTK_MISC (use_label), 0, 0.5);
- gtk_misc_set_padding (GTK_MISC (use_label), 3, 0);
-
- saver_col_frame = gtk_frame_new (NULL);
- gtk_widget_set_name (saver_col_frame, "saver_col_frame");
- gtk_widget_ref (saver_col_frame);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "saver_col_frame", saver_col_frame,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (saver_col_frame);
- gtk_box_pack_start (GTK_BOX (col_head_hbox), saver_col_frame, TRUE, TRUE, 0);
- gtk_frame_set_shadow_type (GTK_FRAME (saver_col_frame), GTK_SHADOW_OUT);
-
- saver_label = gtk_label_new (_("Screen Saver"));
- gtk_widget_set_name (saver_label, "saver_label");
- gtk_widget_ref (saver_label);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "saver_label", saver_label,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (saver_label);
- gtk_container_add (GTK_CONTAINER (saver_col_frame), saver_label);
- gtk_label_set_justify (GTK_LABEL (saver_label), GTK_JUSTIFY_LEFT);
- gtk_misc_set_alignment (GTK_MISC (saver_label), 0, 0.5);
- gtk_misc_set_padding (GTK_MISC (saver_label), 6, 0);
-
- scroller = gtk_scrolled_window_new (NULL, NULL);
- gtk_widget_set_name (scroller, "scroller");
- gtk_widget_ref (scroller);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "scroller", scroller,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (scroller);
- gtk_box_pack_start (GTK_BOX (list_vbox), scroller, TRUE, TRUE, 0);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroller), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
-
- viewport = gtk_viewport_new (NULL, NULL);
- gtk_widget_set_name (viewport, "viewport");
- gtk_widget_ref (viewport);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "viewport", viewport,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (viewport);
- gtk_container_add (GTK_CONTAINER (scroller), viewport);
- gtk_container_set_border_width (GTK_CONTAINER (viewport), 1);
-
- list = gtk_list_new ();
- gtk_widget_set_name (list, "list");
- gtk_widget_ref (list);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "list", list,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (list);
- gtk_container_add (GTK_CONTAINER (viewport), list);
-
- centering_hbox = gtk_hbox_new (TRUE, 0);
- gtk_widget_set_name (centering_hbox, "centering_hbox");
- gtk_widget_ref (centering_hbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "centering_hbox", centering_hbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (centering_hbox);
- gtk_box_pack_end (GTK_BOX (list_vbox), centering_hbox, FALSE, TRUE, 0);
-
- next_prev_hbox = gtk_hbox_new (FALSE, 0);
- gtk_widget_set_name (next_prev_hbox, "next_prev_hbox");
- gtk_widget_ref (next_prev_hbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "next_prev_hbox", next_prev_hbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (next_prev_hbox);
- gtk_box_pack_start (GTK_BOX (centering_hbox), next_prev_hbox, FALSE, FALSE, 0);
-
- next = gtk_button_new_with_label (_("\\/"));
- gtk_widget_set_name (next, "next");
- gtk_widget_ref (next);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "next", next,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (next);
- gtk_box_pack_start (GTK_BOX (next_prev_hbox), next, FALSE, FALSE, 0);
- STFU GTK_WIDGET_SET_FLAGS (next, GTK_CAN_DEFAULT);
- gtk_tooltips_set_tip (tooltips, next, _("Run the next screen saver in the list in full-screen mode (click the mouse to return.)"), NULL);
-
- prev = gtk_button_new_with_label (_("/\\"));
- gtk_widget_set_name (prev, "prev");
- gtk_widget_ref (prev);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "prev", prev,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (prev);
- gtk_box_pack_start (GTK_BOX (next_prev_hbox), prev, FALSE, FALSE, 0);
- STFU GTK_WIDGET_SET_FLAGS (prev, GTK_CAN_DEFAULT);
- gtk_tooltips_set_tip (tooltips, prev, _("Run the previous screen saver in the list in full-screen mode (click the mouse to return.)"), NULL);
-
- preview_frame = gtk_frame_new (_("Description"));
- gtk_widget_set_name (preview_frame, "preview_frame");
- gtk_widget_ref (preview_frame);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "preview_frame", preview_frame,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (preview_frame);
- gtk_table_attach (GTK_TABLE (demos_table), preview_frame, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 0, 6);
-
- preview_aspectframe = gtk_aspect_frame_new (NULL, 0.5, 0.5, 1.33, FALSE);
- gtk_widget_set_name (preview_aspectframe, "preview_aspectframe");
- gtk_widget_ref (preview_aspectframe);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "preview_aspectframe", preview_aspectframe,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (preview_aspectframe);
- gtk_container_add (GTK_CONTAINER (preview_frame), preview_aspectframe);
- gtk_container_set_border_width (GTK_CONTAINER (preview_aspectframe), 8);
-
- preview = gtk_drawing_area_new ();
- gtk_widget_set_name (preview, "preview");
- gtk_widget_ref (preview);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "preview", preview,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (preview);
- gtk_container_add (GTK_CONTAINER (preview_aspectframe), preview);
-
- demo_tab = gtk_label_new (_("Display Modes"));
- gtk_widget_set_name (demo_tab, "demo_tab");
- gtk_widget_ref (demo_tab);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "demo_tab", demo_tab,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (demo_tab);
- gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 0), demo_tab);
-
- 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_container_add (GTK_CONTAINER (notebook), options_table);
-
- 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_EXPAND | GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
- gtk_container_set_border_width (GTK_CONTAINER (diag_frame), 10);
-
- diag_hbox = gtk_hbox_new (FALSE, 8);
- gtk_widget_set_name (diag_hbox, "diag_hbox");
- gtk_widget_ref (diag_hbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "diag_hbox", diag_hbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (diag_hbox);
- gtk_container_add (GTK_CONTAINER (diag_frame), diag_hbox);
- gtk_container_set_border_width (GTK_CONTAINER (diag_hbox), 8);
-
- diag_logo = create_pixmap (xscreensaver_demo, "screensaver-diagnostic.png");
- gtk_widget_set_name (diag_logo, "diag_logo");
- gtk_widget_ref (diag_logo);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "diag_logo", diag_logo,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (diag_logo);
- gtk_box_pack_start (GTK_BOX (diag_hbox), diag_logo, FALSE, FALSE, 0);
- gtk_misc_set_alignment (GTK_MISC (diag_logo), 0.5, 0);
-
- diag_vbox = gtk_vbox_new (FALSE, 0);
- gtk_widget_set_name (diag_vbox, "diag_vbox");
- gtk_widget_ref (diag_vbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "diag_vbox", diag_vbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (diag_vbox);
- gtk_box_pack_start (GTK_BOX (diag_hbox), diag_vbox, TRUE, TRUE, 0);
-
- 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_box_pack_start (GTK_BOX (diag_vbox), verbose_button_eventbox, FALSE, FALSE, 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_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_box_pack_start (GTK_BOX (diag_vbox), capture_button_eventbox, FALSE, FALSE, 0);
- gtk_tooltips_set_tip (tooltips, capture_button_eventbox, _("Whether any error output of the display modes should be redirected to the screen."), 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_box_pack_start (GTK_BOX (diag_vbox), splash_button_eventbox, FALSE, FALSE, 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"));
- 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_EXPAND | GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
- gtk_container_set_border_width (GTK_CONTAINER (cmap_frame), 10);
-
- cmap_hbox = gtk_hbox_new (FALSE, 8);
- gtk_widget_set_name (cmap_hbox, "cmap_hbox");
- gtk_widget_ref (cmap_hbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cmap_hbox", cmap_hbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (cmap_hbox);
- gtk_container_add (GTK_CONTAINER (cmap_frame), cmap_hbox);
- gtk_container_set_border_width (GTK_CONTAINER (cmap_hbox), 8);
-
- cmap_logo = create_pixmap (xscreensaver_demo, "screensaver-colorselector.png");
- gtk_widget_set_name (cmap_logo, "cmap_logo");
- gtk_widget_ref (cmap_logo);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cmap_logo", cmap_logo,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (cmap_logo);
- gtk_box_pack_start (GTK_BOX (cmap_hbox), cmap_logo, FALSE, FALSE, 0);
- gtk_misc_set_alignment (GTK_MISC (cmap_logo), 0.5, 0);
-
- cmap_vbox = gtk_vbox_new (FALSE, 0);
- gtk_widget_set_name (cmap_vbox, "cmap_vbox");
- gtk_widget_ref (cmap_vbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cmap_vbox", cmap_vbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (cmap_vbox);
- gtk_box_pack_start (GTK_BOX (cmap_hbox), cmap_vbox, TRUE, TRUE, 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_box_pack_start (GTK_BOX (cmap_vbox), install_button_eventbox, FALSE, FALSE, 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");
- gtk_widget_ref (install_button);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "install_button", install_button,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (install_button);
- gtk_container_add (GTK_CONTAINER (install_button_eventbox), install_button);
-
- 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_box_pack_start (GTK_BOX (cmap_vbox), cmap_hr, FALSE, FALSE, 4);
-
- 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_box_pack_start (GTK_BOX (cmap_vbox), fade_button_eventbox, FALSE, FALSE, 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 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_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_box_pack_start (GTK_BOX (cmap_vbox), unfade_button_eventbox, FALSE, FALSE, 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 (_("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_container_add (GTK_CONTAINER (unfade_button_eventbox), unfade_button);
-
- fade_hbox = gtk_hbox_new (FALSE, 0);
- gtk_widget_set_name (fade_hbox, "fade_hbox");
- gtk_widget_ref (fade_hbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_hbox", fade_hbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (fade_hbox);
- gtk_box_pack_start (GTK_BOX (cmap_vbox), fade_hbox, FALSE, FALSE, 0);
-
- fade_dummy = gtk_label_new ("");
- gtk_widget_set_name (fade_dummy, "fade_dummy");
- gtk_widget_ref (fade_dummy);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_dummy", fade_dummy,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (fade_dummy);
- gtk_box_pack_start (GTK_BOX (fade_hbox), fade_dummy, FALSE, FALSE, 0);
- gtk_label_set_justify (GTK_LABEL (fade_dummy), GTK_JUSTIFY_LEFT);
- gtk_misc_set_padding (GTK_MISC (fade_dummy), 3, 0);
-
- 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_box_pack_start (GTK_BOX (fade_hbox), fade_label, FALSE, FALSE, 10);
- gtk_label_set_justify (GTK_LABEL (fade_label), GTK_JUSTIFY_LEFT);
- gtk_misc_set_alignment (GTK_MISC (fade_label), 0, 0.5);
-
- fade_spinbutton_adj = gtk_adjustment_new (0, 0, 10, 1, 1, 1);
- fade_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (fade_spinbutton_adj), 1, 0);
- gtk_widget_set_name (fade_spinbutton, "fade_spinbutton");
- gtk_widget_ref (fade_spinbutton);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_spinbutton", fade_spinbutton,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (fade_spinbutton);
- gtk_box_pack_start (GTK_BOX (fade_hbox), fade_spinbutton, FALSE, FALSE, 0);
- gtk_tooltips_set_tip (tooltips, fade_spinbutton, _("How long it should take for the screen to fade in and out."), NULL);
- gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (fade_spinbutton), TRUE);
- gtk_spin_button_set_snap_to_ticks (GTK_SPIN_BUTTON (fade_spinbutton), TRUE);
-
- fade_sec_label = gtk_label_new (_("seconds"));
- gtk_widget_set_name (fade_sec_label, "fade_sec_label");
- gtk_widget_ref (fade_sec_label);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_sec_label", fade_sec_label,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (fade_sec_label);
- gtk_box_pack_start (GTK_BOX (fade_hbox), fade_sec_label, FALSE, FALSE, 0);
- gtk_label_set_justify (GTK_LABEL (fade_sec_label), GTK_JUSTIFY_LEFT);
- gtk_misc_set_alignment (GTK_MISC (fade_sec_label), 0, 0.5);
-
- 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_EXPAND | GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
- gtk_container_set_border_width (GTK_CONTAINER (dpms_frame), 10);
-
- dpms_hbox = gtk_hbox_new (FALSE, 8);
- gtk_widget_set_name (dpms_hbox, "dpms_hbox");
- gtk_widget_ref (dpms_hbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_hbox", dpms_hbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (dpms_hbox);
- gtk_container_add (GTK_CONTAINER (dpms_frame), dpms_hbox);
- gtk_container_set_border_width (GTK_CONTAINER (dpms_hbox), 8);
-
- dpms_logo = create_pixmap (xscreensaver_demo, "screensaver-power.png");
- gtk_widget_set_name (dpms_logo, "dpms_logo");
- gtk_widget_ref (dpms_logo);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_logo", dpms_logo,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (dpms_logo);
- gtk_box_pack_start (GTK_BOX (dpms_hbox), dpms_logo, FALSE, FALSE, 0);
- gtk_misc_set_alignment (GTK_MISC (dpms_logo), 0.5, 0);
-
- dpms_vbox = gtk_vbox_new (FALSE, 0);
- gtk_widget_set_name (dpms_vbox, "dpms_vbox");
- gtk_widget_ref (dpms_vbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_vbox", dpms_vbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (dpms_vbox);
- gtk_box_pack_start (GTK_BOX (dpms_hbox), dpms_vbox, FALSE, FALSE, 0);
-
- 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_box_pack_start (GTK_BOX (dpms_vbox), dpms_button_eventbox, FALSE, FALSE, 0);
- gtk_tooltips_set_tip (tooltips, dpms_button_eventbox, _("Whether the monitor should be powered down after a while."), NULL);
-
- 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);
-
- dpms_table = gtk_table_new (3, 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_box_pack_start (GTK_BOX (dpms_vbox), dpms_table, FALSE, FALSE, 0);
- gtk_table_set_row_spacings (GTK_TABLE (dpms_table), 2);
-
- dpms_standby_spinbutton_adj = gtk_adjustment_new (0, 0, 1440, 1, 30, 30);
- dpms_standby_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (dpms_standby_spinbutton_adj), 15, 0);
- gtk_widget_set_name (dpms_standby_spinbutton, "dpms_standby_spinbutton");
- gtk_widget_ref (dpms_standby_spinbutton);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_standby_spinbutton", dpms_standby_spinbutton,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (dpms_standby_spinbutton);
- gtk_table_attach (GTK_TABLE (dpms_table), dpms_standby_spinbutton, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_tooltips_set_tip (tooltips, dpms_standby_spinbutton, _("How long before the monitor goes completely black."), NULL);
- gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (dpms_standby_spinbutton), TRUE);
- gtk_spin_button_set_snap_to_ticks (GTK_SPIN_BUTTON (dpms_standby_spinbutton), TRUE);
-
- dpms_standby_mlabel = gtk_label_new (_("minutes"));
- gtk_widget_set_name (dpms_standby_mlabel, "dpms_standby_mlabel");
- gtk_widget_ref (dpms_standby_mlabel);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_standby_mlabel", dpms_standby_mlabel,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (dpms_standby_mlabel);
- gtk_table_attach (GTK_TABLE (dpms_table), dpms_standby_mlabel, 2, 3, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_label_set_justify (GTK_LABEL (dpms_standby_mlabel), GTK_JUSTIFY_LEFT);
- gtk_misc_set_alignment (GTK_MISC (dpms_standby_mlabel), 0, 0.5);
-
- dpms_suspend_mlabel = gtk_label_new (_("minutes"));
- gtk_widget_set_name (dpms_suspend_mlabel, "dpms_suspend_mlabel");
- gtk_widget_ref (dpms_suspend_mlabel);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_suspend_mlabel", dpms_suspend_mlabel,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (dpms_suspend_mlabel);
- gtk_table_attach (GTK_TABLE (dpms_table), dpms_suspend_mlabel, 2, 3, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_label_set_justify (GTK_LABEL (dpms_suspend_mlabel), GTK_JUSTIFY_LEFT);
- gtk_misc_set_alignment (GTK_MISC (dpms_suspend_mlabel), 0, 0.5);
-
- dpms_off_mlabel = gtk_label_new (_("minutes"));
- gtk_widget_set_name (dpms_off_mlabel, "dpms_off_mlabel");
- gtk_widget_ref (dpms_off_mlabel);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_off_mlabel", dpms_off_mlabel,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (dpms_off_mlabel);
- gtk_table_attach (GTK_TABLE (dpms_table), dpms_off_mlabel, 2, 3, 2, 3,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_label_set_justify (GTK_LABEL (dpms_off_mlabel), GTK_JUSTIFY_LEFT);
- gtk_misc_set_alignment (GTK_MISC (dpms_off_mlabel), 0, 0.5);
-
- 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 (dpms_off_label);
- gtk_table_attach (GTK_TABLE (dpms_table), dpms_off_label, 0, 1, 2, 3,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_label_set_justify (GTK_LABEL (dpms_off_label), GTK_JUSTIFY_RIGHT);
- gtk_misc_set_alignment (GTK_MISC (dpms_off_label), 1, 0.5);
- gtk_misc_set_padding (GTK_MISC (dpms_off_label), 10, 0);
-
- 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 (dpms_suspend_label);
- gtk_table_attach (GTK_TABLE (dpms_table), dpms_suspend_label, 0, 1, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_label_set_justify (GTK_LABEL (dpms_suspend_label), GTK_JUSTIFY_RIGHT);
- gtk_misc_set_alignment (GTK_MISC (dpms_suspend_label), 1, 0.5);
- gtk_misc_set_padding (GTK_MISC (dpms_suspend_label), 10, 0);
-
- 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 (dpms_standby_label);
- gtk_table_attach (GTK_TABLE (dpms_table), dpms_standby_label, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_label_set_justify (GTK_LABEL (dpms_standby_label), GTK_JUSTIFY_RIGHT);
- gtk_misc_set_alignment (GTK_MISC (dpms_standby_label), 1, 0.5);
- gtk_misc_set_padding (GTK_MISC (dpms_standby_label), 10, 0);
-
- dpms_suspend_spinbutton_adj = gtk_adjustment_new (0, 0, 1440, 1, 30, 30);
- dpms_suspend_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (dpms_suspend_spinbutton_adj), 15, 0);
- gtk_widget_set_name (dpms_suspend_spinbutton, "dpms_suspend_spinbutton");
- gtk_widget_ref (dpms_suspend_spinbutton);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_suspend_spinbutton", dpms_suspend_spinbutton,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (dpms_suspend_spinbutton);
- gtk_table_attach (GTK_TABLE (dpms_table), dpms_suspend_spinbutton, 1, 2, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_tooltips_set_tip (tooltips, dpms_suspend_spinbutton, _("How long until the monitor goes into power-saving mode."), NULL);
- gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (dpms_suspend_spinbutton), TRUE);
- gtk_spin_button_set_snap_to_ticks (GTK_SPIN_BUTTON (dpms_suspend_spinbutton), TRUE);
-
- dpms_off_spinbutton_adj = gtk_adjustment_new (0, 0, 1440, 1, 30, 30);
- dpms_off_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (dpms_off_spinbutton_adj), 15, 0);
- gtk_widget_set_name (dpms_off_spinbutton, "dpms_off_spinbutton");
- gtk_widget_ref (dpms_off_spinbutton);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_off_spinbutton", dpms_off_spinbutton,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (dpms_off_spinbutton);
- gtk_table_attach (GTK_TABLE (dpms_table), dpms_off_spinbutton, 1, 2, 2, 3,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_tooltips_set_tip (tooltips, dpms_off_spinbutton, _("How long until the monitor powers down."), NULL);
- gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (dpms_off_spinbutton), TRUE);
- gtk_spin_button_set_snap_to_ticks (GTK_SPIN_BUTTON (dpms_off_spinbutton), TRUE);
-
- grab_frame = gtk_frame_new (_("Image Manipulation"));
- gtk_widget_set_name (grab_frame, "grab_frame");
- gtk_widget_ref (grab_frame);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "grab_frame", grab_frame,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (grab_frame);
- gtk_table_attach (GTK_TABLE (options_table), grab_frame, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
- gtk_container_set_border_width (GTK_CONTAINER (grab_frame), 10);
-
- grab_hbox = gtk_hbox_new (FALSE, 8);
- gtk_widget_set_name (grab_hbox, "grab_hbox");
- gtk_widget_ref (grab_hbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "grab_hbox", grab_hbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (grab_hbox);
- gtk_container_add (GTK_CONTAINER (grab_frame), grab_hbox);
- gtk_container_set_border_width (GTK_CONTAINER (grab_hbox), 8);
-
- img_logo = create_pixmap (xscreensaver_demo, "screensaver-snap.png");
- gtk_widget_set_name (img_logo, "img_logo");
- gtk_widget_ref (img_logo);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "img_logo", img_logo,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (img_logo);
- gtk_box_pack_start (GTK_BOX (grab_hbox), img_logo, FALSE, FALSE, 0);
- gtk_misc_set_alignment (GTK_MISC (img_logo), 0.5, 0);
-
- grab_vbox = gtk_vbox_new (FALSE, 0);
- gtk_widget_set_name (grab_vbox, "grab_vbox");
- gtk_widget_ref (grab_vbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "grab_vbox", grab_vbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (grab_vbox);
- gtk_box_pack_start (GTK_BOX (grab_hbox), grab_vbox, TRUE, TRUE, 0);
-
- grab_desk_eventbox = gtk_event_box_new ();
- gtk_widget_set_name (grab_desk_eventbox, "grab_desk_eventbox");
- gtk_widget_ref (grab_desk_eventbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "grab_desk_eventbox", grab_desk_eventbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (grab_desk_eventbox);
- gtk_box_pack_start (GTK_BOX (grab_vbox), grab_desk_eventbox, FALSE, FALSE, 0);
- gtk_tooltips_set_tip (tooltips, grab_desk_eventbox, _("Whether the image-manipulating modes should be allowed to operate on an image of your desktop."), NULL);
-
- grab_desk_button = gtk_check_button_new_with_label (_("Grab Desktop Images"));
- gtk_widget_set_name (grab_desk_button, "grab_desk_button");
- gtk_widget_ref (grab_desk_button);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "grab_desk_button", grab_desk_button,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (grab_desk_button);
- gtk_container_add (GTK_CONTAINER (grab_desk_eventbox), grab_desk_button);
-
- grab_video_eventbox = gtk_event_box_new ();
- gtk_widget_set_name (grab_video_eventbox, "grab_video_eventbox");
- gtk_widget_ref (grab_video_eventbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "grab_video_eventbox", grab_video_eventbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (grab_video_eventbox);
- gtk_box_pack_start (GTK_BOX (grab_vbox), grab_video_eventbox, FALSE, FALSE, 0);
- gtk_tooltips_set_tip (tooltips, grab_video_eventbox, _("Whether the image-manipulating modes should operate on images captured from the system's video input (if there is one)."), NULL);
-
- grab_video_button = gtk_check_button_new_with_label (_("Grab Video Frames"));
- gtk_widget_set_name (grab_video_button, "grab_video_button");
- gtk_widget_ref (grab_video_button);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "grab_video_button", grab_video_button,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (grab_video_button);
- gtk_container_add (GTK_CONTAINER (grab_video_eventbox), grab_video_button);
-
- grab_image_eventbox = gtk_event_box_new ();
- gtk_widget_set_name (grab_image_eventbox, "grab_image_eventbox");
- gtk_widget_ref (grab_image_eventbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "grab_image_eventbox", grab_image_eventbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (grab_image_eventbox);
- gtk_box_pack_start (GTK_BOX (grab_vbox), grab_image_eventbox, FALSE, FALSE, 0);
- gtk_tooltips_set_tip (tooltips, grab_image_eventbox, _("Whether the image-manipulating modes should load image files."), NULL);
-
- grab_image_button = gtk_check_button_new_with_label (_("Choose Random Image:"));
- gtk_widget_set_name (grab_image_button, "grab_image_button");
- gtk_widget_ref (grab_image_button);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "grab_image_button", grab_image_button,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (grab_image_button);
- gtk_container_add (GTK_CONTAINER (grab_image_eventbox), grab_image_button);
-
- image_hbox = gtk_hbox_new (FALSE, 0);
- gtk_widget_set_name (image_hbox, "image_hbox");
- gtk_widget_ref (image_hbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "image_hbox", image_hbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (image_hbox);
- gtk_box_pack_start (GTK_BOX (grab_vbox), image_hbox, FALSE, FALSE, 0);
-
- grab_dummy = gtk_label_new ("");
- gtk_widget_set_name (grab_dummy, "grab_dummy");
- gtk_widget_ref (grab_dummy);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "grab_dummy", grab_dummy,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (grab_dummy);
- gtk_box_pack_start (GTK_BOX (image_hbox), grab_dummy, FALSE, FALSE, 0);
- gtk_label_set_justify (GTK_LABEL (grab_dummy), GTK_JUSTIFY_LEFT);
- gtk_misc_set_padding (GTK_MISC (grab_dummy), 8, 0);
-
- image_text = gtk_entry_new ();
- gtk_widget_set_name (image_text, "image_text");
- gtk_widget_ref (image_text);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "image_text", image_text,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (image_text);
- gtk_box_pack_start (GTK_BOX (image_hbox), image_text, TRUE, TRUE, 0);
- gtk_tooltips_set_tip (tooltips, image_text, _("The local directory, RSS feed or Atom feed from which images will be randomly chosen."), NULL);
-
- image_browse_button = gtk_button_new_with_label (_("Browse"));
- gtk_widget_set_name (image_browse_button, "image_browse_button");
- gtk_widget_ref (image_browse_button);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "image_browse_button", image_browse_button,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (image_browse_button);
- gtk_box_pack_start (GTK_BOX (image_hbox), image_browse_button, FALSE, FALSE, 4);
-
- options_tab = gtk_label_new (_("Advanced"));
- 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 (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),
- NULL);
- gtk_signal_connect (GTK_OBJECT (lock_menu), "activate",
- GTK_SIGNAL_FUNC (lock_menu_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (kill_menu), "activate",
- GTK_SIGNAL_FUNC (kill_menu_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (restart), "activate",
- GTK_SIGNAL_FUNC (restart_menu_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (exit_menu), "activate",
- GTK_SIGNAL_FUNC (exit_menu_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (about_menu), "activate",
- GTK_SIGNAL_FUNC (about_menu_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (doc_menu), "activate",
- GTK_SIGNAL_FUNC (doc_menu_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (notebook), "switch_page",
- GTK_SIGNAL_FUNC (switch_page_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (lock_button), "toggled",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (timeout_spinbutton), "activate",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (timeout_spinbutton), "focus_out_event",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (timeout_spinbutton), "changed",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (lock_spinbutton), "activate",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (lock_spinbutton), "focus_out_event",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (lock_spinbutton), "changed",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (cycle_spinbutton), "activate",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (cycle_spinbutton), "focus_out_event",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (cycle_spinbutton), "changed",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (demo), "clicked",
- GTK_SIGNAL_FUNC (run_this_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (settings), "clicked",
- GTK_SIGNAL_FUNC (settings_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (next), "clicked",
- GTK_SIGNAL_FUNC (run_next_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (prev), "clicked",
- GTK_SIGNAL_FUNC (run_prev_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 (install_button), "toggled",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (fade_button), "toggled",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (unfade_button), "toggled",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (fade_spinbutton), "activate",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (fade_spinbutton), "focus_out_event",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (fade_spinbutton), "changed",
- 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 (dpms_standby_spinbutton), "activate",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (dpms_standby_spinbutton), "focus_out_event",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (dpms_standby_spinbutton), "changed",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (dpms_suspend_spinbutton), "activate",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (dpms_suspend_spinbutton), "focus_out_event",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (dpms_suspend_spinbutton), "changed",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (dpms_off_spinbutton), "activate",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (dpms_off_spinbutton), "focus_out_event",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (dpms_off_spinbutton), "changed",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (grab_desk_button), "toggled",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (grab_video_button), "toggled",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (grab_image_button), "toggled",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (image_text), "activate",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (image_text), "focus_out_event",
- GTK_SIGNAL_FUNC (pref_changed_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (image_browse_button), "clicked",
- GTK_SIGNAL_FUNC (browse_image_dir_cb),
- NULL);
-
- gtk_widget_grab_default (next);
- gtk_object_set_data (GTK_OBJECT (xscreensaver_demo), "tooltips", tooltips);
-
- gtk_window_add_accel_group (GTK_WINDOW (xscreensaver_demo), accel_group);
-
- return xscreensaver_demo;
-}
-
-GtkWidget*
-create_xscreensaver_settings_dialog (void)
-{
- GtkWidget *xscreensaver_settings_dialog;
- GtkWidget *dialog_vbox;
- GtkWidget *dialog_top_table;
- GtkWidget *opt_frame;
- GtkWidget *opt_notebook;
- GtkWidget *settings_vbox;
- GtkWidget *std_label;
- GtkWidget *opt_table;
- GtkWidget *cmd_logo;
- GtkWidget *visual_hbox;
- GtkWidget *visual;
- GtkWidget *visual_combo;
- GList *visual_combo_items = NULL;
- GtkWidget *combo_entry1;
- GtkWidget *cmd_label;
- GtkWidget *cmd_text;
- GtkWidget *adv_label;
- GtkWidget *doc_frame;
- GtkWidget *doc_vbox;
- GtkWidget *doc;
- GtkWidget *doc_hbuttonbox;
- GtkWidget *manual;
- GtkWidget *dialog_action_area;
- GtkWidget *actionarea_hbox;
- GtkWidget *dialog_hbuttonbox;
- GtkWidget *adv_button;
- GtkWidget *std_button;
- GtkWidget *reset_button;
- GtkWidget *ok_cancel_hbuttonbox;
- GtkWidget *ok_button;
- GtkWidget *cancel_button;
- GtkTooltips *tooltips;
-
- tooltips = gtk_tooltips_new ();
-
- xscreensaver_settings_dialog = gtk_dialog_new ();
- gtk_widget_set_name (xscreensaver_settings_dialog, "xscreensaver_settings_dialog");
- gtk_object_set_data (GTK_OBJECT (xscreensaver_settings_dialog), "xscreensaver_settings_dialog", xscreensaver_settings_dialog);
- gtk_window_set_title (GTK_WINDOW (xscreensaver_settings_dialog), _("XScreenSaver: Mode-Specific Settings"));
- GTK_WINDOW (xscreensaver_settings_dialog)->type = GTK_WINDOW_DIALOG;
- gtk_window_set_modal (GTK_WINDOW (xscreensaver_settings_dialog), TRUE);
- gtk_window_set_policy (GTK_WINDOW (xscreensaver_settings_dialog), TRUE, TRUE, FALSE);
- gtk_window_set_wmclass (GTK_WINDOW (xscreensaver_settings_dialog), "settings", "XScreenSaver");
-
- dialog_vbox = GTK_DIALOG (xscreensaver_settings_dialog)->vbox;
- gtk_widget_set_name (dialog_vbox, "dialog_vbox");
- gtk_object_set_data (GTK_OBJECT (xscreensaver_settings_dialog), "dialog_vbox", dialog_vbox);
- gtk_widget_show (dialog_vbox);
-
- dialog_top_table = gtk_table_new (1, 2, FALSE);
- gtk_widget_set_name (dialog_top_table, "dialog_top_table");
- gtk_widget_ref (dialog_top_table);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "dialog_top_table", dialog_top_table,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (dialog_top_table);
- gtk_box_pack_start (GTK_BOX (dialog_vbox), dialog_top_table, TRUE, TRUE, 0);
- gtk_container_set_border_width (GTK_CONTAINER (dialog_top_table), 8);
- gtk_table_set_row_spacings (GTK_TABLE (dialog_top_table), 8);
- gtk_table_set_col_spacings (GTK_TABLE (dialog_top_table), 8);
-
- opt_frame = gtk_frame_new (_("Settings"));
- gtk_widget_set_name (opt_frame, "opt_frame");
- gtk_widget_ref (opt_frame);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "opt_frame", opt_frame,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (opt_frame);
- gtk_table_attach (GTK_TABLE (dialog_top_table), opt_frame, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 4, 8);
-
- opt_notebook = gtk_notebook_new ();
- gtk_widget_set_name (opt_notebook, "opt_notebook");
- gtk_widget_ref (opt_notebook);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "opt_notebook", opt_notebook,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (opt_notebook);
- gtk_container_add (GTK_CONTAINER (opt_frame), opt_notebook);
- gtk_container_set_border_width (GTK_CONTAINER (opt_notebook), 12);
- gtk_notebook_set_show_border (GTK_NOTEBOOK (opt_notebook), FALSE);
- gtk_notebook_set_tab_pos (GTK_NOTEBOOK (opt_notebook), GTK_POS_BOTTOM);
-
- settings_vbox = gtk_vbox_new (FALSE, 0);
- gtk_widget_set_name (settings_vbox, "settings_vbox");
- gtk_widget_ref (settings_vbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "settings_vbox", settings_vbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (settings_vbox);
- gtk_container_add (GTK_CONTAINER (opt_notebook), settings_vbox);
-
- std_label = gtk_label_new (_("Standard"));
- gtk_widget_set_name (std_label, "std_label");
- gtk_widget_ref (std_label);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "std_label", std_label,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (std_label);
- gtk_notebook_set_tab_label (GTK_NOTEBOOK (opt_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (opt_notebook), 0), std_label);
-
- opt_table = gtk_table_new (4, 2, FALSE);
- gtk_widget_set_name (opt_table, "opt_table");
- gtk_widget_ref (opt_table);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "opt_table", opt_table,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (opt_table);
- gtk_container_add (GTK_CONTAINER (opt_notebook), opt_table);
-
- cmd_logo = create_pixmap (xscreensaver_settings_dialog, "screensaver-cmndln.png");
- gtk_widget_set_name (cmd_logo, "cmd_logo");
- gtk_widget_ref (cmd_logo);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "cmd_logo", cmd_logo,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (cmd_logo);
- gtk_table_attach (GTK_TABLE (opt_table), cmd_logo, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
- gtk_misc_set_padding (GTK_MISC (cmd_logo), 4, 8);
-
- visual_hbox = gtk_hbox_new (FALSE, 0);
- gtk_widget_set_name (visual_hbox, "visual_hbox");
- gtk_widget_ref (visual_hbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "visual_hbox", visual_hbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (visual_hbox);
- gtk_table_attach (GTK_TABLE (opt_table), visual_hbox, 1, 2, 3, 4,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
-
- visual = gtk_label_new (_("Visual:"));
- gtk_widget_set_name (visual, "visual");
- gtk_widget_ref (visual);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "visual", visual,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (visual);
- gtk_box_pack_start (GTK_BOX (visual_hbox), visual, FALSE, FALSE, 0);
- gtk_label_set_justify (GTK_LABEL (visual), GTK_JUSTIFY_RIGHT);
- gtk_misc_set_alignment (GTK_MISC (visual), 1, 0.5);
- gtk_misc_set_padding (GTK_MISC (visual), 4, 0);
-
- visual_combo = gtk_combo_new ();
- gtk_widget_set_name (visual_combo, "visual_combo");
- gtk_widget_ref (visual_combo);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "visual_combo", visual_combo,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (visual_combo);
- gtk_box_pack_start (GTK_BOX (visual_hbox), visual_combo, FALSE, FALSE, 0);
- visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("Any"));
- visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("Best"));
- visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("Default"));
- visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("Default-N"));
- visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("GL"));
- visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("TrueColor"));
- visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("PseudoColor"));
- visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("StaticGray"));
- visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("GrayScale"));
- visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("DirectColor"));
- visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("Color"));
- visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("Gray"));
- visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("Mono"));
- gtk_combo_set_popdown_strings (GTK_COMBO (visual_combo), visual_combo_items);
- g_list_free (visual_combo_items);
-
- combo_entry1 = GTK_COMBO (visual_combo)->entry;
- gtk_widget_set_name (combo_entry1, "combo_entry1");
- gtk_widget_ref (combo_entry1);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "combo_entry1", combo_entry1,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (combo_entry1);
- gtk_tooltips_set_tip (tooltips, combo_entry1, _("The X visual type that this demo will require. If that visual is available it will be used, otherwise, this demo will not be run."), NULL);
- gtk_entry_set_text (GTK_ENTRY (combo_entry1), _("Any"));
-
- cmd_label = gtk_label_new (_("Command Line:"));
- gtk_widget_set_name (cmd_label, "cmd_label");
- gtk_widget_ref (cmd_label);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "cmd_label", cmd_label,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (cmd_label);
- gtk_table_attach (GTK_TABLE (opt_table), cmd_label, 1, 2, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_label_set_justify (GTK_LABEL (cmd_label), GTK_JUSTIFY_LEFT);
- gtk_misc_set_alignment (GTK_MISC (cmd_label), 0, 1);
- gtk_misc_set_padding (GTK_MISC (cmd_label), 0, 2);
-
- cmd_text = gtk_entry_new ();
- gtk_widget_set_name (cmd_text, "cmd_text");
- gtk_widget_ref (cmd_text);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "cmd_text", cmd_text,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (cmd_text);
- gtk_table_attach (GTK_TABLE (opt_table), cmd_text, 1, 2, 2, 3,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_set_usize (cmd_text, 80, -2);
-
- adv_label = gtk_label_new (_("Advanced"));
- gtk_widget_set_name (adv_label, "adv_label");
- gtk_widget_ref (adv_label);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "adv_label", adv_label,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (adv_label);
- gtk_notebook_set_tab_label (GTK_NOTEBOOK (opt_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (opt_notebook), 1), adv_label);
-
- doc_frame = gtk_frame_new (_("Description"));
- gtk_widget_set_name (doc_frame, "doc_frame");
- gtk_widget_ref (doc_frame);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "doc_frame", doc_frame,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (doc_frame);
- gtk_table_attach (GTK_TABLE (dialog_top_table), doc_frame, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 4, 8);
-
- doc_vbox = gtk_vbox_new (FALSE, 0);
- gtk_widget_set_name (doc_vbox, "doc_vbox");
- gtk_widget_ref (doc_vbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "doc_vbox", doc_vbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (doc_vbox);
- gtk_container_add (GTK_CONTAINER (doc_frame), doc_vbox);
-
- doc = gtk_label_new ("");
- gtk_widget_set_name (doc, "doc");
- gtk_widget_ref (doc);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "doc", doc,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (doc);
- gtk_box_pack_start (GTK_BOX (doc_vbox), doc, TRUE, TRUE, 0);
- gtk_label_set_justify (GTK_LABEL (doc), GTK_JUSTIFY_LEFT);
- gtk_label_set_line_wrap (GTK_LABEL (doc), TRUE);
- gtk_misc_set_alignment (GTK_MISC (doc), 0, 0);
- gtk_misc_set_padding (GTK_MISC (doc), 10, 10);
-
- doc_hbuttonbox = gtk_hbutton_box_new ();
- gtk_widget_set_name (doc_hbuttonbox, "doc_hbuttonbox");
- gtk_widget_ref (doc_hbuttonbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "doc_hbuttonbox", doc_hbuttonbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (doc_hbuttonbox);
- gtk_box_pack_end (GTK_BOX (doc_vbox), doc_hbuttonbox, FALSE, FALSE, 0);
- gtk_container_set_border_width (GTK_CONTAINER (doc_hbuttonbox), 4);
- gtk_button_box_set_layout (GTK_BUTTON_BOX (doc_hbuttonbox), GTK_BUTTONBOX_END);
-
- manual = gtk_button_new_with_label (_("Documentation..."));
- gtk_widget_set_name (manual, "manual");
- gtk_widget_ref (manual);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "manual", manual,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (manual);
- gtk_container_add (GTK_CONTAINER (doc_hbuttonbox), manual);
- STFU GTK_WIDGET_SET_FLAGS (manual, GTK_CAN_DEFAULT);
- gtk_tooltips_set_tip (tooltips, manual, _("Click here to read the manual for this display mode, if it has one."), NULL);
-
- dialog_action_area = GTK_DIALOG (xscreensaver_settings_dialog)->action_area;
- gtk_widget_set_name (dialog_action_area, "dialog_action_area");
- gtk_object_set_data (GTK_OBJECT (xscreensaver_settings_dialog), "dialog_action_area", dialog_action_area);
- gtk_widget_show (dialog_action_area);
- gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area), 10);
-
- actionarea_hbox = gtk_hbox_new (FALSE, 0);
- gtk_widget_set_name (actionarea_hbox, "actionarea_hbox");
- gtk_widget_ref (actionarea_hbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "actionarea_hbox", actionarea_hbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (actionarea_hbox);
- gtk_box_pack_start (GTK_BOX (dialog_action_area), actionarea_hbox, TRUE, TRUE, 0);
-
- dialog_hbuttonbox = gtk_hbutton_box_new ();
- gtk_widget_set_name (dialog_hbuttonbox, "dialog_hbuttonbox");
- gtk_widget_ref (dialog_hbuttonbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "dialog_hbuttonbox", dialog_hbuttonbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (dialog_hbuttonbox);
- gtk_box_pack_start (GTK_BOX (actionarea_hbox), dialog_hbuttonbox, TRUE, TRUE, 0);
- gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_hbuttonbox), GTK_BUTTONBOX_SPREAD);
-
- adv_button = gtk_button_new_with_label (_("Advanced >>"));
- gtk_widget_set_name (adv_button, "adv_button");
- gtk_widget_ref (adv_button);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "adv_button", adv_button,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (adv_button);
- gtk_container_add (GTK_CONTAINER (dialog_hbuttonbox), adv_button);
- STFU GTK_WIDGET_SET_FLAGS (adv_button, GTK_CAN_DEFAULT);
- gtk_tooltips_set_tip (tooltips, adv_button, _("Edit the command line directly."), NULL);
-
- std_button = gtk_button_new_with_label (_("Standard <<"));
- gtk_widget_set_name (std_button, "std_button");
- gtk_widget_ref (std_button);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "std_button", std_button,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (std_button);
- gtk_container_add (GTK_CONTAINER (dialog_hbuttonbox), std_button);
- STFU GTK_WIDGET_SET_FLAGS (std_button, GTK_CAN_DEFAULT);
- gtk_tooltips_set_tip (tooltips, std_button, _("Back to the graphical configuration options."), NULL);
-
- reset_button = gtk_button_new_with_label (_("Reset to Defaults"));
- gtk_widget_set_name (reset_button, "reset_button");
- gtk_widget_ref (reset_button);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "reset_button", reset_button,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (reset_button);
- gtk_container_add (GTK_CONTAINER (dialog_hbuttonbox), reset_button);
- STFU GTK_WIDGET_SET_FLAGS (reset_button, GTK_CAN_DEFAULT);
- gtk_tooltips_set_tip (tooltips, reset_button, _("Reset this screen saver to the default settings."), NULL);
-
- ok_cancel_hbuttonbox = gtk_hbutton_box_new ();
- gtk_widget_set_name (ok_cancel_hbuttonbox, "ok_cancel_hbuttonbox");
- gtk_widget_ref (ok_cancel_hbuttonbox);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "ok_cancel_hbuttonbox", ok_cancel_hbuttonbox,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (ok_cancel_hbuttonbox);
- gtk_box_pack_start (GTK_BOX (actionarea_hbox), ok_cancel_hbuttonbox, TRUE, TRUE, 0);
- gtk_button_box_set_layout (GTK_BUTTON_BOX (ok_cancel_hbuttonbox), GTK_BUTTONBOX_END);
-
- ok_button = gtk_button_new_with_label (_("OK"));
- gtk_widget_set_name (ok_button, "ok_button");
- gtk_widget_ref (ok_button);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "ok_button", ok_button,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (ok_button);
- gtk_container_add (GTK_CONTAINER (ok_cancel_hbuttonbox), ok_button);
- STFU GTK_WIDGET_SET_FLAGS (ok_button, GTK_CAN_DEFAULT);
-
- cancel_button = gtk_button_new_with_label (_("Cancel"));
- gtk_widget_set_name (cancel_button, "cancel_button");
- gtk_widget_ref (cancel_button);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "cancel_button", cancel_button,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (cancel_button);
- gtk_container_add (GTK_CONTAINER (ok_cancel_hbuttonbox), cancel_button);
- STFU GTK_WIDGET_SET_FLAGS (cancel_button, GTK_CAN_DEFAULT);
-
- gtk_signal_connect (GTK_OBJECT (opt_notebook), "switch_page",
- GTK_SIGNAL_FUNC (settings_switch_page_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (manual), "clicked",
- GTK_SIGNAL_FUNC (manual_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (adv_button), "clicked",
- GTK_SIGNAL_FUNC (settings_adv_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (std_button), "clicked",
- GTK_SIGNAL_FUNC (settings_std_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (reset_button), "clicked",
- GTK_SIGNAL_FUNC (settings_reset_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (ok_button), "clicked",
- GTK_SIGNAL_FUNC (settings_ok_cb),
- NULL);
- gtk_signal_connect (GTK_OBJECT (cancel_button), "clicked",
- GTK_SIGNAL_FUNC (settings_cancel_cb),
- NULL);
-
- gtk_object_set_data (GTK_OBJECT (xscreensaver_settings_dialog), "tooltips", tooltips);
-
- return xscreensaver_settings_dialog;
-}
-
+++ /dev/null
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-GtkWidget* create_xscreensaver_demo (void);
-GtkWidget* create_xscreensaver_settings_dialog (void);
#include "logo-50.xpm"
#include "logo-180.xpm"
-#undef dgettext /* else these are defined twice... */
-#undef dcgettext
-
-#include "demo-Gtk-widgets.h"
-#include "demo-Gtk-support.h"
#include "demo-Gtk-conf.h"
#include <stdio.h>
#ifdef HAVE_GTK2
-GtkWidget *
+static GtkWidget *
create_xscreensaver_demo (void)
{
GtkWidget *nb;
return name_to_widget (global_state_kludge, "xscreensaver_demo");
}
-GtkWidget *
+static GtkWidget *
create_xscreensaver_settings_dialog (void)
{
GtkWidget *w, *box;
-/* xscreensaver, Copyright (c) 1991-2013 Jamie Zawinski <jwz@netscape.com>
+/* xscreensaver, Copyright (c) 1991-2014 Jamie Zawinski <jwz@netscape.com>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
handle_splash_event (saver_info *si, XEvent *event)
{
splash_dialog_data *sp = si->sp_data;
- if (!sp) return;
- saver_screen_info *ssi = sp->prompt_screen;
+ saver_screen_info *ssi;
int which = 0;
+ if (!sp) return;
+ ssi = sp->prompt_screen;
switch (event->xany.type)
{
if (def_path && *def_path)
{
const char *opath = getenv("PATH");
+ char *npath;
if (! opath) opath = "/bin:/usr/bin"; /* WTF */
- char *npath = (char *) malloc(strlen(def_path) + strlen(opath) + 20);
+ npath = (char *) malloc(strlen(def_path) + strlen(opath) + 20);
strcpy (npath, "PATH=");
strcat (npath, def_path);
strcat (npath, ":");
-/* xscreensaver, Copyright (c) 1998-2013 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1998-2014 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
void raise_window (saver_info *si, Bool i, Bool b, Bool d) {}
Bool blank_screen (saver_info *si) {return False;}
void unblank_screen (saver_info *si) {}
+void reset_watchdog_timer(saver_info *si, Bool on_p) {}
Bool select_visual (saver_screen_info *ssi, const char *v) { return False; }
Bool window_exists_p (Display *dpy, Window window) {return True;}
void start_notice_events_timer (saver_info *si, Window w, Bool b) {}
XPutBackEvent (si->dpy, &fake_event);
}
-
static int
text_auth_conv (
int num_msg,
gdk_pixbuf_xlib_init_with_depth (dpy, screen_number (screen), win_depth);
# ifdef HAVE_GTK2
+# if !GLIB_CHECK_VERSION(2, 36 ,0)
g_type_init();
+# endif
# else /* !HAVE_GTK2 */
xlib_rgb_init (dpy, screen);
# endif /* !HAVE_GTK2 */
-# hacks/Makefile.in --- xscreensaver, Copyright (c) 1997-2011 Jamie Zawinski.
+# hacks/Makefile.in --- xscreensaver, Copyright (c) 1997-2014 Jamie Zawinski.
# the `../configure' script generates `hacks/Makefile' from this file.
@SET_MAKE@
LIBS = @LIBS@
PERL = @PERL@
+THREAD_LIBS = @PTHREAD_LIBS@
+THREAD_CFLAGS = @PTHREAD_CFLAGS@
+
DEPEND = @DEPEND@
DEPEND_FLAGS = @DEPEND_FLAGS@
DEPEND_DEFINES = @DEPEND_DEFINES@
SHM = $(XSHM_OBJS)
DBE = $(XDBE_OBJS)
BARS = $(UTILS_BIN)/colorbars.o $(LOGO)
-THRD = $(THREAD_OBJS)
-ATV = analogtv.o $(SHM) $(THRD)
+THRO = $(THREAD_OBJS)
+THRL = $(THREAD_CFLAGS) $(THREAD_LIBS)
+ATV = analogtv.o $(SHM) $(THRO)
APPLE2 = apple2.o $(ATV)
TEXT = $(UTILS_BIN)/textclient.o
epicycle: epicycle.o $(HACK_OBJS) $(COL) $(ERASE)
$(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
-interference: interference.o $(HACK_OBJS) $(COL) $(SHM) $(DBE) $(THRD)
- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SHM) $(DBE) $(THRD) $(HACK_LIBS)
+interference: interference.o $(HACK_OBJS) $(COL) $(SHM) $(DBE) $(THRO)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SHM) $(DBE) $(THRO) $(HACK_LIBS) $(THRL)
truchet: truchet.o $(HACK_OBJS) $(COL)
$(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
$(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM) $(XPM_LIBS)
apple2: apple2.o apple2-main.o $(HACK_OBJS) $(ATV) $(GRAB) $(TEXT)
- $(CC_HACK) -o $@ $@.o apple2-main.o $(HACK_OBJS) $(ATV) $(GRAB) $(TEXT) $(XPM_LIBS) $(TEXT_LIBS)
+ $(CC_HACK) -o $@ $@.o apple2-main.o $(HACK_OBJS) $(ATV) $(GRAB) $(TEXT) $(XPM_LIBS) $(TEXT_LIBS) $(THRL)
xanalogtv: xanalogtv.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM)
- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(XPM_LIBS) $(HACK_LIBS)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(XPM_LIBS) $(HACK_LIBS) $(THRL)
distort: distort.o $(HACK_OBJS) $(GRAB) $(SHM)
$(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(SHM) $(HACK_LIBS)
$(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(DBE) $(TEXT) $(HACK_LIBS) $(TEXT_LIBS)
pong: pong.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM)
- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(XPM_LIBS) $(HACK_LIBS)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(XPM_LIBS) $(HACK_LIBS) $(THRL)
wormhole: wormhole.o $(HACK_OBJS)
$(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
m6502.o: m6502.h
m6502: m6502.o asm6502.o $(HACK_OBJS) $(ATV)
- $(CC_HACK) -o $@ $@.o asm6502.o $(HACK_OBJS) $(ATV) $(HACK_LIBS)
+ $(CC_HACK) -o $@ $@.o asm6502.o $(HACK_OBJS) $(ATV) $(HACK_LIBS) $(THRL)
abstractile: abstractile.o $(HACK_OBJS) $(COL)
$(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
anemone.o: $(UTILS_SRC)/resources.h
anemone.o: $(UTILS_SRC)/usleep.h
anemone.o: $(UTILS_SRC)/visual.h
-anemone.o: $(UTILS_SRC)/xdbe.h
anemone.o: $(UTILS_SRC)/yarandom.h
anemotaxis.o: ../config.h
anemotaxis.o: $(srcdir)/fps.h
anemotaxis.o: $(UTILS_SRC)/resources.h
anemotaxis.o: $(UTILS_SRC)/usleep.h
anemotaxis.o: $(UTILS_SRC)/visual.h
-anemotaxis.o: $(UTILS_SRC)/xdbe.h
anemotaxis.o: $(UTILS_SRC)/yarandom.h
ant.o: $(srcdir)/automata.h
ant.o: ../config.h
compass.o: $(UTILS_SRC)/resources.h
compass.o: $(UTILS_SRC)/usleep.h
compass.o: $(UTILS_SRC)/visual.h
-compass.o: $(UTILS_SRC)/xdbe.h
compass.o: $(UTILS_SRC)/yarandom.h
coral.o: ../config.h
coral.o: $(srcdir)/fps.h
deluxe.o: $(UTILS_SRC)/resources.h
deluxe.o: $(UTILS_SRC)/usleep.h
deluxe.o: $(UTILS_SRC)/visual.h
-deluxe.o: $(UTILS_SRC)/xdbe.h
deluxe.o: $(UTILS_SRC)/yarandom.h
demon.o: $(srcdir)/automata.h
demon.o: ../config.h
fluidballs.o: $(UTILS_SRC)/resources.h
fluidballs.o: $(UTILS_SRC)/usleep.h
fluidballs.o: $(UTILS_SRC)/visual.h
-fluidballs.o: $(UTILS_SRC)/xdbe.h
fluidballs.o: $(UTILS_SRC)/yarandom.h
fontglide.o: ../config.h
fontglide.o: $(srcdir)/fps.h
fontglide.o: $(UTILS_SRC)/textclient.h
fontglide.o: $(UTILS_SRC)/usleep.h
fontglide.o: $(UTILS_SRC)/visual.h
-fontglide.o: $(UTILS_SRC)/xdbe.h
fontglide.o: $(UTILS_SRC)/yarandom.h
forest.o: ../config.h
forest.o: $(srcdir)/fps.h
interference.o: $(UTILS_SRC)/thread_util.h
interference.o: $(UTILS_SRC)/usleep.h
interference.o: $(UTILS_SRC)/visual.h
-interference.o: $(UTILS_SRC)/xdbe.h
interference.o: $(UTILS_SRC)/xshm.h
interference.o: $(UTILS_SRC)/yarandom.h
intermomentary.o: ../config.h
kumppa.o: $(UTILS_SRC)/resources.h
kumppa.o: $(UTILS_SRC)/usleep.h
kumppa.o: $(UTILS_SRC)/visual.h
-kumppa.o: $(UTILS_SRC)/xdbe.h
kumppa.o: $(UTILS_SRC)/yarandom.h
laser.o: ../config.h
laser.o: $(srcdir)/fps.h
moire2.o: $(UTILS_SRC)/resources.h
moire2.o: $(UTILS_SRC)/usleep.h
moire2.o: $(UTILS_SRC)/visual.h
-moire2.o: $(UTILS_SRC)/xdbe.h
moire2.o: $(UTILS_SRC)/yarandom.h
moire.o: ../config.h
moire.o: $(srcdir)/fps.h
piecewise.o: $(UTILS_SRC)/resources.h
piecewise.o: $(UTILS_SRC)/usleep.h
piecewise.o: $(UTILS_SRC)/visual.h
-piecewise.o: $(UTILS_SRC)/xdbe.h
piecewise.o: $(UTILS_SRC)/yarandom.h
polyominoes.o: ../config.h
polyominoes.o: $(srcdir)/fps.h
popsquares.o: $(UTILS_SRC)/resources.h
popsquares.o: $(UTILS_SRC)/usleep.h
popsquares.o: $(UTILS_SRC)/visual.h
-popsquares.o: $(UTILS_SRC)/xdbe.h
popsquares.o: $(UTILS_SRC)/yarandom.h
pyro.o: ../config.h
pyro.o: $(srcdir)/fps.h
whirlygig.o: $(UTILS_SRC)/resources.h
whirlygig.o: $(UTILS_SRC)/usleep.h
whirlygig.o: $(UTILS_SRC)/visual.h
-whirlygig.o: $(UTILS_SRC)/xdbe.h
whirlygig.o: $(UTILS_SRC)/yarandom.h
wormhole.o: ../config.h
wormhole.o: $(srcdir)/fps.h
a screen saver and locker for the X window system
by Jamie Zawinski
- version 5.27
- 27-May-2014
+ version 5.29
+ 08-Jun-2014
http://www.jwz.org/xscreensaver/
<number id="delay" type="slider" arg="-delay %"
_label="Frame rate" _low-label="Low" _high-label="High"
- low="0" high="100000" default="20000"
+ low="0" high="100000" default="15000"
convert="invert"/>
<number id="speed" type="slider" arg="-speed %"
_label="Speed" _low-label="Slow" _high-label="Fast"
<number id="balls" type="slider" arg="-balls %"
_label="Number of balls" _low-label="Few" _high-label="Lots"
- low="3" high="40" default="25"/>
+ low="3" high="40" default="20"/>
<number id="ballsize" type="slider" arg="-ballsize %"
_label="Ball size" _low-label="Tiny" _high-label="Huge"
- low="1.0" high="5.0" default="2.0"/>
+ low="1.0" high="5.0" default="3.0"/>
</vgroup>
<number id="walk-direction" type="slider" arg="-walk-direction %"
_label="Walking direction"
_low-label="-180.0" _high-label="180.0"
- low="-180.0" high="180.0" default="7.0"/>
+ low="-180.0" high="180.0" default="83.0"/>
<number id="walk-speed" type="slider" arg="-walk-speed %"
_label="Walking speed"
dy = yp - *yc;
drsqr = dx*dx + dy*dy;
- // Original
- //return((drsqr <= *rsqr) ? TRUE : FALSE);
- // Proposed by Chuck Morris
+ /* Original
+ return((drsqr <= *rsqr) ? TRUE : FALSE);
+ Proposed by Chuck Morris */
return((drsqr - *rsqr) <= EPSILON ? TRUE : FALSE);
}
int inside;
int i,j,k;
- double xp,yp,x1,y1,x2,y2,x3,y3,xc,yc,r;
+ double xp,yp,x1,y1,x2,y2,x3,y3,xc=0,yc=0,r=0;
double xmin,xmax,ymin,ymax,xmid,ymid;
double dx,dy,dmax;
/* -*- mode: C; tab-width: 4 -*-
- * xscreensaver, Copyright (c) 1992-2013 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 1992-2014 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
if (st->effect == NULL && st->radius == 0 && st->speed == 0 && st->number == 0
&& !st->blackhole && !st->vortex && !st->magnify && !st->reflect) {
/* if no cmdline options are given, randomly choose one of:
- * -radius 50 -number 4 -speed 1 -bounce
- * -radius 50 -number 4 -speed 1 -blackhole
- * -radius 50 -number 4 -speed 1 -vortex
- * -radius 50 -number 4 -speed 1 -vortex -magnify
- * -radius 50 -number 4 -speed 1 -vortex -magnify -blackhole
- * -radius 100 -number 1 -speed 2 -bounce
- * -radius 100 -number 1 -speed 2 -blackhole
- * -radius 100 -number 1 -speed 2 -vortex
- * -radius 100 -number 1 -speed 2 -vortex -magnify
- * -radius 100 -number 1 -speed 2 -vortex -magnify -blackhole
+ * -radius 125 -number 4 -speed 1 -bounce
+ * -radius 125 -number 4 -speed 1 -blackhole
+ * -radius 125 -number 4 -speed 1 -vortex
+ * -radius 125 -number 4 -speed 1 -vortex -magnify
+ * -radius 125 -number 4 -speed 1 -vortex -magnify -blackhole
+ * -radius 250 -number 1 -speed 2 -bounce
+ * -radius 250 -number 1 -speed 2 -blackhole
+ * -radius 250 -number 1 -speed 2 -vortex
+ * -radius 250 -number 1 -speed 2 -vortex -magnify
+ * -radius 250 -number 1 -speed 2 -vortex -magnify -blackhole
* -radius 80 -number 1 -speed 2 -reflect
- * -radius 50 -number 3 -speed 2 -reflect
+ * -radius 125 -number 3 -speed 2 -reflect
* jwz: not these
- * -radius 50 -number 4 -speed 2 -swamp
- * -radius 50 -number 4 -speed 2 -swamp -blackhole
- * -radius 50 -number 4 -speed 2 -swamp -vortex
- * -radius 50 -number 4 -speed 2 -swamp -vortex -magnify
- * -radius 50 -number 4 -speed 2 -swamp -vortex -magnify -blackhole
+ * -radius 125 -number 4 -speed 2 -swamp
+ * -radius 125 -number 4 -speed 2 -swamp -blackhole
+ * -radius 125 -number 4 -speed 2 -swamp -vortex
+ * -radius 125 -number 4 -speed 2 -swamp -vortex -magnify
+ * -radius 125 -number 4 -speed 2 -swamp -vortex -magnify -blackhole
*/
i = (random() % 12 /* 17 */);
switch (i) {
case 0:
- st->radius=50;st->number=4;st->speed=1;
+ st->radius=125;st->number=4;st->speed=1;
st->effect=&move_lense;break;
case 1:
- st->radius=50;st->number=4;st->speed=1;st->blackhole=1;
+ st->radius=125;st->number=4;st->speed=1;st->blackhole=1;
st->effect=&move_lense;break;
case 2:
- st->radius=50;st->number=4;st->speed=1;st->vortex=1;
+ st->radius=125;st->number=4;st->speed=1;st->vortex=1;
st->effect=&move_lense;break;
case 3:
- st->radius=50;st->number=4;st->speed=1;st->vortex=1;st->magnify=1;
+ st->radius=125;st->number=4;st->speed=1;st->vortex=1;st->magnify=1;
st->effect=&move_lense;break;
case 4:
- st->radius=50;st->number=4;st->speed=1;st->vortex=1;st->magnify=1;st->blackhole=1;
+ st->radius=125;st->number=4;st->speed=1;st->vortex=1;st->magnify=1;st->blackhole=1;
st->effect=&move_lense;break;
case 5:
- st->radius=100;st->number=1;st->speed=2;
+ st->radius=250;st->number=1;st->speed=2;
st->effect=&move_lense;break;
case 6:
- st->radius=100;st->number=1;st->speed=2;st->blackhole=1;
+ st->radius=250;st->number=1;st->speed=2;st->blackhole=1;
st->effect=&move_lense;break;
case 7:
- st->radius=100;st->number=1;st->speed=2;st->vortex=1;
+ st->radius=250;st->number=1;st->speed=2;st->vortex=1;
st->effect=&move_lense;break;
case 8:
- st->radius=100;st->number=1;st->speed=2;st->vortex=1;st->magnify=1;
+ st->radius=250;st->number=1;st->speed=2;st->vortex=1;st->magnify=1;
st->effect=&move_lense;break;
case 9:
- st->radius=100;st->number=1;st->speed=2;st->vortex=1;st->magnify=1;st->blackhole=1;
+ st->radius=250;st->number=1;st->speed=2;st->vortex=1;st->magnify=1;st->blackhole=1;
st->effect=&move_lense;break;
case 10:
st->radius=80;st->number=1;st->speed=2;st->reflect=1;
st->draw = &reflect_draw;st->effect = &move_lense;break;
case 11:
- st->radius=50;st->number=4;st->speed=2;st->reflect=1;
+ st->radius=125;st->number=4;st->speed=2;st->reflect=1;
st->draw = &reflect_draw;st->effect = &move_lense;break;
#if 0 /* jwz: not these */
case 12:
- st->radius=50;st->number=4;st->speed=2;
+ st->radius=125;st->number=4;st->speed=2;
effect=&swamp_thing;break;
case 13:
- st->radius=50;st->number=4;st->speed=2;st->blackhole=1;
+ st->radius=125;st->number=4;st->speed=2;st->blackhole=1;
effect=&swamp_thing;break;
case 14:
- st->radius=50;st->number=4;st->speed=2;st->vortex=1;
+ st->radius=125;st->number=4;st->speed=2;st->vortex=1;
effect=&swamp_thing;break;
case 15:
- st->radius=50;st->number=4;st->speed=2;st->vortex=1;st->magnify=1;
+ st->radius=125;st->number=4;st->speed=2;st->vortex=1;st->magnify=1;
effect=&swamp_thing;break;
case 16:
- st->radius=50;st->number=4;st->speed=2;st->vortex=1;st->magnify=1;st->blackhole=1;
+ st->radius=125;st->number=4;st->speed=2;st->vortex=1;st->magnify=1;st->blackhole=1;
effect=&swamp_thing;break;
#endif
default:
abort(); break;
}
-
- /* but if the window is small, reduce default radius */
- if (st->xgwa.width < st->radius * 8)
- st->radius = st->xgwa.width/8;
}
/* never allow the radius to be too close to the min window dimension
*/
- if (st->radius >= st->xgwa.width * 0.45) st->radius = st->xgwa.width * 0.45;
- if (st->radius >= st->xgwa.height * 0.45) st->radius = st->xgwa.height * 0.45;
+ if (st->radius > st->xgwa.width * 0.3) st->radius = st->xgwa.width * 0.3;
+ if (st->radius > st->xgwa.height * 0.3) st->radius = st->xgwa.height * 0.3;
/* -swamp mode consumes vast amounts of memory, proportional to radius --
static void new_rnd_coo(struct state *st, int k)
{
int i;
+ int loop = 0;
st->xy_coo[k].x = (random() % (st->xgwa.width-2*st->radius));
st->xy_coo[k].y = (random() % (st->xgwa.height-2*st->radius));
i=-1; /* ugly */
}
}
+ if (loop++ > 1000) return; /* let's not get stuck */
}
}
#include "rotator.h"
#include "gltrackball.h"
#include <ctype.h>
+#include <math.h>
#ifdef USE_GL /* whole file */
-/* xscreensaver, Copyright (c) 1998-2012 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1998-2014 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
#include "xpm-ximage.h"
#include "rotator.h"
#include "gltrackball.h"
+
+#ifdef __GNUC__
+ __extension__ /* don't warn about "string length is greater than the length
+ ISO C89 compilers are required to support" when including
+ the following XPM file... */
+#endif
#if 0
# include "../images/lament128.xpm"
#else
Display *dpy = MI_DISPLAY(mi);
Window window = MI_WINDOW(mi);
int wire = MI_IS_WIREFRAME(mi);
- double r, ps;
+ double r=0, ps=0;
int i;
if (!bp->glx_context)
# include <unistd.h>
#endif
-
#include "starwars.h"
#define DEFAULTS "*delay: 40000 \n" \
"*showFPS: False \n" \
}
+#ifdef __GNUC__
+ __extension__ /* don't warn about "string length is greater than the length
+ ISO C89 compilers are required to support" when including
+ "starwars.txt" in the defaults... */
+#endif
+
XSCREENSAVER_MODULE_2 ("StarWars", starwars, sws)
#endif /* USE_GL */
if (!initted)
{
#ifdef HAVE_GTK2
+#if !GLIB_CHECK_VERSION(2, 36 ,0)
g_type_init ();
+#endif
#endif
gdk_pixbuf_xlib_init (dpy, DefaultScreen (dpy));
xlib_rgb_init (dpy, DefaultScreenOfDisplay (dpy));
-/* xscreensaver, Copyright (c) 2002-2012 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 2002-2014 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
from earlier days before the advent of virtual memory management."
-- sbrk(2) man page on MacOS
*/
+# if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) /* gcc >= 4.2 */
+# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+# endif
himem = ((unsigned char *) sbrk(0)) - (2 * sizeof(void *));
# endif
-/* xscreensaver, Copyright (c) 1992-2013 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1992-2014 Jamie Zawinski <jwz@jwz.org>
*
* reaction/diffusion textures
* Copyright (c) 1997 Scott Draves spot@transmeta.com
if (st->width <= 0) st->width = 48 + BELLRAND(256);
if (st->height <= 0) st->height = 48 + BELLRAND(256);
+ if (st->width > st->xgwa.width) st->width = st->xgwa.width;
+ if (st->height > st->xgwa.height) st->height = st->xgwa.height;
+
/* jwz: when (and only when) XSHM is in use on an SGI 8-bit visual,
we get shear unless st->width is a multiple of 4. I don't understand
why. This is undoubtedly the wrong fix... */
* implied warranty.
*/
+/* (circle-mode by jwz, 4-Jun-2014; not finished yet.) */
+
/*
* Options:
*
* -n <num> number of zoomboxes
* -move enable mobile zoomboxes
* -sweep enable sweep mode
+ * -circle enable circle mode
* -anim enable snapshot mode
* -no-anim enable snapshot mode
* -delay delay in milliseconds
int num_zoom;
int move;
int sweep;
+ int circle;
int delay;
int anim;
int duration;
int x, y, c, s, zoom, z;
int x2 = za->x + za->w - 1, y2 = za->y + za->h - 1;
int ox = 0, oy = 0;
+ int w2 = (za->w/2) * (za->w/2);
z = 8100 * sin (M_PI * za->a2 / 8192);
zoom = 8192 + z;
- c = zoom * cos (M_PI * za->a1 / 8192);
- s = zoom * sin (M_PI * za->a1 / 8192);
for (y = za->y; y <= y2; y++) {
for (x = za->x; x <= x2; x++) {
- ox = (x * c + y * s) >> 13;
- oy = (-x * s + y * c) >> 13;
+ c = zoom * cos (M_PI * za->a1 / 8192);
+ s = zoom * sin (M_PI * za->a1 / 8192);
+ if (st->circle) {
+ int cx = za->x + za->w / 2;
+ int cy = za->y + za->h / 2;
+ int dx = x - cx;
+ int dy = y - cy;
+ int d2 = (dx*dx) + (dy*dy);
+
+ ox = x;
+ oy = y;
+
+ if (d2 > w2) {
+ ox = x;
+ oy = y;
+ } else {
+ double r = sqrt ((double) d2);
+ double th = atan ((double)dy / (double) (dx == 0 ? 1 : dx));
+ th += M_PI * (za->a1 / 300.0);
+ ox = 10 + cx + (int) (r * cos(th));
+ oy = 10 + cy + (int) (r * sin(th));
+ }
+ } else {
+ ox = (x * c + y * s) >> 13;
+ oy = (-x * s + y * c) >> 13;
+ }
while (ox < 0)
ox += st->width;
}
za->a1 += za->inc1; /* Rotation angle */
- za->a1 &= 0x3fff;;
+ za->a1 &= 0x3fff;
za->a2 += za->inc2; /* Zoom */
za->a2 &= 0x3fff;
za->a2 = 0;
za->inc1 = ((2 * (random() & 1)) - 1) * (1 + random () % 7);
za->inc2 = ((2 * (random() & 1)) - 1) * (1 + random () % 7);
+ } else if (st->circle) {
+
+ za->w = 50 + random() % 300;
+ if (za->w > st->width / 3)
+ za->w = st->width / 3;
+ if (za->w > st->height / 3)
+ za->w = st->height / 3;
+ za->h = za->w;
+
+ za->ww = st->width - za->w;
+ za->hh = st->height - za->h;
+
+ za->x = (za->ww ? random() % za->ww : 0);
+ za->y = (za->hh ? random() % za->hh : 0);
+
+ za->dx = 0;
+ za->dy = 0;
+ za->inc1 = ((2 * (random() & 1)) - 1) * (random () % 30);
+
+ if (st->anim) {
+ za->n = 50 + random() % 1000;
+ za->a1 = 0;
+ za->a2 = 0;
+ } else {
+ za->n = 5 + random() % 10;
+ za->a1 = random ();
+ za->a2 = random ();
+ }
+
+ za->inc1 = ((2 * (random() & 1)) - 1) * (random () % 30);
+ za->inc2 = ((2 * (random() & 1)) - 1) * (random () % 30);
+
} else {
za->w = 50 + random() % 300;
za->h = 50 + random() % 300;
st->move = True;
else if (!strcasecmp (s, "sweep"))
st->sweep = True;
+ else if (!strcasecmp (s, "circle"))
+ st->circle = True;
else
fprintf (stderr, "%s: bogus mode: \"%s\"\n", progname, s);
if (!st->anim)
st->sweep = 0;
+ if (st->circle) {
+ st->move = 0;
+ st->sweep = 0;
+ }
+
st->start_time = time ((time_t) 0);
setup_X (st);
{ "-mode", ".mode", XrmoptionSepArg, 0 },
{ "-move", ".mode", XrmoptionNoArg, "move" },
{ "-sweep", ".mode", XrmoptionNoArg, "sweep" },
+ { "-circle", ".mode", XrmoptionNoArg, "circle"},
{ "-anim", ".anim", XrmoptionNoArg, "True" },
{ "-no-anim", ".anim", XrmoptionNoArg, "False" },
{ "-delay", ".delay", XrmoptionSepArg, 0 },
if (ticked_p && st->cache[st->thresh])
{
- XCopyArea (st->dpy,
- st->cache[st->thresh],
- st->output, st->pgc,
- 0, 0, st->delta->width, st->delta->height,
- 0, 0);
+ if (st->output)
+ XCopyArea (st->dpy,
+ st->cache[st->thresh],
+ st->output, st->pgc,
+ 0, 0, st->delta->width, st->delta->height,
+ 0, 0);
}
else if (ticked_p)
{
fprintf (stderr, "%s: out of memory\n", progname);
abort();
}
- XCopyArea (st->dpy,
- st->output,
- st->cache[st->thresh],
- st->pgc,
- 0, 0, st->delta->width, st->delta->height,
- 0, 0);
+ if (st->output)
+ XCopyArea (st->dpy,
+ st->output,
+ st->cache[st->thresh],
+ st->pgc,
+ 0, 0, st->delta->width, st->delta->height,
+ 0, 0);
}
}
{
struct state *st = (struct state *) closure;
flush_cache (st);
- XFreeGC (dpy, st->wgc);
- XFreeGC (dpy, st->pgc);
+ if (st->wgc) XFreeGC (dpy, st->wgc);
+ if (st->pgc) XFreeGC (dpy, st->pgc);
if (st->image) XFreePixmap (dpy, st->image);
if (st->output) XFreePixmap (dpy, st->output);
if (st->delta) XDestroyImage (st->delta);
my $progname = $0; $progname =~ s@.*/@@g;
-my ($version) = ('$Revision: 1.164 $' =~ m/\s(\d[.\d]+)\s/s);
+my ($version) = ('$Revision: 1.165 $' =~ m/\s(\d[.\d]+)\s/s);
my $copyright = "WebCollage $version, Copyright (c) 1999-2014" .
" Jamie Zawinski <jwz\@jwz.org>\n" .
" http://www.jwz.org/webcollage/\n";
#
############################################################################
-my $bing_images_url = "http://www.bing.com/images/async" .
- "?CW=0" .
- "&CH=0" .
- "&q=";
+my $bing_images_url = "http://www.bing.com/images/async?q=";
# bingimgs
if (! gdk_pixbuf_get_has_alpha (pb))
{
GdkPixbuf *pb2 = gdk_pixbuf_add_alpha (pb, FALSE, 0, 0, 0);
- gdk_pixbuf_unref (pb);
+ g_object_unref (pb);
pb = pb2;
}
int new_h = paste_h * from_scale;
GdkPixbuf *new_pb = gdk_pixbuf_scale_simple (paste_pb, new_w, new_h,
GDK_INTERP_HYPER);
- gdk_pixbuf_unref (paste_pb);
+ g_object_unref (paste_pb);
paste_pb = new_pb;
paste_w = gdk_pixbuf_get_width (paste_pb);
paste_h = gdk_pixbuf_get_height (paste_pb);
fprintf (stderr, "%s: pasted %dx%d from %d,%d to %d,%d\n",
progname, paste_w, paste_h, from_x, from_y, to_x, to_y);
- gdk_pixbuf_unref (paste_pb);
+ g_object_unref (paste_pb);
write_pixbuf (base_pb, base_file);
- gdk_pixbuf_unref (base_pb);
+ g_object_unref (base_pb);
}
if (h < 0) usage();
#ifdef HAVE_GTK2
+#if !GLIB_CHECK_VERSION(2, 36 ,0)
g_type_init ();
+#endif
#endif /* HAVE_GTK2 */
paste (paste_file, base_file,
/* xlockmore.c --- xscreensaver compatibility layer for xlockmore modules.
- * xscreensaver, Copyright (c) 1997-2013 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 1997-2014 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
#ifdef HAVE_COCOA
/* In Cocoa-based xscreensaver, all hacks run in the same address space,
- so each one needs to get its own screen number. We just use a global
- counter for that, instead of actually trying to figure out which
- monitor each window is on. Also, the embedded "preview" view counts
- as a screen as well.
-
- Note that the screen number will increase each time the saver is
- restarted (e.g., each time preferences are changed!) So we just
- keep pushing the num_screens number up as needed, and assume that
- no more than 10 simultanious copies will be running at once...
+ so each one needs to get its own screen number. Believe what jwxyz
+ says about screen counts and numbers.
*/
- {
- static int screen_tick = 0;
- mi->num_screens = 10;
- mi->screen_number = screen_tick++;
- if (screen_tick >= mi->num_screens)
- mi->num_screens += 10;
- }
-
+ mi->num_screens = ScreenCount (dpy);
+ mi->screen_number = XScreenNumberOfScreen (mi->xgwa.screen);
root_p = True;
+
#else /* !HAVE_COCOA -- real Xlib */
/* In Xlib-based xscreensaver, each hack runs in its own address space,
if (!initted)
{
#ifdef HAVE_GTK2
+#if !GLIB_CHECK_VERSION(2, 36 ,0)
g_type_init ();
+#endif
#endif /* HAVE_GTK2 */
gdk_pixbuf_xlib_init (dpy, screen_number (xgwa.screen));
xlib_rgb_init (dpy, xgwa.screen);
TARFILES = $(DISTFILES_1) $(POFILES) $(SOURCES)
POTFILES = \
+# This comment gets stripped out
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
-# Auto-generated: Mon Dec 9 03:01:47 PST 2013
+# Auto-generated: Sun Jun 8 14:43:58 PDT 2014
driver/demo-Gtk-conf.c
-driver/demo-Gtk-support.c
-driver/demo-Gtk-widgets.c
driver/demo-Gtk.c
driver/screensaver-properties.desktop.in
driver/xscreensaver-demo.glade2
hacks/config/polytopes.xml
hacks/config/pong.xml
hacks/config/popsquares.xml
+hacks/config/projectiveplane.xml
hacks/config/providence.xml
hacks/config/pulsar.xml
hacks/config/pyro.xml
hacks/config/swirl.xml
hacks/config/t3d.xml
hacks/config/tangram.xml
+hacks/config/tessellimage.xml
hacks/config/thornbird.xml
hacks/config/timetunnel.xml
hacks/config/topblock.xml
static const char screensaver_id[] =
- "@(#)xscreensaver 5.27 (27-May-2014), by Jamie Zawinski (jwz@jwz.org)";
+ "@(#)xscreensaver 5.29 (08-Jun-2014), by Jamie Zawinski (jwz@jwz.org)";
%define name xscreensaver
-%define version 5.27
+%define version 5.29
Summary: X screen saver and locker
Name: %{name}
/Users/jwz/src/xscreensaver/OSX,
);
INFOPLIST_FILE = "$(SRCROOT)/OSX/Updater.plist";
- "OTHER_CFLAGS[sdk=macosx*]" = "";
+ "OTHER_CFLAGS[sdk=macosx*]" = "-fno-objc-gc";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
/Users/jwz/src/xscreensaver/OSX,
);
INFOPLIST_FILE = "$(SRCROOT)/OSX/Updater.plist";
- "OTHER_CFLAGS[sdk=macosx*]" = "";
+ "OTHER_CFLAGS[sdk=macosx*]" = "-fno-objc-gc";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
LIBRARY_SEARCH_PATHS = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)";
MACOSX_DEPLOYMENT_TARGET = 10.4;
OTHER_CFLAGS = "";
- "OTHER_CFLAGS[sdk=macosx*]" = "";
+ "OTHER_CFLAGS[sdk=macosx*]" = "-fobjc-gc";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
"SDKROOT[arch=arm*]" = iphoneos;
"LLVM_LTO[sdk=macosx*]" = YES;
MACOSX_DEPLOYMENT_TARGET = 10.4;
OTHER_CFLAGS = "";
- "OTHER_CFLAGS[sdk=macosx*]" = "";
+ "OTHER_CFLAGS[sdk=macosx*]" = "-fobjc-gc";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
"SDKROOT[arch=arm*]" = iphoneos;