Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37891889
en ru br
Репозитории ALT
S:1.2.4-alt1
5.1: 1.2.0-alt1
4.1: 1.1.3-alt1
4.0: 1.1.2-alt1
www.altlinux.org/Changes

Группа :: Система/Библиотеки
Пакет: libXScrnSaver

 Главная   Изменения   Спек   Патчи   Исходники   Загрузить   Gear   Bugs and FR  Repocop 

pax_global_header00006660000000000000000000000064117260370450014517gustar00rootroot0000000000000052 comment=0ec072963f5964e09fbf84f4cd7d7ff8a9f3291f
libXScrnSaver-1.2.2/000075500000000000000000000000001172603704500142445ustar00rootroot00000000000000libXScrnSaver-1.2.2/.gitignore000064400000000000000000000017561172603704500162450ustar00rootroot00000000000000#
# X.Org module default exclusion patterns
# The next section if for module specific patterns
#
# Do not edit the following section
# GNU Build System (Autotools)
aclocal.m4
autom4te.cache/
autoscan.log
ChangeLog
compile
config.guess
config.h
config.h.in
config.log
config-ml.in
config.py
config.status
config.status.lineno
config.sub
configure
configure.scan
depcomp
.deps/
INSTALL
install-sh
.libs/
libtool
libtool.m4
ltmain.sh
lt~obsolete.m4
ltoptions.m4
ltsugar.m4
ltversion.m4
Makefile
Makefile.in
mdate-sh
missing
mkinstalldirs
*.pc
py-compile
stamp-h?
symlink-tree
texinfo.tex
ylwrap

# Do not edit the following section
# Edit Compile Debug Document Distribute
*~
*.[0-9]
*.[0-9]x
*.bak
*.bin
core
*.dll
*.exe
*-ISO*.bdf
*-JIS*.bdf
*-KOI8*.bdf
*.kld
*.ko
*.ko.cmd
*.lai
*.l[oa]
*.[oa]
*.obj
*.patch
*.so
*.pcf.gz
*.pdb
*.tar.bz2
*.tar.gz
#
# Add & Override patterns for libXScrnSaver
#
# Edit the following section as needed
# For example, !report.pc overrides *.pc. See 'man gitignore'
#
libXScrnSaver-1.2.2/COPYING000064400000000000000000000050371172603704500153040ustar00rootroot00000000000000Copyright (c) 1992 X Consortium

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Except as contained in this notice, the name of the X Consortium shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from the X Consortium.


Copyright (C) 2003 The XFree86 Project, Inc. All Rights Reserved.

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
IN NO EVENT SHALL THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES
OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Except as contained in this notice, the name of the XFree86 Project
shall not be used in advertising or otherwise to promote the sale, use
or other dealings in this Software without prior written authorization
from the XFree86 Project.
libXScrnSaver-1.2.2/Makefile.am000064400000000000000000000027101172603704500163000ustar00rootroot00000000000000#
# Copyright 2005 Red Hat, Inc.
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of Red Hat not be used in
# advertising or publicity pertaining to distribution of the software without
# specific, written prior permission. Red Hat makes no
# representations about the suitability of this software for any purpose. It
# is provided "as is" without express or implied warranty.
#
# RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
# EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.

SUBDIRS = src man

pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = xscrnsaver.pc

MAINTAINERCLEANFILES = ChangeLog INSTALL

.PHONY: ChangeLog INSTALL

INSTALL:
$(INSTALL_CMD)

ChangeLog:
$(CHANGELOG_CMD)

dist-hook: ChangeLog INSTALL

if LINT
# Check source code with tools like lint & sparse
lint:
(cd src && $(MAKE) $(MFLAGS) lint)
endif LINT
libXScrnSaver-1.2.2/README000064400000000000000000000012741172603704500151300ustar00rootroot00000000000000XScreenSaver - X11 Screen Saver extension client library

All questions regarding this software should be directed at the
Xorg mailing list:

http://lists.freedesktop.org/mailman/listinfo/xorg

Please submit bug reports to the Xorg bugzilla:

https://bugs.freedesktop.org/enter_bug.cgi?product=xorg

The master development code repository can be found at:

git://anongit.freedesktop.org/git/xorg/lib/libXScrnSaver

http://cgit.freedesktop.org/xorg/lib/libXScrnSaver

For patch submission instructions, see:

http://www.x.org/wiki/Development/Documentation/SubmittingPatches

For more information on the git code manager, see:

http://wiki.x.org/wiki/GitPage

libXScrnSaver-1.2.2/autogen.sh000075500000000000000000000003031172603704500162410ustar00rootroot00000000000000#! /bin/sh

srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.

ORIGDIR=`pwd`
cd $srcdir

autoreconf -v --install || exit 1
cd $ORIGDIR || exit $?

$srcdir/configure --enable-maintainer-mode "$@"
libXScrnSaver-1.2.2/configure.ac000064400000000000000000000037711172603704500165420ustar00rootroot00000000000000
# Copyright 2005 Red Hat, Inc.
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of Red Hat not be used in
# advertising or publicity pertaining to distribution of the software without
# specific, written prior permission. Red Hat makes no
# representations about the suitability of this software for any purpose. It
# is provided "as is" without express or implied warranty.
#
# RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
# EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
#

# Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([libXScrnSaver], [1.2.2],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libXScrnSaver])
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_HEADERS([config.h])

# Initialize Automake
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE

# Initialize libtool
AC_PROG_LIBTOOL

# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
m4_ifndef([XORG_MACROS_VERSION],
[m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])])
XORG_MACROS_VERSION(1.8)
XORG_DEFAULT_OPTIONS
XORG_CHECK_MALLOC_ZERO

# Obtain compiler/linker options for depedencies
PKG_CHECK_MODULES(XSCRNSAVER, x11 xext xextproto [scrnsaverproto >= 1.2])

# Allow checking code with lint, sparse, etc.
XORG_WITH_LINT
XORG_LINT_LIBRARY([Xss])

AC_CONFIG_FILES([Makefile
src/Makefile
man/Makefile
xscrnsaver.pc])
AC_OUTPUT
libXScrnSaver-1.2.2/include/000075500000000000000000000000001172603704500156675ustar00rootroot00000000000000libXScrnSaver-1.2.2/include/X11/000075500000000000000000000000001172603704500162405ustar00rootroot00000000000000libXScrnSaver-1.2.2/include/X11/extensions/000075500000000000000000000000001172603704500204375ustar00rootroot00000000000000libXScrnSaver-1.2.2/include/X11/extensions/scrnsaver.h000064400000000000000000000101711172603704500226160ustar00rootroot00000000000000/*
*
Copyright (c) 1992 X Consortium

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Except as contained in this notice, the name of the X Consortium shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from the X Consortium.
*
* Author: Keith Packard, MIT X Consortium
*/

#ifndef _SCRNSAVER_H_
#define _SCRNSAVER_H_

#include <X11/Xfuncproto.h>
#include <X11/Xlib.h>
#include <X11/extensions/saver.h>

typedef struct {
int type; /* of event */
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came frome a SendEvent request */
Display *display; /* Display the event was read from */
Window window; /* screen saver window */
Window root; /* root window of event screen */
int state; /* ScreenSaverOff, ScreenSaverOn, ScreenSaverCycle*/
int kind; /* ScreenSaverBlanked, ...Internal, ...External */
Bool forced; /* extents of new region */
Time time; /* event timestamp */
} XScreenSaverNotifyEvent;

typedef struct {
Window window; /* screen saver window - may not exist */
int state; /* ScreenSaverOff, ScreenSaverOn, ScreenSaverDisabled*/
int kind; /* ScreenSaverBlanked, ...Internal, ...External */
unsigned long til_or_since; /* time til or since screen saver */
unsigned long idle; /* total time since last user input */
unsigned long eventMask; /* currently selected events for this client */
} XScreenSaverInfo;

_XFUNCPROTOBEGIN

extern Bool XScreenSaverQueryExtension (
Display* /* display */,
int* /* event_base */,
int* /* error_base */
);

extern Status XScreenSaverQueryVersion (
Display* /* display */,
int* /* major_version */,
int* /* minor_version */
);

extern XScreenSaverInfo *XScreenSaverAllocInfo (
void
);

extern Status XScreenSaverQueryInfo (
Display* /* display */,
Drawable /* drawable */,
XScreenSaverInfo* /* info */
);

extern void XScreenSaverSelectInput (
Display* /* display */,
Drawable /* drawable */,
unsigned long /* eventMask */
);

extern void XScreenSaverSetAttributes (
Display* /* display */,
Drawable /* drawable */,
int /* x */,
int /* y */,
unsigned int /* width */,
unsigned int /* height */,
unsigned int /* border_width */,
int /* depth */,
unsigned int /* class */,
Visual * /* visual */,
unsigned long /* valuemask */,
XSetWindowAttributes * /* attributes */
);

extern void XScreenSaverUnsetAttributes (
Display* /* display */,
Drawable /* drawable */
);

extern Status XScreenSaverRegister (
Display* /* display */,
int /* screen */,
XID /* xid */,
Atom /* type */
);

extern Status XScreenSaverUnregister (
Display* /* display */,
int /* screen */
);

extern Status XScreenSaverGetRegistered (
Display* /* display */,
int /* screen */,
XID* /* xid */,
Atom* /* type */
);

extern void XScreenSaverSuspend (
Display* /* display */,
Bool /* suspend */
);

_XFUNCPROTOEND

#endif /* _SCRNSAVER_H_ */
libXScrnSaver-1.2.2/man/000075500000000000000000000000001172603704500150175ustar00rootroot00000000000000libXScrnSaver-1.2.2/man/Makefile.am000064400000000000000000000035051172603704500170560ustar00rootroot00000000000000#
# Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
#

libmandir = $(LIB_MAN_DIR)

libman_PRE = \
Xss.man \
$(Xss_shadows:=.man)

Xss_shadows = \
XScreenSaverQueryExtension \
XScreenSaverQueryVersion \
XScreenSaverAllocInfo \
XScreenSaverQueryInfo \
XScreenSaverSelectInput \
XScreenSaverSetAttributes \
XScreenSaverUnsetAttributes \
XScreenSaverRegister \
XScreenSaverUnregister \
XScreenSaverGetRegistered \
XScreenSaverSuspend

EXTRA_DIST = $(libman_PRE)
CLEANFILES = $(libman_DATA)

libman_DATA = $(libman_PRE:man=@LIB_MAN_SUFFIX@)

SUFFIXES = .$(LIB_MAN_SUFFIX) .man

# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
.man.$(LIB_MAN_SUFFIX):
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@

libXScrnSaver-1.2.2/man/XScreenSaverAllocInfo.man000064400000000000000000000000551172603704500216530ustar00rootroot00000000000000.so man__libmansuffix__/Xss.__libmansuffix__
libXScrnSaver-1.2.2/man/XScreenSaverGetRegistered.man000064400000000000000000000000551172603704500225420ustar00rootroot00000000000000.so man__libmansuffix__/Xss.__libmansuffix__
libXScrnSaver-1.2.2/man/XScreenSaverQueryExtension.man000064400000000000000000000000551172603704500230070ustar00rootroot00000000000000.so man__libmansuffix__/Xss.__libmansuffix__
libXScrnSaver-1.2.2/man/XScreenSaverQueryInfo.man000064400000000000000000000000551172603704500217260ustar00rootroot00000000000000.so man__libmansuffix__/Xss.__libmansuffix__
libXScrnSaver-1.2.2/man/XScreenSaverQueryVersion.man000064400000000000000000000000551172603704500224600ustar00rootroot00000000000000.so man__libmansuffix__/Xss.__libmansuffix__
libXScrnSaver-1.2.2/man/XScreenSaverRegister.man000064400000000000000000000000551172603704500215710ustar00rootroot00000000000000.so man__libmansuffix__/Xss.__libmansuffix__
libXScrnSaver-1.2.2/man/XScreenSaverSelectInput.man000064400000000000000000000000551172603704500222440ustar00rootroot00000000000000.so man__libmansuffix__/Xss.__libmansuffix__
libXScrnSaver-1.2.2/man/XScreenSaverSetAttributes.man000064400000000000000000000000551172603704500226070ustar00rootroot00000000000000.so man__libmansuffix__/Xss.__libmansuffix__
libXScrnSaver-1.2.2/man/XScreenSaverSuspend.man000064400000000000000000000000551172603704500214260ustar00rootroot00000000000000.so man__libmansuffix__/Xss.__libmansuffix__
libXScrnSaver-1.2.2/man/XScreenSaverUnregister.man000064400000000000000000000000551172603704500221340ustar00rootroot00000000000000.so man__libmansuffix__/Xss.__libmansuffix__
libXScrnSaver-1.2.2/man/XScreenSaverUnsetAttributes.man000064400000000000000000000000551172603704500231520ustar00rootroot00000000000000.so man__libmansuffix__/Xss.__libmansuffix__
libXScrnSaver-1.2.2/man/Xss.man000064400000000000000000000352101172603704500162720ustar00rootroot00000000000000.\"
.\" Copyright (C) 2003 The XFree86 Project, Inc. All Rights Reserved.
.\"
.\" Permission is hereby granted, free of charge, to any person obtaining
.\" a copy of this software and associated documentation files (the
.\" "Software"), to deal in the Software without restriction, including
.\" without limitation the rights to use, copy, modify, merge, publish,
.\" distribute, sublicense, and/or sell copies of the Software, and to
.\" permit persons to whom the Software is furnished to do so, subject to
.\" the following conditions:
.\"
.\" The above copyright notice and this permission notice shall be
.\" included in all copies or substantial portions of the Software.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
.\" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
.\" IN NO EVENT SHALL THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES
.\" OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE.
.\"
.\" Except as contained in this notice, the name of the XFree86 Project
.\" shall not be used in advertising or otherwise to promote the sale, use
.\" or other dealings in this Software without prior written authorization
.\" from the XFree86 Project.
.\"
.TH XScreenSaver __libmansuffix__ __vendorversion__
.SH NAME
XScreenSaver \- X11 Screen Saver extension client library
.SH SYNOPSIS
.B #include <X11/extensions/scrnsaver.h>
.PP
.nf
.ta .5i 2i
typedef struct {
Window window; /\(** screen saver window */
int state; /\(** ScreenSaver{Off,On,Disabled} */
int kind; /\(** ScreenSaver{Blanked,Internal,External} */
unsigned long til_or_since; /\(** milliseconds */
unsigned long idle; /\(** milliseconds */
unsigned long eventMask; /\(** events */
.br
} XScreenSaverInfo;

typedef struct {
int type; /\(** of event */
unsigned long serial; /\(** # of last request processed by server */
Bool send_event; /\(** true if this came frome a SendEvent request */
Display *display; /\(** Display the event was read from */
Window window; /\(** screen saver window */
Window root; /\(** root window of event screen */
int state; /\(** ScreenSaver{Off,On,Cycle} */
int kind; /\(** ScreenSaver{Blanked,Internal,External} */
Bool forced; /\(** extents of new region */
Time time; /\(** event timestamp */
.br
} XScreenSaverNotifyEvent;
.fi
.HP
Bool XScreenSaverQueryExtension(Display *\fIdpy\fP,
int *\fIevent_base_return\fP, int *\fIerror_base_return\fP\^);
.HP
Status XScreenSaverQueryVersion(Display *\fIdpy\fP,
int *\fImajor_version_return\fP, int *\fIminor_version_return\fP\^);
.HP
XScreenSaverInfo *XScreenSaverAllocInfo(\^void\^);
.HP
Status XScreenSaverQueryInfo(\^Display *\fIdpy\fP, Drawable \fIdrawable\fP,
XScreenSaverInfo *\fIsaver_info\fP\^);
.HP
void XScreenSaverSelectInput(Display *\fIdpy\fP, Drawable \fIdrawable\fP,
unsigned long \fImask\fp\^);
.HP
void XScreenSaverSetAttributes(Display *\fIdpy\fP, Drawable \fIdrawable\fP,
int \fIx\fP,
int \fIy\fP,
unsigned int \fIwidth\fP,
unsigned int \fIheight\fP,
unsigned int \fIborder_width\fP,
int \fIdepth\fP,
unsigned int \fIclass\fP,
Visual *\fIvisual\fP,
unsigned long \fIvaluemask\fP,
XSetWindowAttributes *\fIattributes\fP\^);
.HP
void XScreenSaverUnsetAttributes(Display *\fIdpy\fP,
Drawable \fIdrawable\fP\^);
.HP
void XScreenSaverSaverRegister(Display *\fIdpy\fP, int \fIscreen\fP,
XID \fIxid\fP, Atom \fItype\fP\^);
.HP
Status XScreenSaverUnregister(Display *\fIdpy\fP, int \fIscreen\fP\^);
.HP
Status XScreenSaverGetRegistered(Display *\fIdpy\fP, int \fIscreen\fP,
XID *\fIxid\fP, Atom *\fItype\fP\^);
.HP
void XScreenSaverSuspend(Display *\fIdpy\fP, Bool \fIsuspend\fP\^);
.PP
.SH DESCRIPTION
The X Window System provides support for changing the image on a
display screen after a user-settable period of inactivity to avoid
burning the cathode ray tube phosphors.
However, no interfaces are provided for the user to control the image
that is drawn.
This extension allows an external ``screen saver'' client to detect
when the alternate image is to be displayed and to provide the
graphics.
.PP
Current X server implementations typically provide at least one form of
``screen saver'' image.
Historically, this has been a copy of the X logo drawn against the
root background pattern.
However, many users have asked for the mechanism to allow them to
write screen saver programs that provide capabilities similar to those
provided by other window systems.
In particular, such users often wish to be able to display corporate
logos, instructions on how to reactivate the screen, and automatic
screen-locking utilities.
This extension provides a means for writing such clients.
.SS Assumptions
This extension exports the notion of a special screen saver window that is
mapped above all other windows on a display.
This window has the \fIoverride-redirect\fP attribute set so that it
is not subject to manipulation by the window manager.
Furthermore, the X identifier for the window is never returned by
\fBQueryTree\fP requests on the root window, so it is typically not
visible to other clients.
.PP
.B XScreenSaverQueryExtension
returns
.B True
if the
.I XScreenSaver
extension is available on the given display.
A client must call
.B XScreenSaverQueryExtension
before calling any other XScreenSaver function in order
to negotiate a compatible protocol version; otherwise the client will
get undefined behavior (XScreenSaver may or may not work).
.PP
If the extension is supported, the event number for
.I ScreenSaverNotify
events is returned in the value pointed to by \fIevent_base\fP.
Since no additional errors are defined by this extension, the results
of \fIerror_base\fP are not defined.
.PP
.B XScreenSaverQueryVersion
returns
.B True
if the request succeeded; the values of the major and minor protocol
versions supported by the server are returned in
.I major_version_return
and
.I minor_version_return .
.PP
.B XScreenSaverAllocInfo
allocates and returns an \fBXScreenSaverInfo\fP structure
for use in calls to \fBXScreenSaverQueryInfo\fP.
All fields in the structure are initialized to zero.
If insufficient memory is available, NULL is returned.
The results of this routine can be released using \fIXFree\fP.
.PP
.B XScreenSaverQueryInfo
returns information about the current state of the
screen server in \fIsaver_info\fP and a non-zero value is
returned.
If the extension is not supported, \fIsaver_info\fP is not changed and 0
is returned.
.PP
The \fIstate\fP field specifies whether or not the screen saver is currently
active and how the \fItil-or-since\fP value should be interpreted:
.TP 4
.I Off
The screen is not currently being saved; \fItil-or-since\fP
specifies the number of milliseconds until the screen saver is expected to
activate.
.TP 4
.I On
The screen is currently being saved; \fItil-or-since\fP specifies
the number of milliseconds since the screen saver activated.
.TP 4
.I Disabled
The screen saver is currently disabled; \fItil-or-since\fP is zero.
.PP
The \fIkind\fP field specifies the mechanism that either is currently being
used or would have been were the screen being saved:
.TP 4
.I Blanked
The video signal to the display monitor was disabled.
.TP 4
.I Internal
A server-dependent, built-in screen saver image was displayed; either no
client had set the screen saver window attributes or a different client
had the server grabbed when the screen saver activated.
.TP 4
.I External
The screen saver window was mapped with attributes set by a
client using the \fBScreenSaverSetAttributes\fP request.
.PP
The \fIidle\fP field specifies the number of milliseconds since the last
input was received from the user on any of the input devices.
.br
The \fIevent-mask\fP field specifies which, if any, screen saver
events this client has requested using \fBScreenSaverSelectInput\fP.
.PP
.B XScreenSaverSelectInput
asks that events related to
the screen saver be generated for this client.
If
no bits are set in \fIevent-mask\fP, then no events will be generated.
Otherwise, any combination of the following bits may be set:
.TP 8
.B ScreenSaverNotify
If this bit is set, \fBScreenSaverNotify\fP events are generated whenever
the screen saver is activated or deactivated.
.TP 8
.B ScreenSaverCycle
If this bit is set, \fBScreenSaverNotify\fP events are generated whenever
the screen saver cycle interval passes.
.PP
.B XScreenSaverSetAttributes
sets the attributes to be used
the next time the external screen saver is activated.
If another client currently has the attributes set,
a BadAccess error is generated and the request is ignored.
.br
Otherwise, the specified window attributes are checked as if
they were used in a core \fBCreateWindow\fP request whose
parent is the root.
The \fIoverride-redirect\fP field is ignored as it is implicitly set
to True.
If the window attributes result in an error according to the rules for
\fBCreateWindow\fP, the request is ignored.
.br
Otherwise, the attributes are stored and will take effect on the next
activation that occurs when the server is not grabbed by another client.
Any resources specified for the
\fIbackground-pixmap\fP or \fIcursor\fP attributes may be
freed immediately.
The server is free to copy the \fIbackground-pixmap\fP or \fIcursor\fP
resources or to use them in place; therefore, the effect of changing
the contents of those resources is undefined.
If the specified \fIcolormap\fP no longer exists when the screen saver
activates, the parent's colormap is used instead.
If no errors are generated by this request, any previous screen saver
window attributes set by this client are released.
.br
When the screen saver next activates and the server is not grabbed by
another client, the screen saver window is
created, if necessary, and set to the specified attributes and events
are generated as usual.
The colormap associated with the screen saver window is installed.
Finally, the screen saver window is mapped.
.br
The window remains mapped and at the top of the stacking order
until the screen saver is deactivated in response to activity on
any of the user input devices, a \fBForceScreenSaver\fP request with
a value of Reset, or any request that would cause the window to be
unmapped.
.br
If the screen saver activates while the server is grabbed by another
client, the internal saver mechanism is used.
The \fBForceScreenSaver\fP request may be used with a value of Active
to deactivate the internal saver and activate the external saver.
.br
If the screen saver client's connection to the server is broken
while the screen saver is activated and the client's close down mode has not
been RetainPermanent or RetainTemporary, the current screen saver
is deactivated and the internal screen saver is immediately activated.
.br
When the screen saver deactivates, the screen saver window's colormap
is uninstalled and the window is unmapped (except as described below).
The screen saver XID is disassociated
with the window and the server may, but is not required to,
destroy the window along with any children.
.br
When the screen saver is being deactivated and then immediately
reactivated (such as when switching screen savers), the server
may leave the screen saver window mapped (typically to avoid
generating exposures).
.PP
.B XScreenSaverUnsetAttributes
instructs the server to discard
any previous screen saver window attributes set by this client.
.PP
.B XScreenSaverRegister
stores the given \fIXID\fP in the \fB_SCREEN_SAVER_ID\fP
property (of the given \fItype\fP) on the
root window of the specified \fIscreen\fP.
It returns zero if an error is encountered and the property is not
changed, otherwise it returns non-zero.
.PP
.B XScreenSaverUnregister
removes any \fB_SCREEN_SAVER_ID\fP from the
root window of the specified \fIscreen\fP.
It returns zero if an error is encountered and the property is
changed, otherwise it returns non-zero.
.PP
.B XScreenSaverGetRegistered
returns the \fIXID\fP and \fItype\fP stored in
the \fB_SCREEN_SAVER_ID\fP property on the
root window of the specified \fIscreen\fP.
It returns zero if an error is encountered or if the property does not
exist or is not of the correct format; otherwise it returns non-zero.
.PP
.B XScreenSaverSuspend
temporarily suspends the screensaver and DPMS timer if \fIsuspend\fP
is 'True', and restarts the timer if \fIsuspend\fP is 'False'.
.br
This function should be used by applications that don't want the
screensaver or DPMS to become activated while they're for example in
the process of playing a media sequence, or are otherwise continuously
presenting visual information to the user while in a non-interactive
state. This function is not intended to be called by an external
screensaver application.
.br
If \fBXScreenSaverSuspend\fP is called multiple times with \fIsuspend\fP
set to 'True', it must be called an equal number of times with
\fIsuspend\fP set to 'False' in order for the screensaver timer to be
restarted. This request has no affect if a client tries to resume the
screensaver without first having suspended it.
\fBXScreenSaverSuspend\fP can thus not be used by one client to resume
the screensaver if it's been suspended by another client.
.br
If a client that has suspended the screensaver becomes disconnected from
the X server, the screensaver timer will automatically be restarted, unless
it's still suspended by another client. Suspending the screensaver timer
doesn't prevent the screensaver from being forceably activated with the
\fBForceScreenSaver\fP request, or a DPMS mode from being set with the
\fBDPMSForceLevel\fP request.
.br
\fBXScreenSaverSuspend\fP also doesn't deactivate the screensaver or DPMS
if either is active at the time the request to suspend them is received by
the X server. But once they've been deactivated, they won't automatically
be activated again, until the client has canceled the suspension.
.SH "ERRORS"
.B XScreenSaverSelectInput,
.B XScreenSaverQueryInfo,
.B XScreenSaverSetAttributes
and
.B XScreenSaverUnsetAttributes
will generate a
.I BadDrawable
error if \fIdrawable\fP is not a valid drawable identifier.
If any undefined bits are set in \fIevent-mask\fP,
a BadValue error is generated by
.B XScreenSaverSelectInput .
.PP
.SH AVAILABILITY
\fBXScreenSaverSuspend\fP is available in version 1.1 and later versions
of the X Screen Saver Extension. Version 1.1 was first released with
X11R7.1.
.PP
.SH "SEE ALSO"
X(__miscmansuffix__)
.SH AUTHORS
Jim Fulton and Keith Packard.
.SH STABILITY
This API is considered as experimental.
The Xss library major revision may be incremented whenever
incompatible changes are done to the API without notice.
Use with care.
libXScrnSaver-1.2.2/src/000075500000000000000000000000001172603704500150335ustar00rootroot00000000000000libXScrnSaver-1.2.2/src/Makefile.am000064400000000000000000000016101172603704500170650ustar00rootroot00000000000000AM_CFLAGS = -I$(top_srcdir)/include \
-I$(top_srcdir)/include/X11 \
-I$(top_srcdir)/include/X11/extensions \
$(XSCRNSAVER_CFLAGS) \
$(MALLOC_ZERO_CFLAGS) \
$(CWARNFLAGS)

lib_LTLIBRARIES = libXss.la

libXss_la_SOURCES = \
XScrnSaver.c

libXss_la_LIBADD = $(XSCRNSAVER_LIBS)

libXss_la_LDFLAGS = -version-info 1:0:0 -no-undefined

libXScrnSaverincludedir = $(includedir)/X11/extensions
libXScrnSaverinclude_HEADERS = $(top_srcdir)/include/X11/extensions/scrnsaver.h

if LINT
ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS)

lint:
$(LINT) $(ALL_LINT_FLAGS) $(libXss_la_SOURCES)
endif LINT

if MAKE_LINT_LIB
lintlibdir = $(libdir)

lintlib_DATA = $(LINTLIB)

$(LINTLIB): $(libXss_la_SOURCES)
$(LINT) -y -oXss -x $(ALL_LINT_FLAGS) $(libXss_la_SOURCES)
endif MAKE_LINT_LIB
libXScrnSaver-1.2.2/src/XScrnSaver.c000064400000000000000000000310361172603704500172400ustar00rootroot00000000000000/*
*
Copyright (c) 1992 X Consortium

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Except as contained in this notice, the name of the X Consortium shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from the X Consortium.
*
* Author: Keith Packard, MIT X Consortium
*/

#include <X11/Xlibint.h>
#include <X11/Xutil.h>
#include <X11/extensions/Xext.h>
#include <X11/extensions/extutil.h>
#include <X11/extensions/saverproto.h>
#include <X11/extensions/scrnsaver.h>


static XExtensionInfo _screen_saver_info_data;
static XExtensionInfo *screen_saver_info = &_screen_saver_info_data;
static const char *screen_saver_extension_name = ScreenSaverName;

#define ScreenSaverCheckExtension(dpy,i,val) \
XextCheckExtension (dpy, i, screen_saver_extension_name, val)
#define ScreenSaverSimpleCheckExtension(dpy,i) \
XextSimpleCheckExtension (dpy, i, screen_saver_extension_name)

static int close_display(
Display * /* dpy */,
XExtCodes * /* codes */
);

static Bool wire_to_event(
Display * /* dpy */,
XEvent * /* re */,
xEvent * /* event */
);

static Status event_to_wire(
Display * /* dpy */,
XEvent * /* re */,
xEvent * /* event */
);

static /* const */ XExtensionHooks screen_saver_extension_hooks = {
NULL, /* create_gc */
NULL, /* copy_gc */
NULL, /* flush_gc */
NULL, /* free_gc */
NULL, /* create_font */
NULL, /* free_font */
close_display, /* close_display */
wire_to_event, /* wire_to_event */
event_to_wire, /* event_to_wire */
NULL, /* error */
NULL, /* error_string */
};

static XEXT_GENERATE_FIND_DISPLAY (find_display, screen_saver_info,
screen_saver_extension_name,
&screen_saver_extension_hooks,
ScreenSaverNumberEvents, NULL)

static XEXT_GENERATE_CLOSE_DISPLAY (close_display, screen_saver_info)


static Bool wire_to_event (
Display *dpy,
XEvent *re,
xEvent *event)
{
XExtDisplayInfo *info = find_display (dpy);
XScreenSaverNotifyEvent *se;
xScreenSaverNotifyEvent *sevent;

ScreenSaverCheckExtension (dpy, info, False);

switch ((event->u.u.type & 0x7f) - info->codes->first_event) {
case ScreenSaverNotify:
se = (XScreenSaverNotifyEvent *) re;
sevent = (xScreenSaverNotifyEvent *) event;
se->type = sevent->type & 0x7f;
se->serial = _XSetLastRequestRead(dpy,(xGenericReply *) event);
se->send_event = (sevent->type & 0x80) != 0;
se->display = dpy;
se->window = sevent->window;
se->window = sevent->root;
se->state = sevent->state;
se->kind = sevent->kind;
se->forced = True;
if (sevent->forced == xFalse)
se->forced = False;
se->time = sevent->timestamp;
return True;
}
return False;
}

static Status event_to_wire (
Display *dpy,
XEvent *re,
xEvent *event)
{
XExtDisplayInfo *info = find_display (dpy);
XScreenSaverNotifyEvent *se;
xScreenSaverNotifyEvent *sevent;

ScreenSaverCheckExtension (dpy, info, 0);

switch ((re->type & 0x7f) - info->codes->first_event) {
case ScreenSaverNotify:
se = (XScreenSaverNotifyEvent *) re;
sevent = (xScreenSaverNotifyEvent *) event;
sevent->type = se->type | (se->send_event ? 0x80 : 0);
sevent->sequenceNumber = se->serial & 0xffff;
sevent->root = se->root;
sevent->window = se->window;
sevent->state = se->state;
sevent->kind = se->kind;
sevent->forced = xFalse;
if (se->forced == True)
sevent->forced = xTrue;
sevent->timestamp = se->time;
return 1;
}
return 0;
}

/****************************************************************************
* *
* ScreenSaver public interfaces *
* *
****************************************************************************/

Bool XScreenSaverQueryExtension (
Display *dpy,
int *event_base_return,
int *error_base_return)
{
XExtDisplayInfo *info = find_display (dpy);

if (XextHasExtension(info)) {
*event_base_return = info->codes->first_event;
*error_base_return = info->codes->first_error;
return True;
} else {
return False;
}
}


Status XScreenSaverQueryVersion(
Display *dpy,
int *major_version_return,
int *minor_version_return)
{
XExtDisplayInfo *info = find_display (dpy);
xScreenSaverQueryVersionReply rep;
register xScreenSaverQueryVersionReq *req;

ScreenSaverCheckExtension (dpy, info, 0);

LockDisplay (dpy);
GetReq (ScreenSaverQueryVersion, req);
req->reqType = info->codes->major_opcode;
req->saverReqType = X_ScreenSaverQueryVersion;
req->clientMajor = ScreenSaverMajorVersion;
req->clientMinor = ScreenSaverMinorVersion;
if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) {
UnlockDisplay (dpy);
SyncHandle ();
return 0;
}
*major_version_return = rep.majorVersion;
*minor_version_return = rep.minorVersion;
UnlockDisplay (dpy);
SyncHandle ();
return 1;
}

XScreenSaverInfo *XScreenSaverAllocInfo (void)
{
return (XScreenSaverInfo *) Xmalloc (sizeof (XScreenSaverInfo));
}

Status XScreenSaverQueryInfo (
Display *dpy,
Drawable drawable,
XScreenSaverInfo *saver_info)
{
XExtDisplayInfo *info = find_display (dpy);
xScreenSaverQueryInfoReply rep;
register xScreenSaverQueryInfoReq *req;

ScreenSaverCheckExtension (dpy, info, 0);

LockDisplay (dpy);
GetReq (ScreenSaverQueryInfo, req);
req->reqType = info->codes->major_opcode;
req->saverReqType = X_ScreenSaverQueryInfo;
req->drawable = drawable;
if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) {
UnlockDisplay (dpy);
SyncHandle ();
return 0;
}
UnlockDisplay (dpy);
SyncHandle ();
saver_info->window = rep.window;
saver_info->state = rep.state;
saver_info->kind = rep.kind;
saver_info->til_or_since = rep.tilOrSince;
saver_info->idle = rep.idle;
saver_info->eventMask = rep.eventMask;
return 1;
}

void XScreenSaverSelectInput (
register Display *dpy,
Drawable drawable,
unsigned long mask)
{
XExtDisplayInfo *info = find_display (dpy);
register xScreenSaverSelectInputReq *req;

ScreenSaverSimpleCheckExtension (dpy, info);

LockDisplay (dpy);
GetReq (ScreenSaverSelectInput, req);
req->reqType = info->codes->major_opcode;
req->saverReqType = X_ScreenSaverSelectInput;
req->drawable = drawable;
req->eventMask = mask;
UnlockDisplay (dpy);
SyncHandle ();
}

static void
XScreenSaverProcessWindowAttributes (
register Display *dpy,
xChangeWindowAttributesReq *req,
register unsigned long valuemask,
register XSetWindowAttributes *attributes)
{
unsigned long values[32];
register unsigned long *value = values;
unsigned int nvalues;

if (valuemask & CWBackPixmap)
*value++ = attributes->background_pixmap;

if (valuemask & CWBackPixel)
*value++ = attributes->background_pixel;

if (valuemask & CWBorderPixmap)
*value++ = attributes->border_pixmap;

if (valuemask & CWBorderPixel)
*value++ = attributes->border_pixel;

if (valuemask & CWBitGravity)
*value++ = attributes->bit_gravity;

if (valuemask & CWWinGravity)
*value++ = attributes->win_gravity;

if (valuemask & CWBackingStore)
*value++ = attributes->backing_store;

if (valuemask & CWBackingPlanes)
*value++ = attributes->backing_planes;

if (valuemask & CWBackingPixel)
*value++ = attributes->backing_pixel;

if (valuemask & CWOverrideRedirect)
*value++ = attributes->override_redirect;

if (valuemask & CWSaveUnder)
*value++ = attributes->save_under;

if (valuemask & CWEventMask)
*value++ = attributes->event_mask;

if (valuemask & CWDontPropagate)
*value++ = attributes->do_not_propagate_mask;

if (valuemask & CWColormap)
*value++ = attributes->colormap;

if (valuemask & CWCursor)
*value++ = attributes->cursor;

req->length += (nvalues = value - values);

nvalues <<= 2; /* watch out for macros... */
Data32 (dpy, (long *) values, (long)nvalues);

}

void XScreenSaverSetAttributes (
Display *dpy,
Drawable drawable,
int x,
int y,
unsigned int width,
unsigned int height,
unsigned int border_width,
int depth,
unsigned int class,
Visual *visual,
unsigned long valuemask,
XSetWindowAttributes *attributes)
{
XExtDisplayInfo *info = find_display (dpy);
register xScreenSaverSetAttributesReq *req;

ScreenSaverSimpleCheckExtension (dpy, info);

LockDisplay (dpy);
GetReq (ScreenSaverSetAttributes, req);
req->reqType = info->codes->major_opcode;
req->saverReqType = X_ScreenSaverSetAttributes;
req->drawable = drawable;
req->x = x;
req->y = y;
req->width = width;
req->height = height;
req->borderWidth = border_width;
req->c_class = class;
req->depth = depth;
if (visual == (Visual *)CopyFromParent)
req->visualID = CopyFromParent;
else
req->visualID = visual->visualid;
/* abuse an Xlib internal interface - is this legal for us? */
if ((req->mask = valuemask))
XScreenSaverProcessWindowAttributes (dpy,
(xChangeWindowAttributesReq *)req,
valuemask, attributes);
UnlockDisplay (dpy);
SyncHandle ();
}


void XScreenSaverUnsetAttributes (
register Display *dpy,
Drawable drawable)
{
XExtDisplayInfo *info = find_display (dpy);
register xScreenSaverUnsetAttributesReq *req;

ScreenSaverSimpleCheckExtension (dpy, info);

LockDisplay (dpy);
GetReq (ScreenSaverUnsetAttributes, req);
req->reqType = info->codes->major_opcode;
req->saverReqType = X_ScreenSaverUnsetAttributes;
req->drawable = drawable;
UnlockDisplay (dpy);
SyncHandle ();
}


Status XScreenSaverRegister (
Display *dpy,
int screen,
XID xid,
Atom type)
{
Atom prop;
unsigned long ul;

prop = XInternAtom (dpy, ScreenSaverPropertyName, False);
if (!prop)
return 0;

ul = (unsigned long) xid;
XChangeProperty (dpy, RootWindow(dpy,screen), prop, type, 32,
PropModeReplace, (unsigned char *) &ul, 1);
return 1;
}



Status XScreenSaverUnregister (
Display *dpy,
int screen)
{
Atom prop;

prop = XInternAtom (dpy, ScreenSaverPropertyName, False);
if (!prop)
return 0;

XDeleteProperty (dpy, RootWindow(dpy,screen), prop);
return 1;
}



Status XScreenSaverGetRegistered (
Display *dpy,
int screen,
XID *xid,
Atom *type)
{
Atom actual_type = None;
int actual_format;
unsigned long nitems, bytesafter;
unsigned long *ulp = (unsigned long *) 0;
Atom prop;
int retval = 0;

prop = XInternAtom (dpy, ScreenSaverPropertyName, False);
if (!prop)
return retval;

if (XGetWindowProperty (dpy, RootWindow(dpy,screen), prop, 0L, 1L, False,
AnyPropertyType, &actual_type, &actual_format,
&nitems, &bytesafter, (unsigned char **) &ulp)
!= Success)
return retval;

if (ulp) {
if (actual_format == 32) {
*xid = (XID) ulp[0];
*type = actual_type;
retval = 1;
}
XFree ((char *) ulp);
}
return retval;
}

void
XScreenSaverSuspend (Display *dpy, Bool suspend)
{
XExtDisplayInfo *info = find_display (dpy);
xScreenSaverSuspendReq *req;

ScreenSaverSimpleCheckExtension (dpy, info);

LockDisplay (dpy);
GetReq (ScreenSaverSuspend, req);
req->reqType = info->codes->major_opcode;
req->saverReqType = X_ScreenSaverSuspend;
req->suspend = suspend;
UnlockDisplay (dpy);
SyncHandle ();
}

libXScrnSaver-1.2.2/xscrnsaver.pc.in000064400000000000000000000004071172603704500173740ustar00rootroot00000000000000prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@

Name: XScrnSaver
Description: The XScrnSaver Library
Version: @PACKAGE_VERSION@
Requires: scrnsaverproto
Requires.private: x11 xext
Cflags: -I${includedir}
Libs: -L${libdir} -lXss
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin