libX11-1.7.5/ 0000755 0001750 0001750 00000000000 14222353116 007564 5 0000000 0000000 libX11-1.7.5/config.sub 0000755 0001750 0001750 00000103273 14222353107 011475 0000000 0000000 #! /bin/sh
# Configuration validation subroutine script.
# Copyright 1992-2021 Free Software Foundation, Inc.
timestamp='2021-01-07'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see .
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that
# program. This Exception is an additional permission under section 7
# of the GNU General Public License, version 3 ("GPLv3").
# Please send patches to .
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1.
# Otherwise, we print the canonical config type on stdout and succeed.
# You can get the latest version of this script from:
# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
# that are meaningful with *any* GNU software.
# Each package is responsible for reporting which valid configurations
# it does not support. The user should be able to distinguish
# a failure to support a valid configuration from a meaningless
# configuration.
# The goal of this file is to map all the various variations of a given
# machine specification into a single specification in the form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or in some cases, the newer four-part form:
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification.
me=$(echo "$0" | sed -e 's,.*/,,')
usage="\
Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
Canonicalize a configuration name.
Options:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
Report bugs and patches to ."
version="\
GNU config.sub ($timestamp)
Copyright 1992-2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help="
Try \`$me --help' for more information."
# Parse command line
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
echo "$timestamp" ; exit ;;
--version | -v )
echo "$version" ; exit ;;
--help | --h* | -h )
echo "$usage"; exit ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
break ;;
-* )
echo "$me: invalid option $1$help" >&2
exit 1 ;;
*local*)
# First pass through any local machine types.
echo "$1"
exit ;;
* )
break ;;
esac
done
case $# in
0) echo "$me: missing argument$help" >&2
exit 1;;
1) ;;
*) echo "$me: too many arguments$help" >&2
exit 1;;
esac
# Split fields of configuration type
# shellcheck disable=SC2162
IFS="-" read field1 field2 field3 field4 <&2
exit 1
;;
*-*-*-*)
basic_machine=$field1-$field2
basic_os=$field3-$field4
;;
*-*-*)
# Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
# parts
maybe_os=$field2-$field3
case $maybe_os in
nto-qnx* | linux-* | uclinux-uclibc* \
| uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
| netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
| storm-chaos* | os2-emx* | rtmk-nova*)
basic_machine=$field1
basic_os=$maybe_os
;;
android-linux)
basic_machine=$field1-unknown
basic_os=linux-android
;;
*)
basic_machine=$field1-$field2
basic_os=$field3
;;
esac
;;
*-*)
# A lone config we happen to match not fitting any pattern
case $field1-$field2 in
decstation-3100)
basic_machine=mips-dec
basic_os=
;;
*-*)
# Second component is usually, but not always the OS
case $field2 in
# Prevent following clause from handling this valid os
sun*os*)
basic_machine=$field1
basic_os=$field2
;;
# Manufacturers
dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
| att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
| unicom* | ibm* | next | hp | isi* | apollo | altos* \
| convergent* | ncr* | news | 32* | 3600* | 3100* \
| hitachi* | c[123]* | convex* | sun | crds | omron* | dg \
| ultra | tti* | harris | dolphin | highlevel | gould \
| cbm | ns | masscomp | apple | axis | knuth | cray \
| microblaze* | sim | cisco \
| oki | wec | wrs | winbond)
basic_machine=$field1-$field2
basic_os=
;;
*)
basic_machine=$field1
basic_os=$field2
;;
esac
;;
esac
;;
*)
# Convert single-component short-hands not valid as part of
# multi-component configurations.
case $field1 in
386bsd)
basic_machine=i386-pc
basic_os=bsd
;;
a29khif)
basic_machine=a29k-amd
basic_os=udi
;;
adobe68k)
basic_machine=m68010-adobe
basic_os=scout
;;
alliant)
basic_machine=fx80-alliant
basic_os=
;;
altos | altos3068)
basic_machine=m68k-altos
basic_os=
;;
am29k)
basic_machine=a29k-none
basic_os=bsd
;;
amdahl)
basic_machine=580-amdahl
basic_os=sysv
;;
amiga)
basic_machine=m68k-unknown
basic_os=
;;
amigaos | amigados)
basic_machine=m68k-unknown
basic_os=amigaos
;;
amigaunix | amix)
basic_machine=m68k-unknown
basic_os=sysv4
;;
apollo68)
basic_machine=m68k-apollo
basic_os=sysv
;;
apollo68bsd)
basic_machine=m68k-apollo
basic_os=bsd
;;
aros)
basic_machine=i386-pc
basic_os=aros
;;
aux)
basic_machine=m68k-apple
basic_os=aux
;;
balance)
basic_machine=ns32k-sequent
basic_os=dynix
;;
blackfin)
basic_machine=bfin-unknown
basic_os=linux
;;
cegcc)
basic_machine=arm-unknown
basic_os=cegcc
;;
convex-c1)
basic_machine=c1-convex
basic_os=bsd
;;
convex-c2)
basic_machine=c2-convex
basic_os=bsd
;;
convex-c32)
basic_machine=c32-convex
basic_os=bsd
;;
convex-c34)
basic_machine=c34-convex
basic_os=bsd
;;
convex-c38)
basic_machine=c38-convex
basic_os=bsd
;;
cray)
basic_machine=j90-cray
basic_os=unicos
;;
crds | unos)
basic_machine=m68k-crds
basic_os=
;;
da30)
basic_machine=m68k-da30
basic_os=
;;
decstation | pmax | pmin | dec3100 | decstatn)
basic_machine=mips-dec
basic_os=
;;
delta88)
basic_machine=m88k-motorola
basic_os=sysv3
;;
dicos)
basic_machine=i686-pc
basic_os=dicos
;;
djgpp)
basic_machine=i586-pc
basic_os=msdosdjgpp
;;
ebmon29k)
basic_machine=a29k-amd
basic_os=ebmon
;;
es1800 | OSE68k | ose68k | ose | OSE)
basic_machine=m68k-ericsson
basic_os=ose
;;
gmicro)
basic_machine=tron-gmicro
basic_os=sysv
;;
go32)
basic_machine=i386-pc
basic_os=go32
;;
h8300hms)
basic_machine=h8300-hitachi
basic_os=hms
;;
h8300xray)
basic_machine=h8300-hitachi
basic_os=xray
;;
h8500hms)
basic_machine=h8500-hitachi
basic_os=hms
;;
harris)
basic_machine=m88k-harris
basic_os=sysv3
;;
hp300 | hp300hpux)
basic_machine=m68k-hp
basic_os=hpux
;;
hp300bsd)
basic_machine=m68k-hp
basic_os=bsd
;;
hppaosf)
basic_machine=hppa1.1-hp
basic_os=osf
;;
hppro)
basic_machine=hppa1.1-hp
basic_os=proelf
;;
i386mach)
basic_machine=i386-mach
basic_os=mach
;;
isi68 | isi)
basic_machine=m68k-isi
basic_os=sysv
;;
m68knommu)
basic_machine=m68k-unknown
basic_os=linux
;;
magnum | m3230)
basic_machine=mips-mips
basic_os=sysv
;;
merlin)
basic_machine=ns32k-utek
basic_os=sysv
;;
mingw64)
basic_machine=x86_64-pc
basic_os=mingw64
;;
mingw32)
basic_machine=i686-pc
basic_os=mingw32
;;
mingw32ce)
basic_machine=arm-unknown
basic_os=mingw32ce
;;
monitor)
basic_machine=m68k-rom68k
basic_os=coff
;;
morphos)
basic_machine=powerpc-unknown
basic_os=morphos
;;
moxiebox)
basic_machine=moxie-unknown
basic_os=moxiebox
;;
msdos)
basic_machine=i386-pc
basic_os=msdos
;;
msys)
basic_machine=i686-pc
basic_os=msys
;;
mvs)
basic_machine=i370-ibm
basic_os=mvs
;;
nacl)
basic_machine=le32-unknown
basic_os=nacl
;;
ncr3000)
basic_machine=i486-ncr
basic_os=sysv4
;;
netbsd386)
basic_machine=i386-pc
basic_os=netbsd
;;
netwinder)
basic_machine=armv4l-rebel
basic_os=linux
;;
news | news700 | news800 | news900)
basic_machine=m68k-sony
basic_os=newsos
;;
news1000)
basic_machine=m68030-sony
basic_os=newsos
;;
necv70)
basic_machine=v70-nec
basic_os=sysv
;;
nh3000)
basic_machine=m68k-harris
basic_os=cxux
;;
nh[45]000)
basic_machine=m88k-harris
basic_os=cxux
;;
nindy960)
basic_machine=i960-intel
basic_os=nindy
;;
mon960)
basic_machine=i960-intel
basic_os=mon960
;;
nonstopux)
basic_machine=mips-compaq
basic_os=nonstopux
;;
os400)
basic_machine=powerpc-ibm
basic_os=os400
;;
OSE68000 | ose68000)
basic_machine=m68000-ericsson
basic_os=ose
;;
os68k)
basic_machine=m68k-none
basic_os=os68k
;;
paragon)
basic_machine=i860-intel
basic_os=osf
;;
parisc)
basic_machine=hppa-unknown
basic_os=linux
;;
psp)
basic_machine=mipsallegrexel-sony
basic_os=psp
;;
pw32)
basic_machine=i586-unknown
basic_os=pw32
;;
rdos | rdos64)
basic_machine=x86_64-pc
basic_os=rdos
;;
rdos32)
basic_machine=i386-pc
basic_os=rdos
;;
rom68k)
basic_machine=m68k-rom68k
basic_os=coff
;;
sa29200)
basic_machine=a29k-amd
basic_os=udi
;;
sei)
basic_machine=mips-sei
basic_os=seiux
;;
sequent)
basic_machine=i386-sequent
basic_os=
;;
sps7)
basic_machine=m68k-bull
basic_os=sysv2
;;
st2000)
basic_machine=m68k-tandem
basic_os=
;;
stratus)
basic_machine=i860-stratus
basic_os=sysv4
;;
sun2)
basic_machine=m68000-sun
basic_os=
;;
sun2os3)
basic_machine=m68000-sun
basic_os=sunos3
;;
sun2os4)
basic_machine=m68000-sun
basic_os=sunos4
;;
sun3)
basic_machine=m68k-sun
basic_os=
;;
sun3os3)
basic_machine=m68k-sun
basic_os=sunos3
;;
sun3os4)
basic_machine=m68k-sun
basic_os=sunos4
;;
sun4)
basic_machine=sparc-sun
basic_os=
;;
sun4os3)
basic_machine=sparc-sun
basic_os=sunos3
;;
sun4os4)
basic_machine=sparc-sun
basic_os=sunos4
;;
sun4sol2)
basic_machine=sparc-sun
basic_os=solaris2
;;
sun386 | sun386i | roadrunner)
basic_machine=i386-sun
basic_os=
;;
sv1)
basic_machine=sv1-cray
basic_os=unicos
;;
symmetry)
basic_machine=i386-sequent
basic_os=dynix
;;
t3e)
basic_machine=alphaev5-cray
basic_os=unicos
;;
t90)
basic_machine=t90-cray
basic_os=unicos
;;
toad1)
basic_machine=pdp10-xkl
basic_os=tops20
;;
tpf)
basic_machine=s390x-ibm
basic_os=tpf
;;
udi29k)
basic_machine=a29k-amd
basic_os=udi
;;
ultra3)
basic_machine=a29k-nyu
basic_os=sym1
;;
v810 | necv810)
basic_machine=v810-nec
basic_os=none
;;
vaxv)
basic_machine=vax-dec
basic_os=sysv
;;
vms)
basic_machine=vax-dec
basic_os=vms
;;
vsta)
basic_machine=i386-pc
basic_os=vsta
;;
vxworks960)
basic_machine=i960-wrs
basic_os=vxworks
;;
vxworks68)
basic_machine=m68k-wrs
basic_os=vxworks
;;
vxworks29k)
basic_machine=a29k-wrs
basic_os=vxworks
;;
xbox)
basic_machine=i686-pc
basic_os=mingw32
;;
ymp)
basic_machine=ymp-cray
basic_os=unicos
;;
*)
basic_machine=$1
basic_os=
;;
esac
;;
esac
# Decode 1-component or ad-hoc basic machines
case $basic_machine in
# Here we handle the default manufacturer of certain CPU types. It is in
# some cases the only manufacturer, in others, it is the most popular.
w89k)
cpu=hppa1.1
vendor=winbond
;;
op50n)
cpu=hppa1.1
vendor=oki
;;
op60c)
cpu=hppa1.1
vendor=oki
;;
ibm*)
cpu=i370
vendor=ibm
;;
orion105)
cpu=clipper
vendor=highlevel
;;
mac | mpw | mac-mpw)
cpu=m68k
vendor=apple
;;
pmac | pmac-mpw)
cpu=powerpc
vendor=apple
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
cpu=m68000
vendor=att
;;
3b*)
cpu=we32k
vendor=att
;;
bluegene*)
cpu=powerpc
vendor=ibm
basic_os=cnk
;;
decsystem10* | dec10*)
cpu=pdp10
vendor=dec
basic_os=tops10
;;
decsystem20* | dec20*)
cpu=pdp10
vendor=dec
basic_os=tops20
;;
delta | 3300 | motorola-3300 | motorola-delta \
| 3300-motorola | delta-motorola)
cpu=m68k
vendor=motorola
;;
dpx2*)
cpu=m68k
vendor=bull
basic_os=sysv3
;;
encore | umax | mmax)
cpu=ns32k
vendor=encore
;;
elxsi)
cpu=elxsi
vendor=elxsi
basic_os=${basic_os:-bsd}
;;
fx2800)
cpu=i860
vendor=alliant
;;
genix)
cpu=ns32k
vendor=ns
;;
h3050r* | hiux*)
cpu=hppa1.1
vendor=hitachi
basic_os=hiuxwe2
;;
hp3k9[0-9][0-9] | hp9[0-9][0-9])
cpu=hppa1.0
vendor=hp
;;
hp9k2[0-9][0-9] | hp9k31[0-9])
cpu=m68000
vendor=hp
;;
hp9k3[2-9][0-9])
cpu=m68k
vendor=hp
;;
hp9k6[0-9][0-9] | hp6[0-9][0-9])
cpu=hppa1.0
vendor=hp
;;
hp9k7[0-79][0-9] | hp7[0-79][0-9])
cpu=hppa1.1
vendor=hp
;;
hp9k78[0-9] | hp78[0-9])
# FIXME: really hppa2.0-hp
cpu=hppa1.1
vendor=hp
;;
hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
# FIXME: really hppa2.0-hp
cpu=hppa1.1
vendor=hp
;;
hp9k8[0-9][13679] | hp8[0-9][13679])
cpu=hppa1.1
vendor=hp
;;
hp9k8[0-9][0-9] | hp8[0-9][0-9])
cpu=hppa1.0
vendor=hp
;;
i*86v32)
cpu=$(echo "$1" | sed -e 's/86.*/86/')
vendor=pc
basic_os=sysv32
;;
i*86v4*)
cpu=$(echo "$1" | sed -e 's/86.*/86/')
vendor=pc
basic_os=sysv4
;;
i*86v)
cpu=$(echo "$1" | sed -e 's/86.*/86/')
vendor=pc
basic_os=sysv
;;
i*86sol2)
cpu=$(echo "$1" | sed -e 's/86.*/86/')
vendor=pc
basic_os=solaris2
;;
j90 | j90-cray)
cpu=j90
vendor=cray
basic_os=${basic_os:-unicos}
;;
iris | iris4d)
cpu=mips
vendor=sgi
case $basic_os in
irix*)
;;
*)
basic_os=irix4
;;
esac
;;
miniframe)
cpu=m68000
vendor=convergent
;;
*mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
cpu=m68k
vendor=atari
basic_os=mint
;;
mipsEE* | ee)
cpu=mips64r5900el
vendor=scei
case $os in
linux*)
;;
*)
os=elf
;;
esac
;;
iop)
cpu=mipsel
vendor=scei
os=irx
;;
dvp)
cpu=dvp
vendor=scei
os=elf
;;
news-3600 | risc-news)
cpu=mips
vendor=sony
basic_os=newsos
;;
next | m*-next)
cpu=m68k
vendor=next
case $basic_os in
openstep*)
;;
nextstep*)
;;
ns2*)
basic_os=nextstep2
;;
*)
basic_os=nextstep3
;;
esac
;;
np1)
cpu=np1
vendor=gould
;;
op50n-* | op60c-*)
cpu=hppa1.1
vendor=oki
basic_os=proelf
;;
pa-hitachi)
cpu=hppa1.1
vendor=hitachi
basic_os=hiuxwe2
;;
pbd)
cpu=sparc
vendor=tti
;;
pbb)
cpu=m68k
vendor=tti
;;
pc532)
cpu=ns32k
vendor=pc532
;;
pn)
cpu=pn
vendor=gould
;;
power)
cpu=power
vendor=ibm
;;
ps2)
cpu=i386
vendor=ibm
;;
rm[46]00)
cpu=mips
vendor=siemens
;;
rtpc | rtpc-*)
cpu=romp
vendor=ibm
;;
sde)
cpu=mipsisa32
vendor=sde
basic_os=${basic_os:-elf}
;;
simso-wrs)
cpu=sparclite
vendor=wrs
basic_os=vxworks
;;
tower | tower-32)
cpu=m68k
vendor=ncr
;;
vpp*|vx|vx-*)
cpu=f301
vendor=fujitsu
;;
w65)
cpu=w65
vendor=wdc
;;
w89k-*)
cpu=hppa1.1
vendor=winbond
basic_os=proelf
;;
none)
cpu=none
vendor=none
;;
leon|leon[3-9])
cpu=sparc
vendor=$basic_machine
;;
leon-*|leon[3-9]-*)
cpu=sparc
vendor=$(echo "$basic_machine" | sed 's/-.*//')
;;
*-*)
# shellcheck disable=SC2162
IFS="-" read cpu vendor <&2
exit 1
;;
esac
;;
esac
# Here we canonicalize certain aliases for manufacturers.
case $vendor in
digital*)
vendor=dec
;;
commodore*)
vendor=cbm
;;
*)
;;
esac
# Decode manufacturer-specific aliases for certain operating systems.
if test x$basic_os != x
then
# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just
# set os.
case $basic_os in
gnu/linux*)
kernel=linux
os=$(echo $basic_os | sed -e 's|gnu/linux|gnu|')
;;
os2-emx)
kernel=os2
os=$(echo $basic_os | sed -e 's|os2-emx|emx|')
;;
nto-qnx*)
kernel=nto
os=$(echo $basic_os | sed -e 's|nto-qnx|qnx|')
;;
*-*)
# shellcheck disable=SC2162
IFS="-" read kernel os <&2
exit 1
;;
esac
# As a final step for OS-related things, validate the OS-kernel combination
# (given a valid OS), if there is a kernel.
case $kernel-$os in
linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* | linux-musl* | linux-uclibc* )
;;
uclinux-uclibc* )
;;
-dietlibc* | -newlib* | -musl* | -uclibc* )
# These are just libc implementations, not actual OSes, and thus
# require a kernel.
echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
exit 1
;;
kfreebsd*-gnu* | kopensolaris*-gnu*)
;;
nto-qnx*)
;;
os2-emx)
;;
*-eabi* | *-gnueabi*)
;;
-*)
# Blank kernel with real OS is always fine.
;;
*-*)
echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2
exit 1
;;
esac
# Here we handle the case where we know the os, and the CPU type, but not the
# manufacturer. We pick the logical manufacturer.
case $vendor in
unknown)
case $cpu-$os in
*-riscix*)
vendor=acorn
;;
*-sunos*)
vendor=sun
;;
*-cnk* | *-aix*)
vendor=ibm
;;
*-beos*)
vendor=be
;;
*-hpux*)
vendor=hp
;;
*-mpeix*)
vendor=hp
;;
*-hiux*)
vendor=hitachi
;;
*-unos*)
vendor=crds
;;
*-dgux*)
vendor=dg
;;
*-luna*)
vendor=omron
;;
*-genix*)
vendor=ns
;;
*-clix*)
vendor=intergraph
;;
*-mvs* | *-opened*)
vendor=ibm
;;
*-os400*)
vendor=ibm
;;
s390-* | s390x-*)
vendor=ibm
;;
*-ptx*)
vendor=sequent
;;
*-tpf*)
vendor=ibm
;;
*-vxsim* | *-vxworks* | *-windiss*)
vendor=wrs
;;
*-aux*)
vendor=apple
;;
*-hms*)
vendor=hitachi
;;
*-mpw* | *-macos*)
vendor=apple
;;
*-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*)
vendor=atari
;;
*-vos*)
vendor=stratus
;;
esac
;;
esac
echo "$cpu-$vendor-${kernel:+$kernel-}$os"
exit
# Local variables:
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:
libX11-1.7.5/ltmain.sh 0000644 0001750 0001750 00001174165 14222353105 011341 0000000 0000000 #! /bin/sh
## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
## by inline-source v2014-01-03.01
# libtool (GNU libtool) 2.4.6
# Provide generalized library-building support services.
# Written by Gordon Matzigkeit , 1996
# Copyright (C) 1996-2015 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions. There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# GNU Libtool is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# As a special exception to the GNU General Public License,
# if you distribute this file as part of a program or library that
# is built using GNU Libtool, you may include this file under the
# same distribution terms that you use for the rest of that program.
#
# GNU Libtool is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
PROGRAM=libtool
PACKAGE=libtool
VERSION=2.4.6
package_revision=2.4.6
## ------ ##
## Usage. ##
## ------ ##
# Run './libtool --help' for help with using this script from the
# command line.
## ------------------------------- ##
## User overridable command paths. ##
## ------------------------------- ##
# After configure completes, it has a better idea of some of the
# shell tools we need than the defaults used by the functions shared
# with bootstrap, so set those here where they can still be over-
# ridden by the user, but otherwise take precedence.
: ${AUTOCONF="autoconf"}
: ${AUTOMAKE="automake"}
## -------------------------- ##
## Source external libraries. ##
## -------------------------- ##
# Much of our low-level functionality needs to be sourced from external
# libraries, which are installed to $pkgauxdir.
# Set a version string for this script.
scriptversion=2015-10-04.22; # UTC
# General shell script boiler plate, and helper functions.
# Written by Gary V. Vaughan, 2004
# Copyright (C) 2004-2015 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions. There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
# As a special exception to the GNU General Public License, if you distribute
# this file as part of a program or library that is built using GNU Libtool,
# you may include this file under the same distribution terms that you use
# for the rest of that program.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
# Please report bugs or propose patches to gary@gnu.org.
## ------ ##
## Usage. ##
## ------ ##
# Evaluate this file near the top of your script to gain access to
# the functions and variables defined here:
#
# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh
#
# If you need to override any of the default environment variable
# settings, do that before evaluating this file.
## -------------------- ##
## Shell normalisation. ##
## -------------------- ##
# Some shells need a little help to be as Bourne compatible as possible.
# Before doing anything else, make sure all that help has been provided!
DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac
fi
# NLS nuisances: We save the old values in case they are required later.
_G_user_locale=
_G_safe_locale=
for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
do
eval "if test set = \"\${$_G_var+set}\"; then
save_$_G_var=\$$_G_var
$_G_var=C
export $_G_var
_G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\"
_G_safe_locale=\"$_G_var=C; \$_G_safe_locale\"
fi"
done
# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
# Make sure IFS has a sensible default
sp=' '
nl='
'
IFS="$sp $nl"
# There are apparently some retarded systems that use ';' as a PATH separator!
if test "${PATH_SEPARATOR+set}" != set; then
PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
PATH_SEPARATOR=';'
}
fi
## ------------------------- ##
## Locate command utilities. ##
## ------------------------- ##
# func_executable_p FILE
# ----------------------
# Check that FILE is an executable regular file.
func_executable_p ()
{
test -f "$1" && test -x "$1"
}
# func_path_progs PROGS_LIST CHECK_FUNC [PATH]
# --------------------------------------------
# Search for either a program that responds to --version with output
# containing "GNU", or else returned by CHECK_FUNC otherwise, by
# trying all the directories in PATH with each of the elements of
# PROGS_LIST.
#
# CHECK_FUNC should accept the path to a candidate program, and
# set $func_check_prog_result if it truncates its output less than
# $_G_path_prog_max characters.
func_path_progs ()
{
_G_progs_list=$1
_G_check_func=$2
_G_PATH=${3-"$PATH"}
_G_path_prog_max=0
_G_path_prog_found=false
_G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:}
for _G_dir in $_G_PATH; do
IFS=$_G_save_IFS
test -z "$_G_dir" && _G_dir=.
for _G_prog_name in $_G_progs_list; do
for _exeext in '' .EXE; do
_G_path_prog=$_G_dir/$_G_prog_name$_exeext
func_executable_p "$_G_path_prog" || continue
case `"$_G_path_prog" --version 2>&1` in
*GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;;
*) $_G_check_func $_G_path_prog
func_path_progs_result=$func_check_prog_result
;;
esac
$_G_path_prog_found && break 3
done
done
done
IFS=$_G_save_IFS
test -z "$func_path_progs_result" && {
echo "no acceptable sed could be found in \$PATH" >&2
exit 1
}
}
# We want to be able to use the functions in this file before configure
# has figured out where the best binaries are kept, which means we have
# to search for them ourselves - except when the results are already set
# where we skip the searches.
# Unless the user overrides by setting SED, search the path for either GNU
# sed, or the sed that truncates its output the least.
test -z "$SED" && {
_G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
for _G_i in 1 2 3 4 5 6 7; do
_G_sed_script=$_G_sed_script$nl$_G_sed_script
done
echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed
_G_sed_script=
func_check_prog_sed ()
{
_G_path_prog=$1
_G_count=0
printf 0123456789 >conftest.in
while :
do
cat conftest.in conftest.in >conftest.tmp
mv conftest.tmp conftest.in
cp conftest.in conftest.nl
echo '' >> conftest.nl
"$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break
diff conftest.out conftest.nl >/dev/null 2>&1 || break
_G_count=`expr $_G_count + 1`
if test "$_G_count" -gt "$_G_path_prog_max"; then
# Best one so far, save it but keep looking for a better one
func_check_prog_result=$_G_path_prog
_G_path_prog_max=$_G_count
fi
# 10*(2^10) chars as input seems more than enough
test 10 -lt "$_G_count" && break
done
rm -f conftest.in conftest.tmp conftest.nl conftest.out
}
func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin
rm -f conftest.sed
SED=$func_path_progs_result
}
# Unless the user overrides by setting GREP, search the path for either GNU
# grep, or the grep that truncates its output the least.
test -z "$GREP" && {
func_check_prog_grep ()
{
_G_path_prog=$1
_G_count=0
_G_path_prog_max=0
printf 0123456789 >conftest.in
while :
do
cat conftest.in conftest.in >conftest.tmp
mv conftest.tmp conftest.in
cp conftest.in conftest.nl
echo 'GREP' >> conftest.nl
"$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break
diff conftest.out conftest.nl >/dev/null 2>&1 || break
_G_count=`expr $_G_count + 1`
if test "$_G_count" -gt "$_G_path_prog_max"; then
# Best one so far, save it but keep looking for a better one
func_check_prog_result=$_G_path_prog
_G_path_prog_max=$_G_count
fi
# 10*(2^10) chars as input seems more than enough
test 10 -lt "$_G_count" && break
done
rm -f conftest.in conftest.tmp conftest.nl conftest.out
}
func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin
GREP=$func_path_progs_result
}
## ------------------------------- ##
## User overridable command paths. ##
## ------------------------------- ##
# All uppercase variable names are used for environment variables. These
# variables can be overridden by the user before calling a script that
# uses them if a suitable command of that name is not already available
# in the command search PATH.
: ${CP="cp -f"}
: ${ECHO="printf %s\n"}
: ${EGREP="$GREP -E"}
: ${FGREP="$GREP -F"}
: ${LN_S="ln -s"}
: ${MAKE="make"}
: ${MKDIR="mkdir"}
: ${MV="mv -f"}
: ${RM="rm -f"}
: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
## -------------------- ##
## Useful sed snippets. ##
## -------------------- ##
sed_dirname='s|/[^/]*$||'
sed_basename='s|^.*/||'
# Sed substitution that helps us do robust quoting. It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'
# Same as above, but do not quote variable references.
sed_double_quote_subst='s/\(["`\\]\)/\\\1/g'
# Sed substitution that turns a string into a regex matching for the
# string literally.
sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g'
# Sed substitution that converts a w32 file name or path
# that contains forward slashes, into one that contains
# (escaped) backslashes. A very naive implementation.
sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
# Re-'\' parameter expansions in output of sed_double_quote_subst that
# were '\'-ed in input to the same. If an odd number of '\' preceded a
# '$' in input to sed_double_quote_subst, that '$' was protected from
# expansion. Since each input '\' is now two '\'s, look for any number
# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'.
_G_bs='\\'
_G_bs2='\\\\'
_G_bs4='\\\\\\\\'
_G_dollar='\$'
sed_double_backslash="\
s/$_G_bs4/&\\
/g
s/^$_G_bs2$_G_dollar/$_G_bs&/
s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g
s/\n//g"
## ----------------- ##
## Global variables. ##
## ----------------- ##
# Except for the global variables explicitly listed below, the following
# functions in the '^func_' namespace, and the '^require_' namespace
# variables initialised in the 'Resource management' section, sourcing
# this file will not pollute your global namespace with anything
# else. There's no portable way to scope variables in Bourne shell
# though, so actually running these functions will sometimes place
# results into a variable named after the function, and often use
# temporary variables in the '^_G_' namespace. If you are careful to
# avoid using those namespaces casually in your sourcing script, things
# should continue to work as you expect. And, of course, you can freely
# overwrite any of the functions or variables defined here before
# calling anything to customize them.
EXIT_SUCCESS=0
EXIT_FAILURE=1
EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
# Allow overriding, eg assuming that you follow the convention of
# putting '$debug_cmd' at the start of all your functions, you can get
# bash to show function call trace with:
#
# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
debug_cmd=${debug_cmd-":"}
exit_cmd=:
# By convention, finish your script with:
#
# exit $exit_status
#
# so that you can set exit_status to non-zero if you want to indicate
# something went wrong during execution without actually bailing out at
# the point of failure.
exit_status=$EXIT_SUCCESS
# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
# is ksh but when the shell is invoked as "sh" and the current value of
# the _XPG environment variable is not equal to 1 (one), the special
# positional parameter $0, within a function call, is the name of the
# function.
progpath=$0
# The name of this program.
progname=`$ECHO "$progpath" |$SED "$sed_basename"`
# Make sure we have an absolute progpath for reexecution:
case $progpath in
[\\/]*|[A-Za-z]:\\*) ;;
*[\\/]*)
progdir=`$ECHO "$progpath" |$SED "$sed_dirname"`
progdir=`cd "$progdir" && pwd`
progpath=$progdir/$progname
;;
*)
_G_IFS=$IFS
IFS=${PATH_SEPARATOR-:}
for progdir in $PATH; do
IFS=$_G_IFS
test -x "$progdir/$progname" && break
done
IFS=$_G_IFS
test -n "$progdir" || progdir=`pwd`
progpath=$progdir/$progname
;;
esac
## ----------------- ##
## Standard options. ##
## ----------------- ##
# The following options affect the operation of the functions defined
# below, and should be set appropriately depending on run-time para-
# meters passed on the command line.
opt_dry_run=false
opt_quiet=false
opt_verbose=false
# Categories 'all' and 'none' are always available. Append any others
# you will pass as the first argument to func_warning from your own
# code.
warning_categories=
# By default, display warnings according to 'opt_warning_types'. Set
# 'warning_func' to ':' to elide all warnings, or func_fatal_error to
# treat the next displayed warning as a fatal error.
warning_func=func_warn_and_continue
# Set to 'all' to display all warnings, 'none' to suppress all
# warnings, or a space delimited list of some subset of
# 'warning_categories' to display only the listed warnings.
opt_warning_types=all
## -------------------- ##
## Resource management. ##
## -------------------- ##
# This section contains definitions for functions that each ensure a
# particular resource (a file, or a non-empty configuration variable for
# example) is available, and if appropriate to extract default values
# from pertinent package files. Call them using their associated
# 'require_*' variable to ensure that they are executed, at most, once.
#
# It's entirely deliberate that calling these functions can set
# variables that don't obey the namespace limitations obeyed by the rest
# of this file, in order that that they be as useful as possible to
# callers.
# require_term_colors
# -------------------
# Allow display of bold text on terminals that support it.
require_term_colors=func_require_term_colors
func_require_term_colors ()
{
$debug_cmd
test -t 1 && {
# COLORTERM and USE_ANSI_COLORS environment variables take
# precedence, because most terminfo databases neglect to describe
# whether color sequences are supported.
test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"}
if test 1 = "$USE_ANSI_COLORS"; then
# Standard ANSI escape sequences
tc_reset='[0m'
tc_bold='[1m'; tc_standout='[7m'
tc_red='[31m'; tc_green='[32m'
tc_blue='[34m'; tc_cyan='[36m'
else
# Otherwise trust the terminfo database after all.
test -n "`tput sgr0 2>/dev/null`" && {
tc_reset=`tput sgr0`
test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold`
tc_standout=$tc_bold
test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso`
test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1`
test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2`
test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4`
test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5`
}
fi
}
require_term_colors=:
}
## ----------------- ##
## Function library. ##
## ----------------- ##
# This section contains a variety of useful functions to call in your
# scripts. Take note of the portable wrappers for features provided by
# some modern shells, which will fall back to slower equivalents on
# less featureful shells.
# func_append VAR VALUE
# ---------------------
# Append VALUE onto the existing contents of VAR.
# We should try to minimise forks, especially on Windows where they are
# unreasonably slow, so skip the feature probes when bash or zsh are
# being used:
if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then
: ${_G_HAVE_ARITH_OP="yes"}
: ${_G_HAVE_XSI_OPS="yes"}
# The += operator was introduced in bash 3.1
case $BASH_VERSION in
[12].* | 3.0 | 3.0*) ;;
*)
: ${_G_HAVE_PLUSEQ_OP="yes"}
;;
esac
fi
# _G_HAVE_PLUSEQ_OP
# Can be empty, in which case the shell is probed, "yes" if += is
# useable or anything else if it does not work.
test -z "$_G_HAVE_PLUSEQ_OP" \
&& (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \
&& _G_HAVE_PLUSEQ_OP=yes
if test yes = "$_G_HAVE_PLUSEQ_OP"
then
# This is an XSI compatible shell, allowing a faster implementation...
eval 'func_append ()
{
$debug_cmd
eval "$1+=\$2"
}'
else
# ...otherwise fall back to using expr, which is often a shell builtin.
func_append ()
{
$debug_cmd
eval "$1=\$$1\$2"
}
fi
# func_append_quoted VAR VALUE
# ----------------------------
# Quote VALUE and append to the end of shell variable VAR, separated
# by a space.
if test yes = "$_G_HAVE_PLUSEQ_OP"; then
eval 'func_append_quoted ()
{
$debug_cmd
func_quote_for_eval "$2"
eval "$1+=\\ \$func_quote_for_eval_result"
}'
else
func_append_quoted ()
{
$debug_cmd
func_quote_for_eval "$2"
eval "$1=\$$1\\ \$func_quote_for_eval_result"
}
fi
# func_append_uniq VAR VALUE
# --------------------------
# Append unique VALUE onto the existing contents of VAR, assuming
# entries are delimited by the first character of VALUE. For example:
#
# func_append_uniq options " --another-option option-argument"
#
# will only append to $options if " --another-option option-argument "
# is not already present somewhere in $options already (note spaces at
# each end implied by leading space in second argument).
func_append_uniq ()
{
$debug_cmd
eval _G_current_value='`$ECHO $'$1'`'
_G_delim=`expr "$2" : '\(.\)'`
case $_G_delim$_G_current_value$_G_delim in
*"$2$_G_delim"*) ;;
*) func_append "$@" ;;
esac
}
# func_arith TERM...
# ------------------
# Set func_arith_result to the result of evaluating TERMs.
test -z "$_G_HAVE_ARITH_OP" \
&& (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \
&& _G_HAVE_ARITH_OP=yes
if test yes = "$_G_HAVE_ARITH_OP"; then
eval 'func_arith ()
{
$debug_cmd
func_arith_result=$(( $* ))
}'
else
func_arith ()
{
$debug_cmd
func_arith_result=`expr "$@"`
}
fi
# func_basename FILE
# ------------------
# Set func_basename_result to FILE with everything up to and including
# the last / stripped.
if test yes = "$_G_HAVE_XSI_OPS"; then
# If this shell supports suffix pattern removal, then use it to avoid
# forking. Hide the definitions single quotes in case the shell chokes
# on unsupported syntax...
_b='func_basename_result=${1##*/}'
_d='case $1 in
*/*) func_dirname_result=${1%/*}$2 ;;
* ) func_dirname_result=$3 ;;
esac'
else
# ...otherwise fall back to using sed.
_b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`'
_d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"`
if test "X$func_dirname_result" = "X$1"; then
func_dirname_result=$3
else
func_append func_dirname_result "$2"
fi'
fi
eval 'func_basename ()
{
$debug_cmd
'"$_b"'
}'
# func_dirname FILE APPEND NONDIR_REPLACEMENT
# -------------------------------------------
# Compute the dirname of FILE. If nonempty, add APPEND to the result,
# otherwise set result to NONDIR_REPLACEMENT.
eval 'func_dirname ()
{
$debug_cmd
'"$_d"'
}'
# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT
# --------------------------------------------------------
# Perform func_basename and func_dirname in a single function
# call:
# dirname: Compute the dirname of FILE. If nonempty,
# add APPEND to the result, otherwise set result
# to NONDIR_REPLACEMENT.
# value returned in "$func_dirname_result"
# basename: Compute filename of FILE.
# value retuned in "$func_basename_result"
# For efficiency, we do not delegate to the functions above but instead
# duplicate the functionality here.
eval 'func_dirname_and_basename ()
{
$debug_cmd
'"$_b"'
'"$_d"'
}'
# func_echo ARG...
# ----------------
# Echo program name prefixed message.
func_echo ()
{
$debug_cmd
_G_message=$*
func_echo_IFS=$IFS
IFS=$nl
for _G_line in $_G_message; do
IFS=$func_echo_IFS
$ECHO "$progname: $_G_line"
done
IFS=$func_echo_IFS
}
# func_echo_all ARG...
# --------------------
# Invoke $ECHO with all args, space-separated.
func_echo_all ()
{
$ECHO "$*"
}
# func_echo_infix_1 INFIX ARG...
# ------------------------------
# Echo program name, followed by INFIX on the first line, with any
# additional lines not showing INFIX.
func_echo_infix_1 ()
{
$debug_cmd
$require_term_colors
_G_infix=$1; shift
_G_indent=$_G_infix
_G_prefix="$progname: $_G_infix: "
_G_message=$*
# Strip color escape sequences before counting printable length
for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan"
do
test -n "$_G_tc" && {
_G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"`
_G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"`
}
done
_G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes
func_echo_infix_1_IFS=$IFS
IFS=$nl
for _G_line in $_G_message; do
IFS=$func_echo_infix_1_IFS
$ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2
_G_prefix=$_G_indent
done
IFS=$func_echo_infix_1_IFS
}
# func_error ARG...
# -----------------
# Echo program name prefixed message to standard error.
func_error ()
{
$debug_cmd
$require_term_colors
func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2
}
# func_fatal_error ARG...
# -----------------------
# Echo program name prefixed message to standard error, and exit.
func_fatal_error ()
{
$debug_cmd
func_error "$*"
exit $EXIT_FAILURE
}
# func_grep EXPRESSION FILENAME
# -----------------------------
# Check whether EXPRESSION matches any line of FILENAME, without output.
func_grep ()
{
$debug_cmd
$GREP "$1" "$2" >/dev/null 2>&1
}
# func_len STRING
# ---------------
# Set func_len_result to the length of STRING. STRING may not
# start with a hyphen.
test -z "$_G_HAVE_XSI_OPS" \
&& (eval 'x=a/b/c;
test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
&& _G_HAVE_XSI_OPS=yes
if test yes = "$_G_HAVE_XSI_OPS"; then
eval 'func_len ()
{
$debug_cmd
func_len_result=${#1}
}'
else
func_len ()
{
$debug_cmd
func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
}
fi
# func_mkdir_p DIRECTORY-PATH
# ---------------------------
# Make sure the entire path to DIRECTORY-PATH is available.
func_mkdir_p ()
{
$debug_cmd
_G_directory_path=$1
_G_dir_list=
if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then
# Protect directory names starting with '-'
case $_G_directory_path in
-*) _G_directory_path=./$_G_directory_path ;;
esac
# While some portion of DIR does not yet exist...
while test ! -d "$_G_directory_path"; do
# ...make a list in topmost first order. Use a colon delimited
# list incase some portion of path contains whitespace.
_G_dir_list=$_G_directory_path:$_G_dir_list
# If the last portion added has no slash in it, the list is done
case $_G_directory_path in */*) ;; *) break ;; esac
# ...otherwise throw away the child directory and loop
_G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"`
done
_G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'`
func_mkdir_p_IFS=$IFS; IFS=:
for _G_dir in $_G_dir_list; do
IFS=$func_mkdir_p_IFS
# mkdir can fail with a 'File exist' error if two processes
# try to create one of the directories concurrently. Don't
# stop in that case!
$MKDIR "$_G_dir" 2>/dev/null || :
done
IFS=$func_mkdir_p_IFS
# Bail out if we (or some other process) failed to create a directory.
test -d "$_G_directory_path" || \
func_fatal_error "Failed to create '$1'"
fi
}
# func_mktempdir [BASENAME]
# -------------------------
# Make a temporary directory that won't clash with other running
# libtool processes, and avoids race conditions if possible. If
# given, BASENAME is the basename for that directory.
func_mktempdir ()
{
$debug_cmd
_G_template=${TMPDIR-/tmp}/${1-$progname}
if test : = "$opt_dry_run"; then
# Return a directory name, but don't create it in dry-run mode
_G_tmpdir=$_G_template-$$
else
# If mktemp works, use that first and foremost
_G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null`
if test ! -d "$_G_tmpdir"; then
# Failing that, at least try and use $RANDOM to avoid a race
_G_tmpdir=$_G_template-${RANDOM-0}$$
func_mktempdir_umask=`umask`
umask 0077
$MKDIR "$_G_tmpdir"
umask $func_mktempdir_umask
fi
# If we're not in dry-run mode, bomb out on failure
test -d "$_G_tmpdir" || \
func_fatal_error "cannot create temporary directory '$_G_tmpdir'"
fi
$ECHO "$_G_tmpdir"
}
# func_normal_abspath PATH
# ------------------------
# Remove doubled-up and trailing slashes, "." path components,
# and cancel out any ".." path components in PATH after making
# it an absolute path.
func_normal_abspath ()
{
$debug_cmd
# These SED scripts presuppose an absolute path with a trailing slash.
_G_pathcar='s|^/\([^/]*\).*$|\1|'
_G_pathcdr='s|^/[^/]*||'
_G_removedotparts=':dotsl
s|/\./|/|g
t dotsl
s|/\.$|/|'
_G_collapseslashes='s|/\{1,\}|/|g'
_G_finalslash='s|/*$|/|'
# Start from root dir and reassemble the path.
func_normal_abspath_result=
func_normal_abspath_tpath=$1
func_normal_abspath_altnamespace=
case $func_normal_abspath_tpath in
"")
# Empty path, that just means $cwd.
func_stripname '' '/' "`pwd`"
func_normal_abspath_result=$func_stripname_result
return
;;
# The next three entries are used to spot a run of precisely
# two leading slashes without using negated character classes;
# we take advantage of case's first-match behaviour.
///*)
# Unusual form of absolute path, do nothing.
;;
//*)
# Not necessarily an ordinary path; POSIX reserves leading '//'
# and for example Cygwin uses it to access remote file shares
# over CIFS/SMB, so we conserve a leading double slash if found.
func_normal_abspath_altnamespace=/
;;
/*)
# Absolute path, do nothing.
;;
*)
# Relative path, prepend $cwd.
func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
;;
esac
# Cancel out all the simple stuff to save iterations. We also want
# the path to end with a slash for ease of parsing, so make sure
# there is one (and only one) here.
func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"`
while :; do
# Processed it all yet?
if test / = "$func_normal_abspath_tpath"; then
# If we ascended to the root using ".." the result may be empty now.
if test -z "$func_normal_abspath_result"; then
func_normal_abspath_result=/
fi
break
fi
func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
-e "$_G_pathcar"`
func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-e "$_G_pathcdr"`
# Figure out what to do with it
case $func_normal_abspath_tcomponent in
"")
# Trailing empty path component, ignore it.
;;
..)
# Parent dir; strip last assembled component from result.
func_dirname "$func_normal_abspath_result"
func_normal_abspath_result=$func_dirname_result
;;
*)
# Actual path component, append it.
func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent"
;;
esac
done
# Restore leading double-slash if one was found on entry.
func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
}
# func_notquiet ARG...
# --------------------
# Echo program name prefixed message only when not in quiet mode.
func_notquiet ()
{
$debug_cmd
$opt_quiet || func_echo ${1+"$@"}
# A bug in bash halts the script if the last line of a function
# fails when set -e is in force, so we need another command to
# work around that:
:
}
# func_relative_path SRCDIR DSTDIR
# --------------------------------
# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR.
func_relative_path ()
{
$debug_cmd
func_relative_path_result=
func_normal_abspath "$1"
func_relative_path_tlibdir=$func_normal_abspath_result
func_normal_abspath "$2"
func_relative_path_tbindir=$func_normal_abspath_result
# Ascend the tree starting from libdir
while :; do
# check if we have found a prefix of bindir
case $func_relative_path_tbindir in
$func_relative_path_tlibdir)
# found an exact match
func_relative_path_tcancelled=
break
;;
$func_relative_path_tlibdir*)
# found a matching prefix
func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
func_relative_path_tcancelled=$func_stripname_result
if test -z "$func_relative_path_result"; then
func_relative_path_result=.
fi
break
;;
*)
func_dirname $func_relative_path_tlibdir
func_relative_path_tlibdir=$func_dirname_result
if test -z "$func_relative_path_tlibdir"; then
# Have to descend all the way to the root!
func_relative_path_result=../$func_relative_path_result
func_relative_path_tcancelled=$func_relative_path_tbindir
break
fi
func_relative_path_result=../$func_relative_path_result
;;
esac
done
# Now calculate path; take care to avoid doubling-up slashes.
func_stripname '' '/' "$func_relative_path_result"
func_relative_path_result=$func_stripname_result
func_stripname '/' '/' "$func_relative_path_tcancelled"
if test -n "$func_stripname_result"; then
func_append func_relative_path_result "/$func_stripname_result"
fi
# Normalisation. If bindir is libdir, return '.' else relative path.
if test -n "$func_relative_path_result"; then
func_stripname './' '' "$func_relative_path_result"
func_relative_path_result=$func_stripname_result
fi
test -n "$func_relative_path_result" || func_relative_path_result=.
:
}
# func_quote ARG
# --------------
# Aesthetically quote one ARG, store the result into $func_quote_result. Note
# that we keep attention to performance here (so far O(N) complexity as long as
# func_append is O(1)).
func_quote ()
{
$debug_cmd
func_quote_result=$1
case $func_quote_result in
*[\\\`\"\$]*)
case $func_quote_result in
*[\[\*\?]*)
func_quote_result=`$ECHO "$func_quote_result" | $SED "$sed_quote_subst"`
return 0
;;
esac
func_quote_old_IFS=$IFS
for _G_char in '\' '`' '"' '$'
do
# STATE($1) PREV($2) SEPARATOR($3)
set start "" ""
func_quote_result=dummy"$_G_char$func_quote_result$_G_char"dummy
IFS=$_G_char
for _G_part in $func_quote_result
do
case $1 in
quote)
func_append func_quote_result "$3$2"
set quote "$_G_part" "\\$_G_char"
;;
start)
set first "" ""
func_quote_result=
;;
first)
set quote "$_G_part" ""
;;
esac
done
IFS=$func_quote_old_IFS
done
;;
*) ;;
esac
}
# func_quote_for_eval ARG...
# --------------------------
# Aesthetically quote ARGs to be evaled later.
# This function returns two values:
# i) func_quote_for_eval_result
# double-quoted, suitable for a subsequent eval
# ii) func_quote_for_eval_unquoted_result
# has all characters that are still active within double
# quotes backslashified.
func_quote_for_eval ()
{
$debug_cmd
func_quote_for_eval_unquoted_result=
func_quote_for_eval_result=
while test 0 -lt $#; do
func_quote "$1"
_G_unquoted_arg=$func_quote_result
if test -n "$func_quote_for_eval_unquoted_result"; then
func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
else
func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
fi
case $_G_unquoted_arg in
# Double-quote args containing shell metacharacters to delay
# word splitting, command substitution and variable expansion
# for a subsequent eval.
# Many Bourne shells cannot handle close brackets correctly
# in scan sets, so we specify it separately.
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
_G_quoted_arg=\"$_G_unquoted_arg\"
;;
*)
_G_quoted_arg=$_G_unquoted_arg
;;
esac
if test -n "$func_quote_for_eval_result"; then
func_append func_quote_for_eval_result " $_G_quoted_arg"
else
func_append func_quote_for_eval_result "$_G_quoted_arg"
fi
shift
done
}
# func_quote_for_expand ARG
# -------------------------
# Aesthetically quote ARG to be evaled later; same as above,
# but do not quote variable references.
func_quote_for_expand ()
{
$debug_cmd
case $1 in
*[\\\`\"]*)
_G_arg=`$ECHO "$1" | $SED \
-e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
*)
_G_arg=$1 ;;
esac
case $_G_arg in
# Double-quote args containing shell metacharacters to delay
# word splitting and command substitution for a subsequent eval.
# Many Bourne shells cannot handle close brackets correctly
# in scan sets, so we specify it separately.
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
_G_arg=\"$_G_arg\"
;;
esac
func_quote_for_expand_result=$_G_arg
}
# func_stripname PREFIX SUFFIX NAME
# ---------------------------------
# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result.
# PREFIX and SUFFIX must not contain globbing or regex special
# characters, hashes, percent signs, but SUFFIX may contain a leading
# dot (in which case that matches only a dot).
if test yes = "$_G_HAVE_XSI_OPS"; then
eval 'func_stripname ()
{
$debug_cmd
# pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
# positional parameters, so assign one to ordinary variable first.
func_stripname_result=$3
func_stripname_result=${func_stripname_result#"$1"}
func_stripname_result=${func_stripname_result%"$2"}
}'
else
func_stripname ()
{
$debug_cmd
case $2 in
.*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;;
*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;;
esac
}
fi
# func_show_eval CMD [FAIL_EXP]
# -----------------------------
# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is
# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
# is given, then evaluate it.
func_show_eval ()
{
$debug_cmd
_G_cmd=$1
_G_fail_exp=${2-':'}
func_quote_for_expand "$_G_cmd"
eval "func_notquiet $func_quote_for_expand_result"
$opt_dry_run || {
eval "$_G_cmd"
_G_status=$?
if test 0 -ne "$_G_status"; then
eval "(exit $_G_status); $_G_fail_exp"
fi
}
}
# func_show_eval_locale CMD [FAIL_EXP]
# ------------------------------------
# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is
# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
# is given, then evaluate it. Use the saved locale for evaluation.
func_show_eval_locale ()
{
$debug_cmd
_G_cmd=$1
_G_fail_exp=${2-':'}
$opt_quiet || {
func_quote_for_expand "$_G_cmd"
eval "func_echo $func_quote_for_expand_result"
}
$opt_dry_run || {
eval "$_G_user_locale
$_G_cmd"
_G_status=$?
eval "$_G_safe_locale"
if test 0 -ne "$_G_status"; then
eval "(exit $_G_status); $_G_fail_exp"
fi
}
}
# func_tr_sh
# ----------
# Turn $1 into a string suitable for a shell variable name.
# Result is stored in $func_tr_sh_result. All characters
# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
# if $1 begins with a digit, a '_' is prepended as well.
func_tr_sh ()
{
$debug_cmd
case $1 in
[0-9]* | *[!a-zA-Z0-9_]*)
func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'`
;;
* )
func_tr_sh_result=$1
;;
esac
}
# func_verbose ARG...
# -------------------
# Echo program name prefixed message in verbose mode only.
func_verbose ()
{
$debug_cmd
$opt_verbose && func_echo "$*"
:
}
# func_warn_and_continue ARG...
# -----------------------------
# Echo program name prefixed warning message to standard error.
func_warn_and_continue ()
{
$debug_cmd
$require_term_colors
func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2
}
# func_warning CATEGORY ARG...
# ----------------------------
# Echo program name prefixed warning message to standard error. Warning
# messages can be filtered according to CATEGORY, where this function
# elides messages where CATEGORY is not listed in the global variable
# 'opt_warning_types'.
func_warning ()
{
$debug_cmd
# CATEGORY must be in the warning_categories list!
case " $warning_categories " in
*" $1 "*) ;;
*) func_internal_error "invalid warning category '$1'" ;;
esac
_G_category=$1
shift
case " $opt_warning_types " in
*" $_G_category "*) $warning_func ${1+"$@"} ;;
esac
}
# func_sort_ver VER1 VER2
# -----------------------
# 'sort -V' is not generally available.
# Note this deviates from the version comparison in automake
# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
# but this should suffice as we won't be specifying old
# version formats or redundant trailing .0 in bootstrap.conf.
# If we did want full compatibility then we should probably
# use m4_version_compare from autoconf.
func_sort_ver ()
{
$debug_cmd
printf '%s\n%s\n' "$1" "$2" \
| sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n
}
# func_lt_ver PREV CURR
# ---------------------
# Return true if PREV and CURR are in the correct order according to
# func_sort_ver, otherwise false. Use it like this:
#
# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..."
func_lt_ver ()
{
$debug_cmd
test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q`
}
# Local variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
# time-stamp-time-zone: "UTC"
# End:
#! /bin/sh
# Set a version string for this script.
scriptversion=2014-01-07.03; # UTC
# A portable, pluggable option parser for Bourne shell.
# Written by Gary V. Vaughan, 2010
# Copyright (C) 2010-2015 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions. There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
# Please report bugs or propose patches to gary@gnu.org.
## ------ ##
## Usage. ##
## ------ ##
# This file is a library for parsing options in your shell scripts along
# with assorted other useful supporting features that you can make use
# of too.
#
# For the simplest scripts you might need only:
#
# #!/bin/sh
# . relative/path/to/funclib.sh
# . relative/path/to/options-parser
# scriptversion=1.0
# func_options ${1+"$@"}
# eval set dummy "$func_options_result"; shift
# ...rest of your script...
#
# In order for the '--version' option to work, you will need to have a
# suitably formatted comment like the one at the top of this file
# starting with '# Written by ' and ending with '# warranty; '.
#
# For '-h' and '--help' to work, you will also need a one line
# description of your script's purpose in a comment directly above the
# '# Written by ' line, like the one at the top of this file.
#
# The default options also support '--debug', which will turn on shell
# execution tracing (see the comment above debug_cmd below for another
# use), and '--verbose' and the func_verbose function to allow your script
# to display verbose messages only when your user has specified
# '--verbose'.
#
# After sourcing this file, you can plug processing for additional
# options by amending the variables from the 'Configuration' section
# below, and following the instructions in the 'Option parsing'
# section further down.
## -------------- ##
## Configuration. ##
## -------------- ##
# You should override these variables in your script after sourcing this
# file so that they reflect the customisations you have added to the
# option parser.
# The usage line for option parsing errors and the start of '-h' and
# '--help' output messages. You can embed shell variables for delayed
# expansion at the time the message is displayed, but you will need to
# quote other shell meta-characters carefully to prevent them being
# expanded when the contents are evaled.
usage='$progpath [OPTION]...'
# Short help message in response to '-h' and '--help'. Add to this or
# override it after sourcing this library to reflect the full set of
# options your script accepts.
usage_message="\
--debug enable verbose shell tracing
-W, --warnings=CATEGORY
report the warnings falling in CATEGORY [all]
-v, --verbose verbosely report processing
--version print version information and exit
-h, --help print short or long help message and exit
"
# Additional text appended to 'usage_message' in response to '--help'.
long_help_message="
Warning categories include:
'all' show all warnings
'none' turn off all the warnings
'error' warnings are treated as fatal errors"
# Help message printed before fatal option parsing errors.
fatal_help="Try '\$progname --help' for more information."
## ------------------------- ##
## Hook function management. ##
## ------------------------- ##
# This section contains functions for adding, removing, and running hooks
# to the main code. A hook is just a named list of of function, that can
# be run in order later on.
# func_hookable FUNC_NAME
# -----------------------
# Declare that FUNC_NAME will run hooks added with
# 'func_add_hook FUNC_NAME ...'.
func_hookable ()
{
$debug_cmd
func_append hookable_fns " $1"
}
# func_add_hook FUNC_NAME HOOK_FUNC
# ---------------------------------
# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must
# first have been declared "hookable" by a call to 'func_hookable'.
func_add_hook ()
{
$debug_cmd
case " $hookable_fns " in
*" $1 "*) ;;
*) func_fatal_error "'$1' does not accept hook functions." ;;
esac
eval func_append ${1}_hooks '" $2"'
}
# func_remove_hook FUNC_NAME HOOK_FUNC
# ------------------------------------
# Remove HOOK_FUNC from the list of functions called by FUNC_NAME.
func_remove_hook ()
{
$debug_cmd
eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`'
}
# func_run_hooks FUNC_NAME [ARG]...
# ---------------------------------
# Run all hook functions registered to FUNC_NAME.
# It is assumed that the list of hook functions contains nothing more
# than a whitespace-delimited list of legal shell function names, and
# no effort is wasted trying to catch shell meta-characters or preserve
# whitespace.
func_run_hooks ()
{
$debug_cmd
case " $hookable_fns " in
*" $1 "*) ;;
*) func_fatal_error "'$1' does not support hook funcions.n" ;;
esac
eval _G_hook_fns=\$$1_hooks; shift
for _G_hook in $_G_hook_fns; do
eval $_G_hook '"$@"'
# store returned options list back into positional
# parameters for next 'cmd' execution.
eval _G_hook_result=\$${_G_hook}_result
eval set dummy "$_G_hook_result"; shift
done
func_quote_for_eval ${1+"$@"}
func_run_hooks_result=$func_quote_for_eval_result
}
## --------------- ##
## Option parsing. ##
## --------------- ##
# In order to add your own option parsing hooks, you must accept the
# full positional parameter list in your hook function, remove any
# options that you action, and then pass back the remaining unprocessed
# options in '_result', escaped suitably for
# 'eval'. Like this:
#
# my_options_prep ()
# {
# $debug_cmd
#
# # Extend the existing usage message.
# usage_message=$usage_message'
# -s, --silent don'\''t print informational messages
# '
#
# func_quote_for_eval ${1+"$@"}
# my_options_prep_result=$func_quote_for_eval_result
# }
# func_add_hook func_options_prep my_options_prep
#
#
# my_silent_option ()
# {
# $debug_cmd
#
# # Note that for efficiency, we parse as many options as we can
# # recognise in a loop before passing the remainder back to the
# # caller on the first unrecognised argument we encounter.
# while test $# -gt 0; do
# opt=$1; shift
# case $opt in
# --silent|-s) opt_silent=: ;;
# # Separate non-argument short options:
# -s*) func_split_short_opt "$_G_opt"
# set dummy "$func_split_short_opt_name" \
# "-$func_split_short_opt_arg" ${1+"$@"}
# shift
# ;;
# *) set dummy "$_G_opt" "$*"; shift; break ;;
# esac
# done
#
# func_quote_for_eval ${1+"$@"}
# my_silent_option_result=$func_quote_for_eval_result
# }
# func_add_hook func_parse_options my_silent_option
#
#
# my_option_validation ()
# {
# $debug_cmd
#
# $opt_silent && $opt_verbose && func_fatal_help "\
# '--silent' and '--verbose' options are mutually exclusive."
#
# func_quote_for_eval ${1+"$@"}
# my_option_validation_result=$func_quote_for_eval_result
# }
# func_add_hook func_validate_options my_option_validation
#
# You'll alse need to manually amend $usage_message to reflect the extra
# options you parse. It's preferable to append if you can, so that
# multiple option parsing hooks can be added safely.
# func_options [ARG]...
# ---------------------
# All the functions called inside func_options are hookable. See the
# individual implementations for details.
func_hookable func_options
func_options ()
{
$debug_cmd
func_options_prep ${1+"$@"}
eval func_parse_options \
${func_options_prep_result+"$func_options_prep_result"}
eval func_validate_options \
${func_parse_options_result+"$func_parse_options_result"}
eval func_run_hooks func_options \
${func_validate_options_result+"$func_validate_options_result"}
# save modified positional parameters for caller
func_options_result=$func_run_hooks_result
}
# func_options_prep [ARG]...
# --------------------------
# All initialisations required before starting the option parse loop.
# Note that when calling hook functions, we pass through the list of
# positional parameters. If a hook function modifies that list, and
# needs to propogate that back to rest of this script, then the complete
# modified list must be put in 'func_run_hooks_result' before
# returning.
func_hookable func_options_prep
func_options_prep ()
{
$debug_cmd
# Option defaults:
opt_verbose=false
opt_warning_types=
func_run_hooks func_options_prep ${1+"$@"}
# save modified positional parameters for caller
func_options_prep_result=$func_run_hooks_result
}
# func_parse_options [ARG]...
# ---------------------------
# The main option parsing loop.
func_hookable func_parse_options
func_parse_options ()
{
$debug_cmd
func_parse_options_result=
# this just eases exit handling
while test $# -gt 0; do
# Defer to hook functions for initial option parsing, so they
# get priority in the event of reusing an option name.
func_run_hooks func_parse_options ${1+"$@"}
# Adjust func_parse_options positional parameters to match
eval set dummy "$func_run_hooks_result"; shift
# Break out of the loop if we already parsed every option.
test $# -gt 0 || break
_G_opt=$1
shift
case $_G_opt in
--debug|-x) debug_cmd='set -x'
func_echo "enabling shell trace mode"
$debug_cmd
;;
--no-warnings|--no-warning|--no-warn)
set dummy --warnings none ${1+"$@"}
shift
;;
--warnings|--warning|-W)
test $# = 0 && func_missing_arg $_G_opt && break
case " $warning_categories $1" in
*" $1 "*)
# trailing space prevents matching last $1 above
func_append_uniq opt_warning_types " $1"
;;
*all)
opt_warning_types=$warning_categories
;;
*none)
opt_warning_types=none
warning_func=:
;;
*error)
opt_warning_types=$warning_categories
warning_func=func_fatal_error
;;
*)
func_fatal_error \
"unsupported warning category: '$1'"
;;
esac
shift
;;
--verbose|-v) opt_verbose=: ;;
--version) func_version ;;
-\?|-h) func_usage ;;
--help) func_help ;;
# Separate optargs to long options (plugins may need this):
--*=*) func_split_equals "$_G_opt"
set dummy "$func_split_equals_lhs" \
"$func_split_equals_rhs" ${1+"$@"}
shift
;;
# Separate optargs to short options:
-W*)
func_split_short_opt "$_G_opt"
set dummy "$func_split_short_opt_name" \
"$func_split_short_opt_arg" ${1+"$@"}
shift
;;
# Separate non-argument short options:
-\?*|-h*|-v*|-x*)
func_split_short_opt "$_G_opt"
set dummy "$func_split_short_opt_name" \
"-$func_split_short_opt_arg" ${1+"$@"}
shift
;;
--) break ;;
-*) func_fatal_help "unrecognised option: '$_G_opt'" ;;
*) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
esac
done
# save modified positional parameters for caller
func_quote_for_eval ${1+"$@"}
func_parse_options_result=$func_quote_for_eval_result
}
# func_validate_options [ARG]...
# ------------------------------
# Perform any sanity checks on option settings and/or unconsumed
# arguments.
func_hookable func_validate_options
func_validate_options ()
{
$debug_cmd
# Display all warnings if -W was not given.
test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
func_run_hooks func_validate_options ${1+"$@"}
# Bail if the options were screwed!
$exit_cmd $EXIT_FAILURE
# save modified positional parameters for caller
func_validate_options_result=$func_run_hooks_result
}
## ----------------- ##
## Helper functions. ##
## ----------------- ##
# This section contains the helper functions used by the rest of the
# hookable option parser framework in ascii-betical order.
# func_fatal_help ARG...
# ----------------------
# Echo program name prefixed message to standard error, followed by
# a help hint, and exit.
func_fatal_help ()
{
$debug_cmd
eval \$ECHO \""Usage: $usage"\"
eval \$ECHO \""$fatal_help"\"
func_error ${1+"$@"}
exit $EXIT_FAILURE
}
# func_help
# ---------
# Echo long help message to standard output and exit.
func_help ()
{
$debug_cmd
func_usage_message
$ECHO "$long_help_message"
exit 0
}
# func_missing_arg ARGNAME
# ------------------------
# Echo program name prefixed message to standard error and set global
# exit_cmd.
func_missing_arg ()
{
$debug_cmd
func_error "Missing argument for '$1'."
exit_cmd=exit
}
# func_split_equals STRING
# ------------------------
# Set func_split_equals_lhs and func_split_equals_rhs shell variables after
# splitting STRING at the '=' sign.
test -z "$_G_HAVE_XSI_OPS" \
&& (eval 'x=a/b/c;
test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
&& _G_HAVE_XSI_OPS=yes
if test yes = "$_G_HAVE_XSI_OPS"
then
# This is an XSI compatible shell, allowing a faster implementation...
eval 'func_split_equals ()
{
$debug_cmd
func_split_equals_lhs=${1%%=*}
func_split_equals_rhs=${1#*=}
test "x$func_split_equals_lhs" = "x$1" \
&& func_split_equals_rhs=
}'
else
# ...otherwise fall back to using expr, which is often a shell builtin.
func_split_equals ()
{
$debug_cmd
func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'`
func_split_equals_rhs=
test "x$func_split_equals_lhs" = "x$1" \
|| func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`
}
fi #func_split_equals
# func_split_short_opt SHORTOPT
# -----------------------------
# Set func_split_short_opt_name and func_split_short_opt_arg shell
# variables after splitting SHORTOPT after the 2nd character.
if test yes = "$_G_HAVE_XSI_OPS"
then
# This is an XSI compatible shell, allowing a faster implementation...
eval 'func_split_short_opt ()
{
$debug_cmd
func_split_short_opt_arg=${1#??}
func_split_short_opt_name=${1%"$func_split_short_opt_arg"}
}'
else
# ...otherwise fall back to using expr, which is often a shell builtin.
func_split_short_opt ()
{
$debug_cmd
func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'`
func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`
}
fi #func_split_short_opt
# func_usage
# ----------
# Echo short help message to standard output and exit.
func_usage ()
{
$debug_cmd
func_usage_message
$ECHO "Run '$progname --help |${PAGER-more}' for full usage"
exit 0
}
# func_usage_message
# ------------------
# Echo short help message to standard output.
func_usage_message ()
{
$debug_cmd
eval \$ECHO \""Usage: $usage"\"
echo
$SED -n 's|^# ||
/^Written by/{
x;p;x
}
h
/^Written by/q' < "$progpath"
echo
eval \$ECHO \""$usage_message"\"
}
# func_version
# ------------
# Echo version message to standard output and exit.
func_version ()
{
$debug_cmd
printf '%s\n' "$progname $scriptversion"
$SED -n '
/(C)/!b go
:more
/\./!{
N
s|\n# | |
b more
}
:go
/^# Written by /,/# warranty; / {
s|^# ||
s|^# *$||
s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
p
}
/^# Written by / {
s|^# ||
p
}
/^warranty; /q' < "$progpath"
exit $?
}
# Local variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
# time-stamp-time-zone: "UTC"
# End:
# Set a version string.
scriptversion='(GNU libtool) 2.4.6'
# func_echo ARG...
# ----------------
# Libtool also displays the current mode in messages, so override
# funclib.sh func_echo with this custom definition.
func_echo ()
{
$debug_cmd
_G_message=$*
func_echo_IFS=$IFS
IFS=$nl
for _G_line in $_G_message; do
IFS=$func_echo_IFS
$ECHO "$progname${opt_mode+: $opt_mode}: $_G_line"
done
IFS=$func_echo_IFS
}
# func_warning ARG...
# -------------------
# Libtool warnings are not categorized, so override funclib.sh
# func_warning with this simpler definition.
func_warning ()
{
$debug_cmd
$warning_func ${1+"$@"}
}
## ---------------- ##
## Options parsing. ##
## ---------------- ##
# Hook in the functions to make sure our own options are parsed during
# the option parsing loop.
usage='$progpath [OPTION]... [MODE-ARG]...'
# Short help message in response to '-h'.
usage_message="Options:
--config show all configuration variables
--debug enable verbose shell tracing
-n, --dry-run display commands without modifying any files
--features display basic configuration information and exit
--mode=MODE use operation mode MODE
--no-warnings equivalent to '-Wnone'
--preserve-dup-deps don't remove duplicate dependency libraries
--quiet, --silent don't print informational messages
--tag=TAG use configuration variables from tag TAG
-v, --verbose print more informational messages than default
--version print version information
-W, --warnings=CATEGORY report the warnings falling in CATEGORY [all]
-h, --help, --help-all print short, long, or detailed help message
"
# Additional text appended to 'usage_message' in response to '--help'.
func_help ()
{
$debug_cmd
func_usage_message
$ECHO "$long_help_message
MODE must be one of the following:
clean remove files from the build directory
compile compile a source file into a libtool object
execute automatically set library path, then run a program
finish complete the installation of libtool libraries
install install libraries or executables
link create a library or an executable
uninstall remove libraries from an installed directory
MODE-ARGS vary depending on the MODE. When passed as first option,
'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that.
Try '$progname --help --mode=MODE' for a more detailed description of MODE.
When reporting a bug, please describe a test case to reproduce it and
include the following information:
host-triplet: $host
shell: $SHELL
compiler: $LTCC
compiler flags: $LTCFLAGS
linker: $LD (gnu? $with_gnu_ld)
version: $progname (GNU libtool) 2.4.6
automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
Report bugs to .
GNU libtool home page: .
General help using GNU software: ."
exit 0
}
# func_lo2o OBJECT-NAME
# ---------------------
# Transform OBJECT-NAME from a '.lo' suffix to the platform specific
# object suffix.
lo2o=s/\\.lo\$/.$objext/
o2lo=s/\\.$objext\$/.lo/
if test yes = "$_G_HAVE_XSI_OPS"; then
eval 'func_lo2o ()
{
case $1 in
*.lo) func_lo2o_result=${1%.lo}.$objext ;;
* ) func_lo2o_result=$1 ;;
esac
}'
# func_xform LIBOBJ-OR-SOURCE
# ---------------------------
# Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise)
# suffix to a '.lo' libtool-object suffix.
eval 'func_xform ()
{
func_xform_result=${1%.*}.lo
}'
else
# ...otherwise fall back to using sed.
func_lo2o ()
{
func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"`
}
func_xform ()
{
func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'`
}
fi
# func_fatal_configuration ARG...
# -------------------------------
# Echo program name prefixed message to standard error, followed by
# a configuration failure hint, and exit.
func_fatal_configuration ()
{
func__fatal_error ${1+"$@"} \
"See the $PACKAGE documentation for more information." \
"Fatal configuration error."
}
# func_config
# -----------
# Display the configuration for all the tags in this script.
func_config ()
{
re_begincf='^# ### BEGIN LIBTOOL'
re_endcf='^# ### END LIBTOOL'
# Default configuration.
$SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
# Now print the configurations for the tags.
for tagname in $taglist; do
$SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
done
exit $?
}
# func_features
# -------------
# Display the features supported by this script.
func_features ()
{
echo "host: $host"
if test yes = "$build_libtool_libs"; then
echo "enable shared libraries"
else
echo "disable shared libraries"
fi
if test yes = "$build_old_libs"; then
echo "enable static libraries"
else
echo "disable static libraries"
fi
exit $?
}
# func_enable_tag TAGNAME
# -----------------------
# Verify that TAGNAME is valid, and either flag an error and exit, or
# enable the TAGNAME tag. We also add TAGNAME to the global $taglist
# variable here.
func_enable_tag ()
{
# Global variable:
tagname=$1
re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
sed_extractcf=/$re_begincf/,/$re_endcf/p
# Validate tagname.
case $tagname in
*[!-_A-Za-z0-9,/]*)
func_fatal_error "invalid tag name: $tagname"
;;
esac
# Don't test for the "default" C tag, as we know it's
# there but not specially marked.
case $tagname in
CC) ;;
*)
if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
taglist="$taglist $tagname"
# Evaluate the configuration. Be careful to quote the path
# and the sed script, to avoid splitting on whitespace, but
# also don't use non-portable quotes within backquotes within
# quotes we have to do it in 2 steps:
extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
eval "$extractedcf"
else
func_error "ignoring unknown tag $tagname"
fi
;;
esac
}
# func_check_version_match
# ------------------------
# Ensure that we are using m4 macros, and libtool script from the same
# release of libtool.
func_check_version_match ()
{
if test "$package_revision" != "$macro_revision"; then
if test "$VERSION" != "$macro_version"; then
if test -z "$macro_version"; then
cat >&2 <<_LT_EOF
$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
$progname: definition of this LT_INIT comes from an older release.
$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
$progname: and run autoconf again.
_LT_EOF
else
cat >&2 <<_LT_EOF
$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
$progname: and run autoconf again.
_LT_EOF
fi
else
cat >&2 <<_LT_EOF
$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
$progname: but the definition of this LT_INIT comes from revision $macro_revision.
$progname: You should recreate aclocal.m4 with macros from revision $package_revision
$progname: of $PACKAGE $VERSION and run autoconf again.
_LT_EOF
fi
exit $EXIT_MISMATCH
fi
}
# libtool_options_prep [ARG]...
# -----------------------------
# Preparation for options parsed by libtool.
libtool_options_prep ()
{
$debug_mode
# Option defaults:
opt_config=false
opt_dlopen=
opt_dry_run=false
opt_help=false
opt_mode=
opt_preserve_dup_deps=false
opt_quiet=false
nonopt=
preserve_args=
# Shorthand for --mode=foo, only valid as the first argument
case $1 in
clean|clea|cle|cl)
shift; set dummy --mode clean ${1+"$@"}; shift
;;
compile|compil|compi|comp|com|co|c)
shift; set dummy --mode compile ${1+"$@"}; shift
;;
execute|execut|execu|exec|exe|ex|e)
shift; set dummy --mode execute ${1+"$@"}; shift
;;
finish|finis|fini|fin|fi|f)
shift; set dummy --mode finish ${1+"$@"}; shift
;;
install|instal|insta|inst|ins|in|i)
shift; set dummy --mode install ${1+"$@"}; shift
;;
link|lin|li|l)
shift; set dummy --mode link ${1+"$@"}; shift
;;
uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
shift; set dummy --mode uninstall ${1+"$@"}; shift
;;
esac
# Pass back the list of options.
func_quote_for_eval ${1+"$@"}
libtool_options_prep_result=$func_quote_for_eval_result
}
func_add_hook func_options_prep libtool_options_prep
# libtool_parse_options [ARG]...
# ---------------------------------
# Provide handling for libtool specific options.
libtool_parse_options ()
{
$debug_cmd
# Perform our own loop to consume as many options as possible in
# each iteration.
while test $# -gt 0; do
_G_opt=$1
shift
case $_G_opt in
--dry-run|--dryrun|-n)
opt_dry_run=:
;;
--config) func_config ;;
--dlopen|-dlopen)
opt_dlopen="${opt_dlopen+$opt_dlopen
}$1"
shift
;;
--preserve-dup-deps)
opt_preserve_dup_deps=: ;;
--features) func_features ;;
--finish) set dummy --mode finish ${1+"$@"}; shift ;;
--help) opt_help=: ;;
--help-all) opt_help=': help-all' ;;
--mode) test $# = 0 && func_missing_arg $_G_opt && break
opt_mode=$1
case $1 in
# Valid mode arguments:
clean|compile|execute|finish|install|link|relink|uninstall) ;;
# Catch anything else as an error
*) func_error "invalid argument for $_G_opt"
exit_cmd=exit
break
;;
esac
shift
;;
--no-silent|--no-quiet)
opt_quiet=false
func_append preserve_args " $_G_opt"
;;
--no-warnings|--no-warning|--no-warn)
opt_warning=false
func_append preserve_args " $_G_opt"
;;
--no-verbose)
opt_verbose=false
func_append preserve_args " $_G_opt"
;;
--silent|--quiet)
opt_quiet=:
opt_verbose=false
func_append preserve_args " $_G_opt"
;;
--tag) test $# = 0 && func_missing_arg $_G_opt && break
opt_tag=$1
func_append preserve_args " $_G_opt $1"
func_enable_tag "$1"
shift
;;
--verbose|-v) opt_quiet=false
opt_verbose=:
func_append preserve_args " $_G_opt"
;;
# An option not handled by this hook function:
*) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
esac
done
# save modified positional parameters for caller
func_quote_for_eval ${1+"$@"}
libtool_parse_options_result=$func_quote_for_eval_result
}
func_add_hook func_parse_options libtool_parse_options
# libtool_validate_options [ARG]...
# ---------------------------------
# Perform any sanity checks on option settings and/or unconsumed
# arguments.
libtool_validate_options ()
{
# save first non-option argument
if test 0 -lt $#; then
nonopt=$1
shift
fi
# preserve --debug
test : = "$debug_cmd" || func_append preserve_args " --debug"
case $host in
# Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
# see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
*cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
# don't eliminate duplications in $postdeps and $predeps
opt_duplicate_compiler_generated_deps=:
;;
*)
opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
;;
esac
$opt_help || {
# Sanity checks first:
func_check_version_match
test yes != "$build_libtool_libs" \
&& test yes != "$build_old_libs" \
&& func_fatal_configuration "not configured to build any kind of library"
# Darwin sucks
eval std_shrext=\"$shrext_cmds\"
# Only execute mode is allowed to have -dlopen flags.
if test -n "$opt_dlopen" && test execute != "$opt_mode"; then
func_error "unrecognized option '-dlopen'"
$ECHO "$help" 1>&2
exit $EXIT_FAILURE
fi
# Change the help message to a mode-specific one.
generic_help=$help
help="Try '$progname --help --mode=$opt_mode' for more information."
}
# Pass back the unparsed argument list
func_quote_for_eval ${1+"$@"}
libtool_validate_options_result=$func_quote_for_eval_result
}
func_add_hook func_validate_options libtool_validate_options
# Process options as early as possible so that --help and --version
# can return quickly.
func_options ${1+"$@"}
eval set dummy "$func_options_result"; shift
## ----------- ##
## Main. ##
## ----------- ##
magic='%%%MAGIC variable%%%'
magic_exe='%%%MAGIC EXE variable%%%'
# Global variables.
extracted_archives=
extracted_serial=0
# If this variable is set in any of the actions, the command in it
# will be execed at the end. This prevents here-documents from being
# left over by shells.
exec_cmd=
# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
# func_generated_by_libtool
# True iff stdin has been generated by Libtool. This function is only
# a basic sanity check; it will hardly flush out determined imposters.
func_generated_by_libtool_p ()
{
$GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
}
# func_lalib_p file
# True iff FILE is a libtool '.la' library or '.lo' object file.
# This function is only a basic sanity check; it will hardly flush out
# determined imposters.
func_lalib_p ()
{
test -f "$1" &&
$SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p
}
# func_lalib_unsafe_p file
# True iff FILE is a libtool '.la' library or '.lo' object file.
# This function implements the same check as func_lalib_p without
# resorting to external programs. To this end, it redirects stdin and
# closes it afterwards, without saving the original file descriptor.
# As a safety measure, use it only where a negative result would be
# fatal anyway. Works if 'file' does not exist.
func_lalib_unsafe_p ()
{
lalib_p=no
if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
for lalib_p_l in 1 2 3 4
do
read lalib_p_line
case $lalib_p_line in
\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
esac
done
exec 0<&5 5<&-
fi
test yes = "$lalib_p"
}
# func_ltwrapper_script_p file
# True iff FILE is a libtool wrapper script
# This function is only a basic sanity check; it will hardly flush out
# determined imposters.
func_ltwrapper_script_p ()
{
test -f "$1" &&
$lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p
}
# func_ltwrapper_executable_p file
# True iff FILE is a libtool wrapper executable
# This function is only a basic sanity check; it will hardly flush out
# determined imposters.
func_ltwrapper_executable_p ()
{
func_ltwrapper_exec_suffix=
case $1 in
*.exe) ;;
*) func_ltwrapper_exec_suffix=.exe ;;
esac
$GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
}
# func_ltwrapper_scriptname file
# Assumes file is an ltwrapper_executable
# uses $file to determine the appropriate filename for a
# temporary ltwrapper_script.
func_ltwrapper_scriptname ()
{
func_dirname_and_basename "$1" "" "."
func_stripname '' '.exe' "$func_basename_result"
func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper
}
# func_ltwrapper_p file
# True iff FILE is a libtool wrapper script or wrapper executable
# This function is only a basic sanity check; it will hardly flush out
# determined imposters.
func_ltwrapper_p ()
{
func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
}
# func_execute_cmds commands fail_cmd
# Execute tilde-delimited COMMANDS.
# If FAIL_CMD is given, eval that upon failure.
# FAIL_CMD may read-access the current command in variable CMD!
func_execute_cmds ()
{
$debug_cmd
save_ifs=$IFS; IFS='~'
for cmd in $1; do
IFS=$sp$nl
eval cmd=\"$cmd\"
IFS=$save_ifs
func_show_eval "$cmd" "${2-:}"
done
IFS=$save_ifs
}
# func_source file
# Source FILE, adding directory component if necessary.
# Note that it is not necessary on cygwin/mingw to append a dot to
# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
# behavior happens only for exec(3), not for open(2)! Also, sourcing
# 'FILE.' does not work on cygwin managed mounts.
func_source ()
{
$debug_cmd
case $1 in
*/* | *\\*) . "$1" ;;
*) . "./$1" ;;
esac
}
# func_resolve_sysroot PATH
# Replace a leading = in PATH with a sysroot. Store the result into
# func_resolve_sysroot_result
func_resolve_sysroot ()
{
func_resolve_sysroot_result=$1
case $func_resolve_sysroot_result in
=*)
func_stripname '=' '' "$func_resolve_sysroot_result"
func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
;;
esac
}
# func_replace_sysroot PATH
# If PATH begins with the sysroot, replace it with = and
# store the result into func_replace_sysroot_result.
func_replace_sysroot ()
{
case $lt_sysroot:$1 in
?*:"$lt_sysroot"*)
func_stripname "$lt_sysroot" '' "$1"
func_replace_sysroot_result='='$func_stripname_result
;;
*)
# Including no sysroot.
func_replace_sysroot_result=$1
;;
esac
}
# func_infer_tag arg
# Infer tagged configuration to use if any are available and
# if one wasn't chosen via the "--tag" command line option.
# Only attempt this if the compiler in the base compile
# command doesn't match the default compiler.
# arg is usually of the form 'gcc ...'
func_infer_tag ()
{
$debug_cmd
if test -n "$available_tags" && test -z "$tagname"; then
CC_quoted=
for arg in $CC; do
func_append_quoted CC_quoted "$arg"
done
CC_expanded=`func_echo_all $CC`
CC_quoted_expanded=`func_echo_all $CC_quoted`
case $@ in
# Blanks in the command may have been stripped by the calling shell,
# but not from the CC environment variable when configure was run.
" $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
" $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
# Blanks at the start of $base_compile will cause this to fail
# if we don't check for them as well.
*)
for z in $available_tags; do
if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
# Evaluate the configuration.
eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
CC_quoted=
for arg in $CC; do
# Double-quote args containing other shell metacharacters.
func_append_quoted CC_quoted "$arg"
done
CC_expanded=`func_echo_all $CC`
CC_quoted_expanded=`func_echo_all $CC_quoted`
case "$@ " in
" $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
" $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
# The compiler in the base compile command matches
# the one in the tagged configuration.
# Assume this is the tagged configuration we want.
tagname=$z
break
;;
esac
fi
done
# If $tagname still isn't set, then no tagged configuration
# was found and let the user know that the "--tag" command
# line option must be used.
if test -z "$tagname"; then
func_echo "unable to infer tagged configuration"
func_fatal_error "specify a tag with '--tag'"
# else
# func_verbose "using $tagname tagged configuration"
fi
;;
esac
fi
}
# func_write_libtool_object output_name pic_name nonpic_name
# Create a libtool object file (analogous to a ".la" file),
# but don't create it if we're doing a dry run.
func_write_libtool_object ()
{
write_libobj=$1
if test yes = "$build_libtool_libs"; then
write_lobj=\'$2\'
else
write_lobj=none
fi
if test yes = "$build_old_libs"; then
write_oldobj=\'$3\'
else
write_oldobj=none
fi
$opt_dry_run || {
cat >${write_libobj}T </dev/null`
if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then
func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
$SED -e "$sed_naive_backslashify"`
else
func_convert_core_file_wine_to_w32_result=
fi
fi
}
# end: func_convert_core_file_wine_to_w32
# func_convert_core_path_wine_to_w32 ARG
# Helper function used by path conversion functions when $build is *nix, and
# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
# configured wine environment available, with the winepath program in $build's
# $PATH. Assumes ARG has no leading or trailing path separator characters.
#
# ARG is path to be converted from $build format to win32.
# Result is available in $func_convert_core_path_wine_to_w32_result.
# Unconvertible file (directory) names in ARG are skipped; if no directory names
# are convertible, then the result may be empty.
func_convert_core_path_wine_to_w32 ()
{
$debug_cmd
# unfortunately, winepath doesn't convert paths, only file names
func_convert_core_path_wine_to_w32_result=
if test -n "$1"; then
oldIFS=$IFS
IFS=:
for func_convert_core_path_wine_to_w32_f in $1; do
IFS=$oldIFS
func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
if test -n "$func_convert_core_file_wine_to_w32_result"; then
if test -z "$func_convert_core_path_wine_to_w32_result"; then
func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result
else
func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
fi
fi
done
IFS=$oldIFS
fi
}
# end: func_convert_core_path_wine_to_w32
# func_cygpath ARGS...
# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
# (2), returns the Cygwin file name or path in func_cygpath_result (input
# file name or path is assumed to be in w32 format, as previously converted
# from $build's *nix or MSYS format). In case (3), returns the w32 file name
# or path in func_cygpath_result (input file name or path is assumed to be in
# Cygwin format). Returns an empty string on error.
#
# ARGS are passed to cygpath, with the last one being the file name or path to
# be converted.
#
# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
# environment variable; do not put it in $PATH.
func_cygpath ()
{
$debug_cmd
if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
if test "$?" -ne 0; then
# on failure, ensure result is empty
func_cygpath_result=
fi
else
func_cygpath_result=
func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'"
fi
}
#end: func_cygpath
# func_convert_core_msys_to_w32 ARG
# Convert file name or path ARG from MSYS format to w32 format. Return
# result in func_convert_core_msys_to_w32_result.
func_convert_core_msys_to_w32 ()
{
$debug_cmd
# awkward: cmd appends spaces to result
func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
$SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
}
#end: func_convert_core_msys_to_w32
# func_convert_file_check ARG1 ARG2
# Verify that ARG1 (a file name in $build format) was converted to $host
# format in ARG2. Otherwise, emit an error message, but continue (resetting
# func_to_host_file_result to ARG1).
func_convert_file_check ()
{
$debug_cmd
if test -z "$2" && test -n "$1"; then
func_error "Could not determine host file name corresponding to"
func_error " '$1'"
func_error "Continuing, but uninstalled executables may not work."
# Fallback:
func_to_host_file_result=$1
fi
}
# end func_convert_file_check
# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
# Verify that FROM_PATH (a path in $build format) was converted to $host
# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
# func_to_host_file_result to a simplistic fallback value (see below).
func_convert_path_check ()
{
$debug_cmd
if test -z "$4" && test -n "$3"; then
func_error "Could not determine the host path corresponding to"
func_error " '$3'"
func_error "Continuing, but uninstalled executables may not work."
# Fallback. This is a deliberately simplistic "conversion" and
# should not be "improved". See libtool.info.
if test "x$1" != "x$2"; then
lt_replace_pathsep_chars="s|$1|$2|g"
func_to_host_path_result=`echo "$3" |
$SED -e "$lt_replace_pathsep_chars"`
else
func_to_host_path_result=$3
fi
fi
}
# end func_convert_path_check
# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
# and appending REPL if ORIG matches BACKPAT.
func_convert_path_front_back_pathsep ()
{
$debug_cmd
case $4 in
$1 ) func_to_host_path_result=$3$func_to_host_path_result
;;
esac
case $4 in
$2 ) func_append func_to_host_path_result "$3"
;;
esac
}
# end func_convert_path_front_back_pathsep
##################################################
# $build to $host FILE NAME CONVERSION FUNCTIONS #
##################################################
# invoked via '$to_host_file_cmd ARG'
#
# In each case, ARG is the path to be converted from $build to $host format.
# Result will be available in $func_to_host_file_result.
# func_to_host_file ARG
# Converts the file name ARG from $build format to $host format. Return result
# in func_to_host_file_result.
func_to_host_file ()
{
$debug_cmd
$to_host_file_cmd "$1"
}
# end func_to_host_file
# func_to_tool_file ARG LAZY
# converts the file name ARG from $build format to toolchain format. Return
# result in func_to_tool_file_result. If the conversion in use is listed
# in (the comma separated) LAZY, no conversion takes place.
func_to_tool_file ()
{
$debug_cmd
case ,$2, in
*,"$to_tool_file_cmd",*)
func_to_tool_file_result=$1
;;
*)
$to_tool_file_cmd "$1"
func_to_tool_file_result=$func_to_host_file_result
;;
esac
}
# end func_to_tool_file
# func_convert_file_noop ARG
# Copy ARG to func_to_host_file_result.
func_convert_file_noop ()
{
func_to_host_file_result=$1
}
# end func_convert_file_noop
# func_convert_file_msys_to_w32 ARG
# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
# conversion to w32 is not available inside the cwrapper. Returns result in
# func_to_host_file_result.
func_convert_file_msys_to_w32 ()
{
$debug_cmd
func_to_host_file_result=$1
if test -n "$1"; then
func_convert_core_msys_to_w32 "$1"
func_to_host_file_result=$func_convert_core_msys_to_w32_result
fi
func_convert_file_check "$1" "$func_to_host_file_result"
}
# end func_convert_file_msys_to_w32
# func_convert_file_cygwin_to_w32 ARG
# Convert file name ARG from Cygwin to w32 format. Returns result in
# func_to_host_file_result.
func_convert_file_cygwin_to_w32 ()
{
$debug_cmd
func_to_host_file_result=$1
if test -n "$1"; then
# because $build is cygwin, we call "the" cygpath in $PATH; no need to use
# LT_CYGPATH in this case.
func_to_host_file_result=`cygpath -m "$1"`
fi
func_convert_file_check "$1" "$func_to_host_file_result"
}
# end func_convert_file_cygwin_to_w32
# func_convert_file_nix_to_w32 ARG
# Convert file name ARG from *nix to w32 format. Requires a wine environment
# and a working winepath. Returns result in func_to_host_file_result.
func_convert_file_nix_to_w32 ()
{
$debug_cmd
func_to_host_file_result=$1
if test -n "$1"; then
func_convert_core_file_wine_to_w32 "$1"
func_to_host_file_result=$func_convert_core_file_wine_to_w32_result
fi
func_convert_file_check "$1" "$func_to_host_file_result"
}
# end func_convert_file_nix_to_w32
# func_convert_file_msys_to_cygwin ARG
# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
# Returns result in func_to_host_file_result.
func_convert_file_msys_to_cygwin ()
{
$debug_cmd
func_to_host_file_result=$1
if test -n "$1"; then
func_convert_core_msys_to_w32 "$1"
func_cygpath -u "$func_convert_core_msys_to_w32_result"
func_to_host_file_result=$func_cygpath_result
fi
func_convert_file_check "$1" "$func_to_host_file_result"
}
# end func_convert_file_msys_to_cygwin
# func_convert_file_nix_to_cygwin ARG
# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed
# in a wine environment, working winepath, and LT_CYGPATH set. Returns result
# in func_to_host_file_result.
func_convert_file_nix_to_cygwin ()
{
$debug_cmd
func_to_host_file_result=$1
if test -n "$1"; then
# convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
func_convert_core_file_wine_to_w32 "$1"
func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
func_to_host_file_result=$func_cygpath_result
fi
func_convert_file_check "$1" "$func_to_host_file_result"
}
# end func_convert_file_nix_to_cygwin
#############################################
# $build to $host PATH CONVERSION FUNCTIONS #
#############################################
# invoked via '$to_host_path_cmd ARG'
#
# In each case, ARG is the path to be converted from $build to $host format.
# The result will be available in $func_to_host_path_result.
#
# Path separators are also converted from $build format to $host format. If
# ARG begins or ends with a path separator character, it is preserved (but
# converted to $host format) on output.
#
# All path conversion functions are named using the following convention:
# file name conversion function : func_convert_file_X_to_Y ()
# path conversion function : func_convert_path_X_to_Y ()
# where, for any given $build/$host combination the 'X_to_Y' value is the
# same. If conversion functions are added for new $build/$host combinations,
# the two new functions must follow this pattern, or func_init_to_host_path_cmd
# will break.
# func_init_to_host_path_cmd
# Ensures that function "pointer" variable $to_host_path_cmd is set to the
# appropriate value, based on the value of $to_host_file_cmd.
to_host_path_cmd=
func_init_to_host_path_cmd ()
{
$debug_cmd
if test -z "$to_host_path_cmd"; then
func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
to_host_path_cmd=func_convert_path_$func_stripname_result
fi
}
# func_to_host_path ARG
# Converts the path ARG from $build format to $host format. Return result
# in func_to_host_path_result.
func_to_host_path ()
{
$debug_cmd
func_init_to_host_path_cmd
$to_host_path_cmd "$1"
}
# end func_to_host_path
# func_convert_path_noop ARG
# Copy ARG to func_to_host_path_result.
func_convert_path_noop ()
{
func_to_host_path_result=$1
}
# end func_convert_path_noop
# func_convert_path_msys_to_w32 ARG
# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
# conversion to w32 is not available inside the cwrapper. Returns result in
# func_to_host_path_result.
func_convert_path_msys_to_w32 ()
{
$debug_cmd
func_to_host_path_result=$1
if test -n "$1"; then
# Remove leading and trailing path separator characters from ARG. MSYS
# behavior is inconsistent here; cygpath turns them into '.;' and ';.';
# and winepath ignores them completely.
func_stripname : : "$1"
func_to_host_path_tmp1=$func_stripname_result
func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
func_to_host_path_result=$func_convert_core_msys_to_w32_result
func_convert_path_check : ";" \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
fi
}
# end func_convert_path_msys_to_w32
# func_convert_path_cygwin_to_w32 ARG
# Convert path ARG from Cygwin to w32 format. Returns result in
# func_to_host_file_result.
func_convert_path_cygwin_to_w32 ()
{
$debug_cmd
func_to_host_path_result=$1
if test -n "$1"; then
# See func_convert_path_msys_to_w32:
func_stripname : : "$1"
func_to_host_path_tmp1=$func_stripname_result
func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
func_convert_path_check : ";" \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
fi
}
# end func_convert_path_cygwin_to_w32
# func_convert_path_nix_to_w32 ARG
# Convert path ARG from *nix to w32 format. Requires a wine environment and
# a working winepath. Returns result in func_to_host_file_result.
func_convert_path_nix_to_w32 ()
{
$debug_cmd
func_to_host_path_result=$1
if test -n "$1"; then
# See func_convert_path_msys_to_w32:
func_stripname : : "$1"
func_to_host_path_tmp1=$func_stripname_result
func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
func_to_host_path_result=$func_convert_core_path_wine_to_w32_result
func_convert_path_check : ";" \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
fi
}
# end func_convert_path_nix_to_w32
# func_convert_path_msys_to_cygwin ARG
# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
# Returns result in func_to_host_file_result.
func_convert_path_msys_to_cygwin ()
{
$debug_cmd
func_to_host_path_result=$1
if test -n "$1"; then
# See func_convert_path_msys_to_w32:
func_stripname : : "$1"
func_to_host_path_tmp1=$func_stripname_result
func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
func_to_host_path_result=$func_cygpath_result
func_convert_path_check : : \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
func_convert_path_front_back_pathsep ":*" "*:" : "$1"
fi
}
# end func_convert_path_msys_to_cygwin
# func_convert_path_nix_to_cygwin ARG
# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a
# a wine environment, working winepath, and LT_CYGPATH set. Returns result in
# func_to_host_file_result.
func_convert_path_nix_to_cygwin ()
{
$debug_cmd
func_to_host_path_result=$1
if test -n "$1"; then
# Remove leading and trailing path separator characters from
# ARG. msys behavior is inconsistent here, cygpath turns them
# into '.;' and ';.', and winepath ignores them completely.
func_stripname : : "$1"
func_to_host_path_tmp1=$func_stripname_result
func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
func_to_host_path_result=$func_cygpath_result
func_convert_path_check : : \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
func_convert_path_front_back_pathsep ":*" "*:" : "$1"
fi
}
# end func_convert_path_nix_to_cygwin
# func_dll_def_p FILE
# True iff FILE is a Windows DLL '.def' file.
# Keep in sync with _LT_DLL_DEF_P in libtool.m4
func_dll_def_p ()
{
$debug_cmd
func_dll_def_p_tmp=`$SED -n \
-e 's/^[ ]*//' \
-e '/^\(;.*\)*$/d' \
-e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \
-e q \
"$1"`
test DEF = "$func_dll_def_p_tmp"
}
# func_mode_compile arg...
func_mode_compile ()
{
$debug_cmd
# Get the compilation command and the source file.
base_compile=
srcfile=$nonopt # always keep a non-empty value in "srcfile"
suppress_opt=yes
suppress_output=
arg_mode=normal
libobj=
later=
pie_flag=
for arg
do
case $arg_mode in
arg )
# do not "continue". Instead, add this to base_compile
lastarg=$arg
arg_mode=normal
;;
target )
libobj=$arg
arg_mode=normal
continue
;;
normal )
# Accept any command-line options.
case $arg in
-o)
test -n "$libobj" && \
func_fatal_error "you cannot specify '-o' more than once"
arg_mode=target
continue
;;
-pie | -fpie | -fPIE)
func_append pie_flag " $arg"
continue
;;
-shared | -static | -prefer-pic | -prefer-non-pic)
func_append later " $arg"
continue
;;
-no-suppress)
suppress_opt=no
continue
;;
-Xcompiler)
arg_mode=arg # the next one goes into the "base_compile" arg list
continue # The current "srcfile" will either be retained or
;; # replaced later. I would guess that would be a bug.
-Wc,*)
func_stripname '-Wc,' '' "$arg"
args=$func_stripname_result
lastarg=
save_ifs=$IFS; IFS=,
for arg in $args; do
IFS=$save_ifs
func_append_quoted lastarg "$arg"
done
IFS=$save_ifs
func_stripname ' ' '' "$lastarg"
lastarg=$func_stripname_result
# Add the arguments to base_compile.
func_append base_compile " $lastarg"
continue
;;
*)
# Accept the current argument as the source file.
# The previous "srcfile" becomes the current argument.
#
lastarg=$srcfile
srcfile=$arg
;;
esac # case $arg
;;
esac # case $arg_mode
# Aesthetically quote the previous argument.
func_append_quoted base_compile "$lastarg"
done # for arg
case $arg_mode in
arg)
func_fatal_error "you must specify an argument for -Xcompile"
;;
target)
func_fatal_error "you must specify a target with '-o'"
;;
*)
# Get the name of the library object.
test -z "$libobj" && {
func_basename "$srcfile"
libobj=$func_basename_result
}
;;
esac
# Recognize several different file suffixes.
# If the user specifies -o file.o, it is replaced with file.lo
case $libobj in
*.[cCFSifmso] | \
*.ada | *.adb | *.ads | *.asm | \
*.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
*.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
func_xform "$libobj"
libobj=$func_xform_result
;;
esac
case $libobj in
*.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
*)
func_fatal_error "cannot determine name of library object from '$libobj'"
;;
esac
func_infer_tag $base_compile
for arg in $later; do
case $arg in
-shared)
test yes = "$build_libtool_libs" \
|| func_fatal_configuration "cannot build a shared library"
build_old_libs=no
continue
;;
-static)
build_libtool_libs=no
build_old_libs=yes
continue
;;
-prefer-pic)
pic_mode=yes
continue
;;
-prefer-non-pic)
pic_mode=no
continue
;;
esac
done
func_quote_for_eval "$libobj"
test "X$libobj" != "X$func_quote_for_eval_result" \
&& $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
&& func_warning "libobj name '$libobj' may not contain shell special characters."
func_dirname_and_basename "$obj" "/" ""
objname=$func_basename_result
xdir=$func_dirname_result
lobj=$xdir$objdir/$objname
test -z "$base_compile" && \
func_fatal_help "you must specify a compilation command"
# Delete any leftover library objects.
if test yes = "$build_old_libs"; then
removelist="$obj $lobj $libobj ${libobj}T"
else
removelist="$lobj $libobj ${libobj}T"
fi
# On Cygwin there's no "real" PIC flag so we must build both object types
case $host_os in
cygwin* | mingw* | pw32* | os2* | cegcc*)
pic_mode=default
;;
esac
if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then
# non-PIC code in shared libraries is not supported
pic_mode=default
fi
# Calculate the filename of the output object if compiler does
# not support -o with -c
if test no = "$compiler_c_o"; then
output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext
lockfile=$output_obj.lock
else
output_obj=
need_locks=no
lockfile=
fi
# Lock this critical section if it is needed
# We use this script file to make the link, it avoids creating a new file
if test yes = "$need_locks"; then
until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
func_echo "Waiting for $lockfile to be removed"
sleep 2
done
elif test warn = "$need_locks"; then
if test -f "$lockfile"; then
$ECHO "\
*** ERROR, $lockfile exists and contains:
`cat $lockfile 2>/dev/null`
This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
your compiler does not support '-c' and '-o' together. If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
$opt_dry_run || $RM $removelist
exit $EXIT_FAILURE
fi
func_append removelist " $output_obj"
$ECHO "$srcfile" > "$lockfile"
fi
$opt_dry_run || $RM $removelist
func_append removelist " $lockfile"
trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
srcfile=$func_to_tool_file_result
func_quote_for_eval "$srcfile"
qsrcfile=$func_quote_for_eval_result
# Only build a PIC object if we are building libtool libraries.
if test yes = "$build_libtool_libs"; then
# Without this assignment, base_compile gets emptied.
fbsd_hideous_sh_bug=$base_compile
if test no != "$pic_mode"; then
command="$base_compile $qsrcfile $pic_flag"
else
# Don't build PIC code
command="$base_compile $qsrcfile"
fi
func_mkdir_p "$xdir$objdir"
if test -z "$output_obj"; then
# Place PIC objects in $objdir
func_append command " -o $lobj"
fi
func_show_eval_locale "$command" \
'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
if test warn = "$need_locks" &&
test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
$ECHO "\
*** ERROR, $lockfile contains:
`cat $lockfile 2>/dev/null`
but it should contain:
$srcfile
This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
your compiler does not support '-c' and '-o' together. If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
$opt_dry_run || $RM $removelist
exit $EXIT_FAILURE
fi
# Just move the object if needed, then go on to compile the next one
if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
func_show_eval '$MV "$output_obj" "$lobj"' \
'error=$?; $opt_dry_run || $RM $removelist; exit $error'
fi
# Allow error messages only from the first compilation.
if test yes = "$suppress_opt"; then
suppress_output=' >/dev/null 2>&1'
fi
fi
# Only build a position-dependent object if we build old libraries.
if test yes = "$build_old_libs"; then
if test yes != "$pic_mode"; then
# Don't build PIC code
command="$base_compile $qsrcfile$pie_flag"
else
command="$base_compile $qsrcfile $pic_flag"
fi
if test yes = "$compiler_c_o"; then
func_append command " -o $obj"
fi
# Suppress compiler output if we already did a PIC compilation.
func_append command "$suppress_output"
func_show_eval_locale "$command" \
'$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
if test warn = "$need_locks" &&
test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
$ECHO "\
*** ERROR, $lockfile contains:
`cat $lockfile 2>/dev/null`
but it should contain:
$srcfile
This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
your compiler does not support '-c' and '-o' together. If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
$opt_dry_run || $RM $removelist
exit $EXIT_FAILURE
fi
# Just move the object if needed
if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
func_show_eval '$MV "$output_obj" "$obj"' \
'error=$?; $opt_dry_run || $RM $removelist; exit $error'
fi
fi
$opt_dry_run || {
func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
# Unlock the critical section if it was locked
if test no != "$need_locks"; then
removelist=$lockfile
$RM "$lockfile"
fi
}
exit $EXIT_SUCCESS
}
$opt_help || {
test compile = "$opt_mode" && func_mode_compile ${1+"$@"}
}
func_mode_help ()
{
# We need to display help for each of the modes.
case $opt_mode in
"")
# Generic help is extracted from the usage comments
# at the start of this file.
func_help
;;
clean)
$ECHO \
"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
Remove files from the build directory.
RM is the name of the program to use to delete files associated with each FILE
(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed
to RM.
If FILE is a libtool library, object or program, all the files associated
with it are deleted. Otherwise, only FILE itself is deleted using RM."
;;
compile)
$ECHO \
"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
Compile a source file into a libtool library object.
This mode accepts the following additional options:
-o OUTPUT-FILE set the output file name to OUTPUT-FILE
-no-suppress do not suppress compiler output for multiple passes
-prefer-pic try to build PIC objects only
-prefer-non-pic try to build non-PIC objects only
-shared do not build a '.o' file suitable for static linking
-static only build a '.o' file suitable for static linking
-Wc,FLAG pass FLAG directly to the compiler
COMPILE-COMMAND is a command to be used in creating a 'standard' object file
from the given SOURCEFILE.
The output file name is determined by removing the directory component from
SOURCEFILE, then substituting the C source code suffix '.c' with the
library object suffix, '.lo'."
;;
execute)
$ECHO \
"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
Automatically set library path, then run a program.
This mode accepts the following additional options:
-dlopen FILE add the directory containing FILE to the library path
This mode sets the library path environment variable according to '-dlopen'
flags.
If any of the ARGS are libtool executable wrappers, then they are translated
into their corresponding uninstalled binary, and any of their required library
directories are added to the library path.
Then, COMMAND is executed, with ARGS as arguments."
;;
finish)
$ECHO \
"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
Complete the installation of libtool libraries.
Each LIBDIR is a directory that contains libtool libraries.
The commands that this mode executes may require superuser privileges. Use
the '--dry-run' option if you just want to see what would be executed."
;;
install)
$ECHO \
"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
Install executables or libraries.
INSTALL-COMMAND is the installation command. The first component should be
either the 'install' or 'cp' program.
The following components of INSTALL-COMMAND are treated specially:
-inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation
The rest of the components are interpreted as arguments to that command (only
BSD-compatible install options are recognized)."
;;
link)
$ECHO \
"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
Link object files or libraries together to form another library, or to
create an executable program.
LINK-COMMAND is a command using the C compiler that you would use to create
a program from several object files.
The following components of LINK-COMMAND are treated specially:
-all-static do not do any dynamic linking at all
-avoid-version do not add a version suffix if possible
-bindir BINDIR specify path to binaries directory (for systems where
libraries must be found in the PATH setting at runtime)
-dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime
-dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
-export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-export-symbols SYMFILE
try to export only the symbols listed in SYMFILE
-export-symbols-regex REGEX
try to export only the symbols matching REGEX
-LLIBDIR search LIBDIR for required installed libraries
-lNAME OUTPUT-FILE requires the installed library libNAME
-module build a library that can dlopened
-no-fast-install disable the fast-install mode
-no-install link a not-installable executable
-no-undefined declare that a library does not refer to external symbols
-o OUTPUT-FILE create OUTPUT-FILE from the specified objects
-objectlist FILE use a list of object files found in FILE to specify objects
-os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes)
-precious-files-regex REGEX
don't remove output files matching REGEX
-release RELEASE specify package release information
-rpath LIBDIR the created library will eventually be installed in LIBDIR
-R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
-shared only do dynamic linking of libtool libraries
-shrext SUFFIX override the standard shared library file extension
-static do not do any dynamic linking of uninstalled libtool libraries
-static-libtool-libs
do not do any dynamic linking of libtool libraries
-version-info CURRENT[:REVISION[:AGE]]
specify library version info [each variable defaults to 0]
-weak LIBNAME declare that the target provides the LIBNAME interface
-Wc,FLAG
-Xcompiler FLAG pass linker-specific FLAG directly to the compiler
-Wl,FLAG
-Xlinker FLAG pass linker-specific FLAG directly to the linker
-XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
All other options (arguments beginning with '-') are ignored.
Every other argument is treated as a filename. Files ending in '.la' are
treated as uninstalled libtool libraries, other files are standard or library
object files.
If the OUTPUT-FILE ends in '.la', then a libtool library is created,
only library objects ('.lo' files) may be specified, and '-rpath' is
required, except when creating a convenience library.
If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created
using 'ar' and 'ranlib', or on Windows using 'lib'.
If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file
is created, otherwise an executable program is created."
;;
uninstall)
$ECHO \
"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
Remove libraries from an installation directory.
RM is the name of the program to use to delete files associated with each FILE
(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed
to RM.
If FILE is a libtool library, all the files associated with it are deleted.
Otherwise, only FILE itself is deleted using RM."
;;
*)
func_fatal_help "invalid operation mode '$opt_mode'"
;;
esac
echo
$ECHO "Try '$progname --help' for more information about other modes."
}
# Now that we've collected a possible --mode arg, show help if necessary
if $opt_help; then
if test : = "$opt_help"; then
func_mode_help
else
{
func_help noexit
for opt_mode in compile link execute install finish uninstall clean; do
func_mode_help
done
} | $SED -n '1p; 2,$s/^Usage:/ or: /p'
{
func_help noexit
for opt_mode in compile link execute install finish uninstall clean; do
echo
func_mode_help
done
} |
$SED '1d
/^When reporting/,/^Report/{
H
d
}
$x
/information about other modes/d
/more detailed .*MODE/d
s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
fi
exit $?
fi
# func_mode_execute arg...
func_mode_execute ()
{
$debug_cmd
# The first argument is the command name.
cmd=$nonopt
test -z "$cmd" && \
func_fatal_help "you must specify a COMMAND"
# Handle -dlopen flags immediately.
for file in $opt_dlopen; do
test -f "$file" \
|| func_fatal_help "'$file' is not a file"
dir=
case $file in
*.la)
func_resolve_sysroot "$file"
file=$func_resolve_sysroot_result
# Check to see that this really is a libtool archive.
func_lalib_unsafe_p "$file" \
|| func_fatal_help "'$lib' is not a valid libtool archive"
# Read the libtool library.
dlname=
library_names=
func_source "$file"
# Skip this library if it cannot be dlopened.
if test -z "$dlname"; then
# Warn if it was a shared library.
test -n "$library_names" && \
func_warning "'$file' was not linked with '-export-dynamic'"
continue
fi
func_dirname "$file" "" "."
dir=$func_dirname_result
if test -f "$dir/$objdir/$dlname"; then
func_append dir "/$objdir"
else
if test ! -f "$dir/$dlname"; then
func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'"
fi
fi
;;
*.lo)
# Just add the directory containing the .lo file.
func_dirname "$file" "" "."
dir=$func_dirname_result
;;
*)
func_warning "'-dlopen' is ignored for non-libtool libraries and objects"
continue
;;
esac
# Get the absolute pathname.
absdir=`cd "$dir" && pwd`
test -n "$absdir" && dir=$absdir
# Now add the directory to shlibpath_var.
if eval "test -z \"\$$shlibpath_var\""; then
eval "$shlibpath_var=\"\$dir\""
else
eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
fi
done
# This variable tells wrapper scripts just to set shlibpath_var
# rather than running their programs.
libtool_execute_magic=$magic
# Check if any of the arguments is a wrapper script.
args=
for file
do
case $file in
-* | *.la | *.lo ) ;;
*)
# Do a test to see if this is really a libtool program.
if func_ltwrapper_script_p "$file"; then
func_source "$file"
# Transform arg to wrapped name.
file=$progdir/$program
elif func_ltwrapper_executable_p "$file"; then
func_ltwrapper_scriptname "$file"
func_source "$func_ltwrapper_scriptname_result"
# Transform arg to wrapped name.
file=$progdir/$program
fi
;;
esac
# Quote arguments (to preserve shell metacharacters).
func_append_quoted args "$file"
done
if $opt_dry_run; then
# Display what would be done.
if test -n "$shlibpath_var"; then
eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
echo "export $shlibpath_var"
fi
$ECHO "$cmd$args"
exit $EXIT_SUCCESS
else
if test -n "$shlibpath_var"; then
# Export the shlibpath_var.
eval "export $shlibpath_var"
fi
# Restore saved environment variables
for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
do
eval "if test \"\${save_$lt_var+set}\" = set; then
$lt_var=\$save_$lt_var; export $lt_var
else
$lt_unset $lt_var
fi"
done
# Now prepare to actually exec the command.
exec_cmd=\$cmd$args
fi
}
test execute = "$opt_mode" && func_mode_execute ${1+"$@"}
# func_mode_finish arg...
func_mode_finish ()
{
$debug_cmd
libs=
libdirs=
admincmds=
for opt in "$nonopt" ${1+"$@"}
do
if test -d "$opt"; then
func_append libdirs " $opt"
elif test -f "$opt"; then
if func_lalib_unsafe_p "$opt"; then
func_append libs " $opt"
else
func_warning "'$opt' is not a valid libtool archive"
fi
else
func_fatal_error "invalid argument '$opt'"
fi
done
if test -n "$libs"; then
if test -n "$lt_sysroot"; then
sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
else
sysroot_cmd=
fi
# Remove sysroot references
if $opt_dry_run; then
for lib in $libs; do
echo "removing references to $lt_sysroot and '=' prefixes from $lib"
done
else
tmpdir=`func_mktempdir`
for lib in $libs; do
$SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
> $tmpdir/tmp-la
mv -f $tmpdir/tmp-la $lib
done
${RM}r "$tmpdir"
fi
fi
if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
for libdir in $libdirs; do
if test -n "$finish_cmds"; then
# Do each command in the finish commands.
func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
'"$cmd"'"'
fi
if test -n "$finish_eval"; then
# Do the single finish_eval.
eval cmds=\"$finish_eval\"
$opt_dry_run || eval "$cmds" || func_append admincmds "
$cmds"
fi
done
fi
# Exit here if they wanted silent mode.
$opt_quiet && exit $EXIT_SUCCESS
if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
echo "----------------------------------------------------------------------"
echo "Libraries have been installed in:"
for libdir in $libdirs; do
$ECHO " $libdir"
done
echo
echo "If you ever happen to want to link against installed libraries"
echo "in a given directory, LIBDIR, you must either use libtool, and"
echo "specify the full pathname of the library, or use the '-LLIBDIR'"
echo "flag during linking and do at least one of the following:"
if test -n "$shlibpath_var"; then
echo " - add LIBDIR to the '$shlibpath_var' environment variable"
echo " during execution"
fi
if test -n "$runpath_var"; then
echo " - add LIBDIR to the '$runpath_var' environment variable"
echo " during linking"
fi
if test -n "$hardcode_libdir_flag_spec"; then
libdir=LIBDIR
eval flag=\"$hardcode_libdir_flag_spec\"
$ECHO " - use the '$flag' linker flag"
fi
if test -n "$admincmds"; then
$ECHO " - have your system administrator run these commands:$admincmds"
fi
if test -f /etc/ld.so.conf; then
echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'"
fi
echo
echo "See any operating system documentation about shared libraries for"
case $host in
solaris2.[6789]|solaris2.1[0-9])
echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
echo "pages."
;;
*)
echo "more information, such as the ld(1) and ld.so(8) manual pages."
;;
esac
echo "----------------------------------------------------------------------"
fi
exit $EXIT_SUCCESS
}
test finish = "$opt_mode" && func_mode_finish ${1+"$@"}
# func_mode_install arg...
func_mode_install ()
{
$debug_cmd
# There may be an optional sh(1) argument at the beginning of
# install_prog (especially on Windows NT).
if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" ||
# Allow the use of GNU shtool's install command.
case $nonopt in *shtool*) :;; *) false;; esac
then
# Aesthetically quote it.
func_quote_for_eval "$nonopt"
install_prog="$func_quote_for_eval_result "
arg=$1
shift
else
install_prog=
arg=$nonopt
fi
# The real first argument should be the name of the installation program.
# Aesthetically quote it.
func_quote_for_eval "$arg"
func_append install_prog "$func_quote_for_eval_result"
install_shared_prog=$install_prog
case " $install_prog " in
*[\\\ /]cp\ *) install_cp=: ;;
*) install_cp=false ;;
esac
# We need to accept at least all the BSD install flags.
dest=
files=
opts=
prev=
install_type=
isdir=false
stripme=
no_mode=:
for arg
do
arg2=
if test -n "$dest"; then
func_append files " $dest"
dest=$arg
continue
fi
case $arg in
-d) isdir=: ;;
-f)
if $install_cp; then :; else
prev=$arg
fi
;;
-g | -m | -o)
prev=$arg
;;
-s)
stripme=" -s"
continue
;;
-*)
;;
*)
# If the previous option needed an argument, then skip it.
if test -n "$prev"; then
if test X-m = "X$prev" && test -n "$install_override_mode"; then
arg2=$install_override_mode
no_mode=false
fi
prev=
else
dest=$arg
continue
fi
;;
esac
# Aesthetically quote the argument.
func_quote_for_eval "$arg"
func_append install_prog " $func_quote_for_eval_result"
if test -n "$arg2"; then
func_quote_for_eval "$arg2"
fi
func_append install_shared_prog " $func_quote_for_eval_result"
done
test -z "$install_prog" && \
func_fatal_help "you must specify an install program"
test -n "$prev" && \
func_fatal_help "the '$prev' option requires an argument"
if test -n "$install_override_mode" && $no_mode; then
if $install_cp; then :; else
func_quote_for_eval "$install_override_mode"
func_append install_shared_prog " -m $func_quote_for_eval_result"
fi
fi
if test -z "$files"; then
if test -z "$dest"; then
func_fatal_help "no file or destination specified"
else
func_fatal_help "you must specify a destination"
fi
fi
# Strip any trailing slash from the destination.
func_stripname '' '/' "$dest"
dest=$func_stripname_result
# Check to see that the destination is a directory.
test -d "$dest" && isdir=:
if $isdir; then
destdir=$dest
destname=
else
func_dirname_and_basename "$dest" "" "."
destdir=$func_dirname_result
destname=$func_basename_result
# Not a directory, so check to see that there is only one file specified.
set dummy $files; shift
test "$#" -gt 1 && \
func_fatal_help "'$dest' is not a directory"
fi
case $destdir in
[\\/]* | [A-Za-z]:[\\/]*) ;;
*)
for file in $files; do
case $file in
*.lo) ;;
*)
func_fatal_help "'$destdir' must be an absolute directory name"
;;
esac
done
;;
esac
# This variable tells wrapper scripts just to set variables rather
# than running their programs.
libtool_install_magic=$magic
staticlibs=
future_libdirs=
current_libdirs=
for file in $files; do
# Do each installation.
case $file in
*.$libext)
# Do the static libraries later.
func_append staticlibs " $file"
;;
*.la)
func_resolve_sysroot "$file"
file=$func_resolve_sysroot_result
# Check to see that this really is a libtool archive.
func_lalib_unsafe_p "$file" \
|| func_fatal_help "'$file' is not a valid libtool archive"
library_names=
old_library=
relink_command=
func_source "$file"
# Add the libdir to current_libdirs if it is the destination.
if test "X$destdir" = "X$libdir"; then
case "$current_libdirs " in
*" $libdir "*) ;;
*) func_append current_libdirs " $libdir" ;;
esac
else
# Note the libdir as a future libdir.
case "$future_libdirs " in
*" $libdir "*) ;;
*) func_append future_libdirs " $libdir" ;;
esac
fi
func_dirname "$file" "/" ""
dir=$func_dirname_result
func_append dir "$objdir"
if test -n "$relink_command"; then
# Determine the prefix the user has applied to our future dir.
inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
# Don't allow the user to place us outside of our expected
# location b/c this prevents finding dependent libraries that
# are installed to the same prefix.
# At present, this check doesn't affect windows .dll's that
# are installed into $libdir/../bin (currently, that works fine)
# but it's something to keep an eye on.
test "$inst_prefix_dir" = "$destdir" && \
func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir"
if test -n "$inst_prefix_dir"; then
# Stick the inst_prefix_dir data into the link command.
relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
else
relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
fi
func_warning "relinking '$file'"
func_show_eval "$relink_command" \
'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"'
fi
# See the names of the shared library.
set dummy $library_names; shift
if test -n "$1"; then
realname=$1
shift
srcname=$realname
test -n "$relink_command" && srcname=${realname}T
# Install the shared library and build the symlinks.
func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
'exit $?'
tstripme=$stripme
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
case $realname in
*.dll.a)
tstripme=
;;
esac
;;
os2*)
case $realname in
*_dll.a)
tstripme=
;;
esac
;;
esac
if test -n "$tstripme" && test -n "$striplib"; then
func_show_eval "$striplib $destdir/$realname" 'exit $?'
fi
if test "$#" -gt 0; then
# Delete the old symlinks, and create new ones.
# Try 'ln -sf' first, because the 'ln' binary might depend on
# the symlink we replace! Solaris /bin/ln does not understand -f,
# so we also need to try rm && ln -s.
for linkname
do
test "$linkname" != "$realname" \
&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
done
fi
# Do each command in the postinstall commands.
lib=$destdir/$realname
func_execute_cmds "$postinstall_cmds" 'exit $?'
fi
# Install the pseudo-library for information purposes.
func_basename "$file"
name=$func_basename_result
instname=$dir/${name}i
func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
# Maybe install the static library, too.
test -n "$old_library" && func_append staticlibs " $dir/$old_library"
;;
*.lo)
# Install (i.e. copy) a libtool object.
# Figure out destination file name, if it wasn't already specified.
if test -n "$destname"; then
destfile=$destdir/$destname
else
func_basename "$file"
destfile=$func_basename_result
destfile=$destdir/$destfile
fi
# Deduce the name of the destination old-style object file.
case $destfile in
*.lo)
func_lo2o "$destfile"
staticdest=$func_lo2o_result
;;
*.$objext)
staticdest=$destfile
destfile=
;;
*)
func_fatal_help "cannot copy a libtool object to '$destfile'"
;;
esac
# Install the libtool object if requested.
test -n "$destfile" && \
func_show_eval "$install_prog $file $destfile" 'exit $?'
# Install the old object if enabled.
if test yes = "$build_old_libs"; then
# Deduce the name of the old-style object file.
func_lo2o "$file"
staticobj=$func_lo2o_result
func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
fi
exit $EXIT_SUCCESS
;;
*)
# Figure out destination file name, if it wasn't already specified.
if test -n "$destname"; then
destfile=$destdir/$destname
else
func_basename "$file"
destfile=$func_basename_result
destfile=$destdir/$destfile
fi
# If the file is missing, and there is a .exe on the end, strip it
# because it is most likely a libtool script we actually want to
# install
stripped_ext=
case $file in
*.exe)
if test ! -f "$file"; then
func_stripname '' '.exe' "$file"
file=$func_stripname_result
stripped_ext=.exe
fi
;;
esac
# Do a test to see if this is really a libtool program.
case $host in
*cygwin* | *mingw*)
if func_ltwrapper_executable_p "$file"; then
func_ltwrapper_scriptname "$file"
wrapper=$func_ltwrapper_scriptname_result
else
func_stripname '' '.exe' "$file"
wrapper=$func_stripname_result
fi
;;
*)
wrapper=$file
;;
esac
if func_ltwrapper_script_p "$wrapper"; then
notinst_deplibs=
relink_command=
func_source "$wrapper"
# Check the variables that should have been set.
test -z "$generated_by_libtool_version" && \
func_fatal_error "invalid libtool wrapper script '$wrapper'"
finalize=:
for lib in $notinst_deplibs; do
# Check to see that each library is installed.
libdir=
if test -f "$lib"; then
func_source "$lib"
fi
libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'`
if test -n "$libdir" && test ! -f "$libfile"; then
func_warning "'$lib' has not been installed in '$libdir'"
finalize=false
fi
done
relink_command=
func_source "$wrapper"
outputname=
if test no = "$fast_install" && test -n "$relink_command"; then
$opt_dry_run || {
if $finalize; then
tmpdir=`func_mktempdir`
func_basename "$file$stripped_ext"
file=$func_basename_result
outputname=$tmpdir/$file
# Replace the output file specification.
relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
$opt_quiet || {
func_quote_for_expand "$relink_command"
eval "func_echo $func_quote_for_expand_result"
}
if eval "$relink_command"; then :
else
func_error "error: relink '$file' with the above command before installing it"
$opt_dry_run || ${RM}r "$tmpdir"
continue
fi
file=$outputname
else
func_warning "cannot relink '$file'"
fi
}
else
# Install the binary that we compiled earlier.
file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
fi
fi
# remove .exe since cygwin /usr/bin/install will append another
# one anyway
case $install_prog,$host in
*/usr/bin/install*,*cygwin*)
case $file:$destfile in
*.exe:*.exe)
# this is ok
;;
*.exe:*)
destfile=$destfile.exe
;;
*:*.exe)
func_stripname '' '.exe' "$destfile"
destfile=$func_stripname_result
;;
esac
;;
esac
func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
$opt_dry_run || if test -n "$outputname"; then
${RM}r "$tmpdir"
fi
;;
esac
done
for file in $staticlibs; do
func_basename "$file"
name=$func_basename_result
# Set up the ranlib parameters.
oldlib=$destdir/$name
func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
tool_oldlib=$func_to_tool_file_result
func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
if test -n "$stripme" && test -n "$old_striplib"; then
func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
fi
# Do each command in the postinstall commands.
func_execute_cmds "$old_postinstall_cmds" 'exit $?'
done
test -n "$future_libdirs" && \
func_warning "remember to run '$progname --finish$future_libdirs'"
if test -n "$current_libdirs"; then
# Maybe just do a dry run.
$opt_dry_run && current_libdirs=" -n$current_libdirs"
exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs'
else
exit $EXIT_SUCCESS
fi
}
test install = "$opt_mode" && func_mode_install ${1+"$@"}
# func_generate_dlsyms outputname originator pic_p
# Extract symbols from dlprefiles and create ${outputname}S.o with
# a dlpreopen symbol table.
func_generate_dlsyms ()
{
$debug_cmd
my_outputname=$1
my_originator=$2
my_pic_p=${3-false}
my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'`
my_dlsyms=
if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
if test -n "$NM" && test -n "$global_symbol_pipe"; then
my_dlsyms=${my_outputname}S.c
else
func_error "not configured to extract global symbols from dlpreopened files"
fi
fi
if test -n "$my_dlsyms"; then
case $my_dlsyms in
"") ;;
*.c)
# Discover the nlist of each of the dlfiles.
nlist=$output_objdir/$my_outputname.nm
func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
# Parse the name list into a source file.
func_verbose "creating $output_objdir/$my_dlsyms"
$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */
/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */
#ifdef __cplusplus
extern \"C\" {
#endif
#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
#endif
/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
/* DATA imports from DLLs on WIN32 can't be const, because runtime
relocations are performed -- see ld's documentation on pseudo-relocs. */
# define LT_DLSYM_CONST
#elif defined __osf__
/* This system does not cope well with relocations in const data. */
# define LT_DLSYM_CONST
#else
# define LT_DLSYM_CONST const
#endif
#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
/* External symbol declarations for the compiler. */\
"
if test yes = "$dlself"; then
func_verbose "generating symbol list for '$output'"
$opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
# Add our own program objects to the symbol list.
progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
for progfile in $progfiles; do
func_to_tool_file "$progfile" func_convert_file_msys_to_w32
func_verbose "extracting global C symbols from '$func_to_tool_file_result'"
$opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
done
if test -n "$exclude_expsyms"; then
$opt_dry_run || {
eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
eval '$MV "$nlist"T "$nlist"'
}
fi
if test -n "$export_symbols_regex"; then
$opt_dry_run || {
eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
eval '$MV "$nlist"T "$nlist"'
}
fi
# Prepare the list of exported symbols
if test -z "$export_symbols"; then
export_symbols=$output_objdir/$outputname.exp
$opt_dry_run || {
$RM $export_symbols
eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
case $host in
*cygwin* | *mingw* | *cegcc* )
eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
;;
esac
}
else
$opt_dry_run || {
eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
eval '$MV "$nlist"T "$nlist"'
case $host in
*cygwin* | *mingw* | *cegcc* )
eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
;;
esac
}
fi
fi
for dlprefile in $dlprefiles; do
func_verbose "extracting global C symbols from '$dlprefile'"
func_basename "$dlprefile"
name=$func_basename_result
case $host in
*cygwin* | *mingw* | *cegcc* )
# if an import library, we need to obtain dlname
if func_win32_import_lib_p "$dlprefile"; then
func_tr_sh "$dlprefile"
eval "curr_lafile=\$libfile_$func_tr_sh_result"
dlprefile_dlbasename=
if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
# Use subshell, to avoid clobbering current variable values
dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
if test -n "$dlprefile_dlname"; then
func_basename "$dlprefile_dlname"
dlprefile_dlbasename=$func_basename_result
else
# no lafile. user explicitly requested -dlpreopen .
$sharedlib_from_linklib_cmd "$dlprefile"
dlprefile_dlbasename=$sharedlib_from_linklib_result
fi
fi
$opt_dry_run || {
if test -n "$dlprefile_dlbasename"; then
eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
else
func_warning "Could not compute DLL name from $name"
eval '$ECHO ": $name " >> "$nlist"'
fi
func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
$SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
}
else # not an import lib
$opt_dry_run || {
eval '$ECHO ": $name " >> "$nlist"'
func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
}
fi
;;
*)
$opt_dry_run || {
eval '$ECHO ": $name " >> "$nlist"'
func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
}
;;
esac
done
$opt_dry_run || {
# Make sure we have at least an empty file.
test -f "$nlist" || : > "$nlist"
if test -n "$exclude_expsyms"; then
$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
$MV "$nlist"T "$nlist"
fi
# Try sorting and uniquifying the output.
if $GREP -v "^: " < "$nlist" |
if sort -k 3 /dev/null 2>&1; then
sort -k 3
else
sort +2
fi |
uniq > "$nlist"S; then
:
else
$GREP -v "^: " < "$nlist" > "$nlist"S
fi
if test -f "$nlist"S; then
eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
else
echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
fi
func_show_eval '$RM "${nlist}I"'
if test -n "$global_symbol_to_import"; then
eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I'
fi
echo >> "$output_objdir/$my_dlsyms" "\
/* The mapping between symbol names and symbols. */
typedef struct {
const char *name;
void *address;
} lt_dlsymlist;
extern LT_DLSYM_CONST lt_dlsymlist
lt_${my_prefix}_LTX_preloaded_symbols[];\
"
if test -s "$nlist"I; then
echo >> "$output_objdir/$my_dlsyms" "\
static void lt_syminit(void)
{
LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols;
for (; symbol->name; ++symbol)
{"
$SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms"
echo >> "$output_objdir/$my_dlsyms" "\
}
}"
fi
echo >> "$output_objdir/$my_dlsyms" "\
LT_DLSYM_CONST lt_dlsymlist
lt_${my_prefix}_LTX_preloaded_symbols[] =
{ {\"$my_originator\", (void *) 0},"
if test -s "$nlist"I; then
echo >> "$output_objdir/$my_dlsyms" "\
{\"@INIT@\", (void *) <_syminit},"
fi
case $need_lib_prefix in
no)
eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
;;
*)
eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
;;
esac
echo >> "$output_objdir/$my_dlsyms" "\
{0, (void *) 0}
};
/* This works around a problem in FreeBSD linker */
#ifdef FREEBSD_WORKAROUND
static const void *lt_preloaded_setup() {
return lt_${my_prefix}_LTX_preloaded_symbols;
}
#endif
#ifdef __cplusplus
}
#endif\
"
} # !$opt_dry_run
pic_flag_for_symtable=
case "$compile_command " in
*" -static "*) ;;
*)
case $host in
# compiling the symbol table file with pic_flag works around
# a FreeBSD bug that causes programs to crash when -lm is
# linked before any other PIC object. But we must not use
# pic_flag when linking with -static. The problem exists in
# FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
*-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
*-*-hpux*)
pic_flag_for_symtable=" $pic_flag" ;;
*)
$my_pic_p && pic_flag_for_symtable=" $pic_flag"
;;
esac
;;
esac
symtab_cflags=
for arg in $LTCFLAGS; do
case $arg in
-pie | -fpie | -fPIE) ;;
*) func_append symtab_cflags " $arg" ;;
esac
done
# Now compile the dynamic symbol file.
func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
# Clean up the generated files.
func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"'
# Transform the symbol file into the correct name.
symfileobj=$output_objdir/${my_outputname}S.$objext
case $host in
*cygwin* | *mingw* | *cegcc* )
if test -f "$output_objdir/$my_outputname.def"; then
compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
else
compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
fi
;;
*)
compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
;;
esac
;;
*)
func_fatal_error "unknown suffix for '$my_dlsyms'"
;;
esac
else
# We keep going just in case the user didn't refer to
# lt_preloaded_symbols. The linker will fail if global_symbol_pipe
# really was required.
# Nullify the symbol file.
compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
fi
}
# func_cygming_gnu_implib_p ARG
# This predicate returns with zero status (TRUE) if
# ARG is a GNU/binutils-style import library. Returns
# with nonzero status (FALSE) otherwise.
func_cygming_gnu_implib_p ()
{
$debug_cmd
func_to_tool_file "$1" func_convert_file_msys_to_w32
func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
test -n "$func_cygming_gnu_implib_tmp"
}
# func_cygming_ms_implib_p ARG
# This predicate returns with zero status (TRUE) if
# ARG is an MS-style import library. Returns
# with nonzero status (FALSE) otherwise.
func_cygming_ms_implib_p ()
{
$debug_cmd
func_to_tool_file "$1" func_convert_file_msys_to_w32
func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
test -n "$func_cygming_ms_implib_tmp"
}
# func_win32_libid arg
# return the library type of file 'arg'
#
# Need a lot of goo to handle *both* DLLs and import libs
# Has to be a shell function in order to 'eat' the argument
# that is supplied when $file_magic_command is called.
# Despite the name, also deal with 64 bit binaries.
func_win32_libid ()
{
$debug_cmd
win32_libid_type=unknown
win32_fileres=`file -L $1 2>/dev/null`
case $win32_fileres in
*ar\ archive\ import\ library*) # definitely import
win32_libid_type="x86 archive import"
;;
*ar\ archive*) # could be an import, or static
# Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
$EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
case $nm_interface in
"MS dumpbin")
if func_cygming_ms_implib_p "$1" ||
func_cygming_gnu_implib_p "$1"
then
win32_nmres=import
else
win32_nmres=
fi
;;
*)
func_to_tool_file "$1" func_convert_file_msys_to_w32
win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
$SED -n -e '
1,100{
/ I /{
s|.*|import|
p
q
}
}'`
;;
esac
case $win32_nmres in
import*) win32_libid_type="x86 archive import";;
*) win32_libid_type="x86 archive static";;
esac
fi
;;
*DLL*)
win32_libid_type="x86 DLL"
;;
*executable*) # but shell scripts are "executable" too...
case $win32_fileres in
*MS\ Windows\ PE\ Intel*)
win32_libid_type="x86 DLL"
;;
esac
;;
esac
$ECHO "$win32_libid_type"
}
# func_cygming_dll_for_implib ARG
#
# Platform-specific function to extract the
# name of the DLL associated with the specified
# import library ARG.
# Invoked by eval'ing the libtool variable
# $sharedlib_from_linklib_cmd
# Result is available in the variable
# $sharedlib_from_linklib_result
func_cygming_dll_for_implib ()
{
$debug_cmd
sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
}
# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
#
# The is the core of a fallback implementation of a
# platform-specific function to extract the name of the
# DLL associated with the specified import library LIBNAME.
#
# SECTION_NAME is either .idata$6 or .idata$7, depending
# on the platform and compiler that created the implib.
#
# Echos the name of the DLL associated with the
# specified import library.
func_cygming_dll_for_implib_fallback_core ()
{
$debug_cmd
match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
$OBJDUMP -s --section "$1" "$2" 2>/dev/null |
$SED '/^Contents of section '"$match_literal"':/{
# Place marker at beginning of archive member dllname section
s/.*/====MARK====/
p
d
}
# These lines can sometimes be longer than 43 characters, but
# are always uninteresting
/:[ ]*file format pe[i]\{,1\}-/d
/^In archive [^:]*:/d
# Ensure marker is printed
/^====MARK====/p
# Remove all lines with less than 43 characters
/^.\{43\}/!d
# From remaining lines, remove first 43 characters
s/^.\{43\}//' |
$SED -n '
# Join marker and all lines until next marker into a single line
/^====MARK====/ b para
H
$ b para
b
:para
x
s/\n//g
# Remove the marker
s/^====MARK====//
# Remove trailing dots and whitespace
s/[\. \t]*$//
# Print
/./p' |
# we now have a list, one entry per line, of the stringified
# contents of the appropriate section of all members of the
# archive that possess that section. Heuristic: eliminate
# all those that have a first or second character that is
# a '.' (that is, objdump's representation of an unprintable
# character.) This should work for all archives with less than
# 0x302f exports -- but will fail for DLLs whose name actually
# begins with a literal '.' or a single character followed by
# a '.'.
#
# Of those that remain, print the first one.
$SED -e '/^\./d;/^.\./d;q'
}
# func_cygming_dll_for_implib_fallback ARG
# Platform-specific function to extract the
# name of the DLL associated with the specified
# import library ARG.
#
# This fallback implementation is for use when $DLLTOOL
# does not support the --identify-strict option.
# Invoked by eval'ing the libtool variable
# $sharedlib_from_linklib_cmd
# Result is available in the variable
# $sharedlib_from_linklib_result
func_cygming_dll_for_implib_fallback ()
{
$debug_cmd
if func_cygming_gnu_implib_p "$1"; then
# binutils import library
sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
elif func_cygming_ms_implib_p "$1"; then
# ms-generated import library
sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
else
# unknown
sharedlib_from_linklib_result=
fi
}
# func_extract_an_archive dir oldlib
func_extract_an_archive ()
{
$debug_cmd
f_ex_an_ar_dir=$1; shift
f_ex_an_ar_oldlib=$1
if test yes = "$lock_old_archive_extraction"; then
lockfile=$f_ex_an_ar_oldlib.lock
until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
func_echo "Waiting for $lockfile to be removed"
sleep 2
done
fi
func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
'stat=$?; rm -f "$lockfile"; exit $stat'
if test yes = "$lock_old_archive_extraction"; then
$opt_dry_run || rm -f "$lockfile"
fi
if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
:
else
func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
fi
}
# func_extract_archives gentop oldlib ...
func_extract_archives ()
{
$debug_cmd
my_gentop=$1; shift
my_oldlibs=${1+"$@"}
my_oldobjs=
my_xlib=
my_xabs=
my_xdir=
for my_xlib in $my_oldlibs; do
# Extract the objects.
case $my_xlib in
[\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;;
*) my_xabs=`pwd`"/$my_xlib" ;;
esac
func_basename "$my_xlib"
my_xlib=$func_basename_result
my_xlib_u=$my_xlib
while :; do
case " $extracted_archives " in
*" $my_xlib_u "*)
func_arith $extracted_serial + 1
extracted_serial=$func_arith_result
my_xlib_u=lt$extracted_serial-$my_xlib ;;
*) break ;;
esac
done
extracted_archives="$extracted_archives $my_xlib_u"
my_xdir=$my_gentop/$my_xlib_u
func_mkdir_p "$my_xdir"
case $host in
*-darwin*)
func_verbose "Extracting $my_xabs"
# Do not bother doing anything if just a dry run
$opt_dry_run || {
darwin_orig_dir=`pwd`
cd $my_xdir || exit $?
darwin_archive=$my_xabs
darwin_curdir=`pwd`
func_basename "$darwin_archive"
darwin_base_archive=$func_basename_result
darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
if test -n "$darwin_arches"; then
darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
darwin_arch=
func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
for darwin_arch in $darwin_arches; do
func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch"
$LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive"
cd "unfat-$$/$darwin_base_archive-$darwin_arch"
func_extract_an_archive "`pwd`" "$darwin_base_archive"
cd "$darwin_curdir"
$RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive"
done # $darwin_arches
## Okay now we've a bunch of thin objects, gotta fatten them up :)
darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u`
darwin_file=
darwin_files=
for darwin_file in $darwin_filelist; do
darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
$LIPO -create -output "$darwin_file" $darwin_files
done # $darwin_filelist
$RM -rf unfat-$$
cd "$darwin_orig_dir"
else
cd $darwin_orig_dir
func_extract_an_archive "$my_xdir" "$my_xabs"
fi # $darwin_arches
} # !$opt_dry_run
;;
*)
func_extract_an_archive "$my_xdir" "$my_xabs"
;;
esac
my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
done
func_extract_archives_result=$my_oldobjs
}
# func_emit_wrapper [arg=no]
#
# Emit a libtool wrapper script on stdout.
# Don't directly open a file because we may want to
# incorporate the script contents within a cygwin/mingw
# wrapper executable. Must ONLY be called from within
# func_mode_link because it depends on a number of variables
# set therein.
#
# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
# variable will take. If 'yes', then the emitted script
# will assume that the directory where it is stored is
# the $objdir directory. This is a cygwin/mingw-specific
# behavior.
func_emit_wrapper ()
{
func_emit_wrapper_arg1=${1-no}
$ECHO "\
#! $SHELL
# $output - temporary wrapper script for $objdir/$outputname
# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
#
# The $output program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.
# Sed substitution that helps us do robust quoting. It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='$sed_quote_subst'
# Be Bourne compatible
if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
# Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
# is contrary to our usage. Disable this feature.
alias -g '\${1+\"\$@\"}'='\"\$@\"'
setopt NO_GLOB_SUBST
else
case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh
# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
relink_command=\"$relink_command\"
# This environment variable determines our operation mode.
if test \"\$libtool_install_magic\" = \"$magic\"; then
# install mode needs the following variables:
generated_by_libtool_version='$macro_version'
notinst_deplibs='$notinst_deplibs'
else
# When we are sourced in execute mode, \$file and \$ECHO are already set.
if test \"\$libtool_execute_magic\" != \"$magic\"; then
file=\"\$0\""
func_quote "$ECHO"
qECHO=$func_quote_result
$ECHO "\
# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
eval 'cat <<_LTECHO_EOF
\$1
_LTECHO_EOF'
}
ECHO=\"$qECHO\"
fi
# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string "--lt-"
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's $0 value, followed by "$@".
lt_option_debug=
func_parse_lt_options ()
{
lt_script_arg0=\$0
shift
for lt_opt
do
case \"\$lt_opt\" in
--lt-debug) lt_option_debug=1 ;;
--lt-dump-script)
lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
cat \"\$lt_dump_D/\$lt_dump_F\"
exit 0
;;
--lt-*)
\$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
exit 1
;;
esac
done
# Print the debug banner immediately:
if test -n \"\$lt_option_debug\"; then
echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2
fi
}
# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
lt_dump_args_N=1;
for lt_arg
do
\$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\"
lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
done
}
# Core function for launching the target application
func_exec_program_core ()
{
"
case $host in
# Backslashes separate directories on plain windows
*-*-mingw | *-*-os2* | *-cegcc*)
$ECHO "\
if test -n \"\$lt_option_debug\"; then
\$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2
func_lt_dump_args \${1+\"\$@\"} 1>&2
fi
exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
"
;;
*)
$ECHO "\
if test -n \"\$lt_option_debug\"; then
\$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2
func_lt_dump_args \${1+\"\$@\"} 1>&2
fi
exec \"\$progdir/\$program\" \${1+\"\$@\"}
"
;;
esac
$ECHO "\
\$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
exit 1
}
# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from \$@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
case \" \$* \" in
*\\ --lt-*)
for lt_wr_arg
do
case \$lt_wr_arg in
--lt-*) ;;
*) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
esac
shift
done ;;
esac
func_exec_program_core \${1+\"\$@\"}
}
# Parse options
func_parse_lt_options \"\$0\" \${1+\"\$@\"}
# Find the directory that this script lives in.
thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
test \"x\$thisdir\" = \"x\$file\" && thisdir=.
# Follow symbolic links until we get to the real thisdir.
file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
while test -n \"\$file\"; do
destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
# If there was a directory component, then change thisdir.
if test \"x\$destdir\" != \"x\$file\"; then
case \"\$destdir\" in
[\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
*) thisdir=\"\$thisdir/\$destdir\" ;;
esac
fi
file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
done
# Usually 'no', except on cygwin/mingw when embedded into
# the cwrapper.
WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
# special case for '.'
if test \"\$thisdir\" = \".\"; then
thisdir=\`pwd\`
fi
# remove .libs from thisdir
case \"\$thisdir\" in
*[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
$objdir ) thisdir=. ;;
esac
fi
# Try to get the absolute directory name.
absdir=\`cd \"\$thisdir\" && pwd\`
test -n \"\$absdir\" && thisdir=\"\$absdir\"
"
if test yes = "$fast_install"; then
$ECHO "\
program=lt-'$outputname'$exeext
progdir=\"\$thisdir/$objdir\"
if test ! -f \"\$progdir/\$program\" ||
{ file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\
test \"X\$file\" != \"X\$progdir/\$program\"; }; then
file=\"\$\$-\$program\"
if test ! -d \"\$progdir\"; then
$MKDIR \"\$progdir\"
else
$RM \"\$progdir/\$file\"
fi"
$ECHO "\
# relink executable if necessary
if test -n \"\$relink_command\"; then
if relink_command_output=\`eval \$relink_command 2>&1\`; then :
else
\$ECHO \"\$relink_command_output\" >&2
$RM \"\$progdir/\$file\"
exit 1
fi
fi
$MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
{ $RM \"\$progdir/\$program\";
$MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
$RM \"\$progdir/\$file\"
fi"
else
$ECHO "\
program='$outputname'
progdir=\"\$thisdir/$objdir\"
"
fi
$ECHO "\
if test -f \"\$progdir/\$program\"; then"
# fixup the dll searchpath if we need to.
#
# Fix the DLL searchpath if we need to. Do this before prepending
# to shlibpath, because on Windows, both are PATH and uninstalled
# libraries must come first.
if test -n "$dllsearchpath"; then
$ECHO "\
# Add the dll search path components to the executable PATH
PATH=$dllsearchpath:\$PATH
"
fi
# Export our shlibpath_var if we have one.
if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
$ECHO "\
# Add our own library path to $shlibpath_var
$shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
# Some systems cannot cope with colon-terminated $shlibpath_var
# The second colon is a workaround for a bug in BeOS R4 sed
$shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
export $shlibpath_var
"
fi
$ECHO "\
if test \"\$libtool_execute_magic\" != \"$magic\"; then
# Run the actual program with our arguments.
func_exec_program \${1+\"\$@\"}
fi
else
# The program doesn't exist.
\$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2
\$ECHO \"This script is just a wrapper for \$program.\" 1>&2
\$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
exit 1
fi
fi\
"
}
# func_emit_cwrapperexe_src
# emit the source code for a wrapper executable on stdout
# Must ONLY be called from within func_mode_link because
# it depends on a number of variable set therein.
func_emit_cwrapperexe_src ()
{
cat <
#include
#ifdef _MSC_VER
# include
# include
# include
#else
# include
# include
# ifdef __CYGWIN__
# include
# endif
#endif
#include
#include
#include
#include
#include
#include
#include
#include
#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
/* declarations of non-ANSI functions */
#if defined __MINGW32__
# ifdef __STRICT_ANSI__
int _putenv (const char *);
# endif
#elif defined __CYGWIN__
# ifdef __STRICT_ANSI__
char *realpath (const char *, char *);
int putenv (char *);
int setenv (const char *, const char *, int);
# endif
/* #elif defined other_platform || defined ... */
#endif
/* portability defines, excluding path handling macros */
#if defined _MSC_VER
# define setmode _setmode
# define stat _stat
# define chmod _chmod
# define getcwd _getcwd
# define putenv _putenv
# define S_IXUSR _S_IEXEC
#elif defined __MINGW32__
# define setmode _setmode
# define stat _stat
# define chmod _chmod
# define getcwd _getcwd
# define putenv _putenv
#elif defined __CYGWIN__
# define HAVE_SETENV
# define FOPEN_WB "wb"
/* #elif defined other platforms ... */
#endif
#if defined PATH_MAX
# define LT_PATHMAX PATH_MAX
#elif defined MAXPATHLEN
# define LT_PATHMAX MAXPATHLEN
#else
# define LT_PATHMAX 1024
#endif
#ifndef S_IXOTH
# define S_IXOTH 0
#endif
#ifndef S_IXGRP
# define S_IXGRP 0
#endif
/* path handling portability macros */
#ifndef DIR_SEPARATOR
# define DIR_SEPARATOR '/'
# define PATH_SEPARATOR ':'
#endif
#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \
defined __OS2__
# define HAVE_DOS_BASED_FILE_SYSTEM
# define FOPEN_WB "wb"
# ifndef DIR_SEPARATOR_2
# define DIR_SEPARATOR_2 '\\'
# endif
# ifndef PATH_SEPARATOR_2
# define PATH_SEPARATOR_2 ';'
# endif
#endif
#ifndef DIR_SEPARATOR_2
# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
#else /* DIR_SEPARATOR_2 */
# define IS_DIR_SEPARATOR(ch) \
(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
#endif /* DIR_SEPARATOR_2 */
#ifndef PATH_SEPARATOR_2
# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
#else /* PATH_SEPARATOR_2 */
# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
#endif /* PATH_SEPARATOR_2 */
#ifndef FOPEN_WB
# define FOPEN_WB "w"
#endif
#ifndef _O_BINARY
# define _O_BINARY 0
#endif
#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
#define XFREE(stale) do { \
if (stale) { free (stale); stale = 0; } \
} while (0)
#if defined LT_DEBUGWRAPPER
static int lt_debug = 1;
#else
static int lt_debug = 0;
#endif
const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
void *xmalloc (size_t num);
char *xstrdup (const char *string);
const char *base_name (const char *name);
char *find_executable (const char *wrapper);
char *chase_symlinks (const char *pathspec);
int make_executable (const char *path);
int check_executable (const char *path);
char *strendzap (char *str, const char *pat);
void lt_debugprintf (const char *file, int line, const char *fmt, ...);
void lt_fatal (const char *file, int line, const char *message, ...);
static const char *nonnull (const char *s);
static const char *nonempty (const char *s);
void lt_setenv (const char *name, const char *value);
char *lt_extend_str (const char *orig_value, const char *add, int to_end);
void lt_update_exe_path (const char *name, const char *value);
void lt_update_lib_path (const char *name, const char *value);
char **prepare_spawn (char **argv);
void lt_dump_script (FILE *f);
EOF
cat <= 0)
&& (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
return 1;
else
return 0;
}
int
make_executable (const char *path)
{
int rval = 0;
struct stat st;
lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
nonempty (path));
if ((!path) || (!*path))
return 0;
if (stat (path, &st) >= 0)
{
rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
}
return rval;
}
/* Searches for the full path of the wrapper. Returns
newly allocated full path name if found, NULL otherwise
Does not chase symlinks, even on platforms that support them.
*/
char *
find_executable (const char *wrapper)
{
int has_slash = 0;
const char *p;
const char *p_next;
/* static buffer for getcwd */
char tmp[LT_PATHMAX + 1];
size_t tmp_len;
char *concat_name;
lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
nonempty (wrapper));
if ((wrapper == NULL) || (*wrapper == '\0'))
return NULL;
/* Absolute path? */
#if defined HAVE_DOS_BASED_FILE_SYSTEM
if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
{
concat_name = xstrdup (wrapper);
if (check_executable (concat_name))
return concat_name;
XFREE (concat_name);
}
else
{
#endif
if (IS_DIR_SEPARATOR (wrapper[0]))
{
concat_name = xstrdup (wrapper);
if (check_executable (concat_name))
return concat_name;
XFREE (concat_name);
}
#if defined HAVE_DOS_BASED_FILE_SYSTEM
}
#endif
for (p = wrapper; *p; p++)
if (*p == '/')
{
has_slash = 1;
break;
}
if (!has_slash)
{
/* no slashes; search PATH */
const char *path = getenv ("PATH");
if (path != NULL)
{
for (p = path; *p; p = p_next)
{
const char *q;
size_t p_len;
for (q = p; *q; q++)
if (IS_PATH_SEPARATOR (*q))
break;
p_len = (size_t) (q - p);
p_next = (*q == '\0' ? q : q + 1);
if (p_len == 0)
{
/* empty path: current directory */
if (getcwd (tmp, LT_PATHMAX) == NULL)
lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
nonnull (strerror (errno)));
tmp_len = strlen (tmp);
concat_name =
XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
memcpy (concat_name, tmp, tmp_len);
concat_name[tmp_len] = '/';
strcpy (concat_name + tmp_len + 1, wrapper);
}
else
{
concat_name =
XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
memcpy (concat_name, p, p_len);
concat_name[p_len] = '/';
strcpy (concat_name + p_len + 1, wrapper);
}
if (check_executable (concat_name))
return concat_name;
XFREE (concat_name);
}
}
/* not found in PATH; assume curdir */
}
/* Relative path | not found in path: prepend cwd */
if (getcwd (tmp, LT_PATHMAX) == NULL)
lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
nonnull (strerror (errno)));
tmp_len = strlen (tmp);
concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
memcpy (concat_name, tmp, tmp_len);
concat_name[tmp_len] = '/';
strcpy (concat_name + tmp_len + 1, wrapper);
if (check_executable (concat_name))
return concat_name;
XFREE (concat_name);
return NULL;
}
char *
chase_symlinks (const char *pathspec)
{
#ifndef S_ISLNK
return xstrdup (pathspec);
#else
char buf[LT_PATHMAX];
struct stat s;
char *tmp_pathspec = xstrdup (pathspec);
char *p;
int has_symlinks = 0;
while (strlen (tmp_pathspec) && !has_symlinks)
{
lt_debugprintf (__FILE__, __LINE__,
"checking path component for symlinks: %s\n",
tmp_pathspec);
if (lstat (tmp_pathspec, &s) == 0)
{
if (S_ISLNK (s.st_mode) != 0)
{
has_symlinks = 1;
break;
}
/* search backwards for last DIR_SEPARATOR */
p = tmp_pathspec + strlen (tmp_pathspec) - 1;
while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
p--;
if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
{
/* no more DIR_SEPARATORS left */
break;
}
*p = '\0';
}
else
{
lt_fatal (__FILE__, __LINE__,
"error accessing file \"%s\": %s",
tmp_pathspec, nonnull (strerror (errno)));
}
}
XFREE (tmp_pathspec);
if (!has_symlinks)
{
return xstrdup (pathspec);
}
tmp_pathspec = realpath (pathspec, buf);
if (tmp_pathspec == 0)
{
lt_fatal (__FILE__, __LINE__,
"could not follow symlinks for %s", pathspec);
}
return xstrdup (tmp_pathspec);
#endif
}
char *
strendzap (char *str, const char *pat)
{
size_t len, patlen;
assert (str != NULL);
assert (pat != NULL);
len = strlen (str);
patlen = strlen (pat);
if (patlen <= len)
{
str += len - patlen;
if (STREQ (str, pat))
*str = '\0';
}
return str;
}
void
lt_debugprintf (const char *file, int line, const char *fmt, ...)
{
va_list args;
if (lt_debug)
{
(void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
va_start (args, fmt);
(void) vfprintf (stderr, fmt, args);
va_end (args);
}
}
static void
lt_error_core (int exit_status, const char *file,
int line, const char *mode,
const char *message, va_list ap)
{
fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
vfprintf (stderr, message, ap);
fprintf (stderr, ".\n");
if (exit_status >= 0)
exit (exit_status);
}
void
lt_fatal (const char *file, int line, const char *message, ...)
{
va_list ap;
va_start (ap, message);
lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
va_end (ap);
}
static const char *
nonnull (const char *s)
{
return s ? s : "(null)";
}
static const char *
nonempty (const char *s)
{
return (s && !*s) ? "(empty)" : nonnull (s);
}
void
lt_setenv (const char *name, const char *value)
{
lt_debugprintf (__FILE__, __LINE__,
"(lt_setenv) setting '%s' to '%s'\n",
nonnull (name), nonnull (value));
{
#ifdef HAVE_SETENV
/* always make a copy, for consistency with !HAVE_SETENV */
char *str = xstrdup (value);
setenv (name, str, 1);
#else
size_t len = strlen (name) + 1 + strlen (value) + 1;
char *str = XMALLOC (char, len);
sprintf (str, "%s=%s", name, value);
if (putenv (str) != EXIT_SUCCESS)
{
XFREE (str);
}
#endif
}
}
char *
lt_extend_str (const char *orig_value, const char *add, int to_end)
{
char *new_value;
if (orig_value && *orig_value)
{
size_t orig_value_len = strlen (orig_value);
size_t add_len = strlen (add);
new_value = XMALLOC (char, add_len + orig_value_len + 1);
if (to_end)
{
strcpy (new_value, orig_value);
strcpy (new_value + orig_value_len, add);
}
else
{
strcpy (new_value, add);
strcpy (new_value + add_len, orig_value);
}
}
else
{
new_value = xstrdup (add);
}
return new_value;
}
void
lt_update_exe_path (const char *name, const char *value)
{
lt_debugprintf (__FILE__, __LINE__,
"(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
nonnull (name), nonnull (value));
if (name && *name && value && *value)
{
char *new_value = lt_extend_str (getenv (name), value, 0);
/* some systems can't cope with a ':'-terminated path #' */
size_t len = strlen (new_value);
while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
{
new_value[--len] = '\0';
}
lt_setenv (name, new_value);
XFREE (new_value);
}
}
void
lt_update_lib_path (const char *name, const char *value)
{
lt_debugprintf (__FILE__, __LINE__,
"(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
nonnull (name), nonnull (value));
if (name && *name && value && *value)
{
char *new_value = lt_extend_str (getenv (name), value, 0);
lt_setenv (name, new_value);
XFREE (new_value);
}
}
EOF
case $host_os in
mingw*)
cat <<"EOF"
/* Prepares an argument vector before calling spawn().
Note that spawn() does not by itself call the command interpreter
(getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&v);
v.dwPlatformId == VER_PLATFORM_WIN32_NT;
}) ? "cmd.exe" : "command.com").
Instead it simply concatenates the arguments, separated by ' ', and calls
CreateProcess(). We must quote the arguments since Win32 CreateProcess()
interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
special way:
- Space and tab are interpreted as delimiters. They are not treated as
delimiters if they are surrounded by double quotes: "...".
- Unescaped double quotes are removed from the input. Their only effect is
that within double quotes, space and tab are treated like normal
characters.
- Backslashes not followed by double quotes are not special.
- But 2*n+1 backslashes followed by a double quote become
n backslashes followed by a double quote (n >= 0):
\" -> "
\\\" -> \"
\\\\\" -> \\"
*/
#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
char **
prepare_spawn (char **argv)
{
size_t argc;
char **new_argv;
size_t i;
/* Count number of arguments. */
for (argc = 0; argv[argc] != NULL; argc++)
;
/* Allocate new argument vector. */
new_argv = XMALLOC (char *, argc + 1);
/* Put quoted arguments into the new argument vector. */
for (i = 0; i < argc; i++)
{
const char *string = argv[i];
if (string[0] == '\0')
new_argv[i] = xstrdup ("\"\"");
else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
{
int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
size_t length;
unsigned int backslashes;
const char *s;
char *quoted_string;
char *p;
length = 0;
backslashes = 0;
if (quote_around)
length++;
for (s = string; *s != '\0'; s++)
{
char c = *s;
if (c == '"')
length += backslashes + 1;
length++;
if (c == '\\')
backslashes++;
else
backslashes = 0;
}
if (quote_around)
length += backslashes + 1;
quoted_string = XMALLOC (char, length + 1);
p = quoted_string;
backslashes = 0;
if (quote_around)
*p++ = '"';
for (s = string; *s != '\0'; s++)
{
char c = *s;
if (c == '"')
{
unsigned int j;
for (j = backslashes + 1; j > 0; j--)
*p++ = '\\';
}
*p++ = c;
if (c == '\\')
backslashes++;
else
backslashes = 0;
}
if (quote_around)
{
unsigned int j;
for (j = backslashes; j > 0; j--)
*p++ = '\\';
*p++ = '"';
}
*p = '\0';
new_argv[i] = quoted_string;
}
else
new_argv[i] = (char *) string;
}
new_argv[argc] = NULL;
return new_argv;
}
EOF
;;
esac
cat <<"EOF"
void lt_dump_script (FILE* f)
{
EOF
func_emit_wrapper yes |
$SED -n -e '
s/^\(.\{79\}\)\(..*\)/\1\
\2/
h
s/\([\\"]\)/\\\1/g
s/$/\\n/
s/\([^\n]*\).*/ fputs ("\1", f);/p
g
D'
cat <<"EOF"
}
EOF
}
# end: func_emit_cwrapperexe_src
# func_win32_import_lib_p ARG
# True if ARG is an import lib, as indicated by $file_magic_cmd
func_win32_import_lib_p ()
{
$debug_cmd
case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
*import*) : ;;
*) false ;;
esac
}
# func_suncc_cstd_abi
# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!!
# Several compiler flags select an ABI that is incompatible with the
# Cstd library. Avoid specifying it if any are in CXXFLAGS.
func_suncc_cstd_abi ()
{
$debug_cmd
case " $compile_command " in
*" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*)
suncc_use_cstd_abi=no
;;
*)
suncc_use_cstd_abi=yes
;;
esac
}
# func_mode_link arg...
func_mode_link ()
{
$debug_cmd
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
# It is impossible to link a dll without this setting, and
# we shouldn't force the makefile maintainer to figure out
# what system we are compiling for in order to pass an extra
# flag for every libtool invocation.
# allow_undefined=no
# FIXME: Unfortunately, there are problems with the above when trying
# to make a dll that has undefined symbols, in which case not
# even a static library is built. For now, we need to specify
# -no-undefined on the libtool link line when we can be certain
# that all symbols are satisfied, otherwise we get a static library.
allow_undefined=yes
;;
*)
allow_undefined=yes
;;
esac
libtool_args=$nonopt
base_compile="$nonopt $@"
compile_command=$nonopt
finalize_command=$nonopt
compile_rpath=
finalize_rpath=
compile_shlibpath=
finalize_shlibpath=
convenience=
old_convenience=
deplibs=
old_deplibs=
compiler_flags=
linker_flags=
dllsearchpath=
lib_search_path=`pwd`
inst_prefix_dir=
new_inherited_linker_flags=
avoid_version=no
bindir=
dlfiles=
dlprefiles=
dlself=no
export_dynamic=no
export_symbols=
export_symbols_regex=
generated=
libobjs=
ltlibs=
module=no
no_install=no
objs=
os2dllname=
non_pic_objects=
precious_files_regex=
prefer_static_libs=no
preload=false
prev=
prevarg=
release=
rpath=
xrpath=
perm_rpath=
temp_rpath=
thread_safe=no
vinfo=
vinfo_number=no
weak_libs=
single_module=$wl-single_module
func_infer_tag $base_compile
# We need to know -static, to get the right output filenames.
for arg
do
case $arg in
-shared)
test yes != "$build_libtool_libs" \
&& func_fatal_configuration "cannot build a shared library"
build_old_libs=no
break
;;
-all-static | -static | -static-libtool-libs)
case $arg in
-all-static)
if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then
func_warning "complete static linking is impossible in this configuration"
fi
if test -n "$link_static_flag"; then
dlopen_self=$dlopen_self_static
fi
prefer_static_libs=yes
;;
-static)
if test -z "$pic_flag" && test -n "$link_static_flag"; then
dlopen_self=$dlopen_self_static
fi
prefer_static_libs=built
;;
-static-libtool-libs)
if test -z "$pic_flag" && test -n "$link_static_flag"; then
dlopen_self=$dlopen_self_static
fi
prefer_static_libs=yes
;;
esac
build_libtool_libs=no
build_old_libs=yes
break
;;
esac
done
# See if our shared archives depend on static archives.
test -n "$old_archive_from_new_cmds" && build_old_libs=yes
# Go through the arguments, transforming them on the way.
while test "$#" -gt 0; do
arg=$1
shift
func_quote_for_eval "$arg"
qarg=$func_quote_for_eval_unquoted_result
func_append libtool_args " $func_quote_for_eval_result"
# If the previous option needs an argument, assign it.
if test -n "$prev"; then
case $prev in
output)
func_append compile_command " @OUTPUT@"
func_append finalize_command " @OUTPUT@"
;;
esac
case $prev in
bindir)
bindir=$arg
prev=
continue
;;
dlfiles|dlprefiles)
$preload || {
# Add the symbol object into the linking commands.
func_append compile_command " @SYMFILE@"
func_append finalize_command " @SYMFILE@"
preload=:
}
case $arg in
*.la | *.lo) ;; # We handle these cases below.
force)
if test no = "$dlself"; then
dlself=needless
export_dynamic=yes
fi
prev=
continue
;;
self)
if test dlprefiles = "$prev"; then
dlself=yes
elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then
dlself=yes
else
dlself=needless
export_dynamic=yes
fi
prev=
continue
;;
*)
if test dlfiles = "$prev"; then
func_append dlfiles " $arg"
else
func_append dlprefiles " $arg"
fi
prev=
continue
;;
esac
;;
expsyms)
export_symbols=$arg
test -f "$arg" \
|| func_fatal_error "symbol file '$arg' does not exist"
prev=
continue
;;
expsyms_regex)
export_symbols_regex=$arg
prev=
continue
;;
framework)
case $host in
*-*-darwin*)
case "$deplibs " in
*" $qarg.ltframework "*) ;;
*) func_append deplibs " $qarg.ltframework" # this is fixed later
;;
esac
;;
esac
prev=
continue
;;
inst_prefix)
inst_prefix_dir=$arg
prev=
continue
;;
mllvm)
# Clang does not use LLVM to link, so we can simply discard any
# '-mllvm $arg' options when doing the link step.
prev=
continue
;;
objectlist)
if test -f "$arg"; then
save_arg=$arg
moreargs=
for fil in `cat "$save_arg"`
do
# func_append moreargs " $fil"
arg=$fil
# A libtool-controlled object.
# Check to see that this really is a libtool object.
if func_lalib_unsafe_p "$arg"; then
pic_object=
non_pic_object=
# Read the .lo file
func_source "$arg"
if test -z "$pic_object" ||
test -z "$non_pic_object" ||
test none = "$pic_object" &&
test none = "$non_pic_object"; then
func_fatal_error "cannot find name of object for '$arg'"
fi
# Extract subdirectory from the argument.
func_dirname "$arg" "/" ""
xdir=$func_dirname_result
if test none != "$pic_object"; then
# Prepend the subdirectory the object is found in.
pic_object=$xdir$pic_object
if test dlfiles = "$prev"; then
if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
func_append dlfiles " $pic_object"
prev=
continue
else
# If libtool objects are unsupported, then we need to preload.
prev=dlprefiles
fi
fi
# CHECK ME: I think I busted this. -Ossama
if test dlprefiles = "$prev"; then
# Preload the old-style object.
func_append dlprefiles " $pic_object"
prev=
fi
# A PIC object.
func_append libobjs " $pic_object"
arg=$pic_object
fi
# Non-PIC object.
if test none != "$non_pic_object"; then
# Prepend the subdirectory the object is found in.
non_pic_object=$xdir$non_pic_object
# A standard non-PIC object
func_append non_pic_objects " $non_pic_object"
if test -z "$pic_object" || test none = "$pic_object"; then
arg=$non_pic_object
fi
else
# If the PIC object exists, use it instead.
# $xdir was prepended to $pic_object above.
non_pic_object=$pic_object
func_append non_pic_objects " $non_pic_object"
fi
else
# Only an error if not doing a dry-run.
if $opt_dry_run; then
# Extract subdirectory from the argument.
func_dirname "$arg" "/" ""
xdir=$func_dirname_result
func_lo2o "$arg"
pic_object=$xdir$objdir/$func_lo2o_result
non_pic_object=$xdir$func_lo2o_result
func_append libobjs " $pic_object"
func_append non_pic_objects " $non_pic_object"
else
func_fatal_error "'$arg' is not a valid libtool object"
fi
fi
done
else
func_fatal_error "link input file '$arg' does not exist"
fi
arg=$save_arg
prev=
continue
;;
os2dllname)
os2dllname=$arg
prev=
continue
;;
precious_regex)
precious_files_regex=$arg
prev=
continue
;;
release)
release=-$arg
prev=
continue
;;
rpath | xrpath)
# We need an absolute path.
case $arg in
[\\/]* | [A-Za-z]:[\\/]*) ;;
*)
func_fatal_error "only absolute run-paths are allowed"
;;
esac
if test rpath = "$prev"; then
case "$rpath " in
*" $arg "*) ;;
*) func_append rpath " $arg" ;;
esac
else
case "$xrpath " in
*" $arg "*) ;;
*) func_append xrpath " $arg" ;;
esac
fi
prev=
continue
;;
shrext)
shrext_cmds=$arg
prev=
continue
;;
weak)
func_append weak_libs " $arg"
prev=
continue
;;
xcclinker)
func_append linker_flags " $qarg"
func_append compiler_flags " $qarg"
prev=
func_append compile_command " $qarg"
func_append finalize_command " $qarg"
continue
;;
xcompiler)
func_append compiler_flags " $qarg"
prev=
func_append compile_command " $qarg"
func_append finalize_command " $qarg"
continue
;;
xlinker)
func_append linker_flags " $qarg"
func_append compiler_flags " $wl$qarg"
prev=
func_append compile_command " $wl$qarg"
func_append finalize_command " $wl$qarg"
continue
;;
*)
eval "$prev=\"\$arg\""
prev=
continue
;;
esac
fi # test -n "$prev"
prevarg=$arg
case $arg in
-all-static)
if test -n "$link_static_flag"; then
# See comment for -static flag below, for more details.
func_append compile_command " $link_static_flag"
func_append finalize_command " $link_static_flag"
fi
continue
;;
-allow-undefined)
# FIXME: remove this flag sometime in the future.
func_fatal_error "'-allow-undefined' must not be used because it is the default"
;;
-avoid-version)
avoid_version=yes
continue
;;
-bindir)
prev=bindir
continue
;;
-dlopen)
prev=dlfiles
continue
;;
-dlpreopen)
prev=dlprefiles
continue
;;
-export-dynamic)
export_dynamic=yes
continue
;;
-export-symbols | -export-symbols-regex)
if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
func_fatal_error "more than one -exported-symbols argument is not allowed"
fi
if test X-export-symbols = "X$arg"; then
prev=expsyms
else
prev=expsyms_regex
fi
continue
;;
-framework)
prev=framework
continue
;;
-inst-prefix-dir)
prev=inst_prefix
continue
;;
# The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
# so, if we see these flags be careful not to treat them like -L
-L[A-Z][A-Z]*:*)
case $with_gcc/$host in
no/*-*-irix* | /*-*-irix*)
func_append compile_command " $arg"
func_append finalize_command " $arg"
;;
esac
continue
;;
-L*)
func_stripname "-L" '' "$arg"
if test -z "$func_stripname_result"; then
if test "$#" -gt 0; then
func_fatal_error "require no space between '-L' and '$1'"
else
func_fatal_error "need path for '-L' option"
fi
fi
func_resolve_sysroot "$func_stripname_result"
dir=$func_resolve_sysroot_result
# We need an absolute path.
case $dir in
[\\/]* | [A-Za-z]:[\\/]*) ;;
*)
absdir=`cd "$dir" && pwd`
test -z "$absdir" && \
func_fatal_error "cannot determine absolute directory name of '$dir'"
dir=$absdir
;;
esac
case "$deplibs " in
*" -L$dir "* | *" $arg "*)
# Will only happen for absolute or sysroot arguments
;;
*)
# Preserve sysroot, but never include relative directories
case $dir in
[\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
*) func_append deplibs " -L$dir" ;;
esac
func_append lib_search_path " $dir"
;;
esac
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$dir:"*) ;;
::) dllsearchpath=$dir;;
*) func_append dllsearchpath ":$dir";;
esac
case :$dllsearchpath: in
*":$testbindir:"*) ;;
::) dllsearchpath=$testbindir;;
*) func_append dllsearchpath ":$testbindir";;
esac
;;
esac
continue
;;
-l*)
if test X-lc = "X$arg" || test X-lm = "X$arg"; then
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
# These systems don't actually have a C or math library (as such)
continue
;;
*-*-os2*)
# These systems don't actually have a C library (as such)
test X-lc = "X$arg" && continue
;;
*-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
# Do not include libc due to us having libc/libc_r.
test X-lc = "X$arg" && continue
;;
*-*-rhapsody* | *-*-darwin1.[012])
# Rhapsody C and math libraries are in the System framework
func_append deplibs " System.ltframework"
continue
;;
*-*-sco3.2v5* | *-*-sco5v6*)
# Causes problems with __ctype
test X-lc = "X$arg" && continue
;;
*-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
# Compiler inserts libc in the correct place for threads to work
test X-lc = "X$arg" && continue
;;
esac
elif test X-lc_r = "X$arg"; then
case $host in
*-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
# Do not include libc_r directly, use -pthread flag.
continue
;;
esac
fi
func_append deplibs " $arg"
continue
;;
-mllvm)
prev=mllvm
continue
;;
-module)
module=yes
continue
;;
# Tru64 UNIX uses -model [arg] to determine the layout of C++
# classes, name mangling, and exception handling.
# Darwin uses the -arch flag to determine output architecture.
-model|-arch|-isysroot|--sysroot)
func_append compiler_flags " $arg"
func_append compile_command " $arg"
func_append finalize_command " $arg"
prev=xcompiler
continue
;;
-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
|-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
func_append compiler_flags " $arg"
func_append compile_command " $arg"
func_append finalize_command " $arg"
case "$new_inherited_linker_flags " in
*" $arg "*) ;;
* ) func_append new_inherited_linker_flags " $arg" ;;
esac
# As we are forced to pass -nostdlib to g++ during linking, the option
# -pthread{,s} is not in effect; add the -lpthread to $deplist
# explicitly to link correctly.
if test "$tagname" = CXX -a x"$with_gcc" = xyes; then
case "$arg" in
-pthread*) func_append deplibs " -lpthread" ;;
esac
fi
continue
;;
-multi_module)
single_module=$wl-multi_module
continue
;;
-no-fast-install)
fast_install=no
continue
;;
-no-install)
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
# The PATH hackery in wrapper scripts is required on Windows
# and Darwin in order for the loader to find any dlls it needs.
func_warning "'-no-install' is ignored for $host"
func_warning "assuming '-no-fast-install' instead"
fast_install=no
;;
*) no_install=yes ;;
esac
continue
;;
-no-undefined)
allow_undefined=no
continue
;;
-objectlist)
prev=objectlist
continue
;;
-os2dllname)
prev=os2dllname
continue
;;
-o) prev=output ;;
-precious-files-regex)
prev=precious_regex
continue
;;
-release)
prev=release
continue
;;
-rpath)
prev=rpath
continue
;;
-R)
prev=xrpath
continue
;;
-R*)
func_stripname '-R' '' "$arg"
dir=$func_stripname_result
# We need an absolute path.
case $dir in
[\\/]* | [A-Za-z]:[\\/]*) ;;
=*)
func_stripname '=' '' "$dir"
dir=$lt_sysroot$func_stripname_result
;;
*)
func_fatal_error "only absolute run-paths are allowed"
;;
esac
case "$xrpath " in
*" $dir "*) ;;
*) func_append xrpath " $dir" ;;
esac
continue
;;
-shared)
# The effects of -shared are defined in a previous loop.
continue
;;
-shrext)
prev=shrext
continue
;;
-static | -static-libtool-libs)
# The effects of -static are defined in a previous loop.
# We used to do the same as -all-static on platforms that
# didn't have a PIC flag, but the assumption that the effects
# would be equivalent was wrong. It would break on at least
# Digital Unix and AIX.
continue
;;
-thread-safe)
thread_safe=yes
continue
;;
-version-info)
prev=vinfo
continue
;;
-version-number)
prev=vinfo
vinfo_number=yes
continue
;;
-weak)
prev=weak
continue
;;
-Wc,*)
func_stripname '-Wc,' '' "$arg"
args=$func_stripname_result
arg=
save_ifs=$IFS; IFS=,
for flag in $args; do
IFS=$save_ifs
func_quote_for_eval "$flag"
func_append arg " $func_quote_for_eval_result"
func_append compiler_flags " $func_quote_for_eval_result"
done
IFS=$save_ifs
func_stripname ' ' '' "$arg"
arg=$func_stripname_result
;;
-Wl,*)
func_stripname '-Wl,' '' "$arg"
args=$func_stripname_result
arg=
save_ifs=$IFS; IFS=,
for flag in $args; do
IFS=$save_ifs
func_quote_for_eval "$flag"
func_append arg " $wl$func_quote_for_eval_result"
func_append compiler_flags " $wl$func_quote_for_eval_result"
func_append linker_flags " $func_quote_for_eval_result"
done
IFS=$save_ifs
func_stripname ' ' '' "$arg"
arg=$func_stripname_result
;;
-Xcompiler)
prev=xcompiler
continue
;;
-Xlinker)
prev=xlinker
continue
;;
-XCClinker)
prev=xcclinker
continue
;;
# -msg_* for osf cc
-msg_*)
func_quote_for_eval "$arg"
arg=$func_quote_for_eval_result
;;
# Flags to be passed through unchanged, with rationale:
# -64, -mips[0-9] enable 64-bit mode for the SGI compiler
# -r[0-9][0-9]* specify processor for the SGI compiler
# -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
# +DA*, +DD* enable 64-bit mode for the HP compiler
# -q* compiler args for the IBM compiler
# -m*, -t[45]*, -txscale* architecture-specific flags for GCC
# -F/path path to uninstalled frameworks, gcc on darwin
# -p, -pg, --coverage, -fprofile-* profiling flags for GCC
# -fstack-protector* stack protector flags for GCC
# @file GCC response files
# -tp=* Portland pgcc target processor selection
# --sysroot=* for sysroot support
# -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
# -specs=* GCC specs files
# -stdlib=* select c++ std lib with clang
# -fsanitize=* Clang/GCC memory and address sanitizer
# -fuse-ld=* Linker select flags for GCC
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
-specs=*|-fsanitize=*|-fuse-ld=*)
func_quote_for_eval "$arg"
arg=$func_quote_for_eval_result
func_append compile_command " $arg"
func_append finalize_command " $arg"
func_append compiler_flags " $arg"
continue
;;
-Z*)
if test os2 = "`expr $host : '.*\(os2\)'`"; then
# OS/2 uses -Zxxx to specify OS/2-specific options
compiler_flags="$compiler_flags $arg"
func_append compile_command " $arg"
func_append finalize_command " $arg"
case $arg in
-Zlinker | -Zstack)
prev=xcompiler
;;
esac
continue
else
# Otherwise treat like 'Some other compiler flag' below
func_quote_for_eval "$arg"
arg=$func_quote_for_eval_result
fi
;;
# Some other compiler flag.
-* | +*)
func_quote_for_eval "$arg"
arg=$func_quote_for_eval_result
;;
*.$objext)
# A standard object.
func_append objs " $arg"
;;
*.lo)
# A libtool-controlled object.
# Check to see that this really is a libtool object.
if func_lalib_unsafe_p "$arg"; then
pic_object=
non_pic_object=
# Read the .lo file
func_source "$arg"
if test -z "$pic_object" ||
test -z "$non_pic_object" ||
test none = "$pic_object" &&
test none = "$non_pic_object"; then
func_fatal_error "cannot find name of object for '$arg'"
fi
# Extract subdirectory from the argument.
func_dirname "$arg" "/" ""
xdir=$func_dirname_result
test none = "$pic_object" || {
# Prepend the subdirectory the object is found in.
pic_object=$xdir$pic_object
if test dlfiles = "$prev"; then
if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
func_append dlfiles " $pic_object"
prev=
continue
else
# If libtool objects are unsupported, then we need to preload.
prev=dlprefiles
fi
fi
# CHECK ME: I think I busted this. -Ossama
if test dlprefiles = "$prev"; then
# Preload the old-style object.
func_append dlprefiles " $pic_object"
prev=
fi
# A PIC object.
func_append libobjs " $pic_object"
arg=$pic_object
}
# Non-PIC object.
if test none != "$non_pic_object"; then
# Prepend the subdirectory the object is found in.
non_pic_object=$xdir$non_pic_object
# A standard non-PIC object
func_append non_pic_objects " $non_pic_object"
if test -z "$pic_object" || test none = "$pic_object"; then
arg=$non_pic_object
fi
else
# If the PIC object exists, use it instead.
# $xdir was prepended to $pic_object above.
non_pic_object=$pic_object
func_append non_pic_objects " $non_pic_object"
fi
else
# Only an error if not doing a dry-run.
if $opt_dry_run; then
# Extract subdirectory from the argument.
func_dirname "$arg" "/" ""
xdir=$func_dirname_result
func_lo2o "$arg"
pic_object=$xdir$objdir/$func_lo2o_result
non_pic_object=$xdir$func_lo2o_result
func_append libobjs " $pic_object"
func_append non_pic_objects " $non_pic_object"
else
func_fatal_error "'$arg' is not a valid libtool object"
fi
fi
;;
*.$libext)
# An archive.
func_append deplibs " $arg"
func_append old_deplibs " $arg"
continue
;;
*.la)
# A libtool-controlled library.
func_resolve_sysroot "$arg"
if test dlfiles = "$prev"; then
# This library was specified with -dlopen.
func_append dlfiles " $func_resolve_sysroot_result"
prev=
elif test dlprefiles = "$prev"; then
# The library was specified with -dlpreopen.
func_append dlprefiles " $func_resolve_sysroot_result"
prev=
else
func_append deplibs " $func_resolve_sysroot_result"
fi
continue
;;
# Some other compiler argument.
*)
# Unknown arguments in both finalize_command and compile_command need
# to be aesthetically quoted because they are evaled later.
func_quote_for_eval "$arg"
arg=$func_quote_for_eval_result
;;
esac # arg
# Now actually substitute the argument into the commands.
if test -n "$arg"; then
func_append compile_command " $arg"
func_append finalize_command " $arg"
fi
done # argument parsing loop
test -n "$prev" && \
func_fatal_help "the '$prevarg' option requires an argument"
if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then
eval arg=\"$export_dynamic_flag_spec\"
func_append compile_command " $arg"
func_append finalize_command " $arg"
fi
oldlibs=
# calculate the name of the file, without its directory
func_basename "$output"
outputname=$func_basename_result
libobjs_save=$libobjs
if test -n "$shlibpath_var"; then
# get the directories listed in $shlibpath_var
eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\`
else
shlib_search_path=
fi
eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
# Definition is injected by LT_CONFIG during libtool generation.
func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH"
func_dirname "$output" "/" ""
output_objdir=$func_dirname_result$objdir
func_to_tool_file "$output_objdir/"
tool_output_objdir=$func_to_tool_file_result
# Create the object directory.
func_mkdir_p "$output_objdir"
# Determine the type of output
case $output in
"")
func_fatal_help "you must specify an output file"
;;
*.$libext) linkmode=oldlib ;;
*.lo | *.$objext) linkmode=obj ;;
*.la) linkmode=lib ;;
*) linkmode=prog ;; # Anything else should be a program.
esac
specialdeplibs=
libs=
# Find all interdependent deplibs by searching for libraries
# that are linked more than once (e.g. -la -lb -la)
for deplib in $deplibs; do
if $opt_preserve_dup_deps; then
case "$libs " in
*" $deplib "*) func_append specialdeplibs " $deplib" ;;
esac
fi
func_append libs " $deplib"
done
if test lib = "$linkmode"; then
libs="$predeps $libs $compiler_lib_search_path $postdeps"
# Compute libraries that are listed more than once in $predeps
# $postdeps and mark them as special (i.e., whose duplicates are
# not to be eliminated).
pre_post_deps=
if $opt_duplicate_compiler_generated_deps; then
for pre_post_dep in $predeps $postdeps; do
case "$pre_post_deps " in
*" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
esac
func_append pre_post_deps " $pre_post_dep"
done
fi
pre_post_deps=
fi
deplibs=
newdependency_libs=
newlib_search_path=
need_relink=no # whether we're linking any uninstalled libtool libraries
notinst_deplibs= # not-installed libtool libraries
notinst_path= # paths that contain not-installed libtool libraries
case $linkmode in
lib)
passes="conv dlpreopen link"
for file in $dlfiles $dlprefiles; do
case $file in
*.la) ;;
*)
func_fatal_help "libraries can '-dlopen' only libtool libraries: $file"
;;
esac
done
;;
prog)
compile_deplibs=
finalize_deplibs=
alldeplibs=false
newdlfiles=
newdlprefiles=
passes="conv scan dlopen dlpreopen link"
;;
*) passes="conv"
;;
esac
for pass in $passes; do
# The preopen pass in lib mode reverses $deplibs; put it back here
# so that -L comes before libs that need it for instance...
if test lib,link = "$linkmode,$pass"; then
## FIXME: Find the place where the list is rebuilt in the wrong
## order, and fix it there properly
tmp_deplibs=
for deplib in $deplibs; do
tmp_deplibs="$deplib $tmp_deplibs"
done
deplibs=$tmp_deplibs
fi
if test lib,link = "$linkmode,$pass" ||
test prog,scan = "$linkmode,$pass"; then
libs=$deplibs
deplibs=
fi
if test prog = "$linkmode"; then
case $pass in
dlopen) libs=$dlfiles ;;
dlpreopen) libs=$dlprefiles ;;
link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
esac
fi
if test lib,dlpreopen = "$linkmode,$pass"; then
# Collect and forward deplibs of preopened libtool libs
for lib in $dlprefiles; do
# Ignore non-libtool-libs
dependency_libs=
func_resolve_sysroot "$lib"
case $lib in
*.la) func_source "$func_resolve_sysroot_result" ;;
esac
# Collect preopened libtool deplibs, except any this library
# has declared as weak libs
for deplib in $dependency_libs; do
func_basename "$deplib"
deplib_base=$func_basename_result
case " $weak_libs " in
*" $deplib_base "*) ;;
*) func_append deplibs " $deplib" ;;
esac
done
done
libs=$dlprefiles
fi
if test dlopen = "$pass"; then
# Collect dlpreopened libraries
save_deplibs=$deplibs
deplibs=
fi
for deplib in $libs; do
lib=
found=false
case $deplib in
-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
|-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
if test prog,link = "$linkmode,$pass"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
func_append compiler_flags " $deplib"
if test lib = "$linkmode"; then
case "$new_inherited_linker_flags " in
*" $deplib "*) ;;
* ) func_append new_inherited_linker_flags " $deplib" ;;
esac
fi
fi
continue
;;
-l*)
if test lib != "$linkmode" && test prog != "$linkmode"; then
func_warning "'-l' is ignored for archives/objects"
continue
fi
func_stripname '-l' '' "$deplib"
name=$func_stripname_result
if test lib = "$linkmode"; then
searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
else
searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
fi
for searchdir in $searchdirs; do
for search_ext in .la $std_shrext .so .a; do
# Search the libtool library
lib=$searchdir/lib$name$search_ext
if test -f "$lib"; then
if test .la = "$search_ext"; then
found=:
else
found=false
fi
break 2
fi
done
done
if $found; then
# deplib is a libtool library
# If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
# We need to do some special things here, and not later.
if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $deplib "*)
if func_lalib_p "$lib"; then
library_names=
old_library=
func_source "$lib"
for l in $old_library $library_names; do
ll=$l
done
if test "X$ll" = "X$old_library"; then # only static version available
found=false
func_dirname "$lib" "" "."
ladir=$func_dirname_result
lib=$ladir/$old_library
if test prog,link = "$linkmode,$pass"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
deplibs="$deplib $deplibs"
test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
fi
continue
fi
fi
;;
*) ;;
esac
fi
else
# deplib doesn't seem to be a libtool library
if test prog,link = "$linkmode,$pass"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
deplibs="$deplib $deplibs"
test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
fi
continue
fi
;; # -l
*.ltframework)
if test prog,link = "$linkmode,$pass"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
deplibs="$deplib $deplibs"
if test lib = "$linkmode"; then
case "$new_inherited_linker_flags " in
*" $deplib "*) ;;
* ) func_append new_inherited_linker_flags " $deplib" ;;
esac
fi
fi
continue
;;
-L*)
case $linkmode in
lib)
deplibs="$deplib $deplibs"
test conv = "$pass" && continue
newdependency_libs="$deplib $newdependency_libs"
func_stripname '-L' '' "$deplib"
func_resolve_sysroot "$func_stripname_result"
func_append newlib_search_path " $func_resolve_sysroot_result"
;;
prog)
if test conv = "$pass"; then
deplibs="$deplib $deplibs"
continue
fi
if test scan = "$pass"; then
deplibs="$deplib $deplibs"
else
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
fi
func_stripname '-L' '' "$deplib"
func_resolve_sysroot "$func_stripname_result"
func_append newlib_search_path " $func_resolve_sysroot_result"
;;
*)
func_warning "'-L' is ignored for archives/objects"
;;
esac # linkmode
continue
;; # -L
-R*)
if test link = "$pass"; then
func_stripname '-R' '' "$deplib"
func_resolve_sysroot "$func_stripname_result"
dir=$func_resolve_sysroot_result
# Make sure the xrpath contains only unique directories.
case "$xrpath " in
*" $dir "*) ;;
*) func_append xrpath " $dir" ;;
esac
fi
deplibs="$deplib $deplibs"
continue
;;
*.la)
func_resolve_sysroot "$deplib"
lib=$func_resolve_sysroot_result
;;
*.$libext)
if test conv = "$pass"; then
deplibs="$deplib $deplibs"
continue
fi
case $linkmode in
lib)
# Linking convenience modules into shared libraries is allowed,
# but linking other static libraries is non-portable.
case " $dlpreconveniencelibs " in
*" $deplib "*) ;;
*)
valid_a_lib=false
case $deplibs_check_method in
match_pattern*)
set dummy $deplibs_check_method; shift
match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
| $EGREP "$match_pattern_regex" > /dev/null; then
valid_a_lib=:
fi
;;
pass_all)
valid_a_lib=:
;;
esac
if $valid_a_lib; then
echo
$ECHO "*** Warning: Linking the shared library $output against the"
$ECHO "*** static library $deplib is not portable!"
deplibs="$deplib $deplibs"
else
echo
$ECHO "*** Warning: Trying to link with static lib archive $deplib."
echo "*** I have the capability to make that library automatically link in when"
echo "*** you link to this library. But I can only do this if you have a"
echo "*** shared version of the library, which you do not appear to have"
echo "*** because the file extensions .$libext of this argument makes me believe"
echo "*** that it is just a static archive that I should not use here."
fi
;;
esac
continue
;;
prog)
if test link != "$pass"; then
deplibs="$deplib $deplibs"
else
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
fi
continue
;;
esac # linkmode
;; # *.$libext
*.lo | *.$objext)
if test conv = "$pass"; then
deplibs="$deplib $deplibs"
elif test prog = "$linkmode"; then
if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then
# If there is no dlopen support or we're linking statically,
# we need to preload.
func_append newdlprefiles " $deplib"
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
func_append newdlfiles " $deplib"
fi
fi
continue
;;
%DEPLIBS%)
alldeplibs=:
continue
;;
esac # case $deplib
$found || test -f "$lib" \
|| func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'"
# Check to see that this really is a libtool archive.
func_lalib_unsafe_p "$lib" \
|| func_fatal_error "'$lib' is not a valid libtool archive"
func_dirname "$lib" "" "."
ladir=$func_dirname_result
dlname=
dlopen=
dlpreopen=
libdir=
library_names=
old_library=
inherited_linker_flags=
# If the library was installed with an old release of libtool,
# it will not redefine variables installed, or shouldnotlink
installed=yes
shouldnotlink=no
avoidtemprpath=
# Read the .la file
func_source "$lib"
# Convert "-framework foo" to "foo.ltframework"
if test -n "$inherited_linker_flags"; then
tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
case " $new_inherited_linker_flags " in
*" $tmp_inherited_linker_flag "*) ;;
*) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
esac
done
fi
dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
if test lib,link = "$linkmode,$pass" ||
test prog,scan = "$linkmode,$pass" ||
{ test prog != "$linkmode" && test lib != "$linkmode"; }; then
test -n "$dlopen" && func_append dlfiles " $dlopen"
test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
fi
if test conv = "$pass"; then
# Only check for convenience libraries
deplibs="$lib $deplibs"
if test -z "$libdir"; then
if test -z "$old_library"; then
func_fatal_error "cannot find name of link library for '$lib'"
fi
# It is a libtool convenience library, so add in its objects.
func_append convenience " $ladir/$objdir/$old_library"
func_append old_convenience " $ladir/$objdir/$old_library"
elif test prog != "$linkmode" && test lib != "$linkmode"; then
func_fatal_error "'$lib' is not a convenience library"
fi
tmp_libs=
for deplib in $dependency_libs; do
deplibs="$deplib $deplibs"
if $opt_preserve_dup_deps; then
case "$tmp_libs " in
*" $deplib "*) func_append specialdeplibs " $deplib" ;;
esac
fi
func_append tmp_libs " $deplib"
done
continue
fi # $pass = conv
# Get the name of the library we link against.
linklib=
if test -n "$old_library" &&
{ test yes = "$prefer_static_libs" ||
test built,no = "$prefer_static_libs,$installed"; }; then
linklib=$old_library
else
for l in $old_library $library_names; do
linklib=$l
done
fi
if test -z "$linklib"; then
func_fatal_error "cannot find name of link library for '$lib'"
fi
# This library was specified with -dlopen.
if test dlopen = "$pass"; then
test -z "$libdir" \
&& func_fatal_error "cannot -dlopen a convenience library: '$lib'"
if test -z "$dlname" ||
test yes != "$dlopen_support" ||
test no = "$build_libtool_libs"
then
# If there is no dlname, no dlopen support or we're linking
# statically, we need to preload. We also need to preload any
# dependent libraries so libltdl's deplib preloader doesn't
# bomb out in the load deplibs phase.
func_append dlprefiles " $lib $dependency_libs"
else
func_append newdlfiles " $lib"
fi
continue
fi # $pass = dlopen
# We need an absolute path.
case $ladir in
[\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;;
*)
abs_ladir=`cd "$ladir" && pwd`
if test -z "$abs_ladir"; then
func_warning "cannot determine absolute directory name of '$ladir'"
func_warning "passing it literally to the linker, although it might fail"
abs_ladir=$ladir
fi
;;
esac
func_basename "$lib"
laname=$func_basename_result
# Find the relevant object directory and library name.
if test yes = "$installed"; then
if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
func_warning "library '$lib' was moved."
dir=$ladir
absdir=$abs_ladir
libdir=$abs_ladir
else
dir=$lt_sysroot$libdir
absdir=$lt_sysroot$libdir
fi
test yes = "$hardcode_automatic" && avoidtemprpath=yes
else
if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
dir=$ladir
absdir=$abs_ladir
# Remove this search path later
func_append notinst_path " $abs_ladir"
else
dir=$ladir/$objdir
absdir=$abs_ladir/$objdir
# Remove this search path later
func_append notinst_path " $abs_ladir"
fi
fi # $installed = yes
func_stripname 'lib' '.la' "$laname"
name=$func_stripname_result
# This library was specified with -dlpreopen.
if test dlpreopen = "$pass"; then
if test -z "$libdir" && test prog = "$linkmode"; then
func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'"
fi
case $host in
# special handling for platforms with PE-DLLs.
*cygwin* | *mingw* | *cegcc* )
# Linker will automatically link against shared library if both
# static and shared are present. Therefore, ensure we extract
# symbols from the import library if a shared library is present
# (otherwise, the dlopen module name will be incorrect). We do
# this by putting the import library name into $newdlprefiles.
# We recover the dlopen module name by 'saving' the la file
# name in a special purpose variable, and (later) extracting the
# dlname from the la file.
if test -n "$dlname"; then
func_tr_sh "$dir/$linklib"
eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
func_append newdlprefiles " $dir/$linklib"
else
func_append newdlprefiles " $dir/$old_library"
# Keep a list of preopened convenience libraries to check
# that they are being used correctly in the link pass.
test -z "$libdir" && \
func_append dlpreconveniencelibs " $dir/$old_library"
fi
;;
* )
# Prefer using a static library (so that no silly _DYNAMIC symbols
# are required to link).
if test -n "$old_library"; then
func_append newdlprefiles " $dir/$old_library"
# Keep a list of preopened convenience libraries to check
# that they are being used correctly in the link pass.
test -z "$libdir" && \
func_append dlpreconveniencelibs " $dir/$old_library"
# Otherwise, use the dlname, so that lt_dlopen finds it.
elif test -n "$dlname"; then
func_append newdlprefiles " $dir/$dlname"
else
func_append newdlprefiles " $dir/$linklib"
fi
;;
esac
fi # $pass = dlpreopen
if test -z "$libdir"; then
# Link the convenience library
if test lib = "$linkmode"; then
deplibs="$dir/$old_library $deplibs"
elif test prog,link = "$linkmode,$pass"; then
compile_deplibs="$dir/$old_library $compile_deplibs"
finalize_deplibs="$dir/$old_library $finalize_deplibs"
else
deplibs="$lib $deplibs" # used for prog,scan pass
fi
continue
fi
if test prog = "$linkmode" && test link != "$pass"; then
func_append newlib_search_path " $ladir"
deplibs="$lib $deplibs"
linkalldeplibs=false
if test no != "$link_all_deplibs" || test -z "$library_names" ||
test no = "$build_libtool_libs"; then
linkalldeplibs=:
fi
tmp_libs=
for deplib in $dependency_libs; do
case $deplib in
-L*) func_stripname '-L' '' "$deplib"
func_resolve_sysroot "$func_stripname_result"
func_append newlib_search_path " $func_resolve_sysroot_result"
;;
esac
# Need to link against all dependency_libs?
if $linkalldeplibs; then
deplibs="$deplib $deplibs"
else
# Need to hardcode shared library paths
# or/and link against static libraries
newdependency_libs="$deplib $newdependency_libs"
fi
if $opt_preserve_dup_deps; then
case "$tmp_libs " in
*" $deplib "*) func_append specialdeplibs " $deplib" ;;
esac
fi
func_append tmp_libs " $deplib"
done # for deplib
continue
fi # $linkmode = prog...
if test prog,link = "$linkmode,$pass"; then
if test -n "$library_names" &&
{ { test no = "$prefer_static_libs" ||
test built,yes = "$prefer_static_libs,$installed"; } ||
test -z "$old_library"; }; then
# We need to hardcode the library path
if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then
# Make sure the rpath contains only unique directories.
case $temp_rpath: in
*"$absdir:"*) ;;
*) func_append temp_rpath "$absdir:" ;;
esac
fi
# Hardcode the library path.
# Skip directories that are in the system default run-time
# search path.
case " $sys_lib_dlsearch_path " in
*" $absdir "*) ;;
*)
case "$compile_rpath " in
*" $absdir "*) ;;
*) func_append compile_rpath " $absdir" ;;
esac
;;
esac
case " $sys_lib_dlsearch_path " in
*" $libdir "*) ;;
*)
case "$finalize_rpath " in
*" $libdir "*) ;;
*) func_append finalize_rpath " $libdir" ;;
esac
;;
esac
fi # $linkmode,$pass = prog,link...
if $alldeplibs &&
{ test pass_all = "$deplibs_check_method" ||
{ test yes = "$build_libtool_libs" &&
test -n "$library_names"; }; }; then
# We only need to search for static libraries
continue
fi
fi
link_static=no # Whether the deplib will be linked statically
use_static_libs=$prefer_static_libs
if test built = "$use_static_libs" && test yes = "$installed"; then
use_static_libs=no
fi
if test -n "$library_names" &&
{ test no = "$use_static_libs" || test -z "$old_library"; }; then
case $host in
*cygwin* | *mingw* | *cegcc* | *os2*)
# No point in relinking DLLs because paths are not encoded
func_append notinst_deplibs " $lib"
need_relink=no
;;
*)
if test no = "$installed"; then
func_append notinst_deplibs " $lib"
need_relink=yes
fi
;;
esac
# This is a shared library
# Warn about portability, can't link against -module's on some
# systems (darwin). Don't bleat about dlopened modules though!
dlopenmodule=
for dlpremoduletest in $dlprefiles; do
if test "X$dlpremoduletest" = "X$lib"; then
dlopenmodule=$dlpremoduletest
break
fi
done
if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then
echo
if test prog = "$linkmode"; then
$ECHO "*** Warning: Linking the executable $output against the loadable module"
else
$ECHO "*** Warning: Linking the shared library $output against the loadable module"
fi
$ECHO "*** $linklib is not portable!"
fi
if test lib = "$linkmode" &&
test yes = "$hardcode_into_libs"; then
# Hardcode the library path.
# Skip directories that are in the system default run-time
# search path.
case " $sys_lib_dlsearch_path " in
*" $absdir "*) ;;
*)
case "$compile_rpath " in
*" $absdir "*) ;;
*) func_append compile_rpath " $absdir" ;;
esac
;;
esac
case " $sys_lib_dlsearch_path " in
*" $libdir "*) ;;
*)
case "$finalize_rpath " in
*" $libdir "*) ;;
*) func_append finalize_rpath " $libdir" ;;
esac
;;
esac
fi
if test -n "$old_archive_from_expsyms_cmds"; then
# figure out the soname
set dummy $library_names
shift
realname=$1
shift
libname=`eval "\\$ECHO \"$libname_spec\""`
# use dlname if we got it. it's perfectly good, no?
if test -n "$dlname"; then
soname=$dlname
elif test -n "$soname_spec"; then
# bleh windows
case $host in
*cygwin* | mingw* | *cegcc* | *os2*)
func_arith $current - $age
major=$func_arith_result
versuffix=-$major
;;
esac
eval soname=\"$soname_spec\"
else
soname=$realname
fi
# Make a new name for the extract_expsyms_cmds to use
soroot=$soname
func_basename "$soroot"
soname=$func_basename_result
func_stripname 'lib' '.dll' "$soname"
newlib=libimp-$func_stripname_result.a
# If the library has no export list, then create one now
if test -f "$output_objdir/$soname-def"; then :
else
func_verbose "extracting exported symbol list from '$soname'"
func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
fi
# Create $newlib
if test -f "$output_objdir/$newlib"; then :; else
func_verbose "generating import library for '$soname'"
func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
fi
# make sure the library variables are pointing to the new library
dir=$output_objdir
linklib=$newlib
fi # test -n "$old_archive_from_expsyms_cmds"
if test prog = "$linkmode" || test relink != "$opt_mode"; then
add_shlibpath=
add_dir=
add=
lib_linked=yes
case $hardcode_action in
immediate | unsupported)
if test no = "$hardcode_direct"; then
add=$dir/$linklib
case $host in
*-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;;
*-*-sysv4*uw2*) add_dir=-L$dir ;;
*-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
*-*-unixware7*) add_dir=-L$dir ;;
*-*-darwin* )
# if the lib is a (non-dlopened) module then we cannot
# link against it, someone is ignoring the earlier warnings
if /usr/bin/file -L $add 2> /dev/null |
$GREP ": [^:]* bundle" >/dev/null; then
if test "X$dlopenmodule" != "X$lib"; then
$ECHO "*** Warning: lib $linklib is a module, not a shared library"
if test -z "$old_library"; then
echo
echo "*** And there doesn't seem to be a static archive available"
echo "*** The link will probably fail, sorry"
else
add=$dir/$old_library
fi
elif test -n "$old_library"; then
add=$dir/$old_library
fi
fi
esac
elif test no = "$hardcode_minus_L"; then
case $host in
*-*-sunos*) add_shlibpath=$dir ;;
esac
add_dir=-L$dir
add=-l$name
elif test no = "$hardcode_shlibpath_var"; then
add_shlibpath=$dir
add=-l$name
else
lib_linked=no
fi
;;
relink)
if test yes = "$hardcode_direct" &&
test no = "$hardcode_direct_absolute"; then
add=$dir/$linklib
elif test yes = "$hardcode_minus_L"; then
add_dir=-L$absdir
# Try looking first in the location we're being installed to.
if test -n "$inst_prefix_dir"; then
case $libdir in
[\\/]*)
func_append add_dir " -L$inst_prefix_dir$libdir"
;;
esac
fi
add=-l$name
elif test yes = "$hardcode_shlibpath_var"; then
add_shlibpath=$dir
add=-l$name
else
lib_linked=no
fi
;;
*) lib_linked=no ;;
esac
if test yes != "$lib_linked"; then
func_fatal_configuration "unsupported hardcode properties"
fi
if test -n "$add_shlibpath"; then
case :$compile_shlibpath: in
*":$add_shlibpath:"*) ;;
*) func_append compile_shlibpath "$add_shlibpath:" ;;
esac
fi
if test prog = "$linkmode"; then
test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
test -n "$add" && compile_deplibs="$add $compile_deplibs"
else
test -n "$add_dir" && deplibs="$add_dir $deplibs"
test -n "$add" && deplibs="$add $deplibs"
if test yes != "$hardcode_direct" &&
test yes != "$hardcode_minus_L" &&
test yes = "$hardcode_shlibpath_var"; then
case :$finalize_shlibpath: in
*":$libdir:"*) ;;
*) func_append finalize_shlibpath "$libdir:" ;;
esac
fi
fi
fi
if test prog = "$linkmode" || test relink = "$opt_mode"; then
add_shlibpath=
add_dir=
add=
# Finalize command for both is simple: just hardcode it.
if test yes = "$hardcode_direct" &&
test no = "$hardcode_direct_absolute"; then
add=$libdir/$linklib
elif test yes = "$hardcode_minus_L"; then
add_dir=-L$libdir
add=-l$name
elif test yes = "$hardcode_shlibpath_var"; then
case :$finalize_shlibpath: in
*":$libdir:"*) ;;
*) func_append finalize_shlibpath "$libdir:" ;;
esac
add=-l$name
elif test yes = "$hardcode_automatic"; then
if test -n "$inst_prefix_dir" &&
test -f "$inst_prefix_dir$libdir/$linklib"; then
add=$inst_prefix_dir$libdir/$linklib
else
add=$libdir/$linklib
fi
else
# We cannot seem to hardcode it, guess we'll fake it.
add_dir=-L$libdir
# Try looking first in the location we're being installed to.
if test -n "$inst_prefix_dir"; then
case $libdir in
[\\/]*)
func_append add_dir " -L$inst_prefix_dir$libdir"
;;
esac
fi
add=-l$name
fi
if test prog = "$linkmode"; then
test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
else
test -n "$add_dir" && deplibs="$add_dir $deplibs"
test -n "$add" && deplibs="$add $deplibs"
fi
fi
elif test prog = "$linkmode"; then
# Here we assume that one of hardcode_direct or hardcode_minus_L
# is not unsupported. This is valid on all known static and
# shared platforms.
if test unsupported != "$hardcode_direct"; then
test -n "$old_library" && linklib=$old_library
compile_deplibs="$dir/$linklib $compile_deplibs"
finalize_deplibs="$dir/$linklib $finalize_deplibs"
else
compile_deplibs="-l$name -L$dir $compile_deplibs"
finalize_deplibs="-l$name -L$dir $finalize_deplibs"
fi
elif test yes = "$build_libtool_libs"; then
# Not a shared library
if test pass_all != "$deplibs_check_method"; then
# We're trying link a shared library against a static one
# but the system doesn't support it.
# Just print a warning and add the library to dependency_libs so
# that the program can be linked against the static library.
echo
$ECHO "*** Warning: This system cannot link to static lib archive $lib."
echo "*** I have the capability to make that library automatically link in when"
echo "*** you link to this library. But I can only do this if you have a"
echo "*** shared version of the library, which you do not appear to have."
if test yes = "$module"; then
echo "*** But as you try to build a module library, libtool will still create "
echo "*** a static module, that should work as long as the dlopening application"
echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
if test -z "$global_symbol_pipe"; then
echo
echo "*** However, this would only work if libtool was able to extract symbol"
echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
echo "*** not find such a program. So, this module is probably useless."
echo "*** 'nm' from GNU binutils and a full rebuild may help."
fi
if test no = "$build_old_libs"; then
build_libtool_libs=module
build_old_libs=yes
else
build_libtool_libs=no
fi
fi
else
deplibs="$dir/$old_library $deplibs"
link_static=yes
fi
fi # link shared/static library?
if test lib = "$linkmode"; then
if test -n "$dependency_libs" &&
{ test yes != "$hardcode_into_libs" ||
test yes = "$build_old_libs" ||
test yes = "$link_static"; }; then
# Extract -R from dependency_libs
temp_deplibs=
for libdir in $dependency_libs; do
case $libdir in
-R*) func_stripname '-R' '' "$libdir"
temp_xrpath=$func_stripname_result
case " $xrpath " in
*" $temp_xrpath "*) ;;
*) func_append xrpath " $temp_xrpath";;
esac;;
*) func_append temp_deplibs " $libdir";;
esac
done
dependency_libs=$temp_deplibs
fi
func_append newlib_search_path " $absdir"
# Link against this library
test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
# ... and its dependency_libs
tmp_libs=
for deplib in $dependency_libs; do
newdependency_libs="$deplib $newdependency_libs"
case $deplib in
-L*) func_stripname '-L' '' "$deplib"
func_resolve_sysroot "$func_stripname_result";;
*) func_resolve_sysroot "$deplib" ;;
esac
if $opt_preserve_dup_deps; then
case "$tmp_libs " in
*" $func_resolve_sysroot_result "*)
func_append specialdeplibs " $func_resolve_sysroot_result" ;;
esac
fi
func_append tmp_libs " $func_resolve_sysroot_result"
done
if test no != "$link_all_deplibs"; then
# Add the search paths of all dependency libraries
for deplib in $dependency_libs; do
path=
case $deplib in
-L*) path=$deplib ;;
*.la)
func_resolve_sysroot "$deplib"
deplib=$func_resolve_sysroot_result
func_dirname "$deplib" "" "."
dir=$func_dirname_result
# We need an absolute path.
case $dir in
[\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;;
*)
absdir=`cd "$dir" && pwd`
if test -z "$absdir"; then
func_warning "cannot determine absolute directory name of '$dir'"
absdir=$dir
fi
;;
esac
if $GREP "^installed=no" $deplib > /dev/null; then
case $host in
*-*-darwin*)
depdepl=
eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
if test -n "$deplibrary_names"; then
for tmp in $deplibrary_names; do
depdepl=$tmp
done
if test -f "$absdir/$objdir/$depdepl"; then
depdepl=$absdir/$objdir/$depdepl
darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
if test -z "$darwin_install_name"; then
darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
fi
func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl"
func_append linker_flags " -dylib_file $darwin_install_name:$depdepl"
path=
fi
fi
;;
*)
path=-L$absdir/$objdir
;;
esac
else
eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
test -z "$libdir" && \
func_fatal_error "'$deplib' is not a valid libtool archive"
test "$absdir" != "$libdir" && \
func_warning "'$deplib' seems to be moved"
path=-L$absdir
fi
;;
esac
case " $deplibs " in
*" $path "*) ;;
*) deplibs="$path $deplibs" ;;
esac
done
fi # link_all_deplibs != no
fi # linkmode = lib
done # for deplib in $libs
if test link = "$pass"; then
if test prog = "$linkmode"; then
compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
else
compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
fi
fi
dependency_libs=$newdependency_libs
if test dlpreopen = "$pass"; then
# Link the dlpreopened libraries before other libraries
for deplib in $save_deplibs; do
deplibs="$deplib $deplibs"
done
fi
if test dlopen != "$pass"; then
test conv = "$pass" || {
# Make sure lib_search_path contains only unique directories.
lib_search_path=
for dir in $newlib_search_path; do
case "$lib_search_path " in
*" $dir "*) ;;
*) func_append lib_search_path " $dir" ;;
esac
done
newlib_search_path=
}
if test prog,link = "$linkmode,$pass"; then
vars="compile_deplibs finalize_deplibs"
else
vars=deplibs
fi
for var in $vars dependency_libs; do
# Add libraries to $var in reverse order
eval tmp_libs=\"\$$var\"
new_libs=
for deplib in $tmp_libs; do
# FIXME: Pedantically, this is the right thing to do, so
# that some nasty dependency loop isn't accidentally
# broken:
#new_libs="$deplib $new_libs"
# Pragmatically, this seems to cause very few problems in
# practice:
case $deplib in
-L*) new_libs="$deplib $new_libs" ;;
-R*) ;;
*)
# And here is the reason: when a library appears more
# than once as an explicit dependence of a library, or
# is implicitly linked in more than once by the
# compiler, it is considered special, and multiple
# occurrences thereof are not removed. Compare this
# with having the same library being listed as a
# dependency of multiple other libraries: in this case,
# we know (pedantically, we assume) the library does not
# need to be listed more than once, so we keep only the
# last copy. This is not always right, but it is rare
# enough that we require users that really mean to play
# such unportable linking tricks to link the library
# using -Wl,-lname, so that libtool does not consider it
# for duplicate removal.
case " $specialdeplibs " in
*" $deplib "*) new_libs="$deplib $new_libs" ;;
*)
case " $new_libs " in
*" $deplib "*) ;;
*) new_libs="$deplib $new_libs" ;;
esac
;;
esac
;;
esac
done
tmp_libs=
for deplib in $new_libs; do
case $deplib in
-L*)
case " $tmp_libs " in
*" $deplib "*) ;;
*) func_append tmp_libs " $deplib" ;;
esac
;;
*) func_append tmp_libs " $deplib" ;;
esac
done
eval $var=\"$tmp_libs\"
done # for var
fi
# Add Sun CC postdeps if required:
test CXX = "$tagname" && {
case $host_os in
linux*)
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*) # Sun C++ 5.9
func_suncc_cstd_abi
if test no != "$suncc_use_cstd_abi"; then
func_append postdeps ' -library=Cstd -library=Crun'
fi
;;
esac
;;
solaris*)
func_cc_basename "$CC"
case $func_cc_basename_result in
CC* | sunCC*)
func_suncc_cstd_abi
if test no != "$suncc_use_cstd_abi"; then
func_append postdeps ' -library=Cstd -library=Crun'
fi
;;
esac
;;
esac
}
# Last step: remove runtime libs from dependency_libs
# (they stay in deplibs)
tmp_libs=
for i in $dependency_libs; do
case " $predeps $postdeps $compiler_lib_search_path " in
*" $i "*)
i=
;;
esac
if test -n "$i"; then
func_append tmp_libs " $i"
fi
done
dependency_libs=$tmp_libs
done # for pass
if test prog = "$linkmode"; then
dlfiles=$newdlfiles
fi
if test prog = "$linkmode" || test lib = "$linkmode"; then
dlprefiles=$newdlprefiles
fi
case $linkmode in
oldlib)
if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
func_warning "'-dlopen' is ignored for archives"
fi
case " $deplibs" in
*\ -l* | *\ -L*)
func_warning "'-l' and '-L' are ignored for archives" ;;
esac
test -n "$rpath" && \
func_warning "'-rpath' is ignored for archives"
test -n "$xrpath" && \
func_warning "'-R' is ignored for archives"
test -n "$vinfo" && \
func_warning "'-version-info/-version-number' is ignored for archives"
test -n "$release" && \
func_warning "'-release' is ignored for archives"
test -n "$export_symbols$export_symbols_regex" && \
func_warning "'-export-symbols' is ignored for archives"
# Now set the variables for building old libraries.
build_libtool_libs=no
oldlibs=$output
func_append objs "$old_deplibs"
;;
lib)
# Make sure we only generate libraries of the form 'libNAME.la'.
case $outputname in
lib*)
func_stripname 'lib' '.la' "$outputname"
name=$func_stripname_result
eval shared_ext=\"$shrext_cmds\"
eval libname=\"$libname_spec\"
;;
*)
test no = "$module" \
&& func_fatal_help "libtool library '$output' must begin with 'lib'"
if test no != "$need_lib_prefix"; then
# Add the "lib" prefix for modules if required
func_stripname '' '.la' "$outputname"
name=$func_stripname_result
eval shared_ext=\"$shrext_cmds\"
eval libname=\"$libname_spec\"
else
func_stripname '' '.la' "$outputname"
libname=$func_stripname_result
fi
;;
esac
if test -n "$objs"; then
if test pass_all != "$deplibs_check_method"; then
func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs"
else
echo
$ECHO "*** Warning: Linking the shared library $output against the non-libtool"
$ECHO "*** objects $objs is not portable!"
func_append libobjs " $objs"
fi
fi
test no = "$dlself" \
|| func_warning "'-dlopen self' is ignored for libtool libraries"
set dummy $rpath
shift
test 1 -lt "$#" \
&& func_warning "ignoring multiple '-rpath's for a libtool library"
install_libdir=$1
oldlibs=
if test -z "$rpath"; then
if test yes = "$build_libtool_libs"; then
# Building a libtool convenience library.
# Some compilers have problems with a '.al' extension so
# convenience libraries should have the same extension an
# archive normally would.
oldlibs="$output_objdir/$libname.$libext $oldlibs"
build_libtool_libs=convenience
build_old_libs=yes
fi
test -n "$vinfo" && \
func_warning "'-version-info/-version-number' is ignored for convenience libraries"
test -n "$release" && \
func_warning "'-release' is ignored for convenience libraries"
else
# Parse the version information argument.
save_ifs=$IFS; IFS=:
set dummy $vinfo 0 0 0
shift
IFS=$save_ifs
test -n "$7" && \
func_fatal_help "too many parameters to '-version-info'"
# convert absolute version numbers to libtool ages
# this retains compatibility with .la files and attempts
# to make the code below a bit more comprehensible
case $vinfo_number in
yes)
number_major=$1
number_minor=$2
number_revision=$3
#
# There are really only two kinds -- those that
# use the current revision as the major version
# and those that subtract age and use age as
# a minor version. But, then there is irix
# that has an extra 1 added just for fun
#
case $version_type in
# correct linux to gnu/linux during the next big refactor
darwin|freebsd-elf|linux|osf|windows|none)
func_arith $number_major + $number_minor
current=$func_arith_result
age=$number_minor
revision=$number_revision
;;
freebsd-aout|qnx|sunos)
current=$number_major
revision=$number_minor
age=0
;;
irix|nonstopux)
func_arith $number_major + $number_minor
current=$func_arith_result
age=$number_minor
revision=$number_minor
lt_irix_increment=no
;;
esac
;;
no)
current=$1
revision=$2
age=$3
;;
esac
# Check that each of the things are valid numbers.
case $current in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
func_error "CURRENT '$current' must be a nonnegative integer"
func_fatal_error "'$vinfo' is not valid version information"
;;
esac
case $revision in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
func_error "REVISION '$revision' must be a nonnegative integer"
func_fatal_error "'$vinfo' is not valid version information"
;;
esac
case $age in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
func_error "AGE '$age' must be a nonnegative integer"
func_fatal_error "'$vinfo' is not valid version information"
;;
esac
if test "$age" -gt "$current"; then
func_error "AGE '$age' is greater than the current interface number '$current'"
func_fatal_error "'$vinfo' is not valid version information"
fi
# Calculate the version variables.
major=
versuffix=
verstring=
case $version_type in
none) ;;
darwin)
# Like Linux, but with the current version available in
# verstring for coding it into the library header
func_arith $current - $age
major=.$func_arith_result
versuffix=$major.$age.$revision
# Darwin ld doesn't like 0 for these options...
func_arith $current + 1
minor_current=$func_arith_result
xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
# On Darwin other compilers
case $CC in
nagfor*)
verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
;;
*)
verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
;;
esac
;;
freebsd-aout)
major=.$current
versuffix=.$current.$revision
;;
freebsd-elf)
func_arith $current - $age
major=.$func_arith_result
versuffix=$major.$age.$revision
;;
irix | nonstopux)
if test no = "$lt_irix_increment"; then
func_arith $current - $age
else
func_arith $current - $age + 1
fi
major=$func_arith_result
case $version_type in
nonstopux) verstring_prefix=nonstopux ;;
*) verstring_prefix=sgi ;;
esac
verstring=$verstring_prefix$major.$revision
# Add in all the interfaces that we are compatible with.
loop=$revision
while test 0 -ne "$loop"; do
func_arith $revision - $loop
iface=$func_arith_result
func_arith $loop - 1
loop=$func_arith_result
verstring=$verstring_prefix$major.$iface:$verstring
done
# Before this point, $major must not contain '.'.
major=.$major
versuffix=$major.$revision
;;
linux) # correct to gnu/linux during the next big refactor
func_arith $current - $age
major=.$func_arith_result
versuffix=$major.$age.$revision
;;
osf)
func_arith $current - $age
major=.$func_arith_result
versuffix=.$current.$age.$revision
verstring=$current.$age.$revision
# Add in all the interfaces that we are compatible with.
loop=$age
while test 0 -ne "$loop"; do
func_arith $current - $loop
iface=$func_arith_result
func_arith $loop - 1
loop=$func_arith_result
verstring=$verstring:$iface.0
done
# Make executables depend on our current version.
func_append verstring ":$current.0"
;;
qnx)
major=.$current
versuffix=.$current
;;
sco)
major=.$current
versuffix=.$current
;;
sunos)
major=.$current
versuffix=.$current.$revision
;;
windows)
# Use '-' rather than '.', since we only want one
# extension on DOS 8.3 file systems.
func_arith $current - $age
major=$func_arith_result
versuffix=-$major
;;
*)
func_fatal_configuration "unknown library version type '$version_type'"
;;
esac
# Clear the version info if we defaulted, and they specified a release.
if test -z "$vinfo" && test -n "$release"; then
major=
case $version_type in
darwin)
# we can't check for "0.0" in archive_cmds due to quoting
# problems, so we reset it completely
verstring=
;;
*)
verstring=0.0
;;
esac
if test no = "$need_version"; then
versuffix=
else
versuffix=.0.0
fi
fi
# Remove version info from name if versioning should be avoided
if test yes,no = "$avoid_version,$need_version"; then
major=
versuffix=
verstring=
fi
# Check to see if the archive will have undefined symbols.
if test yes = "$allow_undefined"; then
if test unsupported = "$allow_undefined_flag"; then
if test yes = "$build_old_libs"; then
func_warning "undefined symbols not allowed in $host shared libraries; building static only"
build_libtool_libs=no
else
func_fatal_error "can't build $host shared library unless -no-undefined is specified"
fi
fi
else
# Don't allow undefined symbols.
allow_undefined_flag=$no_undefined_flag
fi
fi
func_generate_dlsyms "$libname" "$libname" :
func_append libobjs " $symfileobj"
test " " = "$libobjs" && libobjs=
if test relink != "$opt_mode"; then
# Remove our outputs, but don't remove object files since they
# may have been created when compiling PIC objects.
removelist=
tempremovelist=`$ECHO "$output_objdir/*"`
for p in $tempremovelist; do
case $p in
*.$objext | *.gcno)
;;
$output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*)
if test -n "$precious_files_regex"; then
if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
then
continue
fi
fi
func_append removelist " $p"
;;
*) ;;
esac
done
test -n "$removelist" && \
func_show_eval "${RM}r \$removelist"
fi
# Now set the variables for building old libraries.
if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then
func_append oldlibs " $output_objdir/$libname.$libext"
# Transform .lo files to .o files.
oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP`
fi
# Eliminate all temporary directories.
#for path in $notinst_path; do
# lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
# deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
# dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
#done
if test -n "$xrpath"; then
# If the user specified any rpath flags, then add them.
temp_xrpath=
for libdir in $xrpath; do
func_replace_sysroot "$libdir"
func_append temp_xrpath " -R$func_replace_sysroot_result"
case "$finalize_rpath " in
*" $libdir "*) ;;
*) func_append finalize_rpath " $libdir" ;;
esac
done
if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then
dependency_libs="$temp_xrpath $dependency_libs"
fi
fi
# Make sure dlfiles contains only unique files that won't be dlpreopened
old_dlfiles=$dlfiles
dlfiles=
for lib in $old_dlfiles; do
case " $dlprefiles $dlfiles " in
*" $lib "*) ;;
*) func_append dlfiles " $lib" ;;
esac
done
# Make sure dlprefiles contains only unique files
old_dlprefiles=$dlprefiles
dlprefiles=
for lib in $old_dlprefiles; do
case "$dlprefiles " in
*" $lib "*) ;;
*) func_append dlprefiles " $lib" ;;
esac
done
if test yes = "$build_libtool_libs"; then
if test -n "$rpath"; then
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
# these systems don't actually have a c library (as such)!
;;
*-*-rhapsody* | *-*-darwin1.[012])
# Rhapsody C library is in the System framework
func_append deplibs " System.ltframework"
;;
*-*-netbsd*)
# Don't link with libc until the a.out ld.so is fixed.
;;
*-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
# Do not include libc due to us having libc/libc_r.
;;
*-*-sco3.2v5* | *-*-sco5v6*)
# Causes problems with __ctype
;;
*-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
# Compiler inserts libc in the correct place for threads to work
;;
*)
# Add libc to deplibs on all other systems if necessary.
if test yes = "$build_libtool_need_lc"; then
func_append deplibs " -lc"
fi
;;
esac
fi
# Transform deplibs into only deplibs that can be linked in shared.
name_save=$name
libname_save=$libname
release_save=$release
versuffix_save=$versuffix
major_save=$major
# I'm not sure if I'm treating the release correctly. I think
# release should show up in the -l (ie -lgmp5) so we don't want to
# add it in twice. Is that correct?
release=
versuffix=
major=
newdeplibs=
droppeddeps=no
case $deplibs_check_method in
pass_all)
# Don't check for shared/static. Everything works.
# This might be a little naive. We might want to check
# whether the library exists or not. But this is on
# osf3 & osf4 and I'm not really sure... Just
# implementing what was already the behavior.
newdeplibs=$deplibs
;;
test_compile)
# This code stresses the "libraries are programs" paradigm to its
# limits. Maybe even breaks it. We compile a program, linking it
# against the deplibs as a proxy for the library. Then we can check
# whether they linked in statically or dynamically with ldd.
$opt_dry_run || $RM conftest.c
cat > conftest.c </dev/null`
$nocaseglob
else
potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
fi
for potent_lib in $potential_libs; do
# Follow soft links.
if ls -lLd "$potent_lib" 2>/dev/null |
$GREP " -> " >/dev/null; then
continue
fi
# The statement above tries to avoid entering an
# endless loop below, in case of cyclic links.
# We might still enter an endless loop, since a link
# loop can be closed while we follow links,
# but so what?
potlib=$potent_lib
while test -h "$potlib" 2>/dev/null; do
potliblink=`ls -ld $potlib | $SED 's/.* -> //'`
case $potliblink in
[\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;;
*) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";;
esac
done
if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
$SED -e 10q |
$EGREP "$file_magic_regex" > /dev/null; then
func_append newdeplibs " $a_deplib"
a_deplib=
break 2
fi
done
done
fi
if test -n "$a_deplib"; then
droppeddeps=yes
echo
$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
echo "*** I have the capability to make that library automatically link in when"
echo "*** you link to this library. But I can only do this if you have a"
echo "*** shared version of the library, which you do not appear to have"
echo "*** because I did check the linker path looking for a file starting"
if test -z "$potlib"; then
$ECHO "*** with $libname but no candidates were found. (...for file magic test)"
else
$ECHO "*** with $libname and none of the candidates passed a file format test"
$ECHO "*** using a file magic. Last file checked: $potlib"
fi
fi
;;
*)
# Add a -L argument.
func_append newdeplibs " $a_deplib"
;;
esac
done # Gone through all deplibs.
;;
match_pattern*)
set dummy $deplibs_check_method; shift
match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
for a_deplib in $deplibs; do
case $a_deplib in
-l*)
func_stripname -l '' "$a_deplib"
name=$func_stripname_result
if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $a_deplib "*)
func_append newdeplibs " $a_deplib"
a_deplib=
;;
esac
fi
if test -n "$a_deplib"; then
libname=`eval "\\$ECHO \"$libname_spec\""`
for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
for potent_lib in $potential_libs; do
potlib=$potent_lib # see symlink-check above in file_magic test
if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
$EGREP "$match_pattern_regex" > /dev/null; then
func_append newdeplibs " $a_deplib"
a_deplib=
break 2
fi
done
done
fi
if test -n "$a_deplib"; then
droppeddeps=yes
echo
$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
echo "*** I have the capability to make that library automatically link in when"
echo "*** you link to this library. But I can only do this if you have a"
echo "*** shared version of the library, which you do not appear to have"
echo "*** because I did check the linker path looking for a file starting"
if test -z "$potlib"; then
$ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
else
$ECHO "*** with $libname and none of the candidates passed a file format test"
$ECHO "*** using a regex pattern. Last file checked: $potlib"
fi
fi
;;
*)
# Add a -L argument.
func_append newdeplibs " $a_deplib"
;;
esac
done # Gone through all deplibs.
;;
none | unknown | *)
newdeplibs=
tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
if test yes = "$allow_libtool_libs_with_static_runtimes"; then
for i in $predeps $postdeps; do
# can't use Xsed below, because $i might contain '/'
tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"`
done
fi
case $tmp_deplibs in
*[!\ \ ]*)
echo
if test none = "$deplibs_check_method"; then
echo "*** Warning: inter-library dependencies are not supported in this platform."
else
echo "*** Warning: inter-library dependencies are not known to be supported."
fi
echo "*** All declared inter-library dependencies are being dropped."
droppeddeps=yes
;;
esac
;;
esac
versuffix=$versuffix_save
major=$major_save
release=$release_save
libname=$libname_save
name=$name_save
case $host in
*-*-rhapsody* | *-*-darwin1.[012])
# On Rhapsody replace the C library with the System framework
newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
;;
esac
if test yes = "$droppeddeps"; then
if test yes = "$module"; then
echo
echo "*** Warning: libtool could not satisfy all declared inter-library"
$ECHO "*** dependencies of module $libname. Therefore, libtool will create"
echo "*** a static module, that should work as long as the dlopening"
echo "*** application is linked with the -dlopen flag."
if test -z "$global_symbol_pipe"; then
echo
echo "*** However, this would only work if libtool was able to extract symbol"
echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
echo "*** not find such a program. So, this module is probably useless."
echo "*** 'nm' from GNU binutils and a full rebuild may help."
fi
if test no = "$build_old_libs"; then
oldlibs=$output_objdir/$libname.$libext
build_libtool_libs=module
build_old_libs=yes
else
build_libtool_libs=no
fi
else
echo "*** The inter-library dependencies that have been dropped here will be"
echo "*** automatically added whenever a program is linked with this library"
echo "*** or is declared to -dlopen it."
if test no = "$allow_undefined"; then
echo
echo "*** Since this library must not contain undefined symbols,"
echo "*** because either the platform does not support them or"
echo "*** it was explicitly requested with -no-undefined,"
echo "*** libtool will only create a static version of it."
if test no = "$build_old_libs"; then
oldlibs=$output_objdir/$libname.$libext
build_libtool_libs=module
build_old_libs=yes
else
build_libtool_libs=no
fi
fi
fi
fi
# Done checking deplibs!
deplibs=$newdeplibs
fi
# Time to change all our "foo.ltframework" stuff back to "-framework foo"
case $host in
*-*-darwin*)
newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
;;
esac
# move library search paths that coincide with paths to not yet
# installed libraries to the beginning of the library search list
new_libs=
for path in $notinst_path; do
case " $new_libs " in
*" -L$path/$objdir "*) ;;
*)
case " $deplibs " in
*" -L$path/$objdir "*)
func_append new_libs " -L$path/$objdir" ;;
esac
;;
esac
done
for deplib in $deplibs; do
case $deplib in
-L*)
case " $new_libs " in
*" $deplib "*) ;;
*) func_append new_libs " $deplib" ;;
esac
;;
*) func_append new_libs " $deplib" ;;
esac
done
deplibs=$new_libs
# All the library-specific variables (install_libdir is set above).
library_names=
old_library=
dlname=
# Test again, we may have decided not to build it any more
if test yes = "$build_libtool_libs"; then
# Remove $wl instances when linking with ld.
# FIXME: should test the right _cmds variable.
case $archive_cmds in
*\$LD\ *) wl= ;;
esac
if test yes = "$hardcode_into_libs"; then
# Hardcode the library paths
hardcode_libdirs=
dep_rpath=
rpath=$finalize_rpath
test relink = "$opt_mode" || rpath=$compile_rpath$rpath
for libdir in $rpath; do
if test -n "$hardcode_libdir_flag_spec"; then
if test -n "$hardcode_libdir_separator"; then
func_replace_sysroot "$libdir"
libdir=$func_replace_sysroot_result
if test -z "$hardcode_libdirs"; then
hardcode_libdirs=$libdir
else
# Just accumulate the unique libdirs.
case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
;;
*)
func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
;;
esac
fi
else
eval flag=\"$hardcode_libdir_flag_spec\"
func_append dep_rpath " $flag"
fi
elif test -n "$runpath_var"; then
case "$perm_rpath " in
*" $libdir "*) ;;
*) func_append perm_rpath " $libdir" ;;
esac
fi
done
# Substitute the hardcoded libdirs into the rpath.
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
libdir=$hardcode_libdirs
eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
fi
if test -n "$runpath_var" && test -n "$perm_rpath"; then
# We should set the runpath_var.
rpath=
for dir in $perm_rpath; do
func_append rpath "$dir:"
done
eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
fi
test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
fi
shlibpath=$finalize_shlibpath
test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath
if test -n "$shlibpath"; then
eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
fi
# Get the real and link names of the library.
eval shared_ext=\"$shrext_cmds\"
eval library_names=\"$library_names_spec\"
set dummy $library_names
shift
realname=$1
shift
if test -n "$soname_spec"; then
eval soname=\"$soname_spec\"
else
soname=$realname
fi
if test -z "$dlname"; then
dlname=$soname
fi
lib=$output_objdir/$realname
linknames=
for link
do
func_append linknames " $link"
done
# Use standard objects if they are pic
test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
test "X$libobjs" = "X " && libobjs=
delfiles=
if test -n "$export_symbols" && test -n "$include_expsyms"; then
$opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
export_symbols=$output_objdir/$libname.uexp
func_append delfiles " $export_symbols"
fi
orig_export_symbols=
case $host_os in
cygwin* | mingw* | cegcc*)
if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
# exporting using user supplied symfile
func_dll_def_p "$export_symbols" || {
# and it's NOT already a .def file. Must figure out
# which of the given symbols are data symbols and tag
# them as such. So, trigger use of export_symbols_cmds.
# export_symbols gets reassigned inside the "prepare
# the list of exported symbols" if statement, so the
# include_expsyms logic still works.
orig_export_symbols=$export_symbols
export_symbols=
always_export_symbols=yes
}
fi
;;
esac
# Prepare the list of exported symbols
if test -z "$export_symbols"; then
if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then
func_verbose "generating symbol list for '$libname.la'"
export_symbols=$output_objdir/$libname.exp
$opt_dry_run || $RM $export_symbols
cmds=$export_symbols_cmds
save_ifs=$IFS; IFS='~'
for cmd1 in $cmds; do
IFS=$save_ifs
# Take the normal branch if the nm_file_list_spec branch
# doesn't work or if tool conversion is not needed.
case $nm_file_list_spec~$to_tool_file_cmd in
*~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
try_normal_branch=yes
eval cmd=\"$cmd1\"
func_len " $cmd"
len=$func_len_result
;;
*)
try_normal_branch=no
;;
esac
if test yes = "$try_normal_branch" \
&& { test "$len" -lt "$max_cmd_len" \
|| test "$max_cmd_len" -le -1; }
then
func_show_eval "$cmd" 'exit $?'
skipped_export=false
elif test -n "$nm_file_list_spec"; then
func_basename "$output"
output_la=$func_basename_result
save_libobjs=$libobjs
save_output=$output
output=$output_objdir/$output_la.nm
func_to_tool_file "$output"
libobjs=$nm_file_list_spec$func_to_tool_file_result
func_append delfiles " $output"
func_verbose "creating $NM input file list: $output"
for obj in $save_libobjs; do
func_to_tool_file "$obj"
$ECHO "$func_to_tool_file_result"
done > "$output"
eval cmd=\"$cmd1\"
func_show_eval "$cmd" 'exit $?'
output=$save_output
libobjs=$save_libobjs
skipped_export=false
else
# The command line is too long to execute in one step.
func_verbose "using reloadable object file for export list..."
skipped_export=:
# Break out early, otherwise skipped_export may be
# set to false by a later but shorter cmd.
break
fi
done
IFS=$save_ifs
if test -n "$export_symbols_regex" && test : != "$skipped_export"; then
func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
fi
fi
fi
if test -n "$export_symbols" && test -n "$include_expsyms"; then
tmp_export_symbols=$export_symbols
test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
$opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
fi
if test : != "$skipped_export" && test -n "$orig_export_symbols"; then
# The given exports_symbols file has to be filtered, so filter it.
func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
# FIXME: $output_objdir/$libname.filter potentially contains lots of
# 's' commands, which not all seds can handle. GNU sed should be fine
# though. Also, the filter scales superlinearly with the number of
# global variables. join(1) would be nice here, but unfortunately
# isn't a blessed tool.
$opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
func_append delfiles " $export_symbols $output_objdir/$libname.filter"
export_symbols=$output_objdir/$libname.def
$opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
fi
tmp_deplibs=
for test_deplib in $deplibs; do
case " $convenience " in
*" $test_deplib "*) ;;
*)
func_append tmp_deplibs " $test_deplib"
;;
esac
done
deplibs=$tmp_deplibs
if test -n "$convenience"; then
if test -n "$whole_archive_flag_spec" &&
test yes = "$compiler_needs_object" &&
test -z "$libobjs"; then
# extract the archives, so we have objects to list.
# TODO: could optimize this to just extract one archive.
whole_archive_flag_spec=
fi
if test -n "$whole_archive_flag_spec"; then
save_libobjs=$libobjs
eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
test "X$libobjs" = "X " && libobjs=
else
gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_extract_archives $gentop $convenience
func_append libobjs " $func_extract_archives_result"
test "X$libobjs" = "X " && libobjs=
fi
fi
if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then
eval flag=\"$thread_safe_flag_spec\"
func_append linker_flags " $flag"
fi
# Make a backup of the uninstalled library when relinking
if test relink = "$opt_mode"; then
$opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
fi
# Do each of the archive commands.
if test yes = "$module" && test -n "$module_cmds"; then
if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
eval test_cmds=\"$module_expsym_cmds\"
cmds=$module_expsym_cmds
else
eval test_cmds=\"$module_cmds\"
cmds=$module_cmds
fi
else
if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
eval test_cmds=\"$archive_expsym_cmds\"
cmds=$archive_expsym_cmds
else
eval test_cmds=\"$archive_cmds\"
cmds=$archive_cmds
fi
fi
if test : != "$skipped_export" &&
func_len " $test_cmds" &&
len=$func_len_result &&
test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
:
else
# The command line is too long to link in one step, link piecewise
# or, if using GNU ld and skipped_export is not :, use a linker
# script.
# Save the value of $output and $libobjs because we want to
# use them later. If we have whole_archive_flag_spec, we
# want to use save_libobjs as it was before
# whole_archive_flag_spec was expanded, because we can't
# assume the linker understands whole_archive_flag_spec.
# This may have to be revisited, in case too many
# convenience libraries get linked in and end up exceeding
# the spec.
if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
save_libobjs=$libobjs
fi
save_output=$output
func_basename "$output"
output_la=$func_basename_result
# Clear the reloadable object creation command queue and
# initialize k to one.
test_cmds=
concat_cmds=
objlist=
last_robj=
k=1
if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then
output=$output_objdir/$output_la.lnkscript
func_verbose "creating GNU ld script: $output"
echo 'INPUT (' > $output
for obj in $save_libobjs
do
func_to_tool_file "$obj"
$ECHO "$func_to_tool_file_result" >> $output
done
echo ')' >> $output
func_append delfiles " $output"
func_to_tool_file "$output"
output=$func_to_tool_file_result
elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then
output=$output_objdir/$output_la.lnk
func_verbose "creating linker input file list: $output"
: > $output
set x $save_libobjs
shift
firstobj=
if test yes = "$compiler_needs_object"; then
firstobj="$1 "
shift
fi
for obj
do
func_to_tool_file "$obj"
$ECHO "$func_to_tool_file_result" >> $output
done
func_append delfiles " $output"
func_to_tool_file "$output"
output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
else
if test -n "$save_libobjs"; then
func_verbose "creating reloadable object files..."
output=$output_objdir/$output_la-$k.$objext
eval test_cmds=\"$reload_cmds\"
func_len " $test_cmds"
len0=$func_len_result
len=$len0
# Loop over the list of objects to be linked.
for obj in $save_libobjs
do
func_len " $obj"
func_arith $len + $func_len_result
len=$func_arith_result
if test -z "$objlist" ||
test "$len" -lt "$max_cmd_len"; then
func_append objlist " $obj"
else
# The command $test_cmds is almost too long, add a
# command to the queue.
if test 1 -eq "$k"; then
# The first file doesn't have a previous command to add.
reload_objs=$objlist
eval concat_cmds=\"$reload_cmds\"
else
# All subsequent reloadable object files will link in
# the last one created.
reload_objs="$objlist $last_robj"
eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
fi
last_robj=$output_objdir/$output_la-$k.$objext
func_arith $k + 1
k=$func_arith_result
output=$output_objdir/$output_la-$k.$objext
objlist=" $obj"
func_len " $last_robj"
func_arith $len0 + $func_len_result
len=$func_arith_result
fi
done
# Handle the remaining objects by creating one last
# reloadable object file. All subsequent reloadable object
# files will link in the last one created.
test -z "$concat_cmds" || concat_cmds=$concat_cmds~
reload_objs="$objlist $last_robj"
eval concat_cmds=\"\$concat_cmds$reload_cmds\"
if test -n "$last_robj"; then
eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
fi
func_append delfiles " $output"
else
output=
fi
${skipped_export-false} && {
func_verbose "generating symbol list for '$libname.la'"
export_symbols=$output_objdir/$libname.exp
$opt_dry_run || $RM $export_symbols
libobjs=$output
# Append the command to create the export file.
test -z "$concat_cmds" || concat_cmds=$concat_cmds~
eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
if test -n "$last_robj"; then
eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
fi
}
test -n "$save_libobjs" &&
func_verbose "creating a temporary reloadable object file: $output"
# Loop through the commands generated above and execute them.
save_ifs=$IFS; IFS='~'
for cmd in $concat_cmds; do
IFS=$save_ifs
$opt_quiet || {
func_quote_for_expand "$cmd"
eval "func_echo $func_quote_for_expand_result"
}
$opt_dry_run || eval "$cmd" || {
lt_exit=$?
# Restore the uninstalled library and exit
if test relink = "$opt_mode"; then
( cd "$output_objdir" && \
$RM "${realname}T" && \
$MV "${realname}U" "$realname" )
fi
exit $lt_exit
}
done
IFS=$save_ifs
if test -n "$export_symbols_regex" && ${skipped_export-false}; then
func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
fi
fi
${skipped_export-false} && {
if test -n "$export_symbols" && test -n "$include_expsyms"; then
tmp_export_symbols=$export_symbols
test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
$opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
fi
if test -n "$orig_export_symbols"; then
# The given exports_symbols file has to be filtered, so filter it.
func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
# FIXME: $output_objdir/$libname.filter potentially contains lots of
# 's' commands, which not all seds can handle. GNU sed should be fine
# though. Also, the filter scales superlinearly with the number of
# global variables. join(1) would be nice here, but unfortunately
# isn't a blessed tool.
$opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
func_append delfiles " $export_symbols $output_objdir/$libname.filter"
export_symbols=$output_objdir/$libname.def
$opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
fi
}
libobjs=$output
# Restore the value of output.
output=$save_output
if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
test "X$libobjs" = "X " && libobjs=
fi
# Expand the library linking commands again to reset the
# value of $libobjs for piecewise linking.
# Do each of the archive commands.
if test yes = "$module" && test -n "$module_cmds"; then
if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
cmds=$module_expsym_cmds
else
cmds=$module_cmds
fi
else
if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
cmds=$archive_expsym_cmds
else
cmds=$archive_cmds
fi
fi
fi
if test -n "$delfiles"; then
# Append the command to remove temporary files to $cmds.
eval cmds=\"\$cmds~\$RM $delfiles\"
fi
# Add any objects from preloaded convenience libraries
if test -n "$dlprefiles"; then
gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_extract_archives $gentop $dlprefiles
func_append libobjs " $func_extract_archives_result"
test "X$libobjs" = "X " && libobjs=
fi
save_ifs=$IFS; IFS='~'
for cmd in $cmds; do
IFS=$sp$nl
eval cmd=\"$cmd\"
IFS=$save_ifs
$opt_quiet || {
func_quote_for_expand "$cmd"
eval "func_echo $func_quote_for_expand_result"
}
$opt_dry_run || eval "$cmd" || {
lt_exit=$?
# Restore the uninstalled library and exit
if test relink = "$opt_mode"; then
( cd "$output_objdir" && \
$RM "${realname}T" && \
$MV "${realname}U" "$realname" )
fi
exit $lt_exit
}
done
IFS=$save_ifs
# Restore the uninstalled library and exit
if test relink = "$opt_mode"; then
$opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
if test -n "$convenience"; then
if test -z "$whole_archive_flag_spec"; then
func_show_eval '${RM}r "$gentop"'
fi
fi
exit $EXIT_SUCCESS
fi
# Create links to the real library.
for linkname in $linknames; do
if test "$realname" != "$linkname"; then
func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
fi
done
# If -module or -export-dynamic was specified, set the dlname.
if test yes = "$module" || test yes = "$export_dynamic"; then
# On all known operating systems, these are identical.
dlname=$soname
fi
fi
;;
obj)
if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
func_warning "'-dlopen' is ignored for objects"
fi
case " $deplibs" in
*\ -l* | *\ -L*)
func_warning "'-l' and '-L' are ignored for objects" ;;
esac
test -n "$rpath" && \
func_warning "'-rpath' is ignored for objects"
test -n "$xrpath" && \
func_warning "'-R' is ignored for objects"
test -n "$vinfo" && \
func_warning "'-version-info' is ignored for objects"
test -n "$release" && \
func_warning "'-release' is ignored for objects"
case $output in
*.lo)
test -n "$objs$old_deplibs" && \
func_fatal_error "cannot build library object '$output' from non-libtool objects"
libobj=$output
func_lo2o "$libobj"
obj=$func_lo2o_result
;;
*)
libobj=
obj=$output
;;
esac
# Delete the old objects.
$opt_dry_run || $RM $obj $libobj
# Objects from convenience libraries. This assumes
# single-version convenience libraries. Whenever we create
# different ones for PIC/non-PIC, this we'll have to duplicate
# the extraction.
reload_conv_objs=
gentop=
# if reload_cmds runs $LD directly, get rid of -Wl from
# whole_archive_flag_spec and hope we can get by with turning comma
# into space.
case $reload_cmds in
*\$LD[\ \$]*) wl= ;;
esac
if test -n "$convenience"; then
if test -n "$whole_archive_flag_spec"; then
eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags
else
gentop=$output_objdir/${obj}x
func_append generated " $gentop"
func_extract_archives $gentop $convenience
reload_conv_objs="$reload_objs $func_extract_archives_result"
fi
fi
# If we're not building shared, we need to use non_pic_objs
test yes = "$build_libtool_libs" || libobjs=$non_pic_objects
# Create the old-style object.
reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs
output=$obj
func_execute_cmds "$reload_cmds" 'exit $?'
# Exit if we aren't doing a library object file.
if test -z "$libobj"; then
if test -n "$gentop"; then
func_show_eval '${RM}r "$gentop"'
fi
exit $EXIT_SUCCESS
fi
test yes = "$build_libtool_libs" || {
if test -n "$gentop"; then
func_show_eval '${RM}r "$gentop"'
fi
# Create an invalid libtool object if no PIC, so that we don't
# accidentally link it into a program.
# $show "echo timestamp > $libobj"
# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
exit $EXIT_SUCCESS
}
if test -n "$pic_flag" || test default != "$pic_mode"; then
# Only do commands if we really have different PIC objects.
reload_objs="$libobjs $reload_conv_objs"
output=$libobj
func_execute_cmds "$reload_cmds" 'exit $?'
fi
if test -n "$gentop"; then
func_show_eval '${RM}r "$gentop"'
fi
exit $EXIT_SUCCESS
;;
prog)
case $host in
*cygwin*) func_stripname '' '.exe' "$output"
output=$func_stripname_result.exe;;
esac
test -n "$vinfo" && \
func_warning "'-version-info' is ignored for programs"
test -n "$release" && \
func_warning "'-release' is ignored for programs"
$preload \
&& test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \
&& func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support."
case $host in
*-*-rhapsody* | *-*-darwin1.[012])
# On Rhapsody replace the C library is the System framework
compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
;;
esac
case $host in
*-*-darwin*)
# Don't allow lazy linking, it breaks C++ global constructors
# But is supposedly fixed on 10.4 or later (yay!).
if test CXX = "$tagname"; then
case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
10.[0123])
func_append compile_command " $wl-bind_at_load"
func_append finalize_command " $wl-bind_at_load"
;;
esac
fi
# Time to change all our "foo.ltframework" stuff back to "-framework foo"
compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
;;
esac
# move library search paths that coincide with paths to not yet
# installed libraries to the beginning of the library search list
new_libs=
for path in $notinst_path; do
case " $new_libs " in
*" -L$path/$objdir "*) ;;
*)
case " $compile_deplibs " in
*" -L$path/$objdir "*)
func_append new_libs " -L$path/$objdir" ;;
esac
;;
esac
done
for deplib in $compile_deplibs; do
case $deplib in
-L*)
case " $new_libs " in
*" $deplib "*) ;;
*) func_append new_libs " $deplib" ;;
esac
;;
*) func_append new_libs " $deplib" ;;
esac
done
compile_deplibs=$new_libs
func_append compile_command " $compile_deplibs"
func_append finalize_command " $finalize_deplibs"
if test -n "$rpath$xrpath"; then
# If the user specified any rpath flags, then add them.
for libdir in $rpath $xrpath; do
# This is the magic to use -rpath.
case "$finalize_rpath " in
*" $libdir "*) ;;
*) func_append finalize_rpath " $libdir" ;;
esac
done
fi
# Now hardcode the library paths
rpath=
hardcode_libdirs=
for libdir in $compile_rpath $finalize_rpath; do
if test -n "$hardcode_libdir_flag_spec"; then
if test -n "$hardcode_libdir_separator"; then
if test -z "$hardcode_libdirs"; then
hardcode_libdirs=$libdir
else
# Just accumulate the unique libdirs.
case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
;;
*)
func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
;;
esac
fi
else
eval flag=\"$hardcode_libdir_flag_spec\"
func_append rpath " $flag"
fi
elif test -n "$runpath_var"; then
case "$perm_rpath " in
*" $libdir "*) ;;
*) func_append perm_rpath " $libdir" ;;
esac
fi
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$libdir:"*) ;;
::) dllsearchpath=$libdir;;
*) func_append dllsearchpath ":$libdir";;
esac
case :$dllsearchpath: in
*":$testbindir:"*) ;;
::) dllsearchpath=$testbindir;;
*) func_append dllsearchpath ":$testbindir";;
esac
;;
esac
done
# Substitute the hardcoded libdirs into the rpath.
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
libdir=$hardcode_libdirs
eval rpath=\" $hardcode_libdir_flag_spec\"
fi
compile_rpath=$rpath
rpath=
hardcode_libdirs=
for libdir in $finalize_rpath; do
if test -n "$hardcode_libdir_flag_spec"; then
if test -n "$hardcode_libdir_separator"; then
if test -z "$hardcode_libdirs"; then
hardcode_libdirs=$libdir
else
# Just accumulate the unique libdirs.
case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
;;
*)
func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
;;
esac
fi
else
eval flag=\"$hardcode_libdir_flag_spec\"
func_append rpath " $flag"
fi
elif test -n "$runpath_var"; then
case "$finalize_perm_rpath " in
*" $libdir "*) ;;
*) func_append finalize_perm_rpath " $libdir" ;;
esac
fi
done
# Substitute the hardcoded libdirs into the rpath.
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
libdir=$hardcode_libdirs
eval rpath=\" $hardcode_libdir_flag_spec\"
fi
finalize_rpath=$rpath
if test -n "$libobjs" && test yes = "$build_old_libs"; then
# Transform all the library objects into standard objects.
compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
fi
func_generate_dlsyms "$outputname" "@PROGRAM@" false
# template prelinking step
if test -n "$prelink_cmds"; then
func_execute_cmds "$prelink_cmds" 'exit $?'
fi
wrappers_required=:
case $host in
*cegcc* | *mingw32ce*)
# Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
wrappers_required=false
;;
*cygwin* | *mingw* )
test yes = "$build_libtool_libs" || wrappers_required=false
;;
*)
if test no = "$need_relink" || test yes != "$build_libtool_libs"; then
wrappers_required=false
fi
;;
esac
$wrappers_required || {
# Replace the output file specification.
compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
link_command=$compile_command$compile_rpath
# We have no uninstalled library dependencies, so finalize right now.
exit_status=0
func_show_eval "$link_command" 'exit_status=$?'
if test -n "$postlink_cmds"; then
func_to_tool_file "$output"
postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
func_execute_cmds "$postlink_cmds" 'exit $?'
fi
# Delete the generated files.
if test -f "$output_objdir/${outputname}S.$objext"; then
func_show_eval '$RM "$output_objdir/${outputname}S.$objext"'
fi
exit $exit_status
}
if test -n "$compile_shlibpath$finalize_shlibpath"; then
compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
fi
if test -n "$finalize_shlibpath"; then
finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
fi
compile_var=
finalize_var=
if test -n "$runpath_var"; then
if test -n "$perm_rpath"; then
# We should set the runpath_var.
rpath=
for dir in $perm_rpath; do
func_append rpath "$dir:"
done
compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
fi
if test -n "$finalize_perm_rpath"; then
# We should set the runpath_var.
rpath=
for dir in $finalize_perm_rpath; do
func_append rpath "$dir:"
done
finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
fi
fi
if test yes = "$no_install"; then
# We don't need to create a wrapper script.
link_command=$compile_var$compile_command$compile_rpath
# Replace the output file specification.
link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
# Delete the old output file.
$opt_dry_run || $RM $output
# Link the executable and exit
func_show_eval "$link_command" 'exit $?'
if test -n "$postlink_cmds"; then
func_to_tool_file "$output"
postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
func_execute_cmds "$postlink_cmds" 'exit $?'
fi
exit $EXIT_SUCCESS
fi
case $hardcode_action,$fast_install in
relink,*)
# Fast installation is not supported
link_command=$compile_var$compile_command$compile_rpath
relink_command=$finalize_var$finalize_command$finalize_rpath
func_warning "this platform does not like uninstalled shared libraries"
func_warning "'$output' will be relinked during installation"
;;
*,yes)
link_command=$finalize_var$compile_command$finalize_rpath
relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
;;
*,no)
link_command=$compile_var$compile_command$compile_rpath
relink_command=$finalize_var$finalize_command$finalize_rpath
;;
*,needless)
link_command=$finalize_var$compile_command$finalize_rpath
relink_command=
;;
esac
# Replace the output file specification.
link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
# Delete the old output files.
$opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
func_show_eval "$link_command" 'exit $?'
if test -n "$postlink_cmds"; then
func_to_tool_file "$output_objdir/$outputname"
postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
func_execute_cmds "$postlink_cmds" 'exit $?'
fi
# Now create the wrapper script.
func_verbose "creating $output"
# Quote the relink command for shipping.
if test -n "$relink_command"; then
# Preserve any variables that may affect compiler behavior
for var in $variables_saved_for_relink; do
if eval test -z \"\${$var+set}\"; then
relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
elif eval var_value=\$$var; test -z "$var_value"; then
relink_command="$var=; export $var; $relink_command"
else
func_quote_for_eval "$var_value"
relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
fi
done
func_quote "(cd `pwd`; $relink_command)"
relink_command=$func_quote_result
fi
# Only actually do things if not in dry run mode.
$opt_dry_run || {
# win32 will think the script is a binary if it has
# a .exe suffix, so we strip it off here.
case $output in
*.exe) func_stripname '' '.exe' "$output"
output=$func_stripname_result ;;
esac
# test for cygwin because mv fails w/o .exe extensions
case $host in
*cygwin*)
exeext=.exe
func_stripname '' '.exe' "$outputname"
outputname=$func_stripname_result ;;
*) exeext= ;;
esac
case $host in
*cygwin* | *mingw* )
func_dirname_and_basename "$output" "" "."
output_name=$func_basename_result
output_path=$func_dirname_result
cwrappersource=$output_path/$objdir/lt-$output_name.c
cwrapper=$output_path/$output_name.exe
$RM $cwrappersource $cwrapper
trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
func_emit_cwrapperexe_src > $cwrappersource
# The wrapper executable is built using the $host compiler,
# because it contains $host paths and files. If cross-
# compiling, it, like the target executable, must be
# executed on the $host or under an emulation environment.
$opt_dry_run || {
$LTCC $LTCFLAGS -o $cwrapper $cwrappersource
$STRIP $cwrapper
}
# Now, create the wrapper script for func_source use:
func_ltwrapper_scriptname $cwrapper
$RM $func_ltwrapper_scriptname_result
trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
$opt_dry_run || {
# note: this script will not be executed, so do not chmod.
if test "x$build" = "x$host"; then
$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
else
func_emit_wrapper no > $func_ltwrapper_scriptname_result
fi
}
;;
* )
$RM $output
trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
func_emit_wrapper no > $output
chmod +x $output
;;
esac
}
exit $EXIT_SUCCESS
;;
esac
# See if we need to build an old-fashioned archive.
for oldlib in $oldlibs; do
case $build_libtool_libs in
convenience)
oldobjs="$libobjs_save $symfileobj"
addlibs=$convenience
build_libtool_libs=no
;;
module)
oldobjs=$libobjs_save
addlibs=$old_convenience
build_libtool_libs=no
;;
*)
oldobjs="$old_deplibs $non_pic_objects"
$preload && test -f "$symfileobj" \
&& func_append oldobjs " $symfileobj"
addlibs=$old_convenience
;;
esac
if test -n "$addlibs"; then
gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_extract_archives $gentop $addlibs
func_append oldobjs " $func_extract_archives_result"
fi
# Do each command in the archive commands.
if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then
cmds=$old_archive_from_new_cmds
else
# Add any objects from preloaded convenience libraries
if test -n "$dlprefiles"; then
gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_extract_archives $gentop $dlprefiles
func_append oldobjs " $func_extract_archives_result"
fi
# POSIX demands no paths to be encoded in archives. We have
# to avoid creating archives with duplicate basenames if we
# might have to extract them afterwards, e.g., when creating a
# static archive out of a convenience library, or when linking
# the entirety of a libtool archive into another (currently
# not supported by libtool).
if (for obj in $oldobjs
do
func_basename "$obj"
$ECHO "$func_basename_result"
done | sort | sort -uc >/dev/null 2>&1); then
:
else
echo "copying selected object files to avoid basename conflicts..."
gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_mkdir_p "$gentop"
save_oldobjs=$oldobjs
oldobjs=
counter=1
for obj in $save_oldobjs
do
func_basename "$obj"
objbase=$func_basename_result
case " $oldobjs " in
" ") oldobjs=$obj ;;
*[\ /]"$objbase "*)
while :; do
# Make sure we don't pick an alternate name that also
# overlaps.
newobj=lt$counter-$objbase
func_arith $counter + 1
counter=$func_arith_result
case " $oldobjs " in
*[\ /]"$newobj "*) ;;
*) if test ! -f "$gentop/$newobj"; then break; fi ;;
esac
done
func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
func_append oldobjs " $gentop/$newobj"
;;
*) func_append oldobjs " $obj" ;;
esac
done
fi
func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
tool_oldlib=$func_to_tool_file_result
eval cmds=\"$old_archive_cmds\"
func_len " $cmds"
len=$func_len_result
if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
cmds=$old_archive_cmds
elif test -n "$archiver_list_spec"; then
func_verbose "using command file archive linking..."
for obj in $oldobjs
do
func_to_tool_file "$obj"
$ECHO "$func_to_tool_file_result"
done > $output_objdir/$libname.libcmd
func_to_tool_file "$output_objdir/$libname.libcmd"
oldobjs=" $archiver_list_spec$func_to_tool_file_result"
cmds=$old_archive_cmds
else
# the command line is too long to link in one step, link in parts
func_verbose "using piecewise archive linking..."
save_RANLIB=$RANLIB
RANLIB=:
objlist=
concat_cmds=
save_oldobjs=$oldobjs
oldobjs=
# Is there a better way of finding the last object in the list?
for obj in $save_oldobjs
do
last_oldobj=$obj
done
eval test_cmds=\"$old_archive_cmds\"
func_len " $test_cmds"
len0=$func_len_result
len=$len0
for obj in $save_oldobjs
do
func_len " $obj"
func_arith $len + $func_len_result
len=$func_arith_result
func_append objlist " $obj"
if test "$len" -lt "$max_cmd_len"; then
:
else
# the above command should be used before it gets too long
oldobjs=$objlist
if test "$obj" = "$last_oldobj"; then
RANLIB=$save_RANLIB
fi
test -z "$concat_cmds" || concat_cmds=$concat_cmds~
eval concat_cmds=\"\$concat_cmds$old_archive_cmds\"
objlist=
len=$len0
fi
done
RANLIB=$save_RANLIB
oldobjs=$objlist
if test -z "$oldobjs"; then
eval cmds=\"\$concat_cmds\"
else
eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
fi
fi
fi
func_execute_cmds "$cmds" 'exit $?'
done
test -n "$generated" && \
func_show_eval "${RM}r$generated"
# Now create the libtool archive.
case $output in
*.la)
old_library=
test yes = "$build_old_libs" && old_library=$libname.$libext
func_verbose "creating $output"
# Preserve any variables that may affect compiler behavior
for var in $variables_saved_for_relink; do
if eval test -z \"\${$var+set}\"; then
relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
elif eval var_value=\$$var; test -z "$var_value"; then
relink_command="$var=; export $var; $relink_command"
else
func_quote_for_eval "$var_value"
relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
fi
done
# Quote the link command for shipping.
relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
func_quote "$relink_command"
relink_command=$func_quote_result
if test yes = "$hardcode_automatic"; then
relink_command=
fi
# Only create the output if not a dry run.
$opt_dry_run || {
for installed in no yes; do
if test yes = "$installed"; then
if test -z "$install_libdir"; then
break
fi
output=$output_objdir/${outputname}i
# Replace all uninstalled libtool libraries with the installed ones
newdependency_libs=
for deplib in $dependency_libs; do
case $deplib in
*.la)
func_basename "$deplib"
name=$func_basename_result
func_resolve_sysroot "$deplib"
eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
test -z "$libdir" && \
func_fatal_error "'$deplib' is not a valid libtool archive"
func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
;;
-L*)
func_stripname -L '' "$deplib"
func_replace_sysroot "$func_stripname_result"
func_append newdependency_libs " -L$func_replace_sysroot_result"
;;
-R*)
func_stripname -R '' "$deplib"
func_replace_sysroot "$func_stripname_result"
func_append newdependency_libs " -R$func_replace_sysroot_result"
;;
*) func_append newdependency_libs " $deplib" ;;
esac
done
dependency_libs=$newdependency_libs
newdlfiles=
for lib in $dlfiles; do
case $lib in
*.la)
func_basename "$lib"
name=$func_basename_result
eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
test -z "$libdir" && \
func_fatal_error "'$lib' is not a valid libtool archive"
func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
;;
*) func_append newdlfiles " $lib" ;;
esac
done
dlfiles=$newdlfiles
newdlprefiles=
for lib in $dlprefiles; do
case $lib in
*.la)
# Only pass preopened files to the pseudo-archive (for
# eventual linking with the app. that links it) if we
# didn't already link the preopened objects directly into
# the library:
func_basename "$lib"
name=$func_basename_result
eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
test -z "$libdir" && \
func_fatal_error "'$lib' is not a valid libtool archive"
func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
;;
esac
done
dlprefiles=$newdlprefiles
else
newdlfiles=
for lib in $dlfiles; do
case $lib in
[\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
*) abs=`pwd`"/$lib" ;;
esac
func_append newdlfiles " $abs"
done
dlfiles=$newdlfiles
newdlprefiles=
for lib in $dlprefiles; do
case $lib in
[\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
*) abs=`pwd`"/$lib" ;;
esac
func_append newdlprefiles " $abs"
done
dlprefiles=$newdlprefiles
fi
$RM $output
# place dlname in correct position for cygwin
# In fact, it would be nice if we could use this code for all target
# systems that can't hard-code library paths into their executables
# and that have no shared library path variable independent of PATH,
# but it turns out we can't easily determine that from inspecting
# libtool variables, so we have to hard-code the OSs to which it
# applies here; at the moment, that means platforms that use the PE
# object format with DLL files. See the long comment at the top of
# tests/bindir.at for full details.
tdlname=$dlname
case $host,$output,$installed,$module,$dlname in
*cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
# If a -bindir argument was supplied, place the dll there.
if test -n "$bindir"; then
func_relative_path "$install_libdir" "$bindir"
tdlname=$func_relative_path_result/$dlname
else
# Otherwise fall back on heuristic.
tdlname=../bin/$dlname
fi
;;
esac
$ECHO > $output "\
# $outputname - a libtool library file
# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='$tdlname'
# Names of this library.
library_names='$library_names'
# The name of the static archive.
old_library='$old_library'
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags='$new_inherited_linker_flags'
# Libraries that this one depends upon.
dependency_libs='$dependency_libs'
# Names of additional weak libraries provided by this library
weak_library_names='$weak_libs'
# Version information for $libname.
current=$current
age=$age
revision=$revision
# Is this an already installed library?
installed=$installed
# Should we warn about portability when linking against -modules?
shouldnotlink=$module
# Files to dlopen/dlpreopen
dlopen='$dlfiles'
dlpreopen='$dlprefiles'
# Directory that this library needs to be installed in:
libdir='$install_libdir'"
if test no,yes = "$installed,$need_relink"; then
$ECHO >> $output "\
relink_command=\"$relink_command\""
fi
done
}
# Do a symbolic link so that the libtool archive can be found in
# LD_LIBRARY_PATH before the program is installed.
func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
;;
esac
exit $EXIT_SUCCESS
}
if test link = "$opt_mode" || test relink = "$opt_mode"; then
func_mode_link ${1+"$@"}
fi
# func_mode_uninstall arg...
func_mode_uninstall ()
{
$debug_cmd
RM=$nonopt
files=
rmforce=false
exit_status=0
# This variable tells wrapper scripts just to set variables rather
# than running their programs.
libtool_install_magic=$magic
for arg
do
case $arg in
-f) func_append RM " $arg"; rmforce=: ;;
-*) func_append RM " $arg" ;;
*) func_append files " $arg" ;;
esac
done
test -z "$RM" && \
func_fatal_help "you must specify an RM program"
rmdirs=
for file in $files; do
func_dirname "$file" "" "."
dir=$func_dirname_result
if test . = "$dir"; then
odir=$objdir
else
odir=$dir/$objdir
fi
func_basename "$file"
name=$func_basename_result
test uninstall = "$opt_mode" && odir=$dir
# Remember odir for removal later, being careful to avoid duplicates
if test clean = "$opt_mode"; then
case " $rmdirs " in
*" $odir "*) ;;
*) func_append rmdirs " $odir" ;;
esac
fi
# Don't error if the file doesn't exist and rm -f was used.
if { test -L "$file"; } >/dev/null 2>&1 ||
{ test -h "$file"; } >/dev/null 2>&1 ||
test -f "$file"; then
:
elif test -d "$file"; then
exit_status=1
continue
elif $rmforce; then
continue
fi
rmfiles=$file
case $name in
*.la)
# Possibly a libtool archive, so verify it.
if func_lalib_p "$file"; then
func_source $dir/$name
# Delete the libtool libraries and symlinks.
for n in $library_names; do
func_append rmfiles " $odir/$n"
done
test -n "$old_library" && func_append rmfiles " $odir/$old_library"
case $opt_mode in
clean)
case " $library_names " in
*" $dlname "*) ;;
*) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
esac
test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
;;
uninstall)
if test -n "$library_names"; then
# Do each command in the postuninstall commands.
func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1'
fi
if test -n "$old_library"; then
# Do each command in the old_postuninstall commands.
func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1'
fi
# FIXME: should reinstall the best remaining shared library.
;;
esac
fi
;;
*.lo)
# Possibly a libtool object, so verify it.
if func_lalib_p "$file"; then
# Read the .lo file
func_source $dir/$name
# Add PIC object to the list of files to remove.
if test -n "$pic_object" && test none != "$pic_object"; then
func_append rmfiles " $dir/$pic_object"
fi
# Add non-PIC object to the list of files to remove.
if test -n "$non_pic_object" && test none != "$non_pic_object"; then
func_append rmfiles " $dir/$non_pic_object"
fi
fi
;;
*)
if test clean = "$opt_mode"; then
noexename=$name
case $file in
*.exe)
func_stripname '' '.exe' "$file"
file=$func_stripname_result
func_stripname '' '.exe' "$name"
noexename=$func_stripname_result
# $file with .exe has already been added to rmfiles,
# add $file without .exe
func_append rmfiles " $file"
;;
esac
# Do a test to see if this is a libtool program.
if func_ltwrapper_p "$file"; then
if func_ltwrapper_executable_p "$file"; then
func_ltwrapper_scriptname "$file"
relink_command=
func_source $func_ltwrapper_scriptname_result
func_append rmfiles " $func_ltwrapper_scriptname_result"
else
relink_command=
func_source $dir/$noexename
fi
# note $name still contains .exe if it was in $file originally
# as does the version of $file that was added into $rmfiles
func_append rmfiles " $odir/$name $odir/${name}S.$objext"
if test yes = "$fast_install" && test -n "$relink_command"; then
func_append rmfiles " $odir/lt-$name"
fi
if test "X$noexename" != "X$name"; then
func_append rmfiles " $odir/lt-$noexename.c"
fi
fi
fi
;;
esac
func_show_eval "$RM $rmfiles" 'exit_status=1'
done
# Try to remove the $objdir's in the directories where we deleted files
for dir in $rmdirs; do
if test -d "$dir"; then
func_show_eval "rmdir $dir >/dev/null 2>&1"
fi
done
exit $exit_status
}
if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then
func_mode_uninstall ${1+"$@"}
fi
test -z "$opt_mode" && {
help=$generic_help
func_fatal_help "you must specify a MODE"
}
test -z "$exec_cmd" && \
func_fatal_help "invalid operation mode '$opt_mode'"
if test -n "$exec_cmd"; then
eval exec "$exec_cmd"
exit $EXIT_FAILURE
fi
exit $exit_status
# The TAGs below are defined such that we never get into a situation
# where we disable both kinds of libraries. Given conflicting
# choices, we go for a static library, that is the most portable,
# since we can't tell whether shared libraries were disabled because
# the user asked for that or because the platform doesn't support
# them. This is particularly important on AIX, because we don't
# support having both static and shared libraries enabled at the same
# time on that platform, so we default to a shared-only configuration.
# If a disable-shared tag is given, we'll fallback to a static-only
# configuration. But we'll never go from static-only to shared-only.
# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
build_libtool_libs=no
build_old_libs=yes
# ### END LIBTOOL TAG CONFIG: disable-shared
# ### BEGIN LIBTOOL TAG CONFIG: disable-static
build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
# ### END LIBTOOL TAG CONFIG: disable-static
# Local Variables:
# mode:shell-script
# sh-indentation:2
# End:
libX11-1.7.5/man/ 0000755 0001750 0001750 00000000000 14222353116 010337 5 0000000 0000000 libX11-1.7.5/man/BitmapPad.man 0000644 0001750 0001750 00000000070 14222353101 012604 0000000 0000000 .so man__libmansuffix__/ImageByteOrder.__libmansuffix__
libX11-1.7.5/man/XExposeEvent.man 0000644 0001750 0001750 00000012550 14222353101 013346 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XExposeEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XExposeEvent \- Expose event structure
.SH STRUCTURES
The structure for
.B Expose
events contains:
.LP
.EX
typedef struct {
int type; /\&* Expose */
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window window;
int x, y;
int width, height;
int count; /\&* if nonzero, at least this many more */
} XExposeEvent;
.EE
.LP
When you receive this event,
the structure members are set as follows.
.LP
The type member is set to the event type constant name that uniquely identifies
it.
For example, when the X server reports a
.B GraphicsExpose
event to a client application, it sends an
.B XGraphicsExposeEvent
structure with the type member set to
.BR GraphicsExpose .
The display member is set to a pointer to the display the event was read on.
The send_event member is set to
.B True
if the event came from a
.B SendEvent
protocol request.
The serial member is set from the serial number reported in the protocol
but expanded from the 16-bit least-significant bits to a full 32-bit value.
The window member is set to the window that is most useful to toolkit
dispatchers.
.LP
The window member is set to the exposed (damaged) window.
The x and y members are set to the coordinates relative to the window's origin
and indicate the upper-left corner of the rectangle.
The width and height members are set to the size (extent) of the rectangle.
The count member is set to the number of
.B Expose
events that are to follow.
If count is zero, no more
.B Expose
events follow for this window.
However, if count is nonzero, at least that number of
.B Expose
events (and possibly more) follow for this window.
Simple applications that do not want to optimize redisplay by distinguishing
between subareas of its window can just ignore all
.B Expose
events with nonzero counts and perform full redisplays
on events with zero counts.
.SH "SEE ALSO"
XAnyEvent(__libmansuffix__),
XButtonEvent(__libmansuffix__),
XCreateWindowEvent(__libmansuffix__),
XCirculateEvent(__libmansuffix__),
XCirculateRequestEvent(__libmansuffix__),
XColormapEvent(__libmansuffix__),
XConfigureEvent(__libmansuffix__),
XConfigureRequestEvent(__libmansuffix__),
XCrossingEvent(__libmansuffix__),
XDestroyWindowEvent(__libmansuffix__),
XErrorEvent(__libmansuffix__),
XFocusChangeEvent(__libmansuffix__),
XGraphicsExposeEvent(__libmansuffix__),
XGravityEvent(__libmansuffix__),
XKeymapEvent(__libmansuffix__),
XMapEvent(__libmansuffix__),
XMapRequestEvent(__libmansuffix__),
XPropertyEvent(__libmansuffix__),
XReparentEvent(__libmansuffix__),
XResizeRequestEvent(__libmansuffix__),
XSelectionClearEvent(__libmansuffix__),
XSelectionEvent(__libmansuffix__),
XSelectionRequestEvent(__libmansuffix__),
XUnmapEvent(__libmansuffix__),
XVisibilityEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XSetGraphicsExposure.man 0000644 0001750 0001750 00000000065 14222353101 015046 0000000 0000000 .so man__libmansuffix__/XSetArcMode.__libmansuffix__
libX11-1.7.5/man/XReconfigureWMWindow.man 0000644 0001750 0001750 00000000070 14222353101 014777 0000000 0000000 .so man__libmansuffix__/XIconifyWindow.__libmansuffix__
libX11-1.7.5/man/XMapEvent.man 0000644 0001750 0001750 00000016130 14222353101 012616 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XMapEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XMapEvent, XMappingEvent \- MapNotify and MappingNotify event structures
.SH STRUCTURES
The structure for
.B MapNotify
events contains:
.LP
.EX
typedef struct {
int type; /\&* MapNotify */
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window event;
Window window;
Bool override_redirect; /\&* boolean, is override set... */
} XMapEvent;
.EE
.LP
When you receive this event,
the structure members are set as follows.
.LP
The type member is set to the event type constant name that uniquely identifies
it.
For example, when the X server reports a
.B GraphicsExpose
event to a client application, it sends an
.B XGraphicsExposeEvent
structure with the type member set to
.BR GraphicsExpose .
The display member is set to a pointer to the display the event was read on.
The send_event member is set to
.B True
if the event came from a
.B SendEvent
protocol request.
The serial member is set from the serial number reported in the protocol
but expanded from the 16-bit least-significant bits to a full 32-bit value.
The window member is set to the window that is most useful to toolkit
dispatchers.
.LP
The event member is set either to the window that was mapped or to its parent,
depending on whether
.B StructureNotify
or
.B SubstructureNotify
was selected.
The window member is set to the window that was mapped.
The override_redirect member is set to the override-redirect attribute
of the window.
Window manager clients normally should ignore this window
if the override-redirect attribute is
.BR True ,
because these events usually are generated from pop-ups,
which override structure control.
.LP
The structure for
.B MappingNotify
events is:
.LP
.EX
typedef struct {
int type; /\&* MappingNotify */
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window window; /\&* unused */
int request; /\&* one of MappingModifier, MappingKeyboard,
MappingPointer */
int first_keycode; /\&* first keycode */
int count; /\&* defines range of change with first_keycode*/
} XMappingEvent;
.EE
.LP
When you receive this event,
the structure members are set as follows.
.LP
The type member is set to the event type constant name that uniquely identifies
it.
For example, when the X server reports a
.B GraphicsExpose
event to a client application, it sends an
.B XGraphicsExposeEvent
structure with the type member set to
.BR GraphicsExpose .
The display member is set to a pointer to the display the event was read on.
The send_event member is set to
.B True
if the event came from a
.B SendEvent
protocol request.
The serial member is set from the serial number reported in the protocol
but expanded from the 16-bit least-significant bits to a full 32-bit value.
The window member is set to the window that is most useful to toolkit
dispatchers.
.LP
The request member is set to indicate the kind of mapping change that occurred
and can be
.BR MappingModifier ,
.BR MappingKeyboard ,
.BR MappingPointer .
If it is
.BR MappingModifier ,
the modifier mapping was changed.
If it is
.BR MappingKeyboard ,
the keyboard mapping was changed.
If it is
.BR MappingPointer ,
the pointer button mapping was changed.
The first_keycode and count members are set only
if the request member was set to
.BR MappingKeyboard .
The number in first_keycode represents the first number in the range
of the altered mapping,
and count represents the number of keycodes altered.
.SH "SEE ALSO"
XAnyEvent(__libmansuffix__),
XButtonEvent(__libmansuffix__),
XCreateWindowEvent(__libmansuffix__),
XCirculateEvent(__libmansuffix__),
XCirculateRequestEvent(__libmansuffix__),
XColormapEvent(__libmansuffix__),
XConfigureEvent(__libmansuffix__),
XConfigureRequestEvent(__libmansuffix__),
XCrossingEvent(__libmansuffix__),
XDestroyWindowEvent(__libmansuffix__),
XErrorEvent(__libmansuffix__),
XExposeEvent(__libmansuffix__),
XFocusChangeEvent(__libmansuffix__),
XGraphicsExposeEvent(__libmansuffix__),
XGravityEvent(__libmansuffix__),
XKeymapEvent(__libmansuffix__),
XMapRequestEvent(__libmansuffix__),
XPropertyEvent(__libmansuffix__),
XReparentEvent(__libmansuffix__),
XResizeRequestEvent(__libmansuffix__),
XSelectionClearEvent(__libmansuffix__),
XSelectionEvent(__libmansuffix__),
XSelectionRequestEvent(__libmansuffix__),
XUnmapEvent(__libmansuffix__),
XVisibilityEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XMappingEvent.man 0000644 0001750 0001750 00000000063 14222353101 013472 0000000 0000000 .so man__libmansuffix__/XMapEvent.__libmansuffix__
libX11-1.7.5/man/XGetICValues.man 0000644 0001750 0001750 00000000066 14222353101 013213 0000000 0000000 .so man__libmansuffix__/XSetICValues.__libmansuffix__
libX11-1.7.5/man/XmbTextPropertyToTextList.man 0000644 0001750 0001750 00000000103 14222353101 016104 0000000 0000000 .so man__libmansuffix__/XmbTextListToTextProperty.__libmansuffix__
libX11-1.7.5/man/XCreateFontSet.man 0000644 0001750 0001750 00000024627 14222353101 013617 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XCreateFontSet __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XCreateFontSet, XFreeFontSet \- create and free an international text drawing font set
.SH SYNTAX
.HP
XFontSet XCreateFontSet\^(\^Display *\fIdisplay\fP\^, _Xconst char
*\fIbase_font_name_list\fP\^, char ***\fImissing_charset_list_return\fP\^, int
*\fImissing_charset_count_return\fP\^, char **\fIdef_string_return\fP\^);
.HP
void XFreeFontSet\^(\^Display *\fIdisplay\fP\^, XFontSet \fIfont_set\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIbase_font_name_list\fP 1i
Specifies the base font names.
.IP \fIdef_string_return\fP 1i
Returns the string drawn for missing charsets.
.IP \fIfont_set\fP 1i
Specifies the font set.
.IP \fImissing_charset_count_return\fP 1i
Returns the number of missing charsets.
.IP \fImissing_charset_list_return\fP 1i
Returns the missing charsets.
.SH DESCRIPTION
The
.B XCreateFontSet
function creates a font set for the specified display.
The font set is bound to the current locale when
.B XCreateFontSet
is called.
The font set may be used in subsequent calls to obtain font
and character information and to image text in the locale of the font set.
.LP
The base_font_name_list argument is a list of base font names
that Xlib uses to load the fonts needed for the locale.
The base font names are a comma-separated list.
The string is null-terminated
and is assumed to be in the Host Portable Character Encoding;
otherwise, the result is implementation-dependent.
White space immediately on either side of a separating comma is ignored.
.LP
Use of XLFD font names permits Xlib to obtain the fonts needed for a
variety of locales from a single locale-independent base font name.
The single base font name should name a family of fonts whose members
are encoded in the various charsets needed by the locales of interest.
.LP
An XLFD base font name can explicitly name a charset needed for the locale.
This allows the user to specify an exact font for use with a charset required
by a locale, fully controlling the font selection.
.LP
If a base font name is not an XLFD name,
Xlib will attempt to obtain an XLFD name from the font properties
for the font.
If this action is successful in obtaining an XLFD name, the
.B XBaseFontNameListOfFontSet
function will return this XLFD name instead of the client-supplied name.
.LP
Xlib uses the following algorithm to select the fonts
that will be used to display text with the
.BR XFontSet .
.LP
For each font charset required by the locale,
the base font name list is searched for the first appearance of one
of the following cases that names a set of fonts that exist at the server:
.IP \(bu 5
The first XLFD-conforming base font name that specifies the required
charset or a superset of the required charset in its
.B CharSetRegistry
and
.B CharSetEncoding
fields.
The implementation may use a base font name whose specified charset
is a superset of the required charset, for example,
an ISO8859-1 font for an ASCII charset.
.IP \(bu 5
The first set of one or more XLFD-conforming base font names
that specify one or more charsets that can be remapped to support the
required charset.
The Xlib implementation may recognize various mappings
from a required charset to one or more other charsets
and use the fonts for those charsets.
For example, JIS Roman is ASCII with tilde and backslash replaced
by yen and overbar;
Xlib may load an ISO8859-1 font to support this character set
if a JIS Roman font is not available.
.IP \(bu 5
The first XLFD-conforming font name or the first non-XLFD font name
for which an XLFD font name can be obtained, combined with the
required charset (replacing the
.B CharSetRegistry
and
.B CharSetEncoding
fields in the XLFD font name).
As in case 1,
the implementation may use a charset that is a superset
of the required charset.
.IP \(bu 5
The first font name that can be mapped in some implementation-dependent
manner to one or more fonts that support imaging text in the charset.
.LP
For example, assume that a locale required the charsets:
.LP
.EX
ISO8859-1
JISX0208.1983
JISX0201.1976
GB2312-1980.0
.EE
.LP
The user could supply a base_font_name_list that explicitly specifies the
charsets, ensuring that specific fonts are used if they exist.
For example:
.LP
.EX
"-JIS-Fixed-Medium-R-Normal--26-180-100-100-C-240-JISX0208.1983-0,\\
-JIS-Fixed-Medium-R-Normal--26-180-100-100-C-120-JISX0201.1976-0,\\
-GB-Fixed-Medium-R-Normal--26-180-100-100-C-240-GB2312-1980.0,\\
-Adobe-Courier-Bold-R-Normal--25-180-75-75-M-150-ISO8859-1"
.EE
.LP
Alternatively, the user could supply a base_font_name_list
that omits the charsets,
letting Xlib select font charsets required for the locale.
For example:
.LP
.EX
"-JIS-Fixed-Medium-R-Normal--26-180-100-100-C-240,\\
-JIS-Fixed-Medium-R-Normal--26-180-100-100-C-120,\\
-GB-Fixed-Medium-R-Normal--26-180-100-100-C-240,\\
-Adobe-Courier-Bold-R-Normal--25-180-100-100-M-150"
.EE
.LP
Alternatively, the user could simply supply a single base font name
that allows Xlib to select from all available fonts
that meet certain minimum XLFD property requirements.
For example:
.LP
.EX
"-*-*-*-R-Normal--*-180-100-100-*-*"
.EE
.LP
If
.B XCreateFontSet
is unable to create the font set,
either because there is insufficient memory or because the current locale
is not supported,
.B XCreateFontSet
returns NULL, missing_charset_list_return is set to NULL,
and missing_charset_count_return
is set to zero.
If fonts exist for all of the charsets required by the current locale,
.B XCreateFontSet
returns a valid
.BR XFontSet ,
missing_charset_list_return is set to NULL,
and missing_charset_count_return is set to zero.
.LP
If no font exists for one or more of the required charsets,
.B XCreateFontSet
sets missing_charset_list_return to a
list of one or more null-terminated charset names for which no font exists
and sets missing_charset_count_return to the number of missing fonts.
The charsets are from the list of the required charsets for
the encoding of the locale and do not include any charsets to which Xlib
may be able to remap a required charset.
.LP
If no font exists for any of the required charsets
or if the locale definition in Xlib requires that a font exist
for a particular charset and a font is not found for that charset,
.B XCreateFontSet
returns NULL.
Otherwise,
.B XCreateFontSet
returns a valid
.B XFontSet
to font_set.
.LP
When an Xmb/wc drawing or measuring function is called with an
.B XFontSet
that has missing charsets, some characters in the locale will not be
drawable.
If def_string_return is non-NULL,
.B XCreateFontSet
returns a pointer to a string that represents the glyphs
that are drawn with this
.B XFontSet
when the charsets of the available fonts do not include all font glyphs
required to draw a codepoint.
The string does not necessarily consist of valid characters
in the current locale and is not necessarily drawn with
the fonts loaded for the font set,
but the client can draw and measure the default glyphs
by including this string in a string being drawn or measured with the
.BR XFontSet .
.LP
If the string returned to def_string_return is the empty string ("\^"),
no glyphs are drawn, and the escapement is zero.
The returned string is null-terminated.
It is owned by Xlib and should not be modified or freed by the client.
It will be freed by a call to
.B XFreeFontSet
with the associated
.BR XFontSet .
Until freed, its contents will not be modified by Xlib.
.LP
The client is responsible for constructing an error message from the
missing charset and default string information and may choose to continue
operation in the case that some fonts did not exist.
.LP
The returned
.B XFontSet
and missing charset list should be freed with
.B XFreeFontSet
and
.BR XFreeStringList ,
respectively.
The client-supplied base_font_name_list may be freed
by the client after calling
.BR XCreateFontSet .
.LP
The
.B XFreeFontSet
function frees the specified font set.
The associated base font name list, font name list,
.B XFontStruct
list, and
.BR XFontSetExtents ,
if any, are freed.
.SH "SEE ALSO"
XExtentsofFontSet(__libmansuffix__),
XFontsOfFontSet(__libmansuffix__),
XFontSetExtents(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XCreateWindowEvent.man 0000644 0001750 0001750 00000013036 14222353101 014476 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XCreateWindowEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XCreateWindowEvent \- CreateNotify event structure
.SH STRUCTURES
The structure for
.B CreateNotify
events contains:
.LP
.EX
typedef struct {
int type; /\&* CreateNotify */
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window parent; /\&* parent of the window */
Window window; /\&* window id of window created */
int x, y; /\&* window location */
int width, height; /\&* size of window */
int border_width; /\&* border width */
Bool override_redirect; /\&* creation should be overridden */
} XCreateWindowEvent;
.EE
.LP
When you receive this event,
the structure members are set as follows.
.LP
The type member is set to the event type constant name that uniquely identifies
it.
For example, when the X server reports a
.B GraphicsExpose
event to a client application, it sends an
.B XGraphicsExposeEvent
structure with the type member set to
.BR GraphicsExpose .
The display member is set to a pointer to the display the event was read on.
The send_event member is set to
.B True
if the event came from a
.B SendEvent
protocol request.
The serial member is set from the serial number reported in the protocol
but expanded from the 16-bit least-significant bits to a full 32-bit value.
The window member is set to the window that is most useful to toolkit
dispatchers.
.LP
The parent member is set to the created window's parent.
The window member specifies the created window.
The x and y members are set to the created window's coordinates relative
to the parent window's origin and indicate the position of the upper-left
outside corner of the created window.
The width and height members are set to the inside size of the created window
(not including the border) and are always nonzero.
The border_width member is set to the width of the created window's border, in pixels.
The override_redirect member is set to the override-redirect attribute of the
window.
Window manager clients normally should ignore this window
if the override_redirect member is
.BR True .
.SH "SEE ALSO"
XAnyEvent(__libmansuffix__),
XButtonEvent(__libmansuffix__),
XCirculateEvent(__libmansuffix__),
XCirculateRequestEvent(__libmansuffix__),
XColormapEvent(__libmansuffix__),
XConfigureEvent(__libmansuffix__),
XConfigureRequestEvent(__libmansuffix__),
XCrossingEvent(__libmansuffix__),
XDestroyWindowEvent(__libmansuffix__),
XErrorEvent(__libmansuffix__),
XExposeEvent(__libmansuffix__),
XFocusChangeEvent(__libmansuffix__),
XGraphicsExposeEvent(__libmansuffix__),
XGravityEvent(__libmansuffix__),
XKeymapEvent(__libmansuffix__),
XMapEvent(__libmansuffix__),
XMapRequestEvent(__libmansuffix__),
XPropertyEvent(__libmansuffix__),
XReparentEvent(__libmansuffix__),
XResizeRequestEvent(__libmansuffix__),
XSelectionClearEvent(__libmansuffix__),
XSelectionEvent(__libmansuffix__),
XSelectionRequestEvent(__libmansuffix__),
XUnmapEvent(__libmansuffix__),
XVisibilityEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XSetWMName.man 0000644 0001750 0001750 00000013160 14222353101 012677 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSetWMName __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSetWMName, XGetWMName, XStoreName, XFetchName \- set or read a window's WM_NAME property
.SH SYNTAX
.HP
void XSetWMName\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, XTextProperty
*\fItext_prop\fP\^);
.HP
Status XGetWMName\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
XTextProperty *\fItext_prop_return\fP\^);
.HP
int XStoreName\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, _Xconst char
*\fIwindow_name\fP\^);
.HP
Status XFetchName\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, char
**\fIwindow_name_return\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fItext_prop\fP 1i
Specifies the
.B XTextProperty
structure to be used.
.IP \fItext_prop_return\fP 1i
Returns the
.B XTextProperty
structure.
.IP \fIw\fP 1i
Specifies the window.
.IP \fIwindow_name\fP 1i
Specifies the window name,
which should be a null-terminated string.
.IP \fIwindow_name_return\fP 1i
Returns the window name, which is a null-terminated string.
.SH DESCRIPTION
The
.B XSetWMName
convenience function calls
.B XSetTextProperty
to set the WM_NAME property.
.LP
The
.B XGetWMName
convenience function calls
.B XGetTextProperty
to obtain the WM_NAME property.
It returns a nonzero status on success;
otherwise, it returns a zero status.
.LP
The
.B XStoreName
function assigns the name passed to window_name to the specified window.
A window manager can display the window name in some prominent
place, such as the title bar, to allow users to identify windows easily.
Some window managers may display a window's name in the window's icon,
although they are encouraged to use the window's icon name
if one is provided by the application.
If the string is not in the Host Portable Character Encoding,
the result is implementation-dependent.
.LP
.B XStoreName
can generate
.B BadAlloc
and
.B BadWindow
errors.
.LP
The
.B XFetchName
function returns the name of the specified window.
If it succeeds,
it returns a nonzero status;
otherwise, no name has been set for the window,
and it returns zero.
If the WM_NAME property has not been set for this window,
.B XFetchName
sets window_name_return to NULL.
If the data returned by the server is in the Latin Portable Character Encoding,
then the returned string is in the Host Portable Character Encoding.
Otherwise, the result is implementation-dependent.
When finished with it, a client must free
the window name string using
.BR XFree .
.LP
.B XFetchName
can generate a
.B BadWindow
error.
.SH PROPERTIES
.TP 1i
\s-1WM_NAME\s+1
The name of the application.
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XAllocClassHint(__libmansuffix__),
XAllocIconSize(__libmansuffix__),
XAllocSizeHints(__libmansuffix__),
XAllocWMHints(__libmansuffix__),
XFree(__libmansuffix__),
XSetCommand(__libmansuffix__),
XSetTransientForHint(__libmansuffix__),
XSetTextProperty(__libmansuffix__),
XSetWMClientMachine(__libmansuffix__),
XSetWMColormapWindows(__libmansuffix__),
XSetWMIconName(__libmansuffix__),
XSetWMProperties(__libmansuffix__),
XSetWMProtocols(__libmansuffix__),
XStringListToTextProperty(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XwcResetIC.man 0000644 0001750 0001750 00000000064 14222353101 012726 0000000 0000000 .so man__libmansuffix__/XmbResetIC.__libmansuffix__
libX11-1.7.5/man/XFetchName.man 0000644 0001750 0001750 00000000064 14222353101 012730 0000000 0000000 .so man__libmansuffix__/XSetWMName.__libmansuffix__
libX11-1.7.5/man/XrmQGetResource.man 0000644 0001750 0001750 00000000070 14222353101 014002 0000000 0000000 .so man__libmansuffix__/XrmGetResource.__libmansuffix__
libX11-1.7.5/man/XUngrabPointer.man 0000644 0001750 0001750 00000000066 14222353101 013657 0000000 0000000 .so man__libmansuffix__/XGrabPointer.__libmansuffix__
libX11-1.7.5/man/Xutf8TextPerCharExtents.man 0000644 0001750 0001750 00000000077 14222353101 015455 0000000 0000000 .so man__libmansuffix__/XmbTextPerCharExtents.__libmansuffix__
libX11-1.7.5/man/XcmsTekHVCQueryMaxVC.man 0000644 0001750 0001750 00000000075 14222353101 014614 0000000 0000000 .so man__libmansuffix__/XcmsTekHVCQueryMaxC.__libmansuffix__
libX11-1.7.5/man/XcmsCIELabQueryMaxLC.man 0000644 0001750 0001750 00000000075 14222353101 014535 0000000 0000000 .so man__libmansuffix__/XcmsCIELabQueryMaxC.__libmansuffix__
libX11-1.7.5/man/XTimeCoord.man 0000644 0001750 0001750 00000000064 14222353101 012763 0000000 0000000 .so man__libmansuffix__/XSendEvent.__libmansuffix__
libX11-1.7.5/man/XMotionEvent.man 0000644 0001750 0001750 00000000066 14222353101 013347 0000000 0000000 .so man__libmansuffix__/XButtonEvent.__libmansuffix__
libX11-1.7.5/man/XGetWMNormalHints.man 0000644 0001750 0001750 00000000071 14222353101 014236 0000000 0000000 .so man__libmansuffix__/XAllocSizeHints.__libmansuffix__
libX11-1.7.5/man/XGetWMClientMachine.man 0000644 0001750 0001750 00000000075 14222353101 014507 0000000 0000000 .so man__libmansuffix__/XSetWMClientMachine.__libmansuffix__
libX11-1.7.5/man/XQueryTextExtents.man 0000644 0001750 0001750 00000000066 14222353101 014425 0000000 0000000 .so man__libmansuffix__/XTextExtents.__libmansuffix__
libX11-1.7.5/man/XCloseOM.man 0000644 0001750 0001750 00000000061 14222353101 012374 0000000 0000000 .so man__libmansuffix__/XOpenOM.__libmansuffix__
libX11-1.7.5/man/XLoadQueryFont.man 0000644 0001750 0001750 00000000063 14222353101 013631 0000000 0000000 .so man__libmansuffix__/XLoadFont.__libmansuffix__
libX11-1.7.5/man/XrmQPutResource.man 0000644 0001750 0001750 00000000070 14222353101 014033 0000000 0000000 .so man__libmansuffix__/XrmPutResource.__libmansuffix__
libX11-1.7.5/man/XGetScreenSaver.man 0000644 0001750 0001750 00000000071 14222353101 013754 0000000 0000000 .so man__libmansuffix__/XSetScreenSaver.__libmansuffix__
libX11-1.7.5/man/XAllocSizeHints.man 0000644 0001750 0001750 00000025530 14222353101 013776 0000000 0000000 '\" t
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface, \fRO'Reilly and Associates,
.ds xC Inter-Client Communication Conventions Manual
'\" t
.TH XAllocSizeHints __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XAllocSizeHints, XSetWMNormalHints, XGetWMNormalHints, XSetWMSizeHints, XGetWMSizeHints, XSizeHints \- allocate size hints structure and set or read a window's WM_NORMAL_HINTS property
.SH SYNTAX
.HP
XSizeHints *XAllocSizeHints\^(void\^);
.HP
void XSetWMNormalHints\^(\^Display *\fIdisplay\fP, Window \fIw\fP, XSizeHints *\fIhints\fP\^);
.HP
Status XGetWMNormalHints\^(\^Display *\fIdisplay\fP, Window \fIw\fP,
XSizeHints *\fIhints_return\fP, long *\fIsupplied_return\fP\^);
.HP
void XSetWMSizeHints\^(\^Display *\fIdisplay\fP, Window \fIw\fP, XSizeHints
*\fIhints\fP, Atom \fIproperty\fP\^);
.HP
Status XGetWMSizeHints\^(\^Display *\fIdisplay\fP, Window \fIw\fP, XSizeHints
*\fIhints_return\fP, long *\fIsupplied_return\fP, Atom \fIproperty\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIhints\fP 1i
Specifies the size hints for the window in its normal state.
.IP \fIhints\fP 1i
Specifies the
.B XSizeHints
structure to be used.
.IP \fIhints_return\fP 1i
Returns the size hints for the window in its normal state.
.IP \fIproperty\fP 1i
Specifies the property name.
.IP \fIsupplied_return\fP 1i
Returns the hints that were supplied by the user.
.IP \fIw\fP 1i
Specifies the window.
.SH DESCRIPTION
The
.B XAllocSizeHints
function allocates and returns a pointer to a
.B XSizeHints
structure.
Note that all fields in the
.B XSizeHints
structure are initially set to zero.
If insufficient memory is available,
.B XAllocSizeHints
returns NULL.
To free the memory allocated to this structure,
use
.BR XFree .
.LP
The
.B XSetWMNormalHints
function replaces the size hints for the WM_NORMAL_HINTS property
on the specified window.
If the property does not already exist,
.B XSetWMNormalHints
sets the size hints for the WM_NORMAL_HINTS property on the specified window.
The property is stored with a type of WM_SIZE_HINTS and a format of 32.
.LP
.B XSetWMNormalHints
can generate
.B BadAlloc
and
.B BadWindow
errors.
.LP
The
.B XGetWMNormalHints
function returns the size hints stored in the WM_NORMAL_HINTS property
on the specified window.
If the property is of type WM_SIZE_HINTS, is of format 32,
and is long enough to contain either an old (pre-ICCCM)
or new size hints structure,
.B XGetWMNormalHints
sets the various fields of the
.B XSizeHints
structure, sets the supplied_return argument to the list of fields
that were supplied by the user (whether or not they contained defined values),
and returns a nonzero status.
Otherwise, it returns a zero status.
.LP
If
.B XGetWMNormalHints
returns successfully and a pre-ICCCM size hints property is read,
the supplied_return argument will contain the following bits:
.LP
.EX
(USPosition|USSize|PPosition|PSize|PMinSize|
PMaxSize|PResizeInc|PAspect)
.EE
.LP
If the property is large enough to contain the base size
and window gravity fields as well,
the supplied_return argument will also contain the following bits:
.LP
.EX
PBaseSize|PWinGravity
.EE
.LP
.B XGetWMNormalHints
can generate a
PN BadWindow
error.
.LP
The
.B XSetWMSizeHints
function replaces the size hints for the specified property
on the named window.
If the specified property does not already exist,
.B XSetWMSizeHints
sets the size hints for the specified property
on the named window.
The property is stored with a type of WM_SIZE_HINTS and a format of 32.
To set a window's normal size hints,
you can use the
.B XSetWMNormalHints
function.
.LP
.B XSetWMSizeHints
can generate
.BR BadAlloc ,
.BR BadAtom ,
and
.B BadWindow
errors.
.LP
The
.B XGetWMSizeHints
function returns the size hints stored in the specified property
on the named window.
If the property is of type WM_SIZE_HINTS, is of format 32,
and is long enough to contain either an old (pre-ICCCM)
or new size hints structure,
.B XGetWMSizeHints
sets the various fields of the
.B XSizeHints
structure, sets the supplied_return argument to the
list of fields that were supplied by the user
(whether or not they contained defined values),
and returns a nonzero status.
Otherwise, it returns a zero status.
To get a window's normal size hints,
you can use the
.B XGetWMNormalHints
function.
.LP
If
.B XGetWMSizeHints
returns successfully and a pre-ICCCM size hints property is read,
the supplied_return argument will contain the following bits:
.LP
.EX
(USPosition|USSize|PPosition|PSize|PMinSize|
PMaxSize|PResizeInc|PAspect)
.EE
.LP
If the property is large enough to contain the base size
and window gravity fields as well,
the supplied_return argument will also contain the following bits:
.LP
.EX
PBaseSize|PWinGravity
.EE
.LP
.B XGetWMSizeHints
can generate
.B BadAtom
and
.B BadWindow
errors.
.SH PROPERTIES
.TP 1i
\s-1WM_NORMAL_HINTS\s+1
Size hints for a window in its normal state.
The C type of this property is
.BR XSizeHints .
.SH STRUCTURES
The
.B XSizeHints
structure contains:
.LP
.na
/\&* Size hints mask bits */
.TS
lw(.4i) lw(1.0i) lw(1.1i) lw(2.8i).
T{
\define
T} T{
.B USPosition
T} T{
(1L << 0)
T} T{
/\&* user specified x, y */
T}
T{
\define
T} T{
.B USSize
T} T{
(1L << 1)
T} T{
/\&* user specified width, height */
T}
T{
\define
T} T{
.B PPosition
T} T{
(1L << 2)
T} T{
/\&* program specified position */
T}
T{
\define
T} T{
.B PSize
T} T{
(1L << 3)
T} T{
/\&* program specified size */
T}
T{
\define
T} T{
.B PMinSize
T} T{
(1L << 4)
T} T{
/\&* program specified minimum size */
T}
T{
\define
T} T{
.B PMaxSize
T} T{
(1L << 5)
T} T{
/\&* program specified maximum size */
T}
T{
\define
T} T{
.B PResizeInc
T} T{
(1L << 6)
T} T{
/\&* program specified resize increments */
T}
T{
\define
T} T{
.B PAspect
T} T{
(1L << 7)
T} T{
/\&* program specified min and max aspect ratios */
T}
T{
\define
T} T{
.B PBaseSize
T} T{
(1L << 8)
T}
T{
\define
T} T{
.B PWinGravity
T} T{
(1L << 9)
T}
T{
\define
T} T{
.B PAllHints
T} T{
(PPosition|
.br
PSize|
.br
PMinSize|
.br
PMaxSize|
.br
PResizeInc|
.br
PAspect)
T} T{
T}
.TE
.ad
.EX
/\&* Values */
typedef struct {
long flags; /\&* marks which fields in this structure are defined */
int x, y; /\&* Obsolete */
int width, height; /\&* Obsolete */
int min_width, min_height;
int max_width, max_height;
int width_inc, height_inc;
struct {
int x; /\&* numerator */
int y; /\&* denominator */
} min_aspect, max_aspect;
int base_width, base_height;
int win_gravity;
/\&* this structure may be extended in the future */
} XSizeHints;
.EE
.LP
The x, y, width, and height members are now obsolete
and are left solely for compatibility reasons.
The min_width and min_height members specify the
minimum window size that still allows the application to be useful.
The max_width and max_height members specify the maximum window size.
The width_inc and height_inc members define an arithmetic progression of
sizes (minimum to maximum) into which the window prefers to be resized.
The min_aspect and max_aspect members are expressed
as ratios of x and y,
and they allow an application to specify the range of aspect
ratios it prefers.
The base_width and base_height members define the desired size of the window.
The window manager will interpret the position of the window
and its border width to position the point of the outer rectangle
of the overall window specified by the win_gravity member.
The outer rectangle of the window includes any borders or decorations
supplied by the window manager.
In other words,
if the window manager decides to place the window where the client asked,
the position on the parent window's border named by the win_gravity
will be placed where the client window would have been placed
in the absence of a window manager.
.LP
Note that use of the
.B PAllHints
macro is highly discouraged.
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadAtom
A value for an Atom argument does not name a defined Atom.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XAllocClassHint(__libmansuffix__),
XAllocIconSize(__libmansuffix__),
XAllocWMHints(__libmansuffix__),
XFree(__libmansuffix__),
XSetCommand(__libmansuffix__),
XSetTransientForHint(__libmansuffix__),
XSetTextProperty(__libmansuffix__),
XSetWMClientMachine(__libmansuffix__),
XSetWMColormapWindows(__libmansuffix__),
XSetWMIconName(__libmansuffix__),
XSetWMName(__libmansuffix__),
XSetWMProperties(__libmansuffix__),
XSetWMProtocols(__libmansuffix__),
XStringListToTextProperty(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/DefaultRootWindow.man 0000644 0001750 0001750 00000000063 14222353101 014365 0000000 0000000 .so man__libmansuffix__/AllPlanes.__libmansuffix__
libX11-1.7.5/man/XWindowEvent.man 0000644 0001750 0001750 00000000064 14222353101 013347 0000000 0000000 .so man__libmansuffix__/XNextEvent.__libmansuffix__
libX11-1.7.5/man/XcmsRGB.man 0000644 0001750 0001750 00000000063 14222353101 012212 0000000 0000000 .so man__libmansuffix__/XcmsColor.__libmansuffix__
libX11-1.7.5/man/XrmGetDatabase.man 0000644 0001750 0001750 00000000074 14222353101 013602 0000000 0000000 .so man__libmansuffix__/XrmGetFileDatabase.__libmansuffix__
libX11-1.7.5/man/XClipBox.man 0000644 0001750 0001750 00000000070 14222353101 012433 0000000 0000000 .so man__libmansuffix__/XPolygonRegion.__libmansuffix__
libX11-1.7.5/man/XQueryPointer.man 0000644 0001750 0001750 00000011042 14222353101 013542 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XQueryPointer __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XQueryPointer \- get pointer coordinates
.SH SYNTAX
.HP
Bool XQueryPointer\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Window
*\fIroot_return\fP\^, Window *\fIchild_return\fP\^, int
*\fIroot_x_return\fP\^, int *\fIroot_y_return\fP\^, int *\fIwin_x_return\fP\^,
int *\fIwin_y_return\fP\^, unsigned int *\fImask_return\fP\^);
.SH ARGUMENTS
.IP \fIchild_return\fP 1i
Returns the child window that the pointer is located in, if any.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fImask_return\fP 1i
Returns the current state of the modifier keys and pointer buttons.
.IP \fIroot_return\fP 1i
Returns the root window that the pointer is in.
.IP \fIroot_x_return\fP 1i
.br
.ns
.IP \fIroot_y_return\fP 1i
Return the pointer coordinates relative to the root window's origin.
.IP \fIw\fP 1i
Specifies the window.
.IP \fIwin_x_return\fP 1i
.br
.ns
.IP \fIwin_y_return\fP 1i
Return the pointer coordinates relative to the specified window.
.SH DESCRIPTION
The
.B XQueryPointer
function returns the root window the pointer is logically on and the pointer
coordinates relative to the root window's origin.
If
.B XQueryPointer
returns
.BR False ,
the pointer is not on the same screen as the specified window, and
.B XQueryPointer
returns
.B None
to child_return and zero to win_x_return and win_y_return.
If
.B XQueryPointer
returns
.BR True ,
the pointer coordinates returned to win_x_return and win_y_return
are relative to the origin of the specified window.
In this case,
.B XQueryPointer
returns the child that contains the pointer, if any,
or else
.B None
to child_return.
.LP
.B XQueryPointer
returns the current logical state of the keyboard buttons
and the modifier keys in mask_return.
It sets mask_return to the bitwise inclusive OR of one or more
of the button or modifier key bitmasks to match
the current state of the mouse buttons and the modifier keys.
.LP
.B XQueryPointer
can generate a
.B BadWindow
error.
.SH DIAGNOSTICS
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XGetWindowAttributes(__libmansuffix__),
XQueryTree(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XStringListToTextProperty.man 0000644 0001750 0001750 00000013440 14222353101 016117 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
.\" Copyright \(co 2000 The XFree86 Project, Inc.
.\"
.\" 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XStringListToTextProperty __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XStringListToTextProperty, XTextPropertyToStringList, XFreeStringList, XTextProperty \- convert string lists and text property structure
.SH SYNTAX
.HP
Status XStringListToTextProperty\^(\^char **\fIlist\fP\^, int \fIcount\fP\^,
XTextProperty *\fItext_prop_return\fP\^);
.HP
Status XTextPropertyToStringList\^(\^XTextProperty *\fItext_prop\fP\^, char
***\fIlist_return\fP\^, int *\fIcount_return\fP\^);
.HP
void XFreeStringList\^(\^char **\fIlist\fP\^);
.SH ARGUMENTS
.IP \fIcount\fP 1i
Specifies the number of strings.
.IP \fIcount_return\fP 1i
Returns the number of strings.
.IP \fIlist\fP 1i
Specifies the list of strings to be freed.
.IP \fIlist\fP 1i
Specifies a list of null-terminated character strings.
.IP \fIlist_return\fP 1i
Returns a list of null-terminated character strings.
.IP \fItext_prop\fP 1i
Specifies the
.B XTextProperty
structure to be used.
.IP \fItext_prop_return\fP 1i
Returns the
.B XTextProperty
structure.
.SH DESCRIPTION
The
.B XStringListToTextProperty
function sets the specified
.B XTextProperty
to be of type STRING (format 8) with a value representing the
concatenation of the specified list of null-separated character strings.
An extra null byte (which is not included in the nitems member)
is stored at the end of the value field of text_prop_return.
The strings are assumed (without verification) to be in the STRING encoding.
If insufficient memory is available for the new value string,
.B XStringListToTextProperty
does not set any fields in the
.B XTextProperty
structure and returns a zero status.
Otherwise, it returns a nonzero status.
To free the storage for the value field, use
.BR XFree .
.LP
The
.B XTextPropertyToStringList
function returns a list of strings representing the null-separated elements
of the specified
.B XTextProperty
structure.
The data in text_prop must be of type STRING and format 8.
Multiple elements of the property
(for example, the strings in a disjoint text selection)
are separated by NULL (encoding 0).
The contents of the property are not null-terminated.
If insufficient memory is available for the list and its elements,
.B XTextPropertyToStringList
sets no return values and returns a zero status.
Otherwise, it returns a nonzero status.
To free the storage for the list and its contents, use
.BR XFreeStringList .
.LP
The
.B XFreeStringList
function releases memory allocated by
.BR XmbTextPropertyToTextList ,
.B Xutf8TextPropertyToTextList
and
.B XTextPropertyToStringList
and the missing charset list allocated by
.BR XCreateFontSet .
.SH STRUCTURES
The
.B XTextProperty
structure contains:
.LP
.EX
typedef struct {
unsigned char *value; /\&* property data */
Atom encoding; /\&* type of property */
int format; /\&* 8, 16, or 32 */
unsigned long nitems; /\&* number of items in value */
} XTextProperty;
.EE
.SH "SEE ALSO"
XAllocClassHint(__libmansuffix__),
XAllocIconSize(__libmansuffix__),
XAllocSizeHints(__libmansuffix__),
XAllocWMHints(__libmansuffix__),
XFree(__libmansuffix__),
XSetCommand(__libmansuffix__),
XSetTransientForHint(__libmansuffix__),
XSetTextProperty(__libmansuffix__),
XSetWMClientMachine(__libmansuffix__),
XSetWMColormapWindows(__libmansuffix__),
XSetWMIconName(__libmansuffix__),
XSetWMName(__libmansuffix__),
XSetWMProperties(__libmansuffix__),
XSetWMProtocols(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XDestroyRegion.man 0000644 0001750 0001750 00000000067 14222353101 013676 0000000 0000000 .so man__libmansuffix__/XCreateRegion.__libmansuffix__
libX11-1.7.5/man/XCirculateSubwindows.man 0000644 0001750 0001750 00000000066 14222353101 015100 0000000 0000000 .so man__libmansuffix__/XRaiseWindow.__libmansuffix__
libX11-1.7.5/man/XFillRectangles.man 0000644 0001750 0001750 00000000070 14222353101 013771 0000000 0000000 .so man__libmansuffix__/XFillRectangle.__libmansuffix__
libX11-1.7.5/man/XFontSetExtents.man 0000644 0001750 0001750 00000007774 14222353101 014052 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XFontSetExtents __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XFontSetExtents \- XFontSetExtents structure
.SH STRUCTURES
The
.B XFontSetExtents
structure contains:
.LP
.EX
typedef struct {
XRectangle max_ink_extent; /\&* over all drawable characters */
XRectangle max_logical_extent; /\&* over all drawable characters */
} XFontSetExtents;
.EE
.LP
The
.B XRectangle
structures used to return font set metrics are the usual Xlib screen-oriented
rectangles
with x, y giving the upper left corner, and width and height always positive.
.LP
The max_ink_extent member gives the maximum extent, over all drawable characters, of
the rectangles that bound the character glyph image drawn in the
foreground color, relative to a constant origin.
See
.B XmbTextExtents
and
.B XwcTextExtents
for detailed semantics.
.LP
The max_logical_extent member gives the maximum extent,
over all drawable characters, of the rectangles
that specify minimum spacing to other graphical features,
relative to a constant origin.
Other graphical features drawn by the client, for example,
a border surrounding the text, should not intersect this rectangle.
The max_logical_extent member should be used to compute minimum
interline spacing and the minimum area that must be allowed
in a text field to draw a given number of arbitrary characters.
.LP
Due to context-dependent rendering,
appending a given character to a string may change
the string's extent by an amount other than that character's
individual extent.
.SH "SEE ALSO"
XCreateFontSet(__libmansuffix__),
XExtentsOfFontSet(__libmansuffix__),
XFontsOfFontSet(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XScreenNumberOfScreen.man 0000644 0001750 0001750 00000000074 14222353101 015114 0000000 0000000 .so man__libmansuffix__/BlackPixelOfScreen.__libmansuffix__
libX11-1.7.5/man/XUnmapWindow.man 0000644 0001750 0001750 00000010273 14222353101 013351 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XUnmapWindow __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XUnmapWindow, XUnmapSubwindows \- unmap windows
.SH SYNTAX
.HP
int XUnmapWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
.HP
int XUnmapSubwindows\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIw\fP 1i
Specifies the window.
.SH DESCRIPTION
The
.B XUnmapWindow
function unmaps the specified window and causes the X server to generate an
.B UnmapNotify
event.
If the specified window is already unmapped,
.B XUnmapWindow
has no effect.
Normal exposure processing on formerly obscured windows is performed.
Any child window will no longer be visible until another map call is
made on the parent.
In other words, the subwindows are still mapped but are not visible
until the parent is mapped.
Unmapping a window will generate
.B Expose
events on windows that were formerly obscured by it.
.LP
.B XUnmapWindow
can generate a
.B BadWindow
error.
.LP
The
.B XUnmapSubwindows
function unmaps all subwindows for the specified window in bottom-to-top
stacking order.
It causes the X server to generate an
.B UnmapNotify
event on each subwindow and
.B Expose
events on formerly obscured windows.
Using this function is much more efficient than unmapping multiple windows
one at a time because the server needs to perform much of the work
only once, for all of the windows, rather than for each window.
.LP
.B XUnmapSubwindows
can generate a
.B BadWindow
error.
.SH DIAGNOSTICS
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XChangeWindowAttributes(__libmansuffix__),
XConfigureWindow(__libmansuffix__),
XCreateWindow(__libmansuffix__),
XDestroyWindow(__libmansuffix__),
XMapWindow(__libmansuffix__)
XRaiseWindow(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XTextItem.man 0000644 0001750 0001750 00000000063 14222353101 012640 0000000 0000000 .so man__libmansuffix__/XDrawText.__libmansuffix__
libX11-1.7.5/man/XcmsColor.man 0000644 0001750 0001750 00000011370 14222353101 012661 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.de EX
.sp
.nf
.ft CW
..
.de EE
.ft R
.fi
.sp
..
.TH XcmsColor __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XcmsColor, XcmsRGB, XcmsRGBi, XcmsCIEXYZ, XcmsCIEuvY, XcmsCIExyY, XcmsCIELab, XcmsCIELuv, XcmsTekHVC, XcmsPad \- Xcms color structure
.SH STRUCTURES
The structure for
.B XcmsColor
contains:
.LP
.EX
typedef unsigned long XcmsColorFormat; /\&* Color Specification Format */
typedef struct {
union {
XcmsRGB RGB;
XcmsRGBi RGBi;
XcmsCIEXYZ CIEXYZ;
XcmsCIEuvY CIEuvY;
XcmsCIExyY CIExyY;
XcmsCIELab CIELab;
XcmsCIELuv CIELuv;
XcmsTekHVC TekHVC;
XcmsPad Pad;
} spec;
unsigned long pixel;
XcmsColorFormat format;
} XcmsColor; /\&* Xcms Color Structure */
.EE
.LP
.EX
typedef double XcmsFloat;
typedef struct {
unsigned short red; /\&* 0x0000 to 0xffff */
unsigned short green; /\&* 0x0000 to 0xffff */
unsigned short blue; /\&* 0x0000 to 0xffff */
} XcmsRGB; /\&* RGB Device */
.EE
.LP
.EX
typedef struct {
XcmsFloat red; /\&* 0.0 to 1.0 */
XcmsFloat green; /\&* 0.0 to 1.0 */
XcmsFloat blue; /\&* 0.0 to 1.0 */
} XcmsRGBi; /\&* RGB Intensity */
.EE
.LP
.EX
typedef struct {
XcmsFloat X;
XcmsFloat Y; /\&* 0.0 to 1.0 */
XcmsFloat Z;
} XcmsCIEXYZ; /\&* CIE XYZ */
.EE
.LP
.EX
typedef struct {
XcmsFloat u_prime; /\&* 0.0 to ~0.6 */
XcmsFloat v_prime; /\&* 0.0 to ~0.6 */
XcmsFloat Y; /\&* 0.0 to 1.0 */
} XcmsCIEuvY; /\&* CIE u'v'Y */
.EE
.LP
.EX
typedef struct {
XcmsFloat x; /\&* 0.0 to ~.75 */
XcmsFloat y; /\&* 0.0 to ~.85 */
XcmsFloat Y; /\&* 0.0 to 1.0 */
} XcmsCIExyY; /\&* CIE xyY */
.EE
.LP
.EX
typedef struct {
XcmsFloat L_star; /\&* 0.0 to 100.0 */
XcmsFloat a_star;
XcmsFloat b_star;
} XcmsCIELab; /\&* CIE L*a*b* */
.EE
.LP
.EX
typedef struct {
XcmsFloat L_star; /\&* 0.0 to 100.0 */
XcmsFloat u_star;
XcmsFloat v_star;
} XcmsCIELuv; /\&* CIE L*u*v* */
.EE
.LP
.EX
typedef struct {
XcmsFloat H; /\&* 0.0 to 360.0 */
XcmsFloat V; /\&* 0.0 to 100.0 */
XcmsFloat C; /\&* 0.0 to 100.0 */
} XcmsTekHVC; /\&* TekHVC */
.EE
.LP
.EX
typedef struct {
XcmsFloat pad0;
XcmsFloat pad1;
XcmsFloat pad2;
XcmsFloat pad3;
} XcmsPad; /\&* four doubles */
.EE
.SH DESCRIPTION
The
.B XcmsColor
structure contains a union of substructures,
each supporting color specification encoding for a particular color space.
.SH "SEE ALSO"
XcmsAllocColor(__libmansuffix__),
XcmsStoreColor(__libmansuffix__),
XcmsConvertColors(__libmansuffix__),
.LP
\fI\*(xL\fP
libX11-1.7.5/man/XWMHints.man 0000644 0001750 0001750 00000000067 14222353101 012432 0000000 0000000 .so man__libmansuffix__/XAllocWMHints.__libmansuffix__
libX11-1.7.5/man/XAutoRepeatOff.man 0000644 0001750 0001750 00000000100 14222353101 013571 0000000 0000000 .so man__libmansuffix__/XChangeKeyboardControl.__libmansuffix__
libX11-1.7.5/man/XCreateImage.man 0000644 0001750 0001750 00000000064 14222353101 013244 0000000 0000000 .so man__libmansuffix__/XInitImage.__libmansuffix__
libX11-1.7.5/man/XmbDrawString.man 0000644 0001750 0001750 00000010526 14222353101 013505 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
.\" Copyright \(co 2000 The XFree86 Project, Inc.
.\"
.\" 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XmbDrawString __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XmbDrawString, XwcDrawString, Xutf8DrawString \- draw text using a single font set
.SH SYNTAX
.HP
void XmbDrawString\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, XFontSet
\fIfont_set\fP\^, GC \fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^,
_Xconst char *\fIstring\fP\^, int \fInum_bytes\fP\^);
.HP
void XwcDrawString\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, XFontSet
\fIfont_set\fP\^, GC \fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^,
_Xconst wchar_t *\fIstring\fP\^, int \fInum_wchars\fP\^);
.HP
void Xutf8DrawString\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^,
XFontSet \fIfont_set\fP\^, GC \fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^,
_Xconst char *\fIstring\fP\^, int \fInum_bytes\fP\^);
.SH ARGUMENTS
.IP \fId\fP 1i
Specifies the drawable.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIfont_set\fP 1i
Specifies the font set.
.IP \fIgc\fP 1i
Specifies the GC.
.IP \fInum_bytes\fP 1i
Specifies the number of bytes in the string argument.
.IP \fInum_wchars\fP 1i
Specifies the number of characters in the string argument.
.IP \fIstring\fP 1i
Specifies the character string.
.IP \fIx\fP 1i
.br
.ns
.IP \fIy\fP 1i
Specify the x and y coordinates.
.SH DESCRIPTION
The
.BR XmbDrawString ,
.B XwcDrawString
and
.B Xutf8DrawString
functions draw the specified text with the foreground pixel.
When the
.B XFontSet
has missing charsets, each unavailable character is drawn
with the default string returned by
.BR XCreateFontSet .
The behavior for an invalid codepoint is undefined.
.LP
The function
.B Xutf8DrawString
is an extension introduced by The XFree86 Project, Inc., in their 4.0.2
release.
Its presence is
indicated by the macro
.BR X_HAVE_UTF8_STRING .
.SH "SEE ALSO"
XDrawImageString(__libmansuffix__),
XDrawString(__libmansuffix__),
XDrawText(__libmansuffix__),
XmbDrawImageString(__libmansuffix__),
XmbDrawText(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XGetAtomName.man 0000644 0001750 0001750 00000000065 14222353101 013240 0000000 0000000 .so man__libmansuffix__/XInternAtom.__libmansuffix__
libX11-1.7.5/man/XUnsetICFocus.man 0000644 0001750 0001750 00000000065 14222353101 013411 0000000 0000000 .so man__libmansuffix__/XSetICFocus.__libmansuffix__
libX11-1.7.5/man/RootWindowOfScreen.man 0000644 0001750 0001750 00000000074 14222353101 014507 0000000 0000000 .so man__libmansuffix__/BlackPixelOfScreen.__libmansuffix__
libX11-1.7.5/man/XDrawPoint.man 0000644 0001750 0001750 00000012177 14222353101 013015 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XDrawPoint __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XDrawPoint, XDrawPoints, XPoint \- draw points and points structure
.SH SYNTAX
.HP
int XDrawPoint\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
\fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^);
.HP
int XDrawPoints\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
\fIgc\fP\^, XPoint *\fIpoints\fP\^, int \fInpoints\fP\^, int \fImode\fP\^);
.SH ARGUMENTS
.IP \fId\fP 1i
Specifies the drawable.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIgc\fP 1i
Specifies the GC.
.IP \fImode\fP 1i
Specifies the coordinate mode.
You can pass
.B CoordModeOrigin
or
.BR CoordModePrevious .
.IP \fInpoints\fP 1i
Specifies the number of points in the array.
.IP \fIpoints\fP 1i
Specifies an array of points.
.IP \fIx\fP 1i
.br
.ns
.IP \fIy\fP 1i
Specify the x and y coordinates where you want the point drawn.
.SH DESCRIPTION
The
.B XDrawPoint
function uses the foreground pixel and function components of the
GC to draw a single point into the specified drawable;
.B XDrawPoints
draws multiple points this way.
.B CoordModeOrigin
treats all coordinates as relative to the origin,
and
.B CoordModePrevious
treats all coordinates after the first as relative to the previous point.
.B XDrawPoints
draws the points in the order listed in the array.
.LP
Both functions use these GC components: function, plane-mask,
foreground, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
.LP
.B XDrawPoint
can generate
.BR BadDrawable ,
.BR BadGC ,
and
.B BadMatch
errors.
.B XDrawPoints
can generate
.BR BadDrawable ,
.BR BadGC ,
.BR BadMatch ,
and
.B BadValue
errors.
.SH STRUCTURES
The
.B XPoint
structure contains:
.LP
.EX
typedef struct {
short x, y;
} XPoint;
.EE
.LP
All x and y members are signed integers.
The width and height members are 16-bit unsigned integers.
You should be careful not to generate coordinates and sizes
out of the 16-bit ranges, because the protocol only has 16-bit fields
for these values.
.SH DIAGNOSTICS
.TP 1i
.B BadDrawable
A value for a Drawable argument does not name a defined Window or Pixmap.
.TP 1i
.B BadGC
A value for a GContext argument does not name a defined GContext.
.TP 1i
.B BadMatch
An
.B InputOnly
window is used as a Drawable.
.TP 1i
.B BadMatch
Some argument or pair of arguments has the correct type and range but fails
to match in some other way required by the request.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
XDrawArc(__libmansuffix__),
XDrawLine(__libmansuffix__),
XDrawRectangle(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XTextExtents.man 0000644 0001750 0001750 00000016466 14222353101 013412 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XTextExtents __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XTextExtents, XTextExtents16, XQueryTextExtents, XQueryTextExtents16 \- compute or query text extents
.SH SYNTAX
.HP
int XTextExtents\^(\^XFontStruct *\fIfont_struct\fP\^, _Xconst char *\fIstring\fP\^,
int \fInchars\fP\^, int *\fIdirection_return\fP\^, int
*\fIfont_ascent_return\fP, int *\fIfont_descent_return\fP\^, XCharStruct
*\fIoverall_return\fP\^);
.HP
int XTextExtents16\^(\^XFontStruct *\fIfont_struct\fP\^, _Xconst XChar2b
*\fIstring\fP\^, int \fInchars\fP\^, int *\fIdirection_return\fP\^, int
*\fIfont_ascent_return\fP, int *\fIfont_descent_return\fP\^, XCharStruct
*\fIoverall_return\fP\^);
.HP
int XQueryTextExtents\^(\^Display *\fIdisplay\fP\^, XID \fIfont_ID\fP\^, _Xconst char
*\fIstring\fP\^, int \fInchars\fP\^, int *\fIdirection_return\fP\^, int
*\fIfont_ascent_return\fP, int *\fIfont_descent_return\fP\^, XCharStruct
*\fIoverall_return\fP\^);
.HP
int XQueryTextExtents16\^(\^Display *\fIdisplay\fP\^, XID \fIfont_ID\fP\^,
_Xconst XChar2b *\fIstring\fP\^, int \fInchars\fP\^, int *\fIdirection_return\fP\^,
int *\fIfont_ascent_return\fP, int *\fIfont_descent_return\fP\^, XCharStruct
*\fIoverall_return\fP\^);
.SH ARGUMENTS
.IP \fIdirection_return\fP 1i
Returns the value of the direction hint
.RB ( FontLeftToRight
or
.BR FontRightToLeft ).
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIfont_ID\fP 1i
Specifies either the font ID or the
.B GContext
ID that contains the font.
.IP \fIfont_ascent_return\fP 1i
Returns the font ascent.
.IP \fIfont_descent_return\fP 1i
Returns the font descent.
.IP \fIfont_struct\fP 1i
Specifies the
.B XFontStruct
structure.
.IP \fInchars\fP 1i
Specifies the number of characters in the character string.
.IP \fIstring\fP 1i
Specifies the character string.
.IP \fIoverall_return\fP 1i
Returns the overall size in the specified
.B XCharStruct
structure.
.SH DESCRIPTION
The
.B XTextExtents
and
.B XTextExtents16
functions
perform the size computation locally and, thereby,
avoid the round-trip overhead of
.B XQueryTextExtents
and
.BR XQueryTextExtents16 .
Both functions return an
.B XCharStruct
structure, whose members are set to the values as follows.
.LP
The ascent member is set to the maximum of the ascent metrics of all
characters in the string.
The descent member is set to the maximum of the descent metrics.
The width member is set to the sum of the character-width metrics of all
characters in the string.
For each character in the string,
let W be the sum of the character-width metrics of all characters preceding
it in the string.
Let L be the left-side-bearing metric of the character plus W.
Let R be the right-side-bearing metric of the character plus W.
The lbearing member is set to the minimum L of all characters in the string.
The rbearing member is set to the maximum R.
.LP
For fonts defined with linear indexing rather than 2-byte matrix indexing,
each
.B XChar2b
structure is interpreted as a 16-bit number with byte1 as the
most significant byte.
If the font has no defined default character,
undefined characters in the string are taken to have all zero metrics.
.LP
The
.B XQueryTextExtents
and
.B XQueryTextExtents16
functions return the bounding box of the specified 8-bit and 16-bit
character string in the specified font or the font contained in the
specified GC.
These functions query the X server and, therefore, suffer the round-trip
overhead that is avoided by
.B XTextExtents
and
.BR XTextExtents16 .
Both functions return a
.B XCharStruct
structure, whose members are set to the values as follows.
.LP
The ascent member is set to the maximum of the ascent metrics
of all characters in the string.
The descent member is set to the maximum of the descent metrics.
The width member is set to the sum of the character-width metrics
of all characters in the string.
For each character in the string,
let W be the sum of the character-width metrics of all characters preceding
it in the string.
Let L be the left-side-bearing metric of the character plus W.
Let R be the right-side-bearing metric of the character plus W.
The lbearing member is set to the minimum L of all characters in the string.
The rbearing member is set to the maximum R.
.LP
For fonts defined with linear indexing rather than 2-byte matrix indexing,
each
.B XChar2b
structure is interpreted as a 16-bit number with byte1 as the
most significant byte.
If the font has no defined default character,
undefined characters in the string are taken to have all zero metrics.
.LP
Characters with all zero metrics are ignored.
If the font has no defined default_char,
the undefined characters in the string are also ignored.
.LP
.B XQueryTextExtents
and
.B XQueryTextExtents16
can generate
.B BadFont
and
.B BadGC
errors.
.SH DIAGNOSTICS
.TP 1i
.B BadFont
A value for a Font or GContext argument does not name a defined Font.
.TP 1i
.B BadGC
A value for a GContext argument does not name a defined GContext.
.SH "SEE ALSO"
XLoadFont(__libmansuffix__),
XTextWidth(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XDrawText16.man 0000644 0001750 0001750 00000000063 14222353101 013006 0000000 0000000 .so man__libmansuffix__/XDrawText.__libmansuffix__
libX11-1.7.5/man/XGetGeometry.man 0000644 0001750 0001750 00000000076 14222353101 013334 0000000 0000000 .so man__libmansuffix__/XGetWindowAttributes.__libmansuffix__
libX11-1.7.5/man/XQueryKeymap.man 0000644 0001750 0001750 00000000100 14222353101 013341 0000000 0000000 .so man__libmansuffix__/XChangeKeyboardControl.__libmansuffix__
libX11-1.7.5/man/XDrawLines.man 0000644 0001750 0001750 00000000063 14222353101 012765 0000000 0000000 .so man__libmansuffix__/XDrawLine.__libmansuffix__
libX11-1.7.5/man/XSetFillRule.man 0000644 0001750 0001750 00000000067 14222353101 013273 0000000 0000000 .so man__libmansuffix__/XSetFillStyle.__libmansuffix__
libX11-1.7.5/man/HeightOfScreen.man 0000644 0001750 0001750 00000000074 14222353101 013604 0000000 0000000 .so man__libmansuffix__/BlackPixelOfScreen.__libmansuffix__
libX11-1.7.5/man/XCreateBitmapFromData.man 0000644 0001750 0001750 00000000071 14222353101 015052 0000000 0000000 .so man__libmansuffix__/XReadBitmapFile.__libmansuffix__
libX11-1.7.5/man/DisplayCells.man 0000644 0001750 0001750 00000000063 14222353101 013335 0000000 0000000 .so man__libmansuffix__/AllPlanes.__libmansuffix__
libX11-1.7.5/man/VisualOfCCC.man 0000644 0001750 0001750 00000000066 14222353101 013011 0000000 0000000 .so man__libmansuffix__/DisplayOfCCC.__libmansuffix__
libX11-1.7.5/man/XAllowEvents.man 0000644 0001750 0001750 00000007177 14222353101 013355 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XAllowEvents __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XAllowEvents \- release queued events
.SH SYNTAX
.HP
int XAllowEvents\^(\^Display *\fIdisplay\fP, int \fIevent_mode\fP\^,
Time \fItime\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIevent_mode\fP 1i
Specifies the event mode.
You can pass
.BR AsyncPointer ,
.BR SyncPointer ,
.BR AsyncKeyboard ,
.BR SyncKeyboard ,
.BR ReplayPointer ,
.BR ReplayKeyboard ,
.BR AsyncBoth ,
or
.BR SyncBoth .
.IP \fItime\fP 1i
Specifies the time.
You can pass either a timestamp or
.BR CurrentTime .
.SH DESCRIPTION
The
.B XAllowEvents
function releases some queued events if the client has caused a device
to freeze.
It has no effect if the specified time is earlier than the last-grab
time of the most recent active grab for the client or if the specified time
is later than the current X server time.
.LP
.B XAllowEvents
can generate a
.B BadValue
error.
.SH DIAGNOSTICS
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
\fI\*(xL\fP
libX11-1.7.5/man/XTextItem16.man 0000644 0001750 0001750 00000000063 14222353101 013007 0000000 0000000 .so man__libmansuffix__/XDrawText.__libmansuffix__
libX11-1.7.5/man/WidthMMOfScreen.man 0000644 0001750 0001750 00000000074 14222353101 013705 0000000 0000000 .so man__libmansuffix__/BlackPixelOfScreen.__libmansuffix__
libX11-1.7.5/man/XcmsSetWhitePoint.man 0000644 0001750 0001750 00000010173 14222353101 014351 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XcmsSetWhitePoint __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XcmsSetWhitePoint, XcmsSetWhiteAdjustProc \- modifying CCC attributes
.SH SYNTAX
.HP
Status XcmsSetWhitePoint\^(\^XcmsCCC \fIccc\fP\^, XcmsColor *\fIcolor\fP\^);
.HP
XcmsWhiteAdjustProc XcmsSetWhiteAdjustProc\^(\^XcmsCCC \fIccc\fP\^,
XcmsWhiteAdjustProc \fIwhite_adjust_proc\fP\^, XPointer \fIclient_data\fP\^);
.SH ARGUMENTS
.IP \fIccc\fP 1i
Specifies the CCC.
.IP \fIclient_data\fP 1i
Specifies client data for the white point adjustment procedure or NULL.
.IP \fIcolor\fP 1i
Specifies the new Client White Point.
.IP \fIwhite_adjust_proc\fP 1i
Specifies the white point adjustment procedure.
.SH DESCRIPTION
The
.B XcmsSetWhitePoint
function changes the Client White Point in the specified CCC.
Note that the pixel member is ignored
and that the color specification is left unchanged upon return.
The format for the new white point must be
.BR XcmsCIEXYZFormat ,
.BR XcmsCIEuvYFormat ,
.BR XcmsCIExyYFormat ,
or
.BR XcmsUndefinedFormat .
If the color argument is NULL, this function sets the format component of the
Client White Point specification to
.BR XcmsUndefinedFormat ,
indicating that the Client White Point is assumed to be the same as the
Screen White Point.
.LP
This function returns nonzero status
if the format for the new white point is valid;
otherwise, it returns zero.
.LP
The
.B XcmsSetWhiteAdjustProc
function first sets the white point adjustment procedure and client data
in the specified CCC with the newly specified procedure and client data
and then returns the old procedure.
.SH "SEE ALSO"
DisplayOfCCC(__libmansuffix__),
XcmsCCCOfColormap(__libmansuffix__),
XcmsConvertColors(__libmansuffix__),
XcmsCreateCCC(__libmansuffix__),
XcmsDefaultCCC(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XrmPutFileDatabase.man 0000644 0001750 0001750 00000000074 14222353101 014433 0000000 0000000 .so man__libmansuffix__/XrmGetFileDatabase.__libmansuffix__
libX11-1.7.5/man/XFetchBytes.man 0000644 0001750 0001750 00000000065 14222353101 013137 0000000 0000000 .so man__libmansuffix__/XStoreBytes.__libmansuffix__
libX11-1.7.5/man/XSetLocaleModifiers.man 0000644 0001750 0001750 00000000071 14222353101 014611 0000000 0000000 .so man__libmansuffix__/XSupportsLocale.__libmansuffix__
libX11-1.7.5/man/XGetWMIconName.man 0000644 0001750 0001750 00000000070 14222353101 013470 0000000 0000000 .so man__libmansuffix__/XSetWMIconName.__libmansuffix__
libX11-1.7.5/man/XwcLookupString.man 0000644 0001750 0001750 00000000071 14222353101 014066 0000000 0000000 .so man__libmansuffix__/XmbLookupString.__libmansuffix__
libX11-1.7.5/man/XSegment.man 0000644 0001750 0001750 00000000063 14222353101 012477 0000000 0000000 .so man__libmansuffix__/XDrawLine.__libmansuffix__
libX11-1.7.5/man/XMapWindow.man 0000644 0001750 0001750 00000013631 14222353101 013007 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XMapWindow __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XMapWindow, XMapRaised, XMapSubwindows \- map windows
.SH SYNTAX
.HP
int XMapWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
.HP
int XMapRaised\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
.HP
int XMapSubwindows\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIw\fP 1i
Specifies the window.
.SH DESCRIPTION
The
.B XMapWindow
function
maps the window and all of its
subwindows that have had map requests.
Mapping a window that has an unmapped ancestor does not display the
window but marks it as eligible for display when the ancestor becomes
mapped.
Such a window is called unviewable.
When all its ancestors are mapped,
the window becomes viewable
and will be visible on the screen if it is not obscured by another window.
This function has no effect if the window is already mapped.
.LP
If the override-redirect of the window is
.B False
and if some other client has selected
.B SubstructureRedirectMask
on the parent window, then the X server generates a
.B MapRequest
event, and the
.B XMapWindow
function does not map the window.
Otherwise, the window is mapped, and the X server generates a
.B MapNotify
event.
.LP
If the window becomes viewable and no earlier contents for it are remembered,
the X server tiles the window with its background.
If the window's background is undefined,
the existing screen contents are not
altered, and the X server generates zero or more
.B Expose
events.
If backing-store was maintained while the window was unmapped, no
.B Expose
events
are generated.
If backing-store will now be maintained,
a full-window exposure is always generated.
Otherwise, only visible regions may be reported.
Similar tiling and exposure take place for any newly viewable inferiors.
.LP
If the window is an
.B InputOutput
window,
.B XMapWindow
generates
.B Expose
events on each
.B InputOutput
window that it causes to be displayed.
If the client maps and paints the window
and if the client begins processing events,
the window is painted twice.
To avoid this,
first ask for
.B Expose
events and then map the window,
so the client processes input events as usual.
The event list will include
.B Expose
for each
window that has appeared on the screen.
The client's normal response to
an
.B Expose
event should be to repaint the window.
This method usually leads to simpler programs and to proper interaction
with window managers.
.LP
.B XMapWindow
can generate a
.B BadWindow
error.
.LP
The
.B XMapRaised
function
essentially is similar to
.B XMapWindow
in that it maps the window and all of its
subwindows that have had map requests.
However, it also raises the specified window to the top of the stack.
.LP
.B XMapRaised
can generate a
.B BadWindow
error.
.LP
The
.B XMapSubwindows
function maps all subwindows for a specified window in top-to-bottom stacking
order.
The X server generates
.B Expose
events on each newly displayed window.
This may be much more efficient than mapping many windows
one at a time because the server needs to perform much of the work
only once, for all of the windows, rather than for each window.
.LP
.B XMapSubwindows
can generate a
.B BadWindow
error.
.SH DIAGNOSTICS
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XChangeWindowAttributes(__libmansuffix__),
XConfigureWindow(__libmansuffix__),
XCreateWindow(__libmansuffix__),
XDestroyWindow(__libmansuffix__),
XRaiseWindow(__libmansuffix__),
XUnmapWindow(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XMaxRequestSize.man 0000644 0001750 0001750 00000000063 14222353101 014026 0000000 0000000 .so man__libmansuffix__/AllPlanes.__libmansuffix__
libX11-1.7.5/man/XGrabServer.man 0000644 0001750 0001750 00000006327 14222353101 013150 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XGrabServer __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XGrabServer, XUngrabServer \- grab the server
.SH SYNTAX
.HP
int XGrabServer\^(\^Display *\fIdisplay\fP\^);
.HP
int XUngrabServer\^(\^Display *\fIdisplay\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.SH DESCRIPTION
The
.B XGrabServer
function disables processing of requests and close downs on all other
connections than the one this request arrived on.
You should not grab the X server any more than is absolutely necessary.
.LP
The
.B XUngrabServer
function restarts processing of requests and close downs on other connections.
You should avoid grabbing the X server as much as possible.
.SH "SEE ALSO"
XGrabButton(__libmansuffix__),
XGrabKey(__libmansuffix__),
XGrabKeyboard(__libmansuffix__),
XGrabPointer(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XSetClassHint.man 0000644 0001750 0001750 00000000071 14222353101 013440 0000000 0000000 .so man__libmansuffix__/XAllocClassHint.__libmansuffix__
libX11-1.7.5/man/XwcTextListToTextProperty.man 0000644 0001750 0001750 00000000103 14222353101 016117 0000000 0000000 .so man__libmansuffix__/XmbTextListToTextProperty.__libmansuffix__
libX11-1.7.5/man/XUninstallColormap.man 0000644 0001750 0001750 00000000072 14222353101 014543 0000000 0000000 .so man__libmansuffix__/XInstallColormap.__libmansuffix__
libX11-1.7.5/man/XReparentEvent.man 0000644 0001750 0001750 00000012452 14222353101 013664 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XReparentEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XReparentEvent \- ReparentNotify event structure
.SH STRUCTURES
The structure for
.B ReparentNotify
events contains:
.LP
.EX
typedef struct {
int type; /\&* ReparentNotify */
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window event;
Window window;
Window parent;
int x, y;
Bool override_redirect;
} XReparentEvent;
.EE
.LP
When you receive this event,
the structure members are set as follows.
.LP
The type member is set to the event type constant name that uniquely identifies
it.
For example, when the X server reports a
.B GraphicsExpose
event to a client application, it sends an
.B XGraphicsExposeEvent
structure with the type member set to
.BR GraphicsExpose .
The display member is set to a pointer to the display the event was read on.
The send_event member is set to
.B True
if the event came from a
.B SendEvent
protocol request.
The serial member is set from the serial number reported in the protocol
but expanded from the 16-bit least-significant bits to a full 32-bit value.
The window member is set to the window that is most useful to toolkit
dispatchers.
.LP
The event member is set either to the reparented window
or to the old or the new parent, depending on whether
.B StructureNotify
or
.B SubstructureNotify
was selected.
The window member is set to the window that was reparented.
The parent member is set to the new parent window.
The x and y members are set to the reparented window's coordinates relative
to the new parent window's
origin and define the upper-left outer corner of the reparented window.
The override_redirect member is set to the override-redirect attribute of the
window specified by the window member.
Window manager clients normally should ignore this window
if the override_redirect member is
.BR True .
.SH "SEE ALSO"
XAnyEvent(__libmansuffix__),
XButtonEvent(__libmansuffix__),
XCreateWindowEvent(__libmansuffix__),
XCirculateEvent(__libmansuffix__),
XCirculateRequestEvent(__libmansuffix__),
XColormapEvent(__libmansuffix__),
XConfigureEvent(__libmansuffix__),
XConfigureRequestEvent(__libmansuffix__),
XCrossingEvent(__libmansuffix__),
XDestroyWindowEvent(__libmansuffix__),
XErrorEvent(__libmansuffix__),
XExposeEvent(__libmansuffix__),
XFocusChangeEvent(__libmansuffix__),
XGraphicsExposeEvent(__libmansuffix__),
XGravityEvent(__libmansuffix__),
XKeymapEvent(__libmansuffix__),
XMapEvent(__libmansuffix__),
XMapRequestEvent(__libmansuffix__),
XPropertyEvent(__libmansuffix__),
XResizeRequestEvent(__libmansuffix__),
XSelectionClearEvent(__libmansuffix__),
XSelectionEvent(__libmansuffix__),
XSelectionRequestEvent(__libmansuffix__),
XUnmapEvent(__libmansuffix__),
XVisibilityEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XSetWindowColormap.man 0000644 0001750 0001750 00000000101 14222353101 014506 0000000 0000000 .so man__libmansuffix__/XChangeWindowAttributes.__libmansuffix__
libX11-1.7.5/man/XRefreshKeyboardMapping.man 0000644 0001750 0001750 00000000067 14222353101 015474 0000000 0000000 .so man__libmansuffix__/XLookupKeysym.__libmansuffix__
libX11-1.7.5/man/PlanesOfScreen.man 0000644 0001750 0001750 00000000074 14222353101 013616 0000000 0000000 .so man__libmansuffix__/BlackPixelOfScreen.__libmansuffix__
libX11-1.7.5/man/XcmsLookupColor.man 0000644 0001750 0001750 00000000070 14222353101 014046 0000000 0000000 .so man__libmansuffix__/XcmsQueryColor.__libmansuffix__
libX11-1.7.5/man/XFreeFontSet.man 0000644 0001750 0001750 00000000070 14222353101 013257 0000000 0000000 .so man__libmansuffix__/XCreateFontSet.__libmansuffix__
libX11-1.7.5/man/XClassHint.man 0000644 0001750 0001750 00000000071 14222353101 012764 0000000 0000000 .so man__libmansuffix__/XAllocClassHint.__libmansuffix__
libX11-1.7.5/man/Makefile.am 0000644 0001750 0001750 00000103274 14222353101 012314 0000000 0000000 SUBDIRS = xkb
libmandir = $(LIB_MAN_DIR)
libman_PRE = \
$(all_shadows:=.man) \
$(file_shadows:=.man) \
AllPlanes.man \
BlackPixelOfScreen.man \
DisplayOfCCC.man \
ImageByteOrder.man \
IsCursorKey.man \
XAddConnectionWatch.man \
XAddHost.man \
XAllocClassHint.man \
XAllocColor.man \
XAllocIconSize.man \
XAllocSizeHints.man \
XAllocStandardColormap.man \
XAllocWMHints.man \
XAllowEvents.man \
XAnyEvent.man \
XButtonEvent.man \
XChangeKeyboardControl.man \
XChangeKeyboardMapping.man \
XChangePointerControl.man \
XChangeSaveSet.man \
XChangeWindowAttributes.man \
XCirculateEvent.man \
XCirculateRequestEvent.man \
XClearArea.man \
XClientMessageEvent.man \
XcmsAllocColor.man \
XcmsCCCOfColormap.man \
XcmsCIELabQueryMaxC.man \
XcmsCIELuvQueryMaxC.man \
XcmsColor.man \
XcmsConvertColors.man \
XcmsCreateCCC.man \
XcmsDefaultCCC.man \
XcmsQueryBlack.man \
XcmsQueryColor.man \
XcmsSetWhitePoint.man \
XcmsStoreColor.man \
XcmsTekHVCQueryMaxC.man \
XColormapEvent.man \
XConfigureEvent.man \
XConfigureRequestEvent.man \
XConfigureWindow.man \
XCopyArea.man \
XCreateColormap.man \
XCreateFontCursor.man \
XCreateFontSet.man \
XCreateGC.man \
XCreateIC.man \
XCreateOC.man \
XCreatePixmap.man \
XCreateRegion.man \
XCreateWindowEvent.man \
XCreateWindow.man \
XCrossingEvent.man \
XDefineCursor.man \
XDestroyWindowEvent.man \
XDestroyWindow.man \
XDrawArc.man \
XDrawImageString.man \
XDrawLine.man \
XDrawPoint.man \
XDrawRectangle.man \
XDrawString.man \
XDrawText.man \
XEmptyRegion.man \
XErrorEvent.man \
XExposeEvent.man \
XExtentsOfFontSet.man \
XFillRectangle.man \
XFilterEvent.man \
XFlush.man \
XFocusChangeEvent.man \
XFontSetExtents.man \
XFontsOfFontSet.man \
XFree.man \
XGetEventData.man \
XGetVisualInfo.man \
XGetWindowAttributes.man \
XGetWindowProperty.man \
XGetXCBConnection.man \
XGrabButton.man \
XGrabKeyboard.man \
XGrabKey.man \
XGrabPointer.man \
XGrabServer.man \
XGraphicsExposeEvent.man \
XGravityEvent.man \
XIconifyWindow.man \
XIfEvent.man \
XInitImage.man \
XInitThreads.man \
XInstallColormap.man \
XInternAtom.man \
XIntersectRegion.man \
XKeymapEvent.man \
XListFonts.man \
XLoadFont.man \
XLookupKeysym.man \
XMapEvent.man \
XMapRequestEvent.man \
XMapWindow.man \
XmbDrawImageString.man \
XmbDrawString.man \
XmbDrawText.man \
XmbLookupString.man \
XmbResetIC.man \
XmbTextEscapement.man \
XmbTextExtents.man \
XmbTextListToTextProperty.man \
XmbTextPerCharExtents.man \
XNextEvent.man \
XNoOp.man \
XOpenDisplay.man \
XOpenIM.man \
XOpenOM.man \
XParseGeometry.man \
XPolygonRegion.man \
XPropertyEvent.man \
XPutBackEvent.man \
XPutImage.man \
XQueryBestSize.man \
XQueryColor.man \
XQueryExtension.man \
XQueryPointer.man \
XQueryTree.man \
XRaiseWindow.man \
XReadBitmapFile.man \
XRecolorCursor.man \
XReparentEvent.man \
XReparentWindow.man \
XResizeRequestEvent.man \
XResourceManagerString.man \
XrmEnumerateDatabase.man \
XrmGetFileDatabase.man \
XrmGetResource.man \
XrmInitialize.man \
XrmMergeDatabases.man \
XrmPutResource.man \
XrmUniqueQuark.man \
XSaveContext.man \
XSelectInput.man \
XSelectionClearEvent.man \
XSelectionEvent.man \
XSelectionRequestEvent.man \
XSendEvent.man \
XSetArcMode.man \
XSetClipOrigin.man \
XSetCloseDownMode.man \
XSetCommand.man \
XSetErrorHandler.man \
XSetEventQueueOwner.man \
XSetFillStyle.man \
XSetFont.man \
XSetFontPath.man \
XSetICFocus.man \
XSetICValues.man \
XSetInputFocus.man \
XSetLineAttributes.man \
XSetPointerMapping.man \
XSetScreenSaver.man \
XSetSelectionOwner.man \
XSetState.man \
XSetTextProperty.man \
XSetTile.man \
XSetTransientForHint.man \
XSetWMClientMachine.man \
XSetWMColormapWindows.man \
XSetWMIconName.man \
XSetWMName.man \
XSetWMProperties.man \
XSetWMProtocols.man \
XStoreBytes.man \
XStoreColors.man \
XStringListToTextProperty.man \
XStringToKeysym.man \
XSupportsLocale.man \
XSynchronize.man \
XTextExtents.man \
XTextWidth.man \
XTranslateCoordinates.man \
XUnmapEvent.man \
XUnmapWindow.man \
XVaCreateNestedList.man \
XVisibilityEvent.man \
XWarpPointer.man
filemandir = $(FILE_MAN_DIR)
fileman_PRE = Compose.man
libman_DATA = $(libman_PRE:man=@LIB_MAN_SUFFIX@) \
$(all_shadows:=.@LIB_MAN_SUFFIX@)
fileman_DATA = $(fileman_PRE:man=@FILE_MAN_SUFFIX@) \
$(file_shadows:=.@FILE_MAN_SUFFIX@)
EXTRA_DIST = $(libman_PRE) $(fileman_PRE)
CLEANFILES = $(libman_DATA) $(fileman_DATA)
SUFFIXES = .$(LIB_MAN_SUFFIX) .$(FILE_MAN_SUFFIX) .man
MAN_SUBSTS += -e 's|__xlocaledir__|$(X11_LOCALEDATADIR)|g'
# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
.man.$(LIB_MAN_SUFFIX) .man.$(FILE_MAN_SUFFIX):
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
# Generate man page shadow files (Replaces InstallManPageAliases from Imake)
all_shadows = \
$(AllPlanes_shadows) \
$(BlackPixelOfScreen_shadows) \
$(DisplayOfCCC_shadows) \
$(ImageByteOrder_shadows) \
$(IsCursorKey_shadows) \
$(XAllocClassHint_shadows) \
$(XAllocIconSize_shadows) \
$(XAllocStandardColormap_shadows) \
$(XAllocSizeHints_shadows) \
$(XAllocWMHints_shadows) \
$(XAddHost_shadows) \
$(XAllocColor_shadows) \
$(XAnyEvent_shadows) \
$(XButtonEvent_shadows) \
$(XChangeKeyboardControl_shadows) \
$(XChangeKeyboardMapping_shadows) \
$(XChangePointerControl_shadows) \
$(XChangeSaveSet_shadows) \
$(XChangeWindowAttributes_shadows) \
$(XClearArea_shadows) \
$(XConfigureWindow_shadows) \
$(XCopyArea_shadows) \
$(XCreateColormap_shadows) \
$(XCreateFontCursor_shadows) \
$(XCreateFontSet_shadows) \
$(XCreateGC_shadows) \
$(XCreateIC_shadows) \
$(XInitImage_shadows) \
$(XCreateOC_shadows) \
$(XCreatePixmap_shadows) \
$(XCreateRegion_shadows) \
$(XCreateWindow_shadows) \
$(XDefineCursor_shadows) \
$(XDestroyWindow_shadows) \
$(XDrawArc_shadows) \
$(XDrawImageString_shadows) \
$(XDrawLine_shadows) \
$(XDrawPoint_shadows) \
$(XDrawRectangle_shadows) \
$(XDrawString_shadows) \
$(XDrawText_shadows) \
$(XEmptyRegion_shadows) \
$(XFillRectangle_shadows) \
$(XFlush_shadows) \
$(XFontsOfFontSet_shadows) \
$(XGraphicsExposeEvent_shadows) \
$(XrmGetFileDatabase_shadows) \
$(XrmGetResource_shadows) \
$(XGetEventData_shadows) \
$(XGetVisualInfo_shadows) \
$(XGetWindowAttributes_shadows) \
$(XGetWindowProperty_shadows) \
$(XGrabButton_shadows) \
$(XGrabKey_shadows) \
$(XGrabKeyboard_shadows) \
$(XGrabPointer_shadows) \
$(XGrabServer_shadows) \
$(XIconifyWindow_shadows) \
$(XIfEvent_shadows) \
$(XrmInitialize_shadows) \
$(XInstallColormap_shadows) \
$(XAddConnectionWatch_shadows) \
$(XIntersectRegion_shadows) \
$(XInternAtom_shadows) \
$(XListFonts_shadows) \
$(XLoadFont_shadows) \
$(XLookupKeysym_shadows) \
$(XrmMergeDatabases_shadows) \
$(XMapEvent_shadows) \
$(XMapWindow_shadows) \
$(XNextEvent_shadows) \
$(XOpenDisplay_shadows) \
$(XOpenIM_shadows) \
$(XOpenOM_shadows) \
$(XParseGeometry_shadows) \
$(XPolygonRegion_shadows) \
$(XPutImage_shadows) \
$(XrmPutResource_shadows) \
$(XQueryBestSize_shadows) \
$(XQueryColor_shadows) \
$(XQueryExtension_shadows) \
$(XResourceManagerString_shadows) \
$(XRaiseWindow_shadows) \
$(XReadBitmapFile_shadows) \
$(XRecolorCursor_shadows) \
$(XSaveContext_shadows) \
$(XSetICFocus_shadows) \
$(XSetICValues_shadows) \
$(XStringListToTextProperty_shadows) \
$(XSetArcMode_shadows) \
$(XSetClipOrigin_shadows) \
$(XSetCloseDownMode_shadows) \
$(XSetCommand_shadows) \
$(XSetErrorHandler_shadows) \
$(XSendEvent_shadows) \
$(XSetFillStyle_shadows) \
$(XSetFontPath_shadows) \
$(XSetInputFocus_shadows) \
$(XSetLineAttributes_shadows) \
$(XSetPointerMapping_shadows) \
$(XSetScreenSaver_shadows) \
$(XSetSelectionOwner_shadows) \
$(XSetState_shadows) \
$(XSetTransientForHint_shadows) \
$(XSetTextProperty_shadows) \
$(XSetTile_shadows) \
$(XSetWMClientMachine_shadows) \
$(XSetWMColormapWindows_shadows) \
$(XSetWMIconName_shadows) \
$(XSetWMName_shadows) \
$(XSetWMProperties_shadows) \
$(XSetWMProtocols_shadows) \
$(XStoreBytes_shadows) \
$(XStoreColors_shadows) \
$(XStringToKeysym_shadows) \
$(XSupportsLocale_shadows) \
$(XSynchronize_shadows) \
$(XmbTextListToTextProperty_shadows) \
$(XTextExtents_shadows) \
$(XTextWidth_shadows) \
$(XInitThreads_shadows) \
$(XrmUniqueQuark_shadows) \
$(XUnmapWindow_shadows) \
$(XcmsCCCOfColormap_shadows) \
$(XcmsAllocColor_shadows) \
$(XcmsColor_shadows) \
$(XcmsCreateCCC_shadows) \
$(XcmsCIELabQueryMaxC_shadows) \
$(XcmsCIELuvQueryMaxC_shadows) \
$(XcmsQueryBlack_shadows) \
$(XcmsQueryColor_shadows) \
$(XcmsStoreColor_shadows) \
$(XcmsSetWhitePoint_shadows) \
$(XcmsTekHVCQueryMaxC_shadows) \
$(XmbDrawImageString_shadows) \
$(XmbDrawString_shadows) \
$(XmbDrawText_shadows) \
$(XmbLookupString_shadows) \
$(XmbResetIC_shadows) \
$(XmbTextEscapement_shadows) \
$(XmbTextExtents_shadows) \
$(XmbTextPerCharExtents_shadows)
AllPlanes_shadows = \
BlackPixel \
WhitePixel \
ConnectionNumber \
DefaultColormap \
DefaultDepth \
XListDepths \
DefaultGC \
DefaultRootWindow \
DefaultScreenOfDisplay \
DefaultScreen \
DefaultVisual \
DisplayCells \
DisplayPlanes \
DisplayString \
XMaxRequestSize \
XExtendedMaxRequestSize \
LastKnownRequestProcessed \
NextRequest \
ProtocolVersion \
ProtocolRevision \
QLength \
RootWindow \
ScreenCount \
ScreenOfDisplay \
ServerVendor \
VendorRelease
BlackPixelOfScreen_shadows = \
WhitePixelOfScreen \
CellsOfScreen \
DefaultColormapOfScreen \
DefaultDepthOfScreen \
DefaultGCOfScreen \
DefaultVisualOfScreen \
DoesBackingStore \
DoesSaveUnders \
DisplayOfScreen \
XScreenNumberOfScreen \
EventMaskOfScreen \
HeightOfScreen \
HeightMMOfScreen \
MaxCmapsOfScreen \
MinCmapsOfScreen \
PlanesOfScreen \
RootWindowOfScreen \
WidthOfScreen \
WidthMMOfScreen
DisplayOfCCC_shadows = \
VisualOfCCC \
ScreenNumberOfCCC \
ScreenWhitePointOfCCC \
ClientWhitePointOfCCC
ImageByteOrder_shadows = \
BitmapBitOrder \
BitmapPad \
BitmapUnit \
DisplayHeight \
DisplayHeightMM \
DisplayWidth \
DisplayWidthMM \
XListPixmapFormats \
XPixmapFormatValues
IsCursorKey_shadows = \
IsFunctionKey \
IsKeypadKey \
IsMiscFunctionKey \
IsModifierKey \
IsPFKey \
IsPrivateKeypadKey
XAllocClassHint_shadows = \
XSetClassHint \
XGetClassHint \
XClassHint
XAllocIconSize_shadows = \
XSetIconSizes \
XGetIconSizes \
XIconSize
XAllocStandardColormap_shadows = \
XSetRGBColormaps \
XGetRGBColormaps \
XStandardColormap
XAllocSizeHints_shadows = \
XSetWMNormalHints \
XGetWMNormalHints \
XSetWMSizeHints \
XGetWMSizeHints \
XSizeHints
XAllocWMHints_shadows = \
XSetWMHints \
XGetWMHints \
XWMHints
XAddHost_shadows = \
XAddHosts \
XListHosts \
XRemoveHost \
XRemoveHosts \
XSetAccessControl \
XEnableAccessControl \
XDisableAccessControl \
XHostAddress
XAllocColor_shadows = \
XAllocNamedColor \
XAllocColorCells \
XAllocColorPlanes \
XFreeColors
XAnyEvent_shadows = \
XEvent
XButtonEvent_shadows = \
XKeyEvent \
XMotionEvent
XChangeKeyboardControl_shadows = \
XGetKeyboardControl \
XAutoRepeatOn \
XAutoRepeatOff \
XBell \
XQueryKeymap \
XKeyboardControl
XChangeKeyboardMapping_shadows = \
XGetKeyboardMapping \
XDisplayKeycodes \
XSetModifierMapping \
XGetModifierMapping \
XNewModifiermap \
XInsertModifiermapEntry \
XDeleteModifiermapEntry \
XFreeModifiermap \
XModifierKeymap
XChangePointerControl_shadows = \
XGetPointerControl
XChangeSaveSet_shadows = \
XAddToSaveSet \
XRemoveFromSaveSet
XChangeWindowAttributes_shadows = \
XSetWindowBackground \
XSetWindowBackgroundPixmap \
XSetWindowBorder \
XSetWindowBorderPixmap \
XSetWindowColormap
XClearArea_shadows = \
XClearWindow
XConfigureWindow_shadows = \
XMoveWindow \
XResizeWindow \
XMoveResizeWindow \
XSetWindowBorderWidth \
XWindowChanges
XCopyArea_shadows = \
XCopyPlane
XCreateColormap_shadows = \
XCopyColormapAndFree \
XFreeColormap \
XColor
XCreateFontCursor_shadows = \
XCreatePixmapCursor \
XCreateGlyphCursor
XCreateFontSet_shadows = \
XFreeFontSet
XCreateGC_shadows = \
XCopyGC \
XChangeGC \
XGetGCValues \
XFreeGC \
XGContextFromGC \
XGCValues
XCreateIC_shadows = \
XDestroyIC \
XIMOfIC
XInitImage_shadows = \
XCreateImage \
XGetPixel \
XPutPixel \
XSubImage \
XAddPixel \
XDestroyImage
XCreateOC_shadows = \
XDestroyOC \
XSetOCValues \
XGetOCValues \
XOMOfOC
XCreatePixmap_shadows = \
XFreePixmap
XCreateRegion_shadows = \
XSetRegion \
XDestroyRegion
XCreateWindow_shadows = \
XCreateSimpleWindow \
XSetWindowAttributes
XDefineCursor_shadows = \
XUndefineCursor
XDestroyWindow_shadows = \
XDestroySubwindows
XDrawArc_shadows = \
XDrawArcs \
XArc
XDrawImageString_shadows = \
XDrawImageString16
XDrawLine_shadows = \
XDrawLines \
XDrawSegments \
XSegment
XDrawPoint_shadows = \
XDrawPoints \
XPoint
XDrawRectangle_shadows = \
XDrawRectangles \
XRectangle
XDrawString_shadows = \
XDrawString16
XDrawText_shadows = \
XDrawText16 \
XTextItem \
XTextItem16
XEmptyRegion_shadows = \
XEqualRegion \
XPointInRegion \
XRectInRegion
XFillRectangle_shadows = \
XFillRectangles \
XFillPolygon \
XFillArc \
XFillArcs
XFlush_shadows = \
XSync \
XEventsQueued \
XPending
XFontsOfFontSet_shadows = \
XBaseFontNameListOfFontSet \
XLocaleOfFontSet \
XContextDependentDrawing \
XContextualDrawing \
XDirectionalDependentDrawing
XGraphicsExposeEvent_shadows = \
XNoExposeEvent
XrmGetFileDatabase_shadows = \
XrmPutFileDatabase \
XrmGetStringDatabase \
XrmLocaleOfDatabase \
XrmGetDatabase \
XrmSetDatabase \
XrmDestroyDatabase
XrmGetResource_shadows = \
XrmQGetResource \
XrmQGetSearchList \
XrmQGetSearchResource
XGetEventData_shadows = \
XFreeEventData \
XGenericEventCookie
XGetVisualInfo_shadows = \
XMatchVisualInfo \
XVisualIDFromVisual \
XVisualInfo
XGetWindowAttributes_shadows = \
XGetGeometry \
XWindowAttributes
XGetWindowProperty_shadows = \
XListProperties \
XChangeProperty \
XRotateWindowProperties \
XDeleteProperty
XGrabButton_shadows = \
XUngrabButton
XGrabKey_shadows = \
XUngrabKey
XGrabKeyboard_shadows = \
XUngrabKeyboard
XGrabPointer_shadows = \
XUngrabPointer \
XChangeActivePointerGrab
XGrabServer_shadows = \
XUngrabServer
XIconifyWindow_shadows = \
XWithdrawWindow \
XReconfigureWMWindow
XIfEvent_shadows = \
XCheckIfEvent \
XPeekIfEvent
XrmInitialize_shadows = \
XrmParseCommand \
XrmValue \
XrmOptionKind \
XrmOptionDescRec
XInstallColormap_shadows = \
XUninstallColormap \
XListInstalledColormaps
XAddConnectionWatch_shadows = \
XRemoveConnectionWatch \
XProcessInternalConnection \
XInternalConnectionNumbers
XIntersectRegion_shadows = \
XUnionRegion \
XUnionRectWithRegion \
XSubtractRegion \
XXorRegion \
XOffsetRegion \
XShrinkRegion
XInternAtom_shadows = \
XInternAtoms \
XGetAtomName \
XGetAtomNames
XListFonts_shadows = \
XFreeFontNames \
XListFontsWithInfo \
XFreeFontInfo
XLoadFont_shadows = \
XQueryFont \
XLoadQueryFont \
XFreeFont \
XGetFontProperty \
XUnloadFont \
XCharStruct \
XFontProp \
XChar2b \
XFontStruct
XLookupKeysym_shadows = \
XRefreshKeyboardMapping \
XLookupString \
XRebindKeysym
XrmMergeDatabases_shadows = \
XrmCombineDatabase \
XrmCombineFileDatabase
XMapEvent_shadows = \
XMappingEvent
XMapWindow_shadows = \
XMapRaised \
XMapSubwindows
XNextEvent_shadows = \
XPeekEvent \
XWindowEvent \
XCheckWindowEvent \
XMaskEvent \
XCheckMaskEvent \
XCheckTypedEvent \
XCheckTypedWindowEvent
XOpenDisplay_shadows = \
XCloseDisplay
XOpenIM_shadows = \
XCloseIM \
XSetIMValues \
XGetIMValues \
XDisplayOfIM \
XLocaleOfIM \
XRegisterIMInstantiateCallback \
XUnregisterIMInstantiateCallback
XOpenOM_shadows = \
XCloseOM \
XSetOMValues \
XGetOMValues \
XDisplayOfOM \
XLocaleOfOM
XParseGeometry_shadows = \
XWMGeometry
XPolygonRegion_shadows = \
XClipBox
XPutImage_shadows = \
XGetImage \
XGetSubImage
XrmPutResource_shadows = \
XrmQPutResource \
XrmPutStringResource \
XrmQPutStringResource \
XrmPutLineResource
XQueryBestSize_shadows = \
XQueryBestTile \
XQueryBestStipple
XQueryColor_shadows = \
XQueryColors \
XLookupColor \
XParseColor
XQueryExtension_shadows = \
XListExtensions \
XFreeExtensionList
XResourceManagerString_shadows = \
XScreenResourceString
XRaiseWindow_shadows = \
XLowerWindow \
XCirculateSubwindows \
XCirculateSubwindowsUp \
XCirculateSubwindowsDown \
XRestackWindows
XReadBitmapFile_shadows = \
XReadBitmapFileData \
XWriteBitmapFile \
XCreatePixmapFromBitmapData \
XCreateBitmapFromData
XRecolorCursor_shadows = \
XFreeCursor \
XQueryBestCursor
XSaveContext_shadows = \
XFindContext \
XDeleteContext \
XUniqueContext
XSetICFocus_shadows = \
XUnsetICFocus
XSetICValues_shadows = \
XGetICValues
XStringListToTextProperty_shadows = \
XTextPropertyToStringList \
XFreeStringList \
XTextProperty
XSetArcMode_shadows = \
XSetSubwindowMode \
XSetGraphicsExposure
XSetClipOrigin_shadows = \
XSetClipMask \
XSetClipRectangles
XSetCloseDownMode_shadows = \
XKillClient
XSetCommand_shadows = \
XGetCommand
XSetErrorHandler_shadows = \
XGetErrorText \
XDisplayName \
XSetIOErrorHandler \
XGetErrorDatabaseText
XSendEvent_shadows = \
XDisplayMotionBufferSize \
XGetMotionEvents \
XTimeCoord
XSetFillStyle_shadows = \
XSetFillRule
XSetFontPath_shadows = \
XGetFontPath \
XFreeFontPath
XSetInputFocus_shadows = \
XGetInputFocus
XSetLineAttributes_shadows = \
XSetDashes
XSetPointerMapping_shadows = \
XGetPointerMapping
XSetScreenSaver_shadows = \
XForceScreenSaver \
XActivateScreenSaver \
XResetScreenSaver \
XGetScreenSaver
XSetSelectionOwner_shadows = \
XGetSelectionOwner \
XConvertSelection
XSetState_shadows = \
XSetFunction \
XSetPlaneMask \
XSetForeground \
XSetBackground
XSetTransientForHint_shadows = \
XGetTransientForHint
XSetTextProperty_shadows = \
XGetTextProperty
XSetTile_shadows = \
XSetStipple \
XSetTSOrigin
XSetWMClientMachine_shadows = \
XGetWMClientMachine
XSetWMColormapWindows_shadows = \
XGetWMColormapWindows
XSetWMIconName_shadows = \
XGetWMIconName \
XSetIconName \
XGetIconName
XSetWMName_shadows = \
XGetWMName \
XStoreName \
XFetchName
XSetWMProperties_shadows = \
XmbSetWMProperties \
Xutf8SetWMProperties
XSetWMProtocols_shadows = \
XGetWMProtocols
XStoreBytes_shadows = \
XStoreBuffer \
XFetchBytes \
XFetchBuffer \
XRotateBuffers
XStoreColors_shadows = \
XStoreColor \
XStoreNamedColor
XStringToKeysym_shadows = \
XKeysymToString \
XKeycodeToKeysym \
XKeysymToKeycode \
XConvertCase
XSupportsLocale_shadows = \
XSetLocaleModifiers
XSynchronize_shadows = \
XSetAfterFunction
XmbTextListToTextProperty_shadows = \
XwcTextListToTextProperty \
Xutf8TextListToTextProperty \
XmbTextPropertyToTextList \
XwcTextPropertyToTextList \
Xutf8TextPropertyToTextList \
XwcFreeStringList \
XDefaultString
XTextExtents_shadows = \
XTextExtents16 \
XQueryTextExtents \
XQueryTextExtents16
XTextWidth_shadows = \
XTextWidth16
XInitThreads_shadows = \
XLockDisplay \
XUnlockDisplay
XrmUniqueQuark_shadows = \
XrmStringToQuark \
XrmPermStringToQuark \
XrmQuarkToString \
XrmStringToQuarkList \
XrmStringToBindingQuarkList
XUnmapWindow_shadows = \
XUnmapSubwindows
XcmsCCCOfColormap_shadows = \
XcmsSetCCCOfColormap
XcmsAllocColor_shadows = \
XcmsAllocNamedColor
XcmsColor_shadows = \
XcmsRGB \
XcmsRGBi \
XcmsCIEXYZ \
XcmsCIEuvY \
XcmsCIExyY \
XcmsCIELab \
XcmsCIELuv \
XcmsTekHVC \
XcmsPad
XcmsCreateCCC_shadows = \
XcmsFreeCCC
XcmsCIELabQueryMaxC_shadows = \
XcmsCIELabQueryMaxL \
XcmsCIELabQueryMaxLC \
XcmsCIELabQueryMinL
XcmsCIELuvQueryMaxC_shadows = \
XcmsCIELuvQueryMaxL \
XcmsCIELuvQueryMaxLC \
XcmsCIELuvQueryMinL
XcmsQueryBlack_shadows = \
XcmsQueryBlue \
XcmsQueryGreen \
XcmsQueryRed \
XcmsQueryWhite
XcmsQueryColor_shadows = \
XcmsQueryColors \
XcmsLookupColor
XcmsStoreColor_shadows = \
XcmsStoreColors
XcmsSetWhitePoint_shadows = \
XcmsSetWhiteAdjustProc
XcmsTekHVCQueryMaxC_shadows = \
XcmsTekHVCQueryMaxV \
XcmsTekHVCQueryMaxVC \
XcmsTekHVCQueryMaxVSamples \
XcmsTekHVCQueryMinV
XmbDrawImageString_shadows = \
XwcDrawImageString \
Xutf8DrawImageString
XmbDrawString_shadows = \
XwcDrawString \
Xutf8DrawString
XmbDrawText_shadows = \
XwcDrawText \
Xutf8DrawText
XmbLookupString_shadows = \
XwcLookupString \
Xutf8LookupString
XmbResetIC_shadows = \
XwcResetIC \
Xutf8ResetIC
XmbTextEscapement_shadows = \
XwcTextEscapement \
Xutf8TextEscapement
XmbTextExtents_shadows = \
XwcTextExtents \
Xutf8TextExtents
XmbTextPerCharExtents_shadows = \
XwcTextPerCharExtents \
Xutf8TextPerCharExtents
file_shadows = \
$(Compose_shadows)
Compose_shadows = \
XCompose
libX11-1.7.5/man/XcmsCIELuv.man 0000644 0001750 0001750 00000000063 14222353101 012667 0000000 0000000 .so man__libmansuffix__/XcmsColor.__libmansuffix__
libX11-1.7.5/man/XKeymapEvent.man 0000644 0001750 0001750 00000011761 14222353101 013334 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XKeymapEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XKeymapEvent \- KeymapNotify event structure
.SH STRUCTURES
The structure for
.B KeymapNotify
events contains:
.LP
.EX
/\&* generated on EnterWindow and FocusIn when KeymapState selected */
typedef struct {
int type; /\&* KeymapNotify */
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window window;
char key_vector[32];
} XKeymapEvent;
.EE
.LP
When you receive this event,
the structure members are set as follows.
.LP
The type member is set to the event type constant name that uniquely identifies
it.
For example, when the X server reports a
.B GraphicsExpose
event to a client application, it sends an
.B XGraphicsExposeEvent
structure with the type member set to
.BR GraphicsExpose .
The display member is set to a pointer to the display the event was read on.
The send_event member is set to
.B True
if the event came from a
.B SendEvent
protocol request.
The serial member is set from the serial number reported in the protocol
but expanded from the 16-bit least-significant bits to a full 32-bit value.
The window member is set to the window that is most useful to toolkit
dispatchers.
.LP
The window member is not used but is present to aid some toolkits.
The key_vector member is set to the bit vector of the keyboard.
Each bit set to 1 indicates that the corresponding key
is currently pressed.
The vector is represented as 32 bytes.
Byte N (from 0) contains the bits for keys 8N to 8N + 7
with the least significant bit in the byte representing key 8N.
.SH "SEE ALSO"
XAnyEvent(__libmansuffix__),
XButtonEvent(__libmansuffix__),
XCreateWindowEvent(__libmansuffix__),
XCirculateEvent(__libmansuffix__),
XCirculateRequestEvent(__libmansuffix__),
XColormapEvent(__libmansuffix__),
XConfigureEvent(__libmansuffix__),
XConfigureRequestEvent(__libmansuffix__),
XCrossingEvent(__libmansuffix__),
XDestroyWindowEvent(__libmansuffix__),
XErrorEvent(__libmansuffix__),
XExposeEvent(__libmansuffix__),
XFocusChangeEvent(__libmansuffix__),
XGraphicsExposeEvent(__libmansuffix__),
XGravityEvent(__libmansuffix__),
XMapEvent(__libmansuffix__),
XMapRequestEvent(__libmansuffix__),
XPropertyEvent(__libmansuffix__),
XReparentEvent(__libmansuffix__),
XResizeRequestEvent(__libmansuffix__),
XSelectionClearEvent(__libmansuffix__),
XSelectionEvent(__libmansuffix__),
XSelectionRequestEvent(__libmansuffix__),
XUnmapEvent(__libmansuffix__),
XVisibilityEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XFreePixmap.man 0000644 0001750 0001750 00000000067 14222353101 013141 0000000 0000000 .so man__libmansuffix__/XCreatePixmap.__libmansuffix__
libX11-1.7.5/man/XAnyEvent.man 0000644 0001750 0001750 00000015104 14222353101 012630 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XAnyEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XAnyEvent, XEvent \- generic X event structures
.SH STRUCTURES
All the event structures declared in
.RB < X11/Xlib.h >
have the following common members:
.EX
typedef struct {
int type;
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window window;
} XAnyEvent;
.EE
.LP
The type member is set to the event type constant name that uniquely identifies
it.
For example, when the X server reports a
.B GraphicsExpose
event to a client application, it sends an
.B XGraphicsExposeEvent
structure with the type member set to
.BR GraphicsExpose .
The display member is set to a pointer to the display the event was read on.
The send_event member is set to
.B True
if the event came from a
.B SendEvent
protocol request.
The serial member is set from the serial number reported in the protocol
but expanded from the 16-bit least-significant bits to a full 32-bit value.
The window member is set to the window that is most useful to toolkit
dispatchers.
.LP
The
.B XEvent
structure is a union of the individual structures declared for each event type:
.EX
typedef union _XEvent {
int type; /\&* must not be changed */
XAnyEvent xany;
XKeyEvent xkey;
XButtonEvent xbutton;
XMotionEvent xmotion;
XCrossingEvent xcrossing;
XFocusChangeEvent xfocus;
XExposeEvent xexpose;
XGraphicsExposeEvent xgraphicsexpose;
XNoExposeEvent xnoexpose;
XVisibilityEvent xvisibility;
XCreateWindowEvent xcreatewindow;
XDestroyWindowEvent xdestroywindow;
XUnmapEvent xunmap;
XMapEvent xmap;
XMapRequestEvent xmaprequest;
XReparentEvent xreparent;
XConfigureEvent xconfigure;
XGravityEvent xgravity;
XResizeRequestEvent xresizerequest;
XConfigureRequestEvent xconfigurerequest;
XCirculateEvent xcirculate;
XCirculateRequestEvent xcirculaterequest;
XPropertyEvent xproperty;
XSelectionClearEvent xselectionclear;
XSelectionRequestEvent xselectionrequest;
XSelectionEvent xselection;
XColormapEvent xcolormap;
XClientMessageEvent xclient;
XMappingEvent xmapping;
XErrorEvent xerror;
XKeymapEvent xkeymap;
long pad[24];
} XEvent;
.EE
.LP
An
.B XEvent
structure's first entry always is the type member,
which is set to the event type.
The second member always is the serial number of the protocol request
that generated the event.
The third member always is send_event,
which is a
.B Bool
that indicates if the event was sent by a different client.
The fourth member always is a display,
which is the display that the event was read from.
Except for keymap events,
the fifth member always is a window,
which has been carefully selected to be useful to toolkit dispatchers.
To avoid breaking toolkits,
the order of these first five entries is not to change.
Most events also contain a time member,
which is the time at which an event occurred.
In addition, a pointer to the generic event must be cast before it
is used to access any other information in the structure.
.SH "SEE ALSO"
XButtonEvent(__libmansuffix__),
XCreateWindowEvent(__libmansuffix__),
XCirculateEvent(__libmansuffix__),
XCirculateRequestEvent(__libmansuffix__),
XColormapEvent(__libmansuffix__),
XConfigureEvent(__libmansuffix__),
XConfigureRequestEvent(__libmansuffix__),
XCrossingEvent(__libmansuffix__),
XDestroyWindowEvent(__libmansuffix__),
XErrorEvent(__libmansuffix__),
XExposeEvent(__libmansuffix__),
XFocusChangeEvent(__libmansuffix__),
XGraphicsExposeEvent(__libmansuffix__),
XGravityEvent(__libmansuffix__),
XKeymapEvent(__libmansuffix__),
XMapEvent(__libmansuffix__),
XMapRequestEvent(__libmansuffix__),
XPropertyEvent(__libmansuffix__),
XReparentEvent(__libmansuffix__),
XResizeRequestEvent(__libmansuffix__),
XSelectionClearEvent(__libmansuffix__),
XSelectionEvent(__libmansuffix__),
XSelectionRequestEvent(__libmansuffix__),
XUnmapEvent(__libmansuffix__),
XVisibilityEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XGetPixel.man 0000644 0001750 0001750 00000000064 14222353101 012617 0000000 0000000 .so man__libmansuffix__/XInitImage.__libmansuffix__
libX11-1.7.5/man/XSetWMNormalHints.man 0000644 0001750 0001750 00000000071 14222353101 014252 0000000 0000000 .so man__libmansuffix__/XAllocSizeHints.__libmansuffix__
libX11-1.7.5/man/XGetWMSizeHints.man 0000644 0001750 0001750 00000000071 14222353101 013720 0000000 0000000 .so man__libmansuffix__/XAllocSizeHints.__libmansuffix__
libX11-1.7.5/man/Xutf8ResetIC.man 0000644 0001750 0001750 00000000064 14222353101 013203 0000000 0000000 .so man__libmansuffix__/XmbResetIC.__libmansuffix__
libX11-1.7.5/man/XcmsTekHVC.man 0000644 0001750 0001750 00000000063 14222353101 012664 0000000 0000000 .so man__libmansuffix__/XcmsColor.__libmansuffix__
libX11-1.7.5/man/XSetArcMode.man 0000644 0001750 0001750 00000011162 14222353101 013065 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSetArcMode __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSetArcMode, XSetSubwindowMode, XSetGraphicsExposure \- GC convenience routines
.SH SYNTAX
.HP
int XSetArcMode\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, int
\fIarc_mode\fP\^);
.HP
int XSetSubwindowMode\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, int
\fIsubwindow_mode\fP\^);
.HP
int XSetGraphicsExposures\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, Bool
\fIgraphics_exposures\fP\^);
.SH ARGUMENTS
.IP \fIarc_mode\fP 1i
Specifies the arc mode.
You can pass
.B ArcChord
or
.BR ArcPieSlice .
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIgc\fP 1i
Specifies the GC.
.IP \fIgraphics_exposures\fP 1i
Specifies a Boolean value that indicates whether you want
.B GraphicsExpose
and
.B NoExpose
events to be reported when calling
.B XCopyArea
and
.B XCopyPlane
with this GC.
.IP \fIsubwindow_mode\fP 1i
Specifies the subwindow mode.
You can pass
.B ClipByChildren
or
.BR IncludeInferiors .
.SH DESCRIPTION
The
.B XSetArcMode
function sets the arc mode in the specified GC.
.LP
.B XSetArcMode
can generate
.BR BadAlloc ,
.BR BadGC ,
and
.B BadValue
errors.
.LP
The
.B XSetSubwindowMode
function sets the subwindow mode in the specified GC.
.LP
.B XSetSubwindowMode
can generate
.BR BadAlloc ,
.BR BadGC ,
and
.B BadValue
errors.
.LP
The
.B XSetGraphicsExposures
function sets the graphics-exposures flag in the specified GC.
.LP
.B XSetGraphicsExposures
can generate
.BR BadAlloc ,
.BR BadGC ,
and
.B BadValue
errors.
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadGC
A value for a GContext argument does not name a defined GContext.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
XCopyArea(__libmansuffix__),
XCreateGC(__libmansuffix__),
XQueryBestSize(__libmansuffix__),
XSetClipOrigin(__libmansuffix__),
XSetFillStyle(__libmansuffix__),
XSetFont(__libmansuffix__),
XSetLineAttributes(__libmansuffix__),
XSetState(__libmansuffix__),
XSetTile(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/DisplayWidth.man 0000644 0001750 0001750 00000000070 14222353101 013350 0000000 0000000 .so man__libmansuffix__/ImageByteOrder.__libmansuffix__
libX11-1.7.5/man/DefaultScreenOfDisplay.man 0000644 0001750 0001750 00000000063 14222353101 015304 0000000 0000000 .so man__libmansuffix__/AllPlanes.__libmansuffix__
libX11-1.7.5/man/XPutBackEvent.man 0000644 0001750 0001750 00000006245 14222353101 013440 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XPutBackEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XPutBackEvent \- put events back on the queue
.SH SYNTAX
.HP
XPutBackEvent\^(\^Display *\fIdisplay\fP\^, XEvent *\fIevent\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIevent\fP 1i
Specifies the event.
.SH DESCRIPTION
The
.B XPutBackEvent
function pushes an event back onto the head of the display's event queue
by copying the event into the queue.
This can be useful if you read an event and then decide that you
would rather deal with it later.
There is no limit to the number of times in succession that you can call
.BR XPutBackEvent .
.SH "SEE ALSO"
XAnyEvent(__libmansuffix__),
XIfEvent(__libmansuffix__),
XNextEvent(__libmansuffix__),
XSendEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XGetWMHints.man 0000644 0001750 0001750 00000000067 14222353101 013072 0000000 0000000 .so man__libmansuffix__/XAllocWMHints.__libmansuffix__
libX11-1.7.5/man/XQueryBestStipple.man 0000644 0001750 0001750 00000000070 14222353101 014357 0000000 0000000 .so man__libmansuffix__/XQueryBestSize.__libmansuffix__
libX11-1.7.5/man/XSetIMValues.man 0000644 0001750 0001750 00000000061 14222353101 013234 0000000 0000000 .so man__libmansuffix__/XOpenIM.__libmansuffix__
libX11-1.7.5/man/XcmsCIELab.man 0000644 0001750 0001750 00000000063 14222353101 012617 0000000 0000000 .so man__libmansuffix__/XcmsColor.__libmansuffix__
libX11-1.7.5/man/XTextPropertyToStringList.man 0000644 0001750 0001750 00000000103 14222353101 016107 0000000 0000000 .so man__libmansuffix__/XStringListToTextProperty.__libmansuffix__
libX11-1.7.5/man/XAllocColorPlanes.man 0000644 0001750 0001750 00000000065 14222353101 014273 0000000 0000000 .so man__libmansuffix__/XAllocColor.__libmansuffix__
libX11-1.7.5/man/EventMaskOfScreen.man 0000644 0001750 0001750 00000000074 14222353101 014271 0000000 0000000 .so man__libmansuffix__/BlackPixelOfScreen.__libmansuffix__
libX11-1.7.5/man/XSetFontPath.man 0000644 0001750 0001750 00000011470 14222353101 013300 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSetFontPath __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSetFontPath, XGetFontPath, XFreeFontPath \- set, get, or free the font search path
.SH SYNTAX
int XSetFontPath\^(\^Display *\fIdisplay\fP\^, char **\fIdirectories\fP\^, int
\fIndirs\fP\^);
.HP
char **XGetFontPath\^(\^Display *\fIdisplay\fP\^, int *\fInpaths_return\fP\^);
.HP
int XFreeFontPath\^(\^char **\fIlist\fP\^);
.SH ARGUMENTS
.IP \fIdirectories\fP 1i
Specifies the directory path used to look for a font.
Setting the path to the empty list restores the default path defined
for the X server.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIlist\fP 1i
Specifies the array of strings you want to free.
.IP \fIndirs\fP 1i
Specifies the number of directories in the path.
.IP \fInpaths_return\fP 1i
Returns the number of strings in the font path array.
.SH DESCRIPTION
The
.B XSetFontPath
function defines the directory search path for font lookup.
There is only one search path per X server, not one per client.
The encoding and interpretation of the strings are implementation-dependent,
but typically they specify directories or font servers to be searched
in the order listed.
An X server is permitted to cache font information internally;
for example, it might cache an entire font from a file and not
check on subsequent opens of that font to see if the underlying
font file has changed.
However,
when the font path is changed,
the X server is guaranteed to flush all cached information about fonts
for which there currently are no explicit resource IDs allocated.
The meaning of an error from this request is implementation-dependent.
.LP
.B XSetFontPath
can generate a
.B BadValue
error.
.LP
The
.B XGetFontPath
function allocates and returns an array of strings containing the search path.
The contents of these strings are implementation-dependent
and are not intended to be interpreted by client applications.
When it is no longer needed,
the data in the font path should be freed by using
.BR XFreeFontPath .
.LP
The
.B XFreeFontPath
function
frees the data allocated by
.BR XGetFontPath .
.SH DIAGNOSTICS
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
XListFont(__libmansuffix__),
XLoadFonts(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/RootWindow.man 0000644 0001750 0001750 00000000063 14222353101 013060 0000000 0000000 .so man__libmansuffix__/AllPlanes.__libmansuffix__
libX11-1.7.5/man/XSetWindowBackgroundPixmap.man 0000644 0001750 0001750 00000000101 14222353101 016170 0000000 0000000 .so man__libmansuffix__/XChangeWindowAttributes.__libmansuffix__
libX11-1.7.5/man/XDisableAccessControl.man 0000644 0001750 0001750 00000000062 14222353101 015122 0000000 0000000 .so man__libmansuffix__/XAddHost.__libmansuffix__
libX11-1.7.5/man/XDrawLine.man 0000644 0001750 0001750 00000015700 14222353101 012606 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XDrawLine __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XDrawLine, XDrawLines, XDrawSegments, XSegment \- draw lines, polygons, and line structure
.SH SYNTAX
.HP
int XDrawLine\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC \fIgc\fP\^,
int \fIx1\fP\^, int \fIy1\fP\^, int \fIx2\fP\^, int \fIy2\fP\^);
.HP
int XDrawLines\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
\fIgc\fP\^, XPoint *\fIpoints\fP\^, int \fInpoints\fP\^, int \fImode\fP\^);
.HP
int XDrawSegments\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
\fIgc\fP\^, XSegment *\fIsegments\fP\^, int \fInsegments\fP\^);
.SH ARGUMENTS
.IP \fId\fP 1i
Specifies the drawable.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIgc\fP 1i
Specifies the GC.
.IP \fImode\fP 1i
Specifies the coordinate mode.
You can pass
.B CoordModeOrigin
or
.BR CoordModePrevious .
.IP \fInpoints\fP 1i
Specifies the number of points in the array.
.IP \fInsegments\fP 1i
Specifies the number of segments in the array.
.IP \fIpoints\fP 1i
Specifies an array of points.
.IP \fIsegments\fP 1i
Specifies an array of segments.
.IP \fIx1\fP 1i
.br
.ns
.IP \fIy1\fP 1i
.br
.ns
.IP \fIx2\fP 1i
.br
.ns
.IP \fIy2\fP 1i
Specify the points (x1, y1) and (x2, y2) to be connected.
.SH DESCRIPTION
The
.B XDrawLine
function uses the components of the specified GC to
draw a line between the specified set of points (x1, y1) and (x2, y2).
It does not perform joining at coincident endpoints.
For any given line,
.B XDrawLine
does not draw a pixel more than once.
If lines intersect, the intersecting pixels are drawn multiple times.
.LP
The
.B XDrawLines
function uses the components of the specified GC to draw
npoints\-1 lines between each pair of points (point[i], point[i+1])
in the array of
.B XPoint
structures.
It draws the lines in the order listed in the array.
The lines join correctly at all intermediate points, and if the first and last
points coincide, the first and last lines also join correctly.
For any given line,
.B XDrawLines
does not draw a pixel more than once.
If thin (zero line-width) lines intersect,
the intersecting pixels are drawn multiple times.
If wide lines intersect, the intersecting pixels are drawn only once, as though
the entire
.B PolyLine
protocol request were a single, filled shape.
.B CoordModeOrigin
treats all coordinates as relative to the origin,
and
.B CoordModePrevious
treats all coordinates after the first as relative to the previous point.
.LP
The
.B XDrawSegments
function draws multiple, unconnected lines.
For each segment,
.B XDrawSegments
draws a
line between (x1, y1) and (x2, y2).
It draws the lines in the order listed in the array of
.B XSegment
structures and does not perform joining at coincident endpoints.
For any given line,
.B XDrawSegments
does not draw a pixel more than once.
If lines intersect, the intersecting pixels are drawn multiple times.
.LP
All three functions use these GC components:
function, plane-mask, line-width,
line-style, cap-style, fill-style, subwindow-mode,
clip-x-origin, clip-y-origin, and clip-mask.
The
.B XDrawLines
function also uses the join-style GC component.
All three functions also use these GC mode-dependent components:
foreground, background, tile, stipple, tile-stipple-x-origin,
tile-stipple-y-origin, dash-offset, and dash-list.
.LP
.BR XDrawLine ,
.BR XDrawLines ,
and
.B XDrawSegments
can generate
.BR BadDrawable ,
.BR BadGC ,
and
.B BadMatch
errors.
.B XDrawLines
can also generate a
.B BadValue
error.
.SH STRUCTURES
The
.B XSegment
structure contains:
.LP
.EX
typedef struct {
short x1, y1, x2, y2;
} XSegment;
.EE
.LP
All x and y members are signed integers.
The width and height members are 16-bit unsigned integers.
You should be careful not to generate coordinates and sizes
out of the 16-bit ranges, because the protocol only has 16-bit fields
for these values.
.SH DIAGNOSTICS
.TP 1i
.B BadDrawable
A value for a Drawable argument does not name a defined Window or Pixmap.
.TP 1i
.B BadGC
A value for a GContext argument does not name a defined GContext.
.TP 1i
.B BadMatch
An
.B InputOnly
window is used as a Drawable.
.TP 1i
.B BadMatch
Some argument or pair of arguments has the correct type and range but fails
to match in some other way required by the request.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
XDrawArc(__libmansuffix__),
XDrawPoint(__libmansuffix__),
XDrawRectangle(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XArc.man 0000644 0001750 0001750 00000000062 14222353101 011601 0000000 0000000 .so man__libmansuffix__/XDrawArc.__libmansuffix__
libX11-1.7.5/man/XSetCommand.man 0000644 0001750 0001750 00000011642 14222353101 013134 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSetCommand __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSetCommand, XGetCommand \- set or read a window's WM_COMMAND property
.SH SYNTAX
.HP
int XSetCommand\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, char
**\fIargv\fP\^, int \fIargc\fP\^);
.HP
Status XGetCommand\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, char
***\fIargv_return\fP\^, int *\fIargc_return\fP\^);
.SH ARGUMENTS
.IP \fIargc\fP 1i
Specifies the number of arguments.
.IP \fIargc_return\fP 1i
Returns the number of arguments returned.
.IP \fIargv\fP 1i
Specifies the application's argument list.
.IP \fIargv_return\fP 1i
Returns the application's argument list.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIw\fP 1i
Specifies the window.
.SH DESCRIPTION
The
.B XSetCommand
function sets the command and arguments used to invoke the
application.
(Typically, argv is the argv array of your main program.)
If the strings are not in the Host Portable Character Encoding,
the result is implementation-dependent.
.LP
.B XSetCommand
can generate
.B BadAlloc
and
.B BadWindow
errors.
.LP
The
.B XGetCommand
function reads the WM_COMMAND property from the specified window
and returns a string list.
If the WM_COMMAND property exists,
it is of type STRING and format 8.
If sufficient memory can be allocated to contain the string list,
.B XGetCommand
fills in the argv_return and argc_return arguments
and returns a nonzero status.
Otherwise, or if any other error is encountered, it returns a zero status.
If the data returned by the server is in the Latin Portable Character Encoding,
then the returned strings are in the Host Portable Character Encoding.
Otherwise, the result is implementation-dependent.
To free the memory allocated to the string list, use
.BR XFreeStringList .
.SH PROPERTIES
.TP 1i
\s-1WM_COMMAND\s+1
The command and arguments, null-separated, used to invoke the
application.
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XAllocClassHint(__libmansuffix__),
XAllocIconSize(__libmansuffix__),
XAllocSizeHints(__libmansuffix__),
XAllocWMHints(__libmansuffix__),
XSetTransientForHint(__libmansuffix__),
XSetTextProperty(__libmansuffix__),
XSetWMClientMachine(__libmansuffix__),
XSetWMColormapWindows(__libmansuffix__),
XSetWMIconName(__libmansuffix__),
XSetWMName(__libmansuffix__),
XSetWMProperties(__libmansuffix__),
XSetWMProtocols(__libmansuffix__),
XStringListToTextProperty(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XSetWindowBorderPixmap.man 0000644 0001750 0001750 00000000101 14222353101 015326 0000000 0000000 .so man__libmansuffix__/XChangeWindowAttributes.__libmansuffix__
libX11-1.7.5/man/XClearArea.man 0000644 0001750 0001750 00000012230 14222353101 012713 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XClearArea __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XClearArea, XClearWindow \- clear area or window
.SH SYNTAX
.HP
int XClearArea\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, int \fIx\fP\^,
int \fIy\fP\^, unsigned \fIwidth\fP\^, unsigned \fIheight\fP\^,
Bool \fIexposures\fP\^);
.HP
int XClearWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIexposures\fP 1i
Specifies a Boolean value that indicates if
.B Expose
events are to be generated.
.IP \fIw\fP 1i
Specifies the window.
.IP \fIwidth\fP 1i
.br
.ns
.IP \fIheight\fP 1i
Specify the width and height, which are the dimensions of the rectangle.
.ds Xy
.IP \fIx\fP 1i
.br
.ns
.IP \fIy\fP 1i
Specify the x and y coordinates, which are relative to the origin of the window
and specify the upper-left corner of the rectangle.
.SH DESCRIPTION
The
.B XClearArea
function paints a rectangular area in the specified window according to the
specified dimensions with the window's background pixel or pixmap.
The subwindow-mode effectively is
.BR ClipByChildren .
If width is zero, it
is replaced with the current width of the window minus x.
If height is
zero, it is replaced with the current height of the window minus y.
If the window has a defined background tile,
the rectangle clipped by any children is filled with this tile.
If the window has
background
.BR None ,
the contents of the window are not changed.
In either
case, if exposures is
.BR True ,
one or more
.B Expose
events are generated for regions of the rectangle that are either visible or are
being retained in a backing store.
If you specify a window whose class is
.BR InputOnly ,
a
.B BadMatch
error results.
.LP
.B XClearArea
can generate
.BR BadMatch ,
.BR BadValue ,
and
.B BadWindow
errors.
.LP
The
.B XClearWindow
function clears the entire area in the specified window and is
equivalent to
.B XClearArea
(display, w, 0, 0, 0, 0,
.BR False ).
If the window has a defined background tile, the rectangle is tiled with a
plane-mask of all ones and
.B GXcopy
function.
If the window has
background
.BR None ,
the contents of the window are not changed.
If you specify a window whose class is
.BR InputOnly ,
a
.B BadMatch
error results.
.LP
.B XClearWindow
can generate
.B BadMatch
and
.B BadWindow
errors.
.SH DIAGNOSTICS
.TP 1i
.B BadMatch
An
.B InputOnly
window is used as a Drawable.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XCopyArea(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/NextRequest.man 0000644 0001750 0001750 00000000063 14222353101 013234 0000000 0000000 .so man__libmansuffix__/AllPlanes.__libmansuffix__
libX11-1.7.5/man/XRemoveFromSaveSet.man 0000644 0001750 0001750 00000000070 14222353101 014447 0000000 0000000 .so man__libmansuffix__/XChangeSaveSet.__libmansuffix__
libX11-1.7.5/man/XDrawRectangle.man 0000644 0001750 0001750 00000012400 14222353101 013615 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XDrawRectangle __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XDrawRectangle, XDrawRectangles, XRectangle \- draw rectangles and rectangles structure
.SH SYNTAX
.HP
int XDrawRectangle\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
\fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, unsigned int \fIwidth\fP\^, unsigned
int \fIheight\fP\^);
.HP
int XDrawRectangles\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
\fIgc\fP\^, XRectangle \fIrectangles\fP\^[\^]\^, int \fInrectangles\fP\^);
.SH ARGUMENTS
.IP \fId\fP 1i
Specifies the drawable.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIgc\fP 1i
Specifies the GC.
.IP \fInrectangles\fP 1i
Specifies the number of rectangles in the array.
.IP \fIrectangles\fP 1i
Specifies an array of rectangles.
.IP \fIwidth\fP 1i
.br
.ns
.IP \fIheight\fP 1i
Specify the width and height, which specify the dimensions of the rectangle.
.IP \fIx\fP 1i
.br
.ns
.IP \fIy\fP 1i
Specify the x and y coordinates, which specify the upper-left corner of the rectangle.
.SH DESCRIPTION
The
.B XDrawRectangle
and
.B XDrawRectangles
functions draw the outlines of the specified rectangle or rectangles as
if a five-point
.B PolyLine
protocol request were specified for each rectangle:
.IP
[x,y] [x+width,y] [x+width,y+height] [x,y+height] [x,y]
.LP
For the specified rectangle or rectangles,
these functions do not draw a pixel more than once.
.B XDrawRectangles
draws the rectangles in the order listed in the array.
If rectangles intersect,
the intersecting pixels are drawn multiple times.
.LP
Both functions use these GC components:
function, plane-mask, line-width,
line-style, cap-style, join-style, fill-style,
subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
They also use these GC mode-dependent components:
foreground, background, tile, stipple, tile-stipple-x-origin,
tile-stipple-y-origin, dash-offset, and dash-list.
.LP
.B XDrawRectangle
and
.B XDrawRectangles
can generate
.BR BadDrawable ,
.BR BadGC ,
and
.B BadMatch
errors.
.SH STRUCTURES
The
.B XRectangle
structure contains:
.LP
.EX
typedef struct {
short x, y;
unsigned short width, height;
} XRectangle;
.EE
.LP
All x and y members are signed integers.
The width and height members are 16-bit unsigned integers.
You should be careful not to generate coordinates and sizes
out of the 16-bit ranges, because the protocol only has 16-bit fields
for these values.
.SH DIAGNOSTICS
.TP 1i
.B BadDrawable
A value for a Drawable argument does not name a defined Window or Pixmap.
.TP 1i
.B BadGC
A value for a GContext argument does not name a defined GContext.
.TP 1i
.B BadMatch
An
.B InputOnly
window is used as a Drawable.
.TP 1i
.B BadMatch
Some argument or pair of arguments has the correct type and range but fails
to match in some other way required by the request.
.SH "SEE ALSO"
XDrawArc(__libmansuffix__),
XDrawLine(__libmansuffix__),
XDrawPoint(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XCopyArea.man 0000644 0001750 0001750 00000016220 14222353101 012602 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XCopyArea __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XCopyArea, XCopyPlane \- copy areas
.SH SYNTAX
.HP
int XCopyArea\^(\^Display *\fIdisplay\fP\^, Drawable \fIsrc\fP\^, Drawable
\fIdest\fP\^, GC \fIgc\fP\^, int \fIsrc_x\fP\^, int \fIsrc_y\fP\^, unsigned
int \fIwidth\fP\^, unsigned \fIheight\fP\^, int \fIdest_x\fP\^, int
\fIdest_y\fP\^);
.HP
int XCopyPlane\^(\^Display *\fIdisplay\fP\^, Drawable \fIsrc\fP\^, Drawable
\fIdest\fP\^, GC \fIgc\fP\^, int \fIsrc_x\fP\^, int \fIsrc_y\fP\^, unsigned
\fIwidth\fP\^, unsigned \fIheight\fP\^, int \fIdest_x\fP\^, int \fIdest_y\fP\^,
unsigned long \fIplane\fP\^);
.SH ARGUMENTS
.IP \fIdest_x\fP 1i
.br
.ns
.IP \fIdest_y\fP 1i
Specify the x and y coordinates, which are relative to the origin of the destination rectangle and specify its upper-left corner.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIgc\fP 1i
Specifies the GC.
.IP \fIplane\fP 1i
Specifies the bit plane.
You must set exactly one bit to 1.
.IP \fIsrc\fP 1i
.br
.ns
.IP \fIdest\fP 1i
Specify the source and destination rectangles to be combined.
.IP \fIsrc_x\fP 1i
.br
.ns
.IP \fIsrc_y\fP 1i
Specify the x and y coordinates,
which are relative to the origin of the source rectangle
and specify its upper-left corner.
.IP \fIwidth\fP 1i
.br
.ns
.IP \fIheight\fP 1i
Specify the width and height, which are the dimensions
of both the source and destination rectangles.
.SH DESCRIPTION
The
.B XCopyArea
function combines the specified rectangle of src with the specified rectangle
of dest.
The drawables must have the same root and depth,
or a
.B BadMatch
error results.
.LP
If regions of the source rectangle are obscured and have not been
retained in backing store
or if regions outside the boundaries of the source drawable are specified,
those regions are not copied.
Instead, the
following occurs on all corresponding destination regions that are either
visible or are retained in backing store.
If the destination is a window with a background other than
.BR None ,
corresponding regions
of the destination are tiled with that background
(with plane-mask of all ones and
.B GXcopy
function).
Regardless of tiling or whether the destination is a window or a pixmap,
if graphics-exposures is
.BR True ,
then
.B GraphicsExpose
events for all corresponding destination regions are generated.
If graphics-exposures is
.B True
but no
.B GraphicsExpose
events are generated, a
.B NoExpose
event is generated.
Note that by default graphics-exposures is
.B True
in new GCs.
.LP
This function uses these GC components: function, plane-mask,
subwindow-mode, graphics-exposures, clip-x-origin,
clip-y-origin, and clip-mask.
.LP
.B XCopyArea
can generate
.BR BadDrawable ,
.BR BadGC ,
and
.B BadMatch
errors.
.LP
The
.B XCopyPlane
function uses a single bit plane of the specified source rectangle
combined with the specified GC to modify the specified rectangle of dest.
The drawables must have the same root but need not have the same depth.
If the drawables do not have the same root, a
.B BadMatch
error results.
If plane does not have exactly one bit set to 1 and the value of plane
is not less than %2 sup n%, where \fIn\fP is the depth of src, a
.B BadValue
error results.
.LP
Effectively,
.B XCopyPlane
forms a pixmap of the same depth as the rectangle of dest and with a
size specified by the source region.
It uses the foreground/background pixels in the GC (foreground
everywhere the bit plane in src contains a bit set to 1,
background everywhere the bit plane in src contains a bit set to 0)
and the equivalent of a
.B CopyArea
protocol request is performed with all the same exposure semantics.
This can also be thought of as using the specified region of the source
bit plane as a stipple with a fill-style of
.B FillOpaqueStippled
for filling a rectangular area of the destination.
.LP
This function uses these GC components: function, plane-mask, foreground,
background, subwindow-mode, graphics-exposures, clip-x-origin, clip-y-origin,
and clip-mask.
.LP
.B XCopyPlane
can generate
.BR BadDrawable ,
.BR BadGC ,
.BR BadMatch ,
and
.B BadValue
errors.
.SH DIAGNOSTICS
.TP 1i
.B BadDrawable
A value for a Drawable argument does not name a defined Window or Pixmap.
.TP 1i
.B BadGC
A value for a GContext argument does not name a defined GContext.
.TP 1i
.B BadMatch
An
.B InputOnly
window is used as a Drawable.
.TP 1i
.B BadMatch
Some argument or pair of arguments has the correct type and range but fails
to match in some other way required by the request.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
XClearArea(__libmansuffix__)
.br
\fIXlib \- C Language X Interface\fP
libX11-1.7.5/man/XGetPointerMapping.man 0000644 0001750 0001750 00000000074 14222353101 014473 0000000 0000000 .so man__libmansuffix__/XSetPointerMapping.__libmansuffix__
libX11-1.7.5/man/XIfEvent.man 0000644 0001750 0001750 00000013442 14222353101 012442 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XIfEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XIfEvent, XCheckIfEvent, XPeekIfEvent \- check the event queue with a predicate procedure
.SH SYNTAX
.HP
int XIfEvent\^(\^Display *\fIdisplay\fP\^, XEvent *\fIevent_return\fP\^, Bool
(\^*\fIpredicate\fP\^)\^(\^)\^, XPointer \fIarg\fP\^);
.HP
Bool XCheckIfEvent\^(\^Display *\fIdisplay\fP\^, XEvent *\fIevent_return\fP\^,
Bool (\^*\fIpredicate\fP\^)\^(\^)\^, XPointer \fIarg\fP\^);
.HP
int XPeekIfEvent\^(\^Display *\fIdisplay\fP\^, XEvent *\fIevent_return\fP\^,
Bool (\^*\fIpredicate\fP\^)\^(\^)\^, XPointer \fIarg\fP\^);
.SH ARGUMENTS
.IP \fIarg\fP 1i
Specifies the user-supplied argument that will be passed to the predicate procedure.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIevent_return\fP 1i
Returns either a copy of or the matched event's associated structure.
.IP \fIpredicate\fP 1i
Specifies the procedure that is to be called to determine
if the next event in the queue matches what you want.
.SH DESCRIPTION
The
.B XIfEvent
function completes only when the specified predicate
procedure returns
.B True
for an event,
which indicates an event in the queue matches.
.B XIfEvent
flushes the output buffer if it blocks waiting for additional events.
.B XIfEvent
removes the matching event from the queue
and copies the structure into the client-supplied
.B XEvent
structure.
.LP
When the predicate procedure finds a match,
.B XCheckIfEvent
copies the matched event into the client-supplied
.B XEvent
structure and returns
.BR True .
(This event is removed from the queue.)
If the predicate procedure finds no match,
.B XCheckIfEvent
returns
.BR False ,
and the output buffer will have been flushed.
All earlier events stored in the queue are not discarded.
.LP
The
.B XPeekIfEvent
function returns only when the specified predicate
procedure returns
.B True
for an event.
After the predicate procedure finds a match,
.B XPeekIfEvent
copies the matched event into the client-supplied
.B XEvent
structure without removing the event from the queue.
.B XPeekIfEvent
flushes the output buffer if it blocks waiting for additional events.
.LP
Each of these functions requires you to pass a predicate procedure that
determines if an event matches what you want.
Your predicate procedure must decide if the event is useful
without calling any Xlib functions.
If the predicate directly or indirectly causes the state of the event queue
to change, the result is not defined.
If Xlib has been initialized for threads, the predicate is called with
the display locked and the result of a call by the predicate to any
Xlib function that locks the display is not defined unless the caller
has first called
.BR XLockDisplay .
.LP
The predicate procedure and its associated arguments are:
.HP
Bool (\^*\fIpredicate\fP\^)\^(\^Display *\fIdisplay\fP, XEvent *\fIevent\fP, XPointer \fIarg\fP\^)
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIevent\fP 1i
Specifies the
.B XEvent
structure.
.IP \fIarg\fP 1i
Specifies the argument passed in from the
.BR XIfEvent ,
.BR XCheckIfEvent ,
or
.B XPeekIfEvent
function.
.LP
The predicate procedure is called once for each
event in the queue until it finds a match.
After finding a match, the predicate procedure must return
.BR True .
If it did not find a match, it must return
.BR False .
.SH "SEE ALSO"
XAnyEvent(__libmansuffix__),
XNextEvent(__libmansuffix__),
XPutBackEvent(__libmansuffix__)
XSendEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XrmLocaleOfDatabase.man 0000644 0001750 0001750 00000000074 14222353101 014547 0000000 0000000 .so man__libmansuffix__/XrmGetFileDatabase.__libmansuffix__
libX11-1.7.5/man/XcmsQueryWhite.man 0000644 0001750 0001750 00000000070 14222353101 013704 0000000 0000000 .so man__libmansuffix__/XcmsQueryBlack.__libmansuffix__
libX11-1.7.5/man/XChangePointerControl.man 0000644 0001750 0001750 00000011654 14222353101 015174 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XChangePointerControl __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XChangePointerControl, XGetPointerControl \- control pointer
.SH SYNTAX
.HP
int XChangePointerControl\^(\^Display *\fIdisplay\fP\^, Bool \fIdo_accel\fP\^,
Bool \fIdo_threshold\fP\^, int \fIaccel_numerator\fP\^, int
\fIaccel_denominator\fP\^, int \fIthreshold\fP\^);
.HP
int XGetPointerControl\^(\^Display *\fIdisplay\fP\^, int
*\fIaccel_numerator_return\fP\^, int *\fIaccel_denominator_return\fP\^, int
*\fIthreshold_return\fP\^);
.SH ARGUMENTS
.IP \fIaccel_denominator\fP 1i
Specifies the denominator for the acceleration multiplier.
.IP \fIaccel_denominator_return\fP 1i
Returns the denominator for the acceleration multiplier.
.IP \fIaccel_numerator\fP 1i
Specifies the numerator for the acceleration multiplier.
.IP \fIaccel_numerator_return\fP 1i
Returns the numerator for the acceleration multiplier.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIdo_accel\fP 1i
Specifies a Boolean value that controls whether the values for
the accel_numerator or accel_denominator are used.
.IP \fIdo_threshold\fP 1i
Specifies a Boolean value that controls whether the value for the
threshold is used.
.IP \fIthreshold\fP 1i
Specifies the acceleration threshold.
.IP \fIthreshold_return\fP 1i
Returns the acceleration threshold.
.SH DESCRIPTION
The
.B XChangePointerControl
function defines how the pointing device moves.
The acceleration, expressed as a fraction, is a
multiplier for movement.
For example,
specifying 3/1 means the pointer moves three times as fast as normal.
The fraction may be rounded arbitrarily by the X server.
Acceleration
only takes effect if the pointer moves more than threshold pixels at
once and only applies to the amount beyond the value in the threshold argument.
Setting a value to \-1 restores the default.
The values of the do_accel and do_threshold arguments must be
.B True
for the pointer values to be set,
or the parameters are unchanged.
Negative values (other than \-1) generate a
.B BadValue
error, as does a zero value
for the accel_denominator argument.
.LP
.B XChangePointerControl
can generate a
.B BadValue
error.
.LP
The
.B XGetPointerControl
function returns the pointer's current acceleration multiplier
and acceleration threshold.
.SH DIAGNOSTICS
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
\fI\*(xL\fP
libX11-1.7.5/man/XSubImage.man 0000644 0001750 0001750 00000000064 14222353101 012572 0000000 0000000 .so man__libmansuffix__/XInitImage.__libmansuffix__
libX11-1.7.5/man/XSync.man 0000644 0001750 0001750 00000000060 14222353101 012006 0000000 0000000 .so man__libmansuffix__/XFlush.__libmansuffix__
libX11-1.7.5/man/XcmsTekHVCQueryMaxVSamples.man 0000644 0001750 0001750 00000000075 14222353101 016036 0000000 0000000 .so man__libmansuffix__/XcmsTekHVCQueryMaxC.__libmansuffix__
libX11-1.7.5/man/XOMOfOC.man 0000644 0001750 0001750 00000000063 14222353101 012117 0000000 0000000 .so man__libmansuffix__/XCreateOC.__libmansuffix__
libX11-1.7.5/man/XDrawRectangles.man 0000644 0001750 0001750 00000000070 14222353101 014000 0000000 0000000 .so man__libmansuffix__/XDrawRectangle.__libmansuffix__
libX11-1.7.5/man/XStoreBytes.man 0000644 0001750 0001750 00000012712 14222353101 013204 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XStoreBytes __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XStoreBytes, XStoreBuffer, XFetchBytes, XFetchBuffer, XRotateBuffers \- manipulate cut and paste buffers
.SH SYNTAX
.HP
int XStoreBytes\^(\^Display *\fIdisplay\fP\^, _Xconst char *\fIbytes\fP\^, int
\^\fInbytes\fP\^);
.HP
int XStoreBuffer\^(\^Display *\fIdisplay\fP\^, _Xconst char *\fIbytes\fP\^, int
\^\fInbytes\fP\^, int \fIbuffer\fP\^);
.HP
char *XFetchBytes\^(\^Display *\fIdisplay\fP\^, int *\fInbytes_return\fP\^);
.HP
char *XFetchBuffer\^(\^Display *\fIdisplay\fP\^, int *\fInbytes_return\fP\^,
int \fIbuffer\fP\^);
.HP
int XRotateBuffers\^(\^Display *\fIdisplay\fP\^, int \fIrotate\fP\^);
.SH ARGUMENTS
.IP \fIbuffer\fP 1i
Specifies the buffer in which you want to store the bytes
or from which you want the stored data returned.
.IP \fIbytes\fP 1i
Specifies the bytes, which are not necessarily ASCII or null-terminated.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fInbytes\fP 1i
Specifies the number of bytes to be stored.
.IP \fInbytes_return\fP 1i
Returns the number of bytes in the buffer.
.IP \fIrotate\fP 1i
Specifies how much to rotate the cut buffers.
.SH DESCRIPTION
The data can have embedded null characters
and need not be null-terminated.
The cut buffer's contents can be retrieved later by
any client calling
.BR XFetchBytes .
.LP
.B XStoreBytes
can generate a
.B BadAlloc
error.
.LP
If an invalid buffer is specified, the call has no effect.
The data can have embedded null characters
and need not be null-terminated.
.LP
.B XStoreBuffer
can generate a
.B BadAlloc
error.
.LP
The
.B XFetchBytes
function
returns the number of bytes in the nbytes_return argument,
if the buffer contains data.
Otherwise, the function
returns NULL and sets nbytes to 0.
The appropriate amount of storage is allocated and the pointer returned.
The client must free this storage when finished with it by calling
.BR XFree .
.LP
The
.B XFetchBuffer
function returns zero to the nbytes_return argument
if there is no data in the buffer or if an invalid
buffer is specified.
.LP
.B XFetchBuffer
can generate a
.B BadValue
error.
.LP
The
.B XRotateBuffers
function rotates the cut
buffers, such that buffer 0 becomes buffer n,
buffer 1 becomes n + 1 mod 8, and so on.
This cut buffer numbering is global to the display.
Note that
.B XRotateBuffers
generates
.B BadMatch
errors if any of the eight buffers have not been created.
.LP
.B XRotateBuffers
can generate a
.B BadMatch
error.
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadAtom
A value for an Atom argument does not name a defined Atom.
.TP 1i
.B BadMatch
Some argument or pair of arguments has the correct type and range but fails
to match in some other way required by the request.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
XFree(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/WidthOfScreen.man 0000644 0001750 0001750 00000000074 14222353101 013453 0000000 0000000 .so man__libmansuffix__/BlackPixelOfScreen.__libmansuffix__
libX11-1.7.5/man/XcmsCIExyY.man 0000644 0001750 0001750 00000000063 14222353101 012712 0000000 0000000 .so man__libmansuffix__/XcmsColor.__libmansuffix__
libX11-1.7.5/man/XSelectInput.man 0000644 0001750 0001750 00000010370 14222353101 013336 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSelectInput __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSelectInput \- select input events
.SH SYNTAX
.HP
int XSelectInput\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, long
\fIevent_mask\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIevent_mask\fP 1i
Specifies the event mask.
.IP \fIw\fP 1i
Specifies the window whose events you are interested in.
.SH DESCRIPTION
The
.B XSelectInput
function requests that the X server report the events associated with the
specified event mask.
Initially, X will not report any of these events.
Events are reported relative to a window.
If a window is not interested in a device event, it usually propagates to
the closest ancestor that is interested,
unless the do_not_propagate mask prohibits it.
.LP
Setting the event-mask attribute of a window overrides any previous call
for the same window but not for other clients.
Multiple clients can select for the same events on the same window
with the following restrictions:
.IP \(bu 5
Multiple clients can select events on the same window because their event masks
are disjoint.
When the X server generates an event, it reports it
to all interested clients.
.IP \(bu 5
Only one client at a time can select
.BR CirculateRequest ,
.BR ConfigureRequest ,
or
.B MapRequest
events, which are associated with
the event mask
.BR SubstructureRedirectMask .
.IP \(bu 5
Only one client at a time can select
a
.B ResizeRequest
event, which is associated with
the event mask
.BR ResizeRedirectMask .
.IP \(bu 5
Only one client at a time can select a
.B ButtonPress
event, which is associated with
the event mask
.BR ButtonPressMask .
.LP
The server reports the event to all interested clients.
.LP
.B XSelectInput
can generate a
.B BadWindow
error.
.SH DIAGNOSTICS
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
\fI\*(xL\fP
libX11-1.7.5/man/XDrawPoints.man 0000644 0001750 0001750 00000000064 14222353101 013170 0000000 0000000 .so man__libmansuffix__/XDrawPoint.__libmansuffix__
libX11-1.7.5/man/MinCmapsOfScreen.man 0000644 0001750 0001750 00000000074 14222353101 014103 0000000 0000000 .so man__libmansuffix__/BlackPixelOfScreen.__libmansuffix__
libX11-1.7.5/man/XcmsCIELabQueryMaxC.man 0000644 0001750 0001750 00000012231 14222353101 014416 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XcmsCIELabQueryMax __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XcmsCIELabQueryMaxC, XcmsCIELabQueryMaxL, XcmsCIELabQueryMaxLC, XcmsCIELabQueryMinL \- obtain the CIE L*a*b* coordinates
.SH SYNTAX
.HP
Status XcmsCIELabQueryMaxC\^(\^XcmsCCC \fIccc\fP\^, XcmsFloat
\fIhue_angle\fP\^, XcmsFloat \fIL_star\fP\^, XcmsColor *\fIcolor_return\fP\^);
.HP
Status XcmsCIELabQueryMaxL\^(\^XcmsCCC \fIccc\fP\^, XcmsFloat
\fIhue_angle\fP\^, XcmsFloat \fIchroma\fP\^, XcmsColor *\fIcolor_return\fP\^);
.HP
Status XcmsCIELabQueryMaxLC\^(\^XcmsCCC \fIccc\fP\^, XcmsFloat
\fIhue_angle\fP\^, XcmsColor *\fIcolor_return\fP\^);
.HP
Status XcmsCIELabQueryMinL\^(\^XcmsCCC \fIccc\fP\^, XcmsFloat
\fIhue_angle\fP\^, XcmsFloat \fIchroma\fP\^, XcmsColor *\fIcolor_return\fP\^);
.SH ARGUMENTS
.IP \fIccc\fP 1i
Specifies the CCC.
Note that the CCC's Client White Point and White Point Adjustment procedures
are ignored.
.IP \fIchroma\fP 1i
Specifies the chroma at which to find maximum lightness (MaxL) or minimum lightness (MinL).
.IP \fIcolor_return\fP 1i
Returns the CIE L*a*b* coordinates of
maximum chroma (MaxC and MaxLC), maximum lightness (MaxL),
or minimum lightness (MinL)
displayable by the screen for the given hue angle and lightness (MaxC), hue angle and chroma (MaxL and MinL), or hue angle (MaxLC).
The white point associated with the returned
color specification is the Screen White Point.
The value returned in the pixel member is undefined.
.IP \fIhue_angle\fP 1i
Specifies the hue angle (in degrees) at which to find maximum chroma (MaxC and MaxLC), maximum lightness (MaxL),
or minimum lightness (MinL).
.IP \fIL_star\fP 1i
Specifies the lightness (L*) at which to find maximum chroma (MaxC).
.SH DESCRIPTION
The
.B XcmsCIELabQueryMaxC
function, given a hue angle and lightness,
finds the point of maximum chroma displayable by the screen.
It returns this point in CIE L*a*b* coordinates.
.LP
The
.B XcmsCIELabQueryMaxL
function, given a hue angle and chroma,
finds the point in CIE L*a*b* color space of maximum
lightness (L*) displayable by the screen.
It returns this point in CIE L*a*b* coordinates.
An
.B XcmsFailure
return value usually indicates that the given chroma
is beyond maximum for the given hue angle.
.LP
The
.B XcmsCIELabQueryMaxLC
function, given a hue angle,
finds the point of maximum chroma displayable by the screen.
It returns this point in CIE L*a*b* coordinates.
.LP
The
.B XcmsCIELabQueryMinL
function, given a hue angle and chroma,
finds the point of minimum lightness (L*) displayable by the screen.
It returns this point in CIE L*a*b* coordinates.
An
.B XcmsFailure
return value usually indicates that the given chroma
is beyond maximum for the given hue angle.
.SH "SEE ALSO"
XcmsCIELuvQueryMaxC(__libmansuffix__),
XcmsTekHVCQueryMaxC(__libmansuffix__),
XcmsQueryBlack(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XPointInRegion.man 0000644 0001750 0001750 00000000066 14222353101 013624 0000000 0000000 .so man__libmansuffix__/XEmptyRegion.__libmansuffix__
libX11-1.7.5/man/XTextWidth16.man 0000644 0001750 0001750 00000000064 14222353101 013171 0000000 0000000 .so man__libmansuffix__/XTextWidth.__libmansuffix__
libX11-1.7.5/man/XwcDrawImageString.man 0000644 0001750 0001750 00000000074 14222353101 014460 0000000 0000000 .so man__libmansuffix__/XmbDrawImageString.__libmansuffix__
libX11-1.7.5/man/XCreateSimpleWindow.man 0000644 0001750 0001750 00000000067 14222353101 014646 0000000 0000000 .so man__libmansuffix__/XCreateWindow.__libmansuffix__
libX11-1.7.5/man/XKeysymToString.man 0000644 0001750 0001750 00000000071 14222353101 014047 0000000 0000000 .so man__libmansuffix__/XStringToKeysym.__libmansuffix__
libX11-1.7.5/man/XEnableAccessControl.man 0000644 0001750 0001750 00000000062 14222353101 014745 0000000 0000000 .so man__libmansuffix__/XAddHost.__libmansuffix__
libX11-1.7.5/man/XSelectionRequestEvent.man 0000644 0001750 0001750 00000012404 14222353101 015377 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSelectionRequestEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSelectionRequestEvent \- SelectionRequest event structure
.SH STRUCTURES
The structure for
.B SelectionRequest
events contains:
.LP
.EX
typedef struct {
int type; /\&* SelectionRequest */
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window owner;
Window requestor;
Atom selection;
Atom target;
Atom property;
Time time;
} XSelectionRequestEvent;
.EE
.LP
When you receive this event,
the structure members are set as follows.
.LP
The type member is set to the event type constant name that uniquely identifies
it.
For example, when the X server reports a
.B GraphicsExpose
event to a client application, it sends an
.B XGraphicsExposeEvent
structure with the type member set to
.BR GraphicsExpose .
The display member is set to a pointer to the display the event was read on.
The send_event member is set to
.B True
if the event came from a
.B SendEvent
protocol request.
The serial member is set from the serial number reported in the protocol
but expanded from the 16-bit least-significant bits to a full 32-bit value.
The window member is set to the window that is most useful to toolkit
dispatchers.
.LP
The owner member is set to the window
that was specified by the current owner in its
.B XSetSelectionOwner
call.
The requestor member is set to the window requesting the selection.
The selection member is set to the atom that names the selection.
For example, PRIMARY is used to indicate the primary selection.
The target member is set to the atom that indicates the type
the selection is desired in.
The property member can be a property name or
.BR None .
The time member is set to the timestamp or
.B CurrentTime
value from the
.B ConvertSelection
request.
.SH "SEE ALSO"
XAnyEvent(__libmansuffix__),
XButtonEvent(__libmansuffix__),
XCreateWindowEvent(__libmansuffix__),
XCirculateEvent(__libmansuffix__),
XCirculateRequestEvent(__libmansuffix__),
XColormapEvent(__libmansuffix__),
XConfigureEvent(__libmansuffix__),
XConfigureRequestEvent(__libmansuffix__),
XCrossingEvent(__libmansuffix__),
XDestroyWindowEvent(__libmansuffix__),
XErrorEvent(__libmansuffix__),
XExposeEvent(__libmansuffix__),
XFocusChangeEvent(__libmansuffix__),
XGraphicsExposeEvent(__libmansuffix__),
XGravityEvent(__libmansuffix__),
XKeymapEvent(__libmansuffix__),
XMapEvent(__libmansuffix__),
XMapRequestEvent(__libmansuffix__),
XPropertyEvent(__libmansuffix__),
XReparentEvent(__libmansuffix__),
XResizeRequestEvent(__libmansuffix__),
XSelectionClearEvent(__libmansuffix__),
XSelectionEvent(__libmansuffix__),
XSetSelectionOwner(__libmansuffix__),
XUnmapEvent(__libmansuffix__),
XVisibilityEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XDirectionalDependentDrawing.man 0000644 0001750 0001750 00000000071 14222353101 016474 0000000 0000000 .so man__libmansuffix__/XFontsOfFontSet.__libmansuffix__
libX11-1.7.5/man/DoesSaveUnders.man 0000644 0001750 0001750 00000000074 14222353101 013641 0000000 0000000 .so man__libmansuffix__/BlackPixelOfScreen.__libmansuffix__
libX11-1.7.5/man/XStoreColor.man 0000644 0001750 0001750 00000000066 14222353101 013173 0000000 0000000 .so man__libmansuffix__/XStoreColors.__libmansuffix__
libX11-1.7.5/man/XFetchBuffer.man 0000644 0001750 0001750 00000000065 14222353101 013262 0000000 0000000 .so man__libmansuffix__/XStoreBytes.__libmansuffix__
libX11-1.7.5/man/XIntersectRegion.man 0000644 0001750 0001750 00000011215 14222353101 014202 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XIntersectRegion __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XIntersectRegion, XUnionRegion, XUnionRectWithRegion, XSubtractRegion, XXorRegion, XOffsetRegion, XShrinkRegion \- region arithmetic
.SH SYNTAX
.HP
int XIntersectRegion\^(\^Region \fIsra\fP\^, Region \fIsrb\fP\^, Region
\fIdr_return\fP\^);
.HP
int XUnionRegion\^(\^Region \fIsra\fP\^, Region \fIsrb\fP\^, Region
\fIdr_return\fP\^);
.HP
int XUnionRectWithRegion\^(\^XRectangle *\fIrectangle\fP\^, Region
\fIsrc_region\fP\^, Region \fIdest_region_return\fP\^);
.HP
int XSubtractRegion\^(\^Region \fIsra\fP\^, Region \fIsrb\fP\^, Region
\fIdr_return\fP\^);
.HP
int XXorRegion\^(\^Region \fIsra\fP\^, Region \fIsrb\fP\^, Region
\fIdr_return\fP\^);
.HP
int XOffsetRegion\^(\^Region \fIr\fP\^, int \fIdx\fP\^, int \fIdy\fP\^);
.HP
int XShrinkRegion\^(\^Region \fIr\fP\^, int \fIdx\fP\^, int \fIdy\fP\^);
.SH ARGUMENTS
.IP \fIdest_region_return\fP 1i
Returns the destination region.
.IP \fIdr_return\fP 1i
Returns the result of the computation.
.IP \fIdx\fP 1i
.br
.ns
.IP \fIdy\fP 1i
Specify the x and y coordinates,
which define the amount you want to move or shrink the specified region.
.IP \fIr\fP 1i
Specifies the region.
.IP \fIrectangle\fP 1i
Specifies the rectangle.
.IP \fIsra\fP 1i
.br
.ns
.IP \fIsrb\fP 1i
Specify the two regions with which you want to perform the computation.
.IP \fIsrc_region\fP 1i
Specifies the source region to be used.
.SH DESCRIPTION
The
.B XIntersectRegion
function computes the intersection of two regions.
.LP
The
.B XUnionRegion
function computes the union of two regions.
.LP
The
.B XUnionRectWithRegion
function updates the destination region from a union of the specified rectangle
and the specified source region.
.LP
The
.B XSubtractRegion
function subtracts srb from sra and stores the results in dr_return.
.LP
The
.B XXorRegion
function calculates the difference between the union and intersection
of two regions.
.LP
The
.B XOffsetRegion
function moves the specified region by a specified amount.
.LP
The
.B XShrinkRegion
function reduces the specified region by a specified amount.
Positive values shrink the size of the region,
and negative values expand the region.
.SH "SEE ALSO"
XCreateRegion(__libmansuffix__),
XDrawRectangle(__libmansuffix__),
XEmptyRegion(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XShrinkRegion.man 0000644 0001750 0001750 00000000072 14222353101 013477 0000000 0000000 .so man__libmansuffix__/XIntersectRegion.__libmansuffix__
libX11-1.7.5/man/XFree.man 0000644 0001750 0001750 00000005610 14222353101 011761 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XFree __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XFree \- free client data
.SH SYNTAX
int XFree\^(\^void *\fIdata\fP\^);
.SH ARGUMENTS
.IP \fIdata\fP 1i
Specifies the data that are to be freed.
.SH DESCRIPTION
The
.B XFree
function is a general-purpose Xlib routine that frees the specified data.
You must use it to free any objects that were allocated by Xlib,
unless an alternate function is explicitly specified for the object.
If data is NULL, no operation is performed.
.SH "SEE ALSO"
\fI\*(xL\fP
libX11-1.7.5/man/XInitImage.man 0000644 0001750 0001750 00000020261 14222353101 012745 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XCreateImage __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XInitImage, XCreateImage, XGetPixel, XPutPixel, XSubImage, XAddPixel, XDestroyImage \- image utilities
.SH SYNTAX
.HP
Status XInitImage\^(\^XImage *\fIimage\fP\^);
.HP
XImage *XCreateImage\^(\^Display *\fIdisplay\fP\^, Visual *\fIvisual\fP\^,
unsigned int \fIdepth\fP\^, int \fIformat\fP\^, int \fIoffset\fP\^, char
*\fIdata\fP\^, unsigned int \fIwidth\fP\^, unsigned int \fIheight\fP\^, int
\fIbitmap_pad\fP\^, int \fIbytes_per_line\fP\^);
.HP
unsigned long XGetPixel\^(\^XImage *\fIximage\fP\^, int \fIx\fP\^, int
\fIy\fP\^);
.HP
int XPutPixel\^(\^XImage *\fIximage\fP\^, int \fIx\fP\^, int \fIy\fP\^,
unsigned long \fIpixel\fP\^);
.HP
XImage *XSubImage\^(\^XImage *\fIximage\fP\^, int \fIx\fP\^, int \fIy\fP\^,
unsigned int \fIsubimage_width\fP\^, unsigned int \fIsubimage_height\fP\^);
.HP
int XAddPixel\^(\^XImage *\fIximage\fP\^, long \fIvalue\fP\^);
.HP
int XDestroyImage\^(\^XImage *\^\fIximage\fP\^);
.SH ARGUMENTS
.IP \fIbitmap_pad\fP 1i
Specifies the quantum of a scanline (8, 16, or 32).
In other words, the start of one scanline is separated in client memory from
the start of the next scanline by an integer multiple of this many bits.
.IP \fIbytes_per_line\fP 1i
Specifies the number of bytes in the client image between
the start of one scanline and the start of the next.
.IP \fIdata\fP 1i
Specifies the image data.
.IP \fIdepth\fP 1i
Specifies the depth of the image.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIformat\fP 1i
Specifies the format for the image.
You can pass
.BR XYBitmap ,
.BR XYPixmap ,
or
.BR ZPixmap .
.IP \fIheight\fP 1i
Specifies the height of the image, in pixels.
.IP \fIoffset\fP 1i
Specifies the number of pixels to ignore at the beginning of the scanline.
.IP \fIpixel\fP 1i
Specifies the new pixel value.
.IP \fIsubimage_height\fP 1i
Specifies the height of the new subimage, in pixels.
.IP \fIsubimage_width\fP 1i
Specifies the width of the new subimage, in pixels.
.IP \fIvalue\fP 1i
Specifies the constant value that is to be added.
.IP \fIvisual\fP 1i
Specifies the
.B Visual
structure.
.IP \fIwidth\fP 1i
Specifies the width of the image, in pixels.
.IP \fIximage\fP 1i
Specifies the image.
.IP \fIx\fP 1i
.br
.ns
.IP \fIy\fP 1i
Specify the x and y coordinates.
.SH DESCRIPTION
The
.B XInitImage
function initializes the internal image manipulation routines of an
image structure, based on the values of the various structure members.
All fields other than the manipulation routines must already be initialized.
If the bytes_per_line member is zero,
.B XInitImage
will assume the image data is contiguous in memory and set the
bytes_per_line member to an appropriate value based on the other
members; otherwise, the value of bytes_per_line is not changed.
All of the manipulation routines are initialized to functions
that other Xlib image manipulation functions need to operate on the
type of image specified by the rest of the structure.
.LP
This function must be called for any image constructed by the client
before passing it to any other Xlib function.
Image structures created or returned by Xlib do not need to be
initialized in this fashion.
.LP
This function returns a nonzero status if initialization of the
structure is successful.
It returns zero if it detected some error
or inconsistency in the structure, in which case the image is not changed.
.LP
The
.B XCreateImage
function allocates the memory needed for an
.B XImage
structure for the
specified display but does not allocate space for the image itself.
Rather, it initializes the structure byte-order, bit-order, and bitmap-unit
values from the display and returns a pointer to the
.B XImage
structure.
The red, green, and blue mask values are defined for Z format images only
and are derived from the
.B Visual
structure passed in.
Other values also are passed in.
The offset permits the rapid displaying of the image without requiring each
scanline to be shifted into position.
If you pass a zero value in bytes_per_line,
Xlib assumes that the scanlines are contiguous
in memory and calculates the value of bytes_per_line itself.
.LP
Note that when the image is created using
.BR XCreateImage ,
.BR XGetImage ,
or
.BR XSubImage ,
the destroy procedure that the
.B XDestroyImage
function calls frees both the image structure
and the data pointed to by the image structure.
.LP
The basic functions used to get a pixel, set a pixel, create a subimage,
and add a constant value to an image are defined in the image object.
The functions in this section are really macro invocations of the functions
in the image object and are defined in
.BR X11/Xutil.h .
.LP
The
.B XGetPixel
function returns the specified pixel from the named image.
The pixel value is returned in normalized format (that is,
the least significant byte of the long is the least significant byte
of the pixel).
The image must contain the x and y coordinates.
.LP
The
.B XPutPixel
function overwrites the pixel in the named image with the specified pixel value.
The input pixel value must be in normalized format
(that is, the least significant byte of the long is the least significant
byte of the pixel).
The image must contain the x and y coordinates.
.LP
The
.B XSubImage
function creates a new image that is a subsection of an existing one.
It allocates the memory necessary for the new
.B XImage
structure
and returns a pointer to the new image.
The data is copied from the source image,
and the image must contain the rectangle defined by x, y, subimage_width,
and subimage_height.
.LP
The
.B XAddPixel
function adds a constant value to every pixel in an image.
It is useful when you have a base pixel value from allocating
color resources and need to manipulate the image to that form.
.LP
The
.B XDestroyImage
function deallocates the memory associated with the
.B XImage
structure.
.SH "SEE ALSO"
XPutImage(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XGetPointerControl.man 0000644 0001750 0001750 00000000077 14222353101 014523 0000000 0000000 .so man__libmansuffix__/XChangePointerControl.__libmansuffix__
libX11-1.7.5/man/Xutf8SetWMProperties.man 0000644 0001750 0001750 00000000072 14222353101 014760 0000000 0000000 .so man__libmansuffix__/XSetWMProperties.__libmansuffix__
libX11-1.7.5/man/XGetErrorDatabaseText.man 0000644 0001750 0001750 00000000072 14222353101 015120 0000000 0000000 .so man__libmansuffix__/XSetErrorHandler.__libmansuffix__
libX11-1.7.5/man/XSelectionClearEvent.man 0000644 0001750 0001750 00000011617 14222353101 015002 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSelectionClearEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSelectionClearEvent \- SelectionClear event structure
.SH STRUCTURES
The structure for
.B SelectionClear
events contains:
.LP
.EX
typedef struct {
int type; /\&* SelectionClear */
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window window;
Atom selection;
Time time;
} XSelectionClearEvent;
.EE
.LP
When you receive this event,
the structure members are set as follows.
.LP
The type member is set to the event type constant name that uniquely identifies
it.
For example, when the X server reports a
.B GraphicsExpose
event to a client application, it sends an
.B XGraphicsExposeEvent
structure with the type member set to
.BR GraphicsExpose .
The display member is set to a pointer to the display the event was read on.
The send_event member is set to
.B True
if the event came from a
.B SendEvent
protocol request.
The serial member is set from the serial number reported in the protocol
but expanded from the 16-bit least-significant bits to a full 32-bit value.
The window member is set to the window that is most useful to toolkit
dispatchers.
.LP
The selection member is set to the selection atom.
The time member is set to the last change time recorded for the
selection.
The window member is the window that was specified by the current owner
(the owner losing the selection) in its
.B XSetSelectionOwner
call.
.SH "SEE ALSO"
XAnyEvent(__libmansuffix__),
XButtonEvent(__libmansuffix__),
XCreateWindowEvent(__libmansuffix__),
XCirculateEvent(__libmansuffix__),
XCirculateRequestEvent(__libmansuffix__),
XColormapEvent(__libmansuffix__),
XConfigureEvent(__libmansuffix__),
XConfigureRequestEvent(__libmansuffix__),
XCrossingEvent(__libmansuffix__),
XDestroyWindowEvent(__libmansuffix__),
XErrorEvent(__libmansuffix__),
XExposeEvent(__libmansuffix__),
XFocusChangeEvent(__libmansuffix__),
XGraphicsExposeEvent(__libmansuffix__),
XGravityEvent(__libmansuffix__),
XKeymapEvent(__libmansuffix__),
XMapEvent(__libmansuffix__),
XMapRequestEvent(__libmansuffix__),
XPropertyEvent(__libmansuffix__),
XReparentEvent(__libmansuffix__),
XResizeRequestEvent(__libmansuffix__),
XSelectionEvent(__libmansuffix__),
XSelectionRequestEvent(__libmansuffix__),
XSetSelectionOwner(__libmansuffix__),
XUnmapEvent(__libmansuffix__),
XVisibilityEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XCreatePixmap.man 0000644 0001750 0001750 00000011413 14222353101 013460 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XCreatePixmap __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XCreatePixmap, XFreePixmap \- create or destroy pixmaps
.SH SYNTAX
.HP
Pixmap XCreatePixmap\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^,
unsigned int \fIwidth\fP\^, unsigned int \fIheight\fP\^, unsigned int
\fIdepth\fP\^);
.HP
int XFreePixmap\^(\^Display *\fIdisplay\fP\^, Pixmap \fIpixmap\fP\^);
.SH ARGUMENTS
.IP \fId\fP 1i
Specifies which screen the pixmap is created on.
.IP \fIdepth\fP 1i
Specifies the depth of the pixmap.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIpixmap\fP 1i
Specifies the pixmap.
.IP \fIwidth\fP 1i
.br
.ns
.IP \fIheight\fP 1i
Specify the width and height, which define the dimensions of the pixmap.
.SH DESCRIPTION
The
.B XCreatePixmap
function creates a pixmap of the width, height, and depth you specified
and returns a pixmap ID that identifies it.
It is valid to pass an
.B InputOnly
window to the drawable argument.
The width and height arguments must be nonzero,
or a
.B BadValue
error results.
The depth argument must be one of the depths supported by the screen
of the specified drawable,
or a
.B BadValue
error results.
.LP
The server uses the specified drawable to determine on which screen
to create the pixmap.
The pixmap can be used only on this screen
and only with other drawables of the same depth (see
.B XCopyPlane
for an exception to this rule).
The initial contents of the pixmap are undefined.
.LP
.B XCreatePixmap
can generate
.BR BadAlloc ,
.BR BadDrawable ,
and
.B BadValue
errors.
.LP
The
.B XFreePixmap
function first deletes the association between the pixmap ID and the pixmap.
Then, the X server frees the pixmap storage when there are no references to it.
The pixmap should never be referenced again.
.LP
.B XFreePixmap
can generate a
.B BadPixmap
error.
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadDrawable
A value for a Drawable argument does not name a defined Window or Pixmap.
.TP 1i
.B BadPixmap
A value for a Pixmap argument does not name a defined Pixmap.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
XCopyArea(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XUngrabButton.man 0000644 0001750 0001750 00000000065 14222353101 013511 0000000 0000000 .so man__libmansuffix__/XGrabButton.__libmansuffix__
libX11-1.7.5/man/XDefaultString.man 0000644 0001750 0001750 00000000103 14222353101 013643 0000000 0000000 .so man__libmansuffix__/XmbTextListToTextProperty.__libmansuffix__
libX11-1.7.5/man/XrmCombineFileDatabase.man 0000644 0001750 0001750 00000000073 14222353101 015236 0000000 0000000 .so man__libmansuffix__/XrmMergeDatabases.__libmansuffix__
libX11-1.7.5/man/XrmGetResource.man 0000644 0001750 0001750 00000022207 14222353101 013667 0000000 0000000 '\" e
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
'\" e
.TH XrmGetResource __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XrmGetResource, XrmQGetResource, XrmQGetSearchList, XrmQGetSearchResource \- retrieve database resources and search lists
.SH SYNTAX
.HP
#include
.HP
Bool XrmGetResource\^(\^XrmDatabase \fIdatabase\fP\^, char *\fIstr_name\fP\^,
char *\fIstr_class\fP\^, char **\fIstr_type_return\fP\^, XrmValue
*\fIvalue_return\fP\^);
.HP
Bool XrmQGetResource\^(\^XrmDatabase \fIdatabase\fP\^, XrmNameList
\fIquark_name\fP\^, XrmClassList \fIquark_class\fP\^, XrmRepresentation
*\fIquark_type_return\fP\^, XrmValue *\fIvalue_return\fP\^);
.HP
typedef XrmHashTable *XrmSearchList;
.sp
Bool XrmQGetSearchList\^(\^XrmDatabase \fIdatabase\fP\^, XrmNameList
\fInames\fP\^, XrmClassList \fIclasses\fP\^, XrmSearchList
\fIlist_return\fP\^, int \fIlist_length\fP\^);
.HP
Bool XrmQGetSearchResource\^(\^XrmSearchList \fIlist\fP\^, XrmName
\fIname\fP\^, XrmClass \fIclass\fP\^, XrmRepresentation *\fItype_return\fP\^,
XrmValue *\fIvalue_return\fP\^);
.SH ARGUMENTS
.IP \fIclass\fP 1i
Specifies the resource class.
.IP \fIclasses\fP 1i
Specifies a list of resource classes.
.IP \fIdatabase\fP 1i
Specifies the database that is to be used.
.IP \fIlist\fP 1i
Specifies the search list returned by
.BR XrmQGetSearchList .
.IP \fIlist_length\fP 1i
Specifies the number of entries (not the byte size) allocated for list_return.
.IP \fIlist_return\fP 1i
Returns a search list for further use.
.IP \fIname\fP 1i
Specifies the resource name.
.IP \fInames\fP 1i
Specifies a list of resource names.
.IP \fIquark_class\fP 1i
Specifies the fully qualified class of the value being retrieved (as a quark).
.IP \fIquark_name\fP 1i
Specifies the fully qualified name of the value being retrieved (as a quark).
.IP \fIquark_type_return\fP 1i
Returns the representation type of the destination (as a quark).
.IP \fIstr_class\fP 1i
Specifies the fully qualified class of the value being retrieved (as a string).
.IP \fIstr_name\fP 1i
Specifies the fully qualified name of the value being retrieved (as a string).
.IP \fIstr_type_return\fP 1i
Returns the representation type of the destination (as a string).
.IP \fItype_return\fP 1i
Returns data representation type.
.IP \fIvalue_return\fP 1i
Returns the value in the database.
.SH DESCRIPTION
The
.B XrmGetResource
and
.B XrmQGetResource
functions retrieve a resource from the specified database.
Both take a fully qualified name/class pair, a destination
resource representation, and the address of a value
(size/address pair).
The value and returned type point into database memory;
therefore, you must not modify the data.
.LP
The database only frees or overwrites entries on
.BR XrmPutResource ,
.BR XrmQPutResource ,
or
.BR XrmMergeDatabases .
A client that is not storing new values into the database or
is not merging the database should be safe using the address passed
back at any time until it exits.
If a resource was found, both
.B XrmGetResource
and
.B XrmQGetResource
return
.BR True ;
otherwise, they return
.BR False .
.LP
The
.B XrmQGetSearchList
function takes a list of names and classes
and returns a list of database levels where a match might occur.
The returned list is in best-to-worst order and
uses the same algorithm as
.B XrmGetResource
for determining precedence.
If list_return was large enough for the search list,
.B XrmQGetSearchList
returns
.BR True ;
otherwise, it returns
.BR False .
.LP
The size of the search list that the caller must allocate is
dependent upon the number of levels and wildcards in the resource specifiers
that are stored in the database.
The worst case length is %3 sup n%,
where \fIn\fP is the number of name or class components in names or classes.
.LP
When using
.B XrmQGetSearchList
followed by multiple probes for resources with a common name and class prefix,
only the common prefix should be specified in the name and class list to
.BR XrmQGetSearchList .
.LP
The
.B XrmQGetSearchResource
function searches the specified database levels for the resource
that is fully identified by the specified name and class.
The search stops with the first match.
.B XrmQGetSearchResource
returns
.B True
if the resource was found;
otherwise, it returns
.BR False .
.LP
A call to
.B XrmQGetSearchList
with a name and class list containing all but the last component
of a resource name followed by a call to
.B XrmQGetSearchResource
with the last component name and class returns the same database entry as
.B XrmGetResource
and
.B XrmQGetResource
with the fully qualified name and class.
.SH "MATCHING RULES"
The algorithm for determining which resource database entry
matches a given query is the heart of the resource manager.
All queries must fully specify the name and class of the desired resource
(use of the characters \*(lq*\*(rq and \*(lq?\*(rq are not permitted).
The library supports up to 100 components in a full name or class.
Resources are stored in the database with only partially specified
names and classes, using pattern matching constructs.
An asterisk (*) is a loose binding and is used to represent any number
of intervening components, including none.
A period (.) is a tight binding and is used to separate immediately
adjacent components.
A question mark (?) is used to match any single component name or class.
A database entry cannot end in a loose binding;
the final component (which cannot be the character \*(lq?\*(rq) must be specified.
The lookup algorithm searches the database for the entry that most
closely matches (is most specific for) the full name and class being queried.
When more than one database entry matches the full name and class,
precedence rules are used to select just one.
.LP
The full name and class are scanned from left to right (from highest
level in the hierarchy to lowest), one component at a time.
At each level, the corresponding component and/or binding of each
matching entry is determined, and these matching components and
bindings are compared according to precedence rules.
Each of the rules is applied at each level before moving to the next level,
until a rule selects a single entry over all others.
The rules, in order of precedence, are:
.IP 1. 5
An entry that contains a matching component (whether name, class,
or the character \*(lq?\*(rq)
takes precedence over entries that elide the level (that is, entries
that match the level in a loose binding).
.IP 2. 5
An entry with a matching name takes precedence over both
entries with a matching class and entries that match using the character \*(lq?\*(rq.
An entry with a matching class takes precedence over
entries that match using the character \*(lq?\*(rq.
.IP 3. 5
An entry preceded by a tight binding takes precedence over entries
preceded by a loose binding.
.SH "SEE ALSO"
XrmInitialize(__libmansuffix__),
XrmMergeDatabases(__libmansuffix__),
XrmPutResource(__libmansuffix__),
XrmUniqueQuark(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XFontStruct.man 0000644 0001750 0001750 00000000063 14222353101 013210 0000000 0000000 .so man__libmansuffix__/XLoadFont.__libmansuffix__
libX11-1.7.5/man/XPeekEvent.man 0000644 0001750 0001750 00000000064 14222353101 012764 0000000 0000000 .so man__libmansuffix__/XNextEvent.__libmansuffix__
libX11-1.7.5/man/XQueryTextExtents16.man 0000644 0001750 0001750 00000000066 14222353101 014574 0000000 0000000 .so man__libmansuffix__/XTextExtents.__libmansuffix__
libX11-1.7.5/man/XCirculateSubwindowsUp.man 0000644 0001750 0001750 00000000066 14222353101 015405 0000000 0000000 .so man__libmansuffix__/XRaiseWindow.__libmansuffix__
libX11-1.7.5/man/XEventsQueued.man 0000644 0001750 0001750 00000000060 14222353101 013507 0000000 0000000 .so man__libmansuffix__/XFlush.__libmansuffix__
libX11-1.7.5/man/XConfigureEvent.man 0000644 0001750 0001750 00000013501 14222353101 014021 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XConfigureEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XConfigureEvent \- ConfigureNotify event structure
.SH STRUCTURES
The structure for
.B ConfigureNotify
events contains:
.LP
.EX
typedef struct {
int type; /\&* ConfigureNotify */
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window event;
Window window;
int x, y;
int width, height;
int border_width;
Window above;
Bool override_redirect;
} XConfigureEvent;
.EE
.LP
When you receive this event,
the structure members are set as follows.
.LP
The type member is set to the event type constant name that uniquely identifies
it.
For example, when the X server reports a
.B GraphicsExpose
event to a client application, it sends an
.B XGraphicsExposeEvent
structure with the type member set to
.BR GraphicsExpose .
The display member is set to a pointer to the display the event was read on.
The send_event member is set to
.B True
if the event came from a
.B SendEvent
protocol request.
The serial member is set from the serial number reported in the protocol
but expanded from the 16-bit least-significant bits to a full 32-bit value.
The window member is set to the window that is most useful to toolkit
dispatchers.
.LP
The event member is set either to the reconfigured window or to its parent,
depending on whether
.B StructureNotify
or
.B SubstructureNotify
was selected.
The window member is set to the window whose size, position,
border, and/or stacking
order was changed.
.LP
The x and y members are set to the coordinates relative to the parent window's
origin and indicate the position of the upper-left outside corner of the window.
The width and height members are set to the inside size of the window,
not including
the border.
The border_width member is set to the width of the window's border, in pixels.
.LP
The above member is set to the sibling window and is used
for stacking operations.
If the X server sets this member to
.BR None ,
the window whose state was changed is on the bottom of the stack
with respect to sibling windows.
However, if this member is set to a sibling window,
the window whose state was changed is placed on top of this sibling window.
.LP
The override_redirect member is set to the override-redirect attribute of the
window.
Window manager clients normally should ignore this window if the
override_redirect member
is
.BR True .
.SH "SEE ALSO"
XAnyEvent(__libmansuffix__),
XButtonEvent(__libmansuffix__),
XCreateWindowEvent(__libmansuffix__),
XCirculateEvent(__libmansuffix__),
XCirculateRequestEvent(__libmansuffix__),
XColormapEvent(__libmansuffix__),
XConfigureRequestEvent(__libmansuffix__),
XCrossingEvent(__libmansuffix__),
XDestroyWindowEvent(__libmansuffix__),
XErrorEvent(__libmansuffix__),
XExposeEvent(__libmansuffix__),
XFocusChangeEvent(__libmansuffix__),
XGraphicsExposeEvent(__libmansuffix__),
XGravityEvent(__libmansuffix__),
XKeymapEvent(__libmansuffix__),
XMapEvent(__libmansuffix__),
XMapRequestEvent(__libmansuffix__),
XPropertyEvent(__libmansuffix__),
XReparentEvent(__libmansuffix__),
XResizeRequestEvent(__libmansuffix__),
XSelectionClearEvent(__libmansuffix__),
XSelectionEvent(__libmansuffix__),
XSelectionRequestEvent(__libmansuffix__),
XUnmapEvent(__libmansuffix__),
XVisibilityEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XInternAtom.man 0000644 0001750 0001750 00000014456 14222353101 013170 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XInternAtom __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XInternAtom, XInternAtoms, XGetAtomName, XGetAtomNames \- create or return atom names
.SH SYNTAX
.HP
Atom XInternAtom\^(\^Display *\fIdisplay\fP\^, _Xconst char *\fIatom_name\fP\^, Bool
\fIonly_if_exists\fP\^);
.HP
Status XInternAtoms\^(\^Display *\fIdisplay\fP\^, char **\fInames\fP\^, int
\fIcount\fP\^, Bool \fIonly_if_exists\fP\^, Atom *\fIatoms_return\fP\^);
.HP
char *XGetAtomName\^(\^Display *\fIdisplay\fP\^, Atom \fIatom\fP\^);
.HP
Status XGetAtomNames\^(\^Display *\fIdisplay\fP\^, Atom *\fIatoms\fP\^, int
\fIcount\fP\^, char **\fInames_return\fP\^);
.SH ARGUMENTS
.IP \fIatom\fP 1i
Specifies the atom for the property name you want returned.
.IP \fIatoms\fP 1i
Specifies the array of atoms.
.IP \fIatom_name\fP 1i
Specifies the name associated with the atom you want returned.
.IP \fIatoms_return\fP 1i
Returns the atoms.
.IP \fIcount\fP 1i
Specifies the number of atom names in the array.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fInames\fP 1i
Specifies the array of atom names.
.IP \fInames_return\fP 1i
Returns the atom names.
.IP \fIonly_if_exists\fP 1i
Specifies a Boolean value that indicates whether the atom must be created.
.SH DESCRIPTION
The
.B XInternAtom
function returns the atom identifier associated with the specified atom_name
string.
If only_if_exists is
.BR False ,
the atom is created if it does not exist.
Therefore,
.B XInternAtom
can return
.BR None .
If the atom name is not in the Host Portable Character Encoding,
the result is implementation-dependent.
Uppercase and lowercase matter;
the strings \*(lqthing\*(rq, \*(lqThing\*(rq, and \*(lqthinG\*(rq
all designate different atoms.
The atom will remain defined even after the client's connection closes.
It will become undefined only when the last connection to
the X server closes.
.LP
.B XInternAtom
can generate
.B BadAlloc
and
.B BadValue
errors.
.LP
The
.B XInternAtoms
function returns the atom identifiers associated with the specified names.
The atoms are stored in the atoms_return array supplied by the caller.
Calling this function is equivalent to calling
.B XInternAtom
for each of the names in turn with the specified value of only_if_exists,
but this function minimizes the number of round-trip protocol exchanges
between the client and the X server.
.LP
This function returns a nonzero status if atoms are returned for
all of the names;
otherwise, it returns zero.
.LP
.B XInternAtoms
can generate
.B BadAlloc
and
.B BadValue
errors.
.LP
The
.B XGetAtomName
function returns the name associated with the specified atom.
If the data returned by the server is in the Latin Portable Character Encoding,
then the returned string is in the Host Portable Character Encoding.
Otherwise, the result is implementation-dependent.
To free the resulting string,
call
.BR XFree .
.LP
.B XGetAtomName
can generate a
.B BadAtom
error.
.LP
The
.B XGetAtomNames
function returns the names associated with the specified atoms.
The names are stored in the names_return array supplied by the caller.
Calling this function is equivalent to calling
.B XGetAtomName
for each of the atoms in turn,
but this function minimizes the number of round-trip protocol exchanges
between the client and the X server.
.LP
This function returns a nonzero status if names are returned for
all of the atoms;
otherwise, it returns zero.
.LP
.B XGetAtomNames
can generate a
.B BadAtom
error.
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadAtom
A value for an Atom argument does not name a defined Atom.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
XFree(__libmansuffix__),
XGetWindowProperty(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XSetWMProperties.man 0000644 0001750 0001750 00000024156 14222353101 014162 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
.\" Copyright \(co 2000 The XFree86 Project, Inc.
.\"
.\" 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSetWMProperties __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSetWMProperties, XmbSetWMProperties, Xutf8SetWMProperties \- set standard window properties
.SH SYNTAX
.HP
void XSetWMProperties\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
XTextProperty *\fIwindow_name\fP\^, XTextProperty *\fIicon_name\fP\^, char
**\fIargv\fP\^, int \fIargc\fP\^, XSizeHints *\fInormal_hints\fP\^, XWMHints
*\fIwm_hints\fP\^, XClassHint *\fIclass_hints\fP\^);
.HP
void XmbSetWMProperties\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, _Xconst char
*\fIwindow_name\fP\^, _Xconst char *\fIicon_name\fP\^, char *\fIargv\fP\^[], int
\fIargc\fP\^, XSizeHints *\fInormal_hints\fP\^, XWMHints *\fIwm_hints\fP\^,
XClassHint *\fIclass_hints\fP\^);
.HP
void Xutf8SetWMProperties\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, _Xconst char
*\fIwindow_name\fP\^, _Xconst char *\fIicon_name\fP\^, char *\fIargv\fP\^[], int
\fIargc\fP\^, XSizeHints *\fInormal_hints\fP\^, XWMHints *\fIwm_hints\fP\^,
XClassHint *\fIclass_hints\fP\^);
.SH ARGUMENTS
.IP \fIargc\fP 1i
Specifies the number of arguments.
.IP \fIargv\fP 1i
Specifies the application's argument list.
.IP \fIclass_hints\fP 1i
Specifies the
.B XClassHint
structure to be used.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIicon_name\fP 1i
Specifies the icon name,
which should be a null-terminated string.
.IP \fInormal_hints\fP 1i
Specifies the size hints for the window in its normal state.
.IP \fIw\fP 1i
Specifies the window.
.IP \fIwindow_name\fP 1i
Specifies the window name,
which should be a null-terminated string.
.IP \fIwm_hints\fP 1i
Specifies the
.B XWMHints
structure to be used.
.SH DESCRIPTION
The
.B XSetWMProperties
convenience function provides a single programming interface
for setting those essential window properties that are used
for communicating with other clients (particularly window and session
managers).
.LP
If the window_name argument is non-NULL,
.B XSetWMProperties
calls
.BR XSetWMName ,
which in turn, sets the WM_NAME property (see section 14.1.4).
If the icon_name argument is non-NULL,
.B XSetWMProperties
calls
.BR XSetWMIconName ,
which sets the WM_ICON_NAME property (see section 14.1.5).
If the argv argument is non-NULL,
.B XSetWMProperties
calls
.BR XSetCommand ,
which sets the WM_COMMAND property (see section 14.2.1).
Note that an argc of zero is allowed to indicate a zero-length command.
Note also that the hostname of this machine is stored using
.B XSetWMClientMachine
(see section 14.2.2).
.LP
If the normal_hints argument is non-NULL,
.B XSetWMProperties
calls
.BR XSetWMNormalHints ,
which sets the WM_NORMAL_HINTS property (see section 14.1.7).
If the wm_hints argument is non-NULL,
.B XSetWMProperties
calls
.BR XSetWMHints ,
which sets the WM_HINTS property (see section 14.1.6).
.LP
If the class_hints argument is non-NULL,
.B XSetWMProperties
calls
.BR XSetClassHint ,
which sets the WM_CLASS property (see section 14.1.8).
If the res_name member in the
.B XClassHint
structure is set to the NULL pointer and the RESOURCE_NAME environment
variable is set,
then the value of the environment variable is substituted for res_name.
If the res_name member is NULL,
the environment variable is not set,
and argv and argv[0] are set,
then the value of argv[0], stripped of
any directory prefixes, is substituted for res_name.
.LP
The
.B XmbSetWMProperties
and
.B Xutf8SetWMProperties
convenience functions provide a simple programming interface
for setting those essential window properties that are used
for communicating with other clients
(particularly window and session managers).
.LP
If the window_name argument is non-NULL,
they set the WM_NAME property.
If the icon_name argument is non-NULL,
they set the WM_ICON_NAME property.
The window_name and icon_name arguments are null-terminated strings, for
.B XmbSetWMProperties
in the encoding of the current locale, for
.B Xutf8SetWMProperties
in UTF-8 encoding.
If the arguments can be fully converted to the STRING encoding,
the properties are created with type \*(lqSTRING\*(rq;
otherwise, the arguments are converted to Compound Text,
and the properties are created with type \*(lqCOMPOUND_TEXT\*(rq.
.LP
If the normal_hints argument is non-NULL,
.B XmbSetWMProperties
and
.B Xutf8SetWMProperties
call
.BR XSetWMNormalHints ,
which sets the WM_NORMAL_HINTS property (see section 14.1.7).
If the wm_hints argument is non-NULL,
.B XmbSetWMProperties
and
.B Xutf8SetWMProperties
call
.BR XSetWMHints ,
which sets the WM_HINTS property (see section 14.1.6).
.LP
If the argv argument is non-NULL,
.B XmbSetWMProperties
and
.B Xutf8SetWMProperties
set the WM_COMMAND property from argv and argc.
An argc of zero indicates a zero-length command.
.LP
The hostname of the machine is stored using
.B XSetWMClientMachine
(see section 14.2.2).
.LP
If the class_hints argument is non-NULL,
.B XmbSetWMProperties
and
.B Xutf8SetWMProperties
set the WM_CLASS property.
If the res_name member in the
.B XClassHint
structure is set to the NULL pointer and the RESOURCE_NAME
environment variable is set,
the value of the environment variable is substituted for res_name.
If the res_name member is NULL,
the environment variable is not set, and argv and argv[0] are set,
then the value of argv[0], stripped of any directory prefixes,
is substituted for res_name.
.LP
It is assumed that the supplied class_hints.res_name and argv,
the RESOURCE_NAME environment variable, and the hostname of the machine
are in the encoding of the current locale.
The corresponding WM_CLASS, WM_COMMAND, and WM_CLIENT_MACHINE properties
are typed according to the local host locale announcer.
No encoding conversion is performed for these strings prior to storage
in the properties.
.LP
For clients that need to process the property text in a locale,
.B XmbSetWMProperties
and
.B Xutf8SetWMProperties
set the WM_LOCALE_NAME property to be the name of the current locale.
The name is assumed to be in the Host Portable Character Encoding
and is converted to STRING for storage in the property.
.LP
.BR XSetWMProperties ,
.B XmbSetWMProperties
and
.B Xutf8SetWMProperties
can generate
.B BadAlloc
and
.B BadWindow
errors.
.LP
The function
.B Xutf8SetWMProperties
is an extension introduced by The XFree86 Project, Inc., in their 4.0.2
release.
Its presence is
indicated by the macro
.BR X_HAVE_UTF8_STRING .
.SH PROPERTIES
.TP 1i
\s-1WM_CLASS\s+1
Set by application programs to allow window and session
managers to obtain the application's resources from the resource database.
.TP 1i
\s-1WM_CLIENT_MACHINE\s+1
The string name of the machine on which the client application is running.
.TP 1i
\s-1WM_COMMAND\s+1
The command and arguments, null-separated, used to invoke the
application.
.TP 1i
\s-1WM_HINTS\s+1
Additional hints set by the client for use by the window manager.
The C type of this property is
.BR XWMHints .
.TP 1i
\s-1WM_ICON_NAME\s+1
The name to be used in an icon.
.TP 1i
\s-1WM_NAME\s+1
The name of the application.
.TP 1i
\s-1WM_NORMAL_HINTS\s+1
Size hints for a window in its normal state.
The C type of this property is
.BR XSizeHints .
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XAllocClassHint(__libmansuffix__),
XAllocIconSize(__libmansuffix__),
XAllocSizeHints(__libmansuffix__),
XAllocWMHints(__libmansuffix__),
XParseGeometry(__libmansuffix__),
XSetCommand(__libmansuffix__),
XSetTransientForHint(__libmansuffix__),
XSetTextProperty(__libmansuffix__),
XSetWMClientMachine(__libmansuffix__),
XSetWMColormapWindows(__libmansuffix__),
XSetWMIconName(__libmansuffix__),
XSetWMName(__libmansuffix__),
XSetWMProtocols(__libmansuffix__),
XStringListToTextProperty(__libmansuffix__),
XTextListToTextProperty(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XFontProp.man 0000644 0001750 0001750 00000000063 14222353101 012644 0000000 0000000 .so man__libmansuffix__/XLoadFont.__libmansuffix__
libX11-1.7.5/man/XFreeExtensionList.man 0000644 0001750 0001750 00000000071 14222353101 014506 0000000 0000000 .so man__libmansuffix__/XQueryExtension.__libmansuffix__
libX11-1.7.5/man/XBell.man 0000644 0001750 0001750 00000000100 14222353101 011743 0000000 0000000 .so man__libmansuffix__/XChangeKeyboardControl.__libmansuffix__
libX11-1.7.5/man/XLoadFont.man 0000644 0001750 0001750 00000032736 14222353101 012617 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.de EX
.sp
.nf
.ft CW
..
.de EE
.ft R
.fi
.sp
..
.TH XLoadFont __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XLoadFont, XQueryFont, XLoadQueryFont, XFreeFont, XGetFontProperty, XUnloadFont, XCharStruct, XFontProp, XChar2b, XFontStruct \- load or unload fonts and font metric structures
.SH SYNTAX
.HP
Font XLoadFont\^(\^Display *\fIdisplay\fP\^, _Xconst char *\fIname\fP\^);
.HP
XFontStruct *XQueryFont\^(\^Display *\fIdisplay\fP\^, XID \fIfont_ID\fP\^);
.HP
XFontStruct *XLoadQueryFont\^(\^Display *\fIdisplay\fP\^, _Xconst char
*\fIname\fP\^);
.HP
int XFreeFont\^(\^Display *\fIdisplay\fP\^, XFontStruct *\fIfont_struct\fP\^);
.HP
Bool XGetFontProperty\^(\^XFontStruct *\fIfont_struct\fP\^, Atom \fIatom\fP\^,
unsigned long *\fIvalue_return\fP\^);
.HP
int XUnloadFont\^(\^Display *\fIdisplay\fP\^, Font \fIfont\fP\^);
.SH ARGUMENTS
.IP \fIatom\fP 1i
Specifies the atom for the property name you want returned.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIfont\fP 1i
Specifies the font.
.IP \fIfont_ID\fP 1i
Specifies the font ID or the
.B GContext
ID.
.IP \fIfont_struct\fP 1i
Specifies the storage associated with the font.
.IP \fIgc\fP 1i
Specifies the GC.
.IP \fIname\fP 1i
Specifies the name of the font,
which is a null-terminated string.
.IP \fIvalue_return\fP 1i
Returns the value of the font property.
.SH DESCRIPTION
The
.B XLoadFont
function loads the specified font and returns its associated font ID.
If the font name is not in the Host Portable Character Encoding,
the result is implementation-dependent.
Use of uppercase or lowercase does not matter.
When the characters \*(lq?\*(rq and \*(lq\*(rq are used in a font name, a
pattern match is performed and any matching font is used.
In the pattern,
the \*(lq?\*(rq character will match any single character,
and the \*(lq*\*(rq character will match any number of characters.
A structured format for font names is specified in the X Consortium standard
\fIX Logical Font Description Conventions\fP.
If
.B XLoadFont
was unsuccessful at loading the specified font,
a
.B BadName
error results.
Fonts are not associated with a particular screen
and can be stored as a component
of any GC.
When the font is no longer needed, call
.BR XUnloadFont .
.LP
.B XLoadFont
can generate
.B BadAlloc
and
.B BadName
errors.
.LP
The
.B XQueryFont
function returns a pointer to the
.B XFontStruct
structure, which contains information associated with the font.
You can query a font or the font stored in a GC.
The font ID stored in the
.B XFontStruct
structure will be the
.B GContext
ID, and you need to be careful when using this ID in other functions
(see
.BR XGContextFromGC ).
If the font does not exist,
.B XQueryFont
returns NULL.
To free this data, use
.BR XFreeFontInfo .
.LP
.B XLoadQueryFont
can generate a
.B BadAlloc
error.
.LP
The
.B XLoadQueryFont
function provides the most common way for accessing a font.
.B XLoadQueryFont
both opens (loads) the specified font and returns a pointer to the
appropriate
.B XFontStruct
structure.
If the font name is not in the Host Portable Character Encoding,
the result is implementation-dependent.
If the font does not exist,
.B XLoadQueryFont
returns NULL.
.LP
The
.B XFreeFont
function deletes the association between the font resource ID and the specified
font and frees the
.B XFontStruct
structure.
The font itself will be freed when no other resource references it.
The data and the font should not be referenced again.
.LP
.B XFreeFont
can generate a
.B BadFont
error.
.LP
Given the atom for that property,
the
.B XGetFontProperty
function returns the value of the specified font property.
.B XGetFontProperty
also returns
.B False
if the property was not defined or
.B True
if it was defined.
A set of predefined atoms exists for font properties,
which can be found in
.BR X11/Xatom.h .
This set contains the standard properties associated with
a font.
Although it is not guaranteed,
it is likely that the predefined font properties will be present.
.LP
The
.B XUnloadFont
function deletes the association between the font resource ID and the specified font.
The font itself will be freed when no other resource references it.
The font should not be referenced again.
.LP
.B XUnloadFont
can generate a
.B BadFont
error.
.SH STRUCTURES
The
.B XFontStruct
structure contains all of the information for the font
and consists of the font-specific information as well as
a pointer to an array of
.B XCharStruct
structures for the
characters contained in the font.
The
.BR XFontStruct ,
.BR XFontProp ,
and
.B XCharStruct
structures contain:
.LP
.EX
typedef struct {
short lbearing; /\&* origin to left edge of raster */
short rbearing; /\&* origin to right edge of raster */
short width; /\&* advance to next char's origin */
short ascent; /\&* baseline to top edge of raster */
short descent; /\&* baseline to bottom edge of raster */
unsigned short attributes; /\&* per char flags (not predefined) */
} XCharStruct;
.EE
.LP
.EX
typedef struct {
Atom name;
unsigned long card32;
} XFontProp;
.EE
.LP
.EX
typedef struct { /\&* normal 16 bit characters are two bytes */
unsigned char byte1;
unsigned char byte2;
} XChar2b;
.EE
.LP
.EX
typedef struct {
XExtData *ext_data; /\&* hook for extension to hang data */
Font fid; /\&* Font id for this font */
unsigned direction; /\&* hint about the direction font is painted */
unsigned min_char_or_byte2; /\&* first character */
unsigned max_char_or_byte2; /\&* last character */
unsigned min_byte1; /\&* first row that exists */
unsigned max_byte1; /\&* last row that exists */
Bool all_chars_exist; /\&* flag if all characters have nonzero size */
unsigned default_char; /\&* char to print for undefined character */
int n_properties; /\&* how many properties there are */
XFontProp *properties; /\&* pointer to array of additional properties */
XCharStruct min_bounds; /\&* minimum bounds over all existing char */
XCharStruct max_bounds; /\&* maximum bounds over all existing char */
XCharStruct *per_char; /\&* first_char to last_char information */
int ascent; /\&* logical extent above baseline for spacing */
int descent; /\&* logical decent below baseline for spacing */
} XFontStruct;
.EE
.LP
X supports single byte/character, two bytes/character matrix,
and 16-bit character text operations.
Note that any of these forms can be used with a font, but a
single byte/character text request can only specify a single byte
(that is, the first row of a 2-byte font).
You should view 2-byte fonts as a two-dimensional matrix of defined
characters: byte1 specifies the range of defined rows and
byte2 defines the range of defined columns of the font.
Single byte/character fonts have one row defined, and the byte2 range
specified in the structure defines a range of characters.
.LP
The bounding box of a character is defined by the
.B XCharStruct
of that character.
When characters are absent from a font,
the default_char is used.
When fonts have all characters of the same size,
only the information in the
.B XFontStruct
min and max bounds are used.
.LP
The members of the
.B XFontStruct
have the following semantics:
.IP \(bu 5
The direction member can be either
.B FontLeftToRight
or
.BR FontRightToLeft .
It is just a hint as to whether most
.B XCharStruct
elements
have a positive
.RB ( FontLeftToRight )
or a negative
.RB ( FontRightToLeft )
character width
metric.
The core protocol defines no support for vertical text.
.IP \(bu 5
If the min_byte1 and max_byte1 members are both zero, min_char_or_byte2
specifies the linear character index corresponding to the first element
of the per_char array, and max_char_or_byte2 specifies the linear character
index of the last element.
.IP
If either min_byte1 or max_byte1 are nonzero, both
min_char_or_byte2 and max_char_or_byte2 are less than 256,
and the 2-byte character index values corresponding to the
per_char array element N (counting from 0) are:
.IP
.EX
byte1 = N/D + min_byte1
byte2 = N\\D + min_char_or_byte2
.EE
where:
.EX
D = max_char_or_byte2 \- min_char_or_byte2 + 1
/ = integer division
\e\e = integer modulus
.EE
.IP \(bu 5
If the per_char pointer is NULL,
all glyphs between the first and last character indexes
inclusive have the same information,
as given by both min_bounds and max_bounds.
.IP \(bu 5
If all_chars_exist is
.BR True ,
all characters in the per_char array have nonzero bounding boxes.
.IP \(bu 5
The default_char member specifies the character that will be used when an
undefined or nonexistent character is printed.
The default_char is a 16-bit character (not a 2-byte character).
For a font using 2-byte matrix format,
the default_char has byte1 in the most-significant byte
and byte2 in the least significant byte.
If the default_char itself specifies an undefined or nonexistent character,
no printing is performed for an undefined or nonexistent character.
.IP \(bu 5
The min_bounds and max_bounds members contain the most extreme values of
each individual
.B XCharStruct
component over all elements of this array
(and ignore nonexistent characters).
The bounding box of the font (the smallest
rectangle enclosing the shape obtained by superimposing all of the
characters at the same origin [x,y]) has its upper-left coordinate at:
.EX
[x + min_bounds.lbearing, y \- max_bounds.ascent]
.EE
.IP
Its width is:
.EX
max_bounds.rbearing \- min_bounds.lbearing
.EE
.IP
Its height is:
.EX
max_bounds.ascent + max_bounds.descent
.EE
.IP \(bu 5
The ascent member is the logical extent of the font above the baseline that is
used for determining line spacing.
Specific characters may extend beyond
this.
.IP \(bu 5
The descent member is the logical extent of the font at or below the
baseline that is used for determining line spacing.
Specific characters may extend beyond this.
.IP \(bu 5
If the baseline is at Y-coordinate y,
the logical extent of the font is inclusive between the Y-coordinate
values (y \- font.ascent) and (y + font.descent \- 1).
Typically,
the minimum interline spacing between rows of text is given
by ascent + descent.
.LP
For a character origin at [x,y],
the bounding box of a character (that is,
the smallest rectangle that encloses the character's shape)
described in terms of
.B XCharStruct
components is a rectangle with its upper-left corner at:
.LP
.EX
[x + lbearing, y \- ascent]
.EE
.LP
Its width is:
.LP
.EX
rbearing \- lbearing
.EE
.LP
Its height is:
.LP
.EX
ascent + descent
.EE
.LP
The origin for the next character is defined to be:
.LP
.EX
[x + width, y]
.EE
.LP
The lbearing member defines the extent of the left edge of the character ink
from the origin.
The rbearing member defines the extent of the right edge of the character ink
from the origin.
The ascent member defines the extent of the top edge of the character ink
from the origin.
The descent member defines the extent of the bottom edge of the character ink
from the origin.
The width member defines the logical width of the character.
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadFont
A value for a Font or GContext argument does not name a defined Font.
.TP 1i
.B BadName
A font or color of the specified name does not exist.
.SH "SEE ALSO"
XCreateGC(__libmansuffix__),
XListFonts(__libmansuffix__),
XSetFontPath(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XwcTextExtents.man 0000644 0001750 0001750 00000000070 14222353101 013724 0000000 0000000 .so man__libmansuffix__/XmbTextExtents.__libmansuffix__
libX11-1.7.5/man/XBaseFontNameListOfFontSet.man 0000644 0001750 0001750 00000000071 14222353101 016022 0000000 0000000 .so man__libmansuffix__/XFontsOfFontSet.__libmansuffix__
libX11-1.7.5/man/XrmGetStringDatabase.man 0000644 0001750 0001750 00000000074 14222353101 014771 0000000 0000000 .so man__libmansuffix__/XrmGetFileDatabase.__libmansuffix__
libX11-1.7.5/man/XVisualIDFromVisual.man 0000644 0001750 0001750 00000000070 14222353101 014563 0000000 0000000 .so man__libmansuffix__/XGetVisualInfo.__libmansuffix__
libX11-1.7.5/man/XLookupString.man 0000644 0001750 0001750 00000000067 14222353101 013541 0000000 0000000 .so man__libmansuffix__/XLookupKeysym.__libmansuffix__
libX11-1.7.5/man/XNoOp.man 0000644 0001750 0001750 00000005366 14222353101 011763 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XNoOp __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XNoOp \- No Operation
.SH SYNTAX
int XNoOp\^(\^Display *\fIdisplay\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.SH DESCRIPTION
The
.B XNoOp
function sends a
.B NoOperation
protocol request to the X server,
thereby exercising the connection.
.SH "SEE ALSO"
\fI\*(xL\fP
libX11-1.7.5/man/XDestroyWindow.man 0000644 0001750 0001750 00000011062 14222353101 013717 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XDestroyWindow __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XDestroyWindow, XDestroySubwindows \- destroy windows
.SH SYNTAX
.HP
int XDestroyWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
.HP
int XDestroySubwindows\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIw\fP 1i
Specifies the window.
.SH DESCRIPTION
The
.B XDestroyWindow
function destroys the specified window as well as all of its subwindows and causes
the X server to generate a
.B DestroyNotify
event for each window.
The window should never be referenced again.
If the window specified by the w argument is mapped,
it is unmapped automatically.
The ordering of the
.B DestroyNotify
events is such that for any given window being destroyed,
.B DestroyNotify
is generated on any inferiors of the window before being generated on
the window itself.
The ordering among siblings and across subhierarchies is not otherwise
constrained.
If the window you specified is a root window, no windows are destroyed.
Destroying a mapped window will generate
.B Expose
events on other windows that were obscured by the window being destroyed.
.LP
.B XDestroyWindow
can generate a
.B BadWindow
error.
.LP
The
.B XDestroySubwindows
function destroys all inferior windows of the specified window,
in bottom-to-top stacking order.
It causes the X server to generate a
.B DestroyNotify
event for each window.
If any mapped
subwindows were actually destroyed,
.B XDestroySubwindows
causes the X server to generate
.B Expose
events on the specified window.
This is much more efficient than deleting many windows
one at a time because much of the work need be performed only once for all
of the windows, rather than for each window.
The subwindows should never be referenced again.
.LP
.B XDestroySubwindows
can generate a
.B BadWindow
error.
.SH DIAGNOSTICS
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XChangeWindowAttributes(__libmansuffix__),
XConfigureWindow(__libmansuffix__),
XCreateWindow(__libmansuffix__),
XMapWindow(__libmansuffix__),
XRaiseWindow(__libmansuffix__),
XUnmapWindow(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XLookupColor.man 0000644 0001750 0001750 00000000065 14222353101 013347 0000000 0000000 .so man__libmansuffix__/XQueryColor.__libmansuffix__
libX11-1.7.5/man/XSelectionEvent.man 0000644 0001750 0001750 00000012362 14222353101 014031 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSelectionEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSelectionEvent \- SelectionNotify event structure
.SH STRUCTURES
The structure for
.B SelectionNotify
events contains:
.LP
.EX
typedef struct {
int type; /\&* SelectionNotify */
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window requestor;
Atom selection;
Atom target;
Atom property; /\&* atom or None */
Time time;
} XSelectionEvent;
.EE
.LP
When you receive this event,
the structure members are set as follows.
.LP
The type member is set to the event type constant name that uniquely identifies
it.
For example, when the X server reports a
.B GraphicsExpose
event to a client application, it sends an
.B XGraphicsExposeEvent
structure with the type member set to
.BR GraphicsExpose .
The display member is set to a pointer to the display the event was read on.
The send_event member is set to
.B True
if the event came from a
.B SendEvent
protocol request.
The serial member is set from the serial number reported in the protocol
but expanded from the 16-bit least-significant bits to a full 32-bit value.
The window member is set to the window that is most useful to toolkit
dispatchers.
.LP
The requestor member is set to the window associated with
the requestor of the selection.
The selection member is set to the atom that indicates the selection.
For example, PRIMARY is used for the primary selection.
The target member is set to the atom that indicates the converted type.
For example, PIXMAP is used for a pixmap.
The property member is set to the atom that indicates which
property the result was stored on.
If the conversion failed,
the property member is set to
.BR None .
The time member is set to the time the conversion took place and
can be a timestamp or
.BR CurrentTime .
.SH "SEE ALSO"
XAnyEvent(__libmansuffix__),
XButtonEvent(__libmansuffix__),
XCreateWindowEvent(__libmansuffix__),
XCirculateEvent(__libmansuffix__),
XCirculateRequestEvent(__libmansuffix__),
XColormapEvent(__libmansuffix__),
XConfigureEvent(__libmansuffix__),
XConfigureRequestEvent(__libmansuffix__),
XCrossingEvent(__libmansuffix__),
XDestroyWindowEvent(__libmansuffix__),
XErrorEvent(__libmansuffix__),
XExposeEvent(__libmansuffix__),
XFocusChangeEvent(__libmansuffix__),
XGraphicsExposeEvent(__libmansuffix__),
XGravityEvent(__libmansuffix__),
XKeymapEvent(__libmansuffix__),
XMapEvent(__libmansuffix__),
XMapRequestEvent(__libmansuffix__),
XPropertyEvent(__libmansuffix__),
XReparentEvent(__libmansuffix__),
XResizeRequestEvent(__libmansuffix__),
XSelectionClearEvent(__libmansuffix__),
XSelectionRequestEvent(__libmansuffix__),
XUnmapEvent(__libmansuffix__),
XVisibilityEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XrmPutResource.man 0000644 0001750 0001750 00000014406 14222353101 013722 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XrmPutResource __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XrmPutResource, XrmQPutResource, XrmPutStringResource, XrmQPutStringResource, XrmPutLineResource \- store database resources
.SH SYNTAX
.HP
#include
.HP
void XrmPutResource\^(\^XrmDatabase *\fIdatabase\fP\^, char
*\fIspecifier\fP\^, char *\fItype\fP\^, XrmValue *\fIvalue\fP\^);
.HP
void XrmQPutResource\^(\^XrmDatabase *\fIdatabase\fP\^, XrmBindingList
\fIbindings\fP\^, XrmQuarkList \fIquarks\fP\^, XrmRepresentation \fItype\fP\^,
XrmValue *\fIvalue\fP\^);
.HP
void XrmPutStringResource\^(\^XrmDatabase *\fIdatabase\fP\^, _Xconst char
*\fIspecifier\fP\^, _Xconst char *\fIvalue\fP\^);
.HP
void XrmQPutStringResource\^(\^XrmDatabase *\fIdatabase\fP\^, XrmBindingList
\fIbindings\fP\^, XrmQuarkList \fIquarks\fP\^, _Xconst char *\fIvalue\fP\^);
.HP
void XrmPutLineResource\^(\^XrmDatabase *\fIdatabase\fP\^, _Xconst char
*\fIline\fP\^);
.SH ARGUMENTS
.IP \fIbindings\fP 1i
Specifies a list of bindings.
.IP \fIdatabase\fP 1i
Specifies the resource database.
.IP \fIline\fP 1i
Specifies the resource name and value pair as a single string.
.IP \fIquarks\fP 1i
Specifies the complete or partial name or the class list of the resource.
.IP \fIspecifier\fP 1i
Specifies a complete or partial specification of the resource.
.IP \fItype\fP 1i
Specifies the type of the resource.
.IP \fIvalue\fP 1i
Specifies the value of the resource, which is specified as a string.
.SH DESCRIPTION
If database contains NULL,
.B XrmPutResource
creates a new database and returns a pointer to it.
.B XrmPutResource
is a convenience function that calls
.B XrmStringToBindingQuarkList
followed by:
.LP
.EX
XrmQPutResource(database, bindings, quarks, XrmStringToQuark(type), value)
.EE
.LP
If the specifier and type are not in the Host Portable Character Encoding,
the result is implementation-dependent.
The value is stored in the database without modification.
.LP
If database contains NULL,
.B XrmQPutResource
creates a new database and returns a pointer to it.
If a resource entry with the identical bindings and quarks already
exists in the database, the previous type and value are replaced by the new
specified type and value.
The value is stored in the database without modification.
.LP
If database contains NULL,
.B XrmPutStringResource
creates a new database and returns a pointer to it.
.B XrmPutStringResource
adds a resource with the specified value to the specified database.
.B XrmPutStringResource
is a convenience function that first calls
.B XrmStringToBindingQuarkList
on the specifier and then calls
.BR XrmQPutResource ,
using a \*(lqString\*(rq representation type.
If the specifier is not in the Host Portable Character Encoding,
the result is implementation-dependent.
The value is stored in the database without modification.
.LP
If database contains NULL,
.B XrmQPutStringResource
creates a new database and returns a pointer to it.
.B XrmQPutStringResource
is a convenience routine that constructs an
.B XrmValue
for the value string (by calling
.B strlen
to compute the size) and
then calls
.BR XrmQPutResource ,
using a \*(lqString\*(rq representation type.
The value is stored in the database without modification.
.LP
If database contains NULL,
.B XrmPutLineResource
creates a new database and returns a pointer to it.
.B XrmPutLineResource
adds a single resource entry to the specified database.
The line should be in valid ResourceLine format (see section 15.1)
terminated by a newline or null character;
the database that results from using a string
with incorrect syntax is implementation-dependent.
The string is parsed in the locale of the database.
If the
.B ResourceName
is not in the Host Portable Character Encoding,
the result is implementation-dependent.
Note that comment lines are not stored.
.SH "SEE ALSO"
XrmGetResource(__libmansuffix__),
XrmInitialize(__libmansuffix__),
XrmMergeDatabases(__libmansuffix__),
XrmUniqueQuark(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XmbDrawImageString.man 0000644 0001750 0001750 00000011206 14222353101 014444 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
.\" Copyright \(co 2000 The XFree86 Project, Inc.
.\"
.\" 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XmbDrawImageString __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XmbDrawImageString, XwcDrawImageString, Xutf8DrawImageString \- draw image text using a single font set
.SH SYNTAX
.HP
void XmbDrawImageString\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^,
XFontSet \fIfont_set\fP\^, GC \fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^,
_Xconst char *\fIstring\fP\^, int \fInum_bytes\fP\^);
.HP
void XwcDrawImageString\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^,
XFontSet \fIfont_set\fP\^, GC \fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^,
_Xconst wchar_t *\fIstring\fP\^, int \fInum_wchars\fP\^);
.HP
void Xutf8DrawImageString\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^,
XFontSet \fIfont_set\fP\^, GC \fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^,
_Xconst char *\fIstring\fP\^, int \fInum_bytes\fP\^);
.SH ARGUMENTS
.IP \fId\fP 1i
Specifies the drawable.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIfont_set\fP 1i
Specifies the font set.
.IP \fIgc\fP 1i
Specifies the GC.
.IP \fInum_bytes\fP 1i
Specifies the number of bytes in the string argument.
.IP \fInum_wchars\fP 1i
Specifies the number of characters in the string argument.
.IP \fIstring\fP 1i
Specifies the character string.
.IP \fIx\fP 1i
.br
.ns
.IP \fIy\fP 1i
Specify the x and y coordinates.
.SH DESCRIPTION
The
.BR XmbDrawImageString ,
.B XwcDrawImageString
and
.B Xutf8DrawImageString
functions fill a destination rectangle with the background pixel defined
in the GC and then paint the text with the foreground pixel.
The filled rectangle is the rectangle returned to overall_logical_return by
.BR XmbTextExtents ,
.B XwcTextExtents
or
.B Xutf8TextExtents
for the same text and
.BR XFontSet .
.LP
When the
.B XFontSet
has missing charsets, each unavailable character is drawn
with the default string returned by
.BR XCreateFontSet .
The behavior for an invalid codepoint is undefined.
.LP
The function
.B Xutf8TextExtents
is an extension introduced by The XFree86 Project, Inc., in their 4.0.2
release.
Its presence is
indicated by the macro
.BR X_HAVE_UTF8_STRING .
.SH "SEE ALSO"
XDrawImageString(__libmansuffix__),
XDrawString(__libmansuffix__),
XDrawText(__libmansuffix__),
XmbDrawString(__libmansuffix__),
XmbDrawText(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XSetEventQueueOwner.man 0000644 0001750 0001750 00000004616 14222353101 014662 0000000 0000000 .\" Copyright \(co 2006 Josh Triplett
.\"
.\" 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.
.\"
.TH XSetEventQueueOwner __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSetEventQueueOwner \- set event queue owner on a shared Xlib/XCB connection
.SH SYNTAX
.HP
#include
.HP
void XSetEventQueueOwner(Display *\fIdpy\fP, enum XEventQueueOwner \fIowner\fP);
.SH ARGUMENTS
.IP \fIdpy\fP 1i
Specifies the connection to the X server.
.IP \fIowner\fP 1i
Specifies the event queue ownership:
.RS
.TP
\fIXlibOwnsEventQueue\fP (default)
Xlib owns the event queue.
Use the Xlib event-handling functions.
Do not
call the XCB event-handling functions.
.TP
\fIXCBOwnsEventQueue\fP
XCB owns the event queue.
Use the XCB event-handling functions.
Do not call
the Xlib event-handling functions.
.RE
.SH DESCRIPTION
While a client using Xlib/XCB can issue requests and handle their replies or
errors with either Xlib or XCB, only one can own and handle the event queue.
By default, Xlib must own the event queue, for compatibility with legacy Xlib
clients.
Clients can call \fIXSetEventQueueOwner\fP immediately after
\fIXOpenDisplay\fP to let XCB own the event queue instead.
Clients may not
call \fIXSetEventQueueOwner\fP at any other time, as this will potentially
lose responses.
.SH "SEE ALSO"
XOpenDisplay(__libmansuffix__),
XGetXCBConnection(__libmansuffix__),
.br
\fIXlib \- C Language X Interface\fP
libX11-1.7.5/man/XNoExposeEvent.man 0000644 0001750 0001750 00000000076 14222353101 013643 0000000 0000000 .so man__libmansuffix__/XGraphicsExposeEvent.__libmansuffix__
libX11-1.7.5/man/XCrossingEvent.man 0000644 0001750 0001750 00000020330 14222353101 013665 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XCrossingEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XCrossingEvent \- EnterNotify and LeaveNotify event structure
.SH STRUCTURES
The structure for
.B EnterNotify
and
.B LeaveNotify
events contains:
.LP
.EX
typedef struct {
int type; /\&* EnterNotify or LeaveNotify */
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window window; /\&* \*(lqevent\*(rq window reported relative to */
Window root; /\&* root window that the event occurred on */
Window subwindow; /\&* child window */
Time time; /\&* milliseconds */
int x, y; /\&* pointer x, y coordinates in event window */
int x_root, y_root; /\&* coordinates relative to root */
int mode; /\&* NotifyNormal, NotifyGrab, NotifyUngrab */
int detail;
/\&*
* NotifyAncestor, NotifyVirtual, NotifyInferior,
* NotifyNonlinear,NotifyNonlinearVirtual
*/
Bool same_screen; /\&* same screen flag */
Bool focus; /\&* boolean focus */
unsigned int state; /\&* key or button mask */
} XCrossingEvent;
typedef XCrossingEvent XEnterWindowEvent;
typedef XCrossingEvent XLeaveWindowEvent;
.EE
.LP
When you receive these events,
the structure members are set as follows.
.LP
The type member is set to the event type constant name that uniquely identifies
it.
For example, when the X server reports a
.B GraphicsExpose
event to a client application, it sends an
.B XGraphicsExposeEvent
structure with the type member set to
.BR GraphicsExpose .
The display member is set to a pointer to the display the event was read on.
The send_event member is set to
.B True
if the event came from a
.B SendEvent
protocol request.
The serial member is set from the serial number reported in the protocol
but expanded from the 16-bit least-significant bits to a full 32-bit value.
The window member is set to the window that is most useful to toolkit
dispatchers.
.LP
The window member is set to the window on which the
.B EnterNotify
or
.B LeaveNotify
event was generated and is referred to as the event window.
This is the window used by the X server to report the event,
and is relative to the root
window on which the event occurred.
The root member is set to the root window of the screen
on which the event occurred.
.LP
For a
.B LeaveNotify
event,
if a child of the event window contains the initial position of the pointer,
the subwindow component is set to that child.
Otherwise, the X server sets the subwindow member to
.BR None .
For an
.B EnterNotify
event, if a child of the event window contains the final pointer position,
the subwindow component is set to that child or
.BR None .
.LP
The time member is set to the time when the event was generated
and is expressed in milliseconds.
The x and y members are set to the coordinates of the pointer position in
the event window.
This position is always the pointer's final position,
not its initial position.
If the event window is on the same
screen as the root window, x and y are the pointer coordinates
relative to the event window's origin.
Otherwise, x and y are set to zero.
The x_root and y_root members are set to the pointer's coordinates relative to the
root window's origin at the time of the event.
.LP
The same_screen member is set to indicate whether the event window is on the same screen
as the root window and can be either
.B True
or
.BR False .
If
.BR True ,
the event and root windows are on the same screen.
If
.BR False ,
the event and root windows are not on the same screen.
.LP
The focus member is set to indicate whether the event window is the focus window or an
inferior of the focus window.
The X server can set this member to either
.B True
or
.BR False .
If
.BR True ,
the event window is the focus window or an inferior of the focus window.
If
.BR False ,
the event window is not the focus window or an inferior of the focus window.
.LP
The state member is set to indicate the state of the pointer buttons and
modifier keys just prior to the
event.
The X server can set this member to the bitwise inclusive OR of one
or more of the button or modifier key masks:
.BR Button1Mask ,
.BR Button2Mask ,
.BR Button3Mask ,
.BR Button4Mask ,
.BR Button5Mask ,
.BR ShiftMask ,
.BR LockMask ,
.BR ControlMask ,
.BR Mod1Mask ,
.BR Mod2Mask ,
.BR Mod3Mask ,
.BR Mod4Mask ,
.BR Mod5Mask .
.LP
The mode member is set to indicate whether the events are normal events,
pseudo-motion events
when a grab activates, or pseudo-motion events when a grab deactivates.
The X server can set this member to
.BR NotifyNormal ,
.BR NotifyGrab ,
or
.BR NotifyUngrab .
.LP
The detail member is set to indicate the notify detail and can be
.BR NotifyAncestor ,
.BR NotifyVirtual ,
.BR NotifyInferior ,
.BR NotifyNonlinear ,
or
.BR NotifyNonlinearVirtual .
.SH "SEE ALSO"
XAnyEvent(__libmansuffix__),
XButtonEvent(__libmansuffix__),
XCreateWindowEvent(__libmansuffix__),
XCirculateEvent(__libmansuffix__),
XCirculateRequestEvent(__libmansuffix__),
XColormapEvent(__libmansuffix__),
XConfigureEvent(__libmansuffix__),
XConfigureRequestEvent(__libmansuffix__),
XDestroyWindowEvent(__libmansuffix__),
XErrorEvent(__libmansuffix__),
XExposeEvent(__libmansuffix__),
XFocusChangeEvent(__libmansuffix__),
XGraphicsExposeEvent(__libmansuffix__),
XGravityEvent(__libmansuffix__),
XKeymapEvent(__libmansuffix__),
XMapEvent(__libmansuffix__),
XMapRequestEvent(__libmansuffix__),
XPropertyEvent(__libmansuffix__),
XReparentEvent(__libmansuffix__),
XResizeRequestEvent(__libmansuffix__),
XSelectionClearEvent(__libmansuffix__),
XSelectionEvent(__libmansuffix__),
XSelectionRequestEvent(__libmansuffix__),
XUnmapEvent(__libmansuffix__),
XVisibilityEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XCreatePixmapFromBitmapData.man 0000644 0001750 0001750 00000000071 14222353101 016231 0000000 0000000 .so man__libmansuffix__/XReadBitmapFile.__libmansuffix__
libX11-1.7.5/man/XwcDrawString.man 0000644 0001750 0001750 00000000067 14222353101 013517 0000000 0000000 .so man__libmansuffix__/XmbDrawString.__libmansuffix__
libX11-1.7.5/man/XLocaleOfFontSet.man 0000644 0001750 0001750 00000000071 14222353101 014063 0000000 0000000 .so man__libmansuffix__/XFontsOfFontSet.__libmansuffix__
libX11-1.7.5/man/HeightMMOfScreen.man 0000644 0001750 0001750 00000000074 14222353101 014036 0000000 0000000 .so man__libmansuffix__/BlackPixelOfScreen.__libmansuffix__
libX11-1.7.5/man/DefaultScreen.man 0000644 0001750 0001750 00000000063 14222353101 013471 0000000 0000000 .so man__libmansuffix__/AllPlanes.__libmansuffix__
libX11-1.7.5/man/XWarpPointer.man 0000644 0001750 0001750 00000011011 14222353101 013342 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XWarpPointer __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XWarpPointer \- move pointer
.SH SYNTAX
.HP
int XWarpPointer\^(\^Display *\fIdisplay\fP\^, Window \fIsrc_w\fP\^, Window
\fIdest_w\fP\^, int \fIsrc_x\fP\^, int \fIsrc_y\fP\^, unsigned int
\fIsrc_width\fP\^, unsigned int \fIsrc_height\fP\^, int \fIdest_x\fP\^, int
\fIdest_y\fP\^);
.SH ARGUMENTS
.IP \fIdest_w\fP 1i
Specifies the destination window or
.BR None .
.IP \fIdest_x\fP 1i
.br
.ns
.IP \fIdest_y\fP 1i
Specify the x and y coordinates within the destination window.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIsrc_x\fP 1i
.br
.ns
.IP \fIsrc_y\fP 1i
.br
.ns
.IP \fIsrc_width\fP 1i
.br
.ns
.IP \fIsrc_height\fP 1i
Specify a rectangle in the source window.
.IP \fIsrc_w\fP 1i
Specifies the source window or
.BR None .
.SH DESCRIPTION
If dest_w is
.BR None ,
.B XWarpPointer
moves the pointer by the offsets (dest_x, dest_y) relative to the current
position of the pointer.
If dest_w is a window,
.B XWarpPointer
moves the pointer to the offsets (dest_x, dest_y) relative to the origin of
dest_w.
However, if src_w is a window,
the move only takes place if the window src_w contains the pointer
and if the specified rectangle of src_w contains the pointer.
.LP
The src_x and src_y coordinates are relative to the origin of src_w.
If src_height is zero,
it is replaced with the current height of src_w minus src_y.
If src_width is zero,
it is replaced with the current width of src_w minus src_x.
.LP
There is seldom any reason for calling this function.
The pointer should normally be left to the user.
If you do use this function, however, it generates events just as if the user
had instantaneously moved the pointer from one position to another.
Note that you cannot use
.B XWarpPointer
to move the pointer outside the confine_to window of an active pointer grab.
An attempt to do so will only move the pointer as far as the closest edge of the
confine_to window.
.LP
.B XWarpPointer
can generate a
.B BadWindow
error.
.SH DIAGNOSTICS
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XSetInputFocus(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/ServerVendor.man 0000644 0001750 0001750 00000000063 14222353101 013371 0000000 0000000 .so man__libmansuffix__/AllPlanes.__libmansuffix__
libX11-1.7.5/man/XSetTSOrigin.man 0000644 0001750 0001750 00000000062 14222353101 013246 0000000 0000000 .so man__libmansuffix__/XSetTile.__libmansuffix__
libX11-1.7.5/man/XrmEnumerateDatabase.man 0000644 0001750 0001750 00000011776 14222353101 015023 0000000 0000000 '\" t
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
'\" t
.TH XrmEnumerateDatabase __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XrmEnumerateDatabase \- enumerate resource database entries
.SH SYNTAX
.HP
#include
.TS
lw(.5i) lw(2i) lw(2.5i).
T{
\define
T} T{
.B XrmEnumAllLevels
T} T{
0
T}
T{
\define
T} T{
.B XrmEnumOneLevel
T} T{
1
T}
.TE
.HP
Bool XrmEnumerateDatabase\^(\^XrmDatabase \fIdatabase\fP\^, XrmNameList
\fIname_prefix\fP\^, XrmClassList \fIclass_prefix\fP\^, int \fImode\fP\^, Bool
(\^*\fIproc\fP\^)\^(\^)\^, XPointer \fIarg\fP\^);
.SH ARGUMENTS
.IP \fIdatabase\fP 1i
Specifies the resource database.
.IP \fIname_prefix\fP 1i
Specifies the resource name prefix.
.IP \fIclass_prefix\fP 1i
Specifies the resource class prefix.
.IP \fImode\fP 1i
Specifies the number of levels to enumerate.
.IP \fIproc\fP 1i
Specifies the procedure that is to be called for each matching entry.
.IP \fIarg\fP 1i
Specifies the user-supplied argument that will be passed to the procedure.
.SH DESCRIPTION
The
.B XrmEnumerateDatabase
function calls the specified procedure for each resource in the database
that would match some completion of the given name/class resource prefix.
The order in which resources are found is implementation-dependent.
If mode is
.BR XrmEnumOneLevel ,
a resource must match the given name/class prefix with
just a single name and class appended.
If mode is
.BR XrmEnumAllLevels ,
the resource must match the given name/class prefix with one or more names and
classes appended.
If the procedure returns
.BR True ,
the enumeration terminates and the function returns
.BR True .
If the procedure always returns
.BR False ,
all matching resources are enumerated and the function returns
.BR False .
.LP
The procedure is called with the following arguments:
.LP
.\" Start marker code here
.EX
(*\fIproc\fP\^)(\^\fIdatabase\fP, \fIbindings\fP, \fIquarks\fP, \fItype\fP, \fIvalue\fP, \fIarg\fP\^)
XrmDatabase *\fIdatabase\fP\^;
XrmBindingList \fIbindings\fP\^;
XrmQuarkList \fIquarks\fP\^;
XrmRepresentation *\fItype\fP\^;
XrmValue *\fIvalue\fP\^;
XPointer \fIarg\fP\^;
.EE
.\" End marker code here
.LP
The bindings and quarks lists are terminated by
.BR NULLQUARK .
Note that pointers
to the database and type are passed, but these values should not be modified.
.LP
The procedure must not modify the database.
If Xlib has been initialized for threads, the procedure is called with
the database locked and the result of a call by the procedure to any
Xlib function using the same database is not defined.
.SH "SEE ALSO"
XrmGetResource(__libmansuffix__),
XrmInitialize(__libmansuffix__),
XrmPutResource(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XGetWindowAttributes.man 0000644 0001750 0001750 00000023146 14222353101 015062 0000000 0000000 '\" t
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
'\" t
.TH XGetWindowAttributes __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XGetWindowAttributes, XGetGeometry, XWindowAttributes \- get current window attribute or geometry and current window attributes structure
.SH SYNTAX
.HP
Status XGetWindowAttributes\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
XWindowAttributes *\fIwindow_attributes_return\fP\^);
.HP
Status XGetGeometry\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, Window
*\fIroot_return\fP\^, int *\fIx_return\fP\^, int *\fIy_return\fP\^, unsigned
int *\fIwidth_return\fP\^, unsigned int *\fIheight_return\fP\^, unsigned int
*\fIborder_width_return\fP\^, unsigned int *\fIdepth_return\fP\^);
.SH ARGUMENTS
.IP \fIborder_width_return\fP 1i
Returns the border width in pixels.
.IP \fId\fP 1i
Specifies the drawable, which can be a window or a pixmap.
.IP \fIdepth_return\fP 1i
Returns the depth of the drawable (bits per pixel for the object).
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIroot_return\fP 1i
Returns the root window.
.ds Wi
.IP \fIw\fP 1i
Specifies the window whose current attributes you want to obtain.
.IP \fIwidth_return\fP 1i
.br
.ns
.IP \fIheight_return\fP 1i
Return the drawable's dimensions (width and height).
.IP \fIwindow_attributes_return\fP 1i
Returns the specified window's attributes in the
.B XWindowAttributes
structure.
.IP \fIx_return\fP 1i
.br
.ns
.IP \fIy_return\fP 1i
Return the x and y coordinates that define the location of the drawable.
For a window,
these coordinates specify the upper-left outer corner relative to
its parent's origin.
For pixmaps, these coordinates are always zero.
.SH DESCRIPTION
The
.B XGetWindowAttributes
function returns the current attributes for the specified window to an
.B XWindowAttributes
structure.
It returns a nonzero status on success; otherwise, it returns a
zero status.
.LP
.B XGetWindowAttributes
can generate
.B BadDrawable
and
.B BadWindow
errors.
.LP
The
.B XGetGeometry
function returns the root window and the current geometry of the drawable.
The geometry of the drawable includes the x and y coordinates, width and height,
border width, and depth.
These are described in the argument list.
It is legal to pass to this function a window whose class is
.BR InputOnly .
It returns a nonzero status on success; otherwise, it returns a
zero status.
.SH STRUCTURES
The
.B XWindowAttributes
structure contains:
.LP
.EX
typedef struct {
int x, y; /\&* location of window */
int width, height; /\&* width and height of window */
int border_width; /\&* border width of window */
int depth; /\&* depth of window */
Visual *visual; /\&* the associated visual structure */
Window root; /\&* root of screen containing window */
int class; /\&* InputOutput, InputOnly*/
int bit_gravity; /\&* one of the bit gravity values */
int win_gravity; /\&* one of the window gravity values */
int backing_store; /\&* NotUseful, WhenMapped, Always */
unsigned long backing_planes; /\&* planes to be preserved if possible */
unsigned long backing_pixel; /\&* value to be used when restoring planes */
Bool save_under; /\&* boolean, should bits under be saved? */
Colormap colormap; /\&* color map to be associated with window */
Bool map_installed; /\&* boolean, is color map currently installed*/
int map_state; /\&* IsUnmapped, IsUnviewable, IsViewable */
long all_event_masks; /\&* set of events all people have interest in*/
long your_event_mask; /\&* my event mask */
long do_not_propagate_mask; /\&* set of events that should not propagate */
Bool override_redirect; /\&* boolean value for override-redirect */
Screen *screen; /\&* back pointer to correct screen */
} XWindowAttributes;
.EE
.LP
The x and y members are set to the upper-left outer
corner relative to the parent window's origin.
The width and height members are set to the inside size of the window,
not including the border.
The border_width member is set to the window's border width in pixels.
The depth member is set to the depth of the window
(that is, bits per pixel for the object).
The visual member is a pointer to the screen's associated
.B Visual
structure.
The root member is set to the root window of the screen containing the window.
The class member is set to the window's class and can be either
.B InputOutput
or
.BR InputOnly .
.LP
The bit_gravity member is set to the window's bit gravity
and can be one of the following:
.LP
.TS
lw(1.5i) lw(1.5i).
T{
.B ForgetGravity
T} T{
.B EastGravity
T}
T{
.B NorthWestGravity
T} T{
.B SouthWestGravity
T}
T{
.B NorthGravity
T} T{
.B SouthGravity
T}
T{
.B NorthEastGravity
T} T{
.B SouthEastGravity
T}
T{
.B WestGravity
T} T{
.B StaticGravity
T}
.B CenterGravity
.TE
.LP
The win_gravity member is set to the window's window gravity
and can be one of the following:
.LP
.TS
lw(1.5i) lw(1.5i).
T{
.B UnmapGravity
T} T{
.B EastGravity
T}
T{
.B NorthWestGravity
T} T{
.B SouthWestGravity
T}
T{
.B NorthGravity
T} T{
.B SouthGravity
T}
T{
.B NorthEastGravity
T} T{
.B SouthEastGravity
T}
T{
.B WestGravity
T} T{
.B StaticGravity
T}
.B CenterGravity
.TE
.LP
For additional information on gravity,
see section 3.3.
.LP
The backing_store member is set to indicate how the X server should maintain
the contents of a window
and can be
.BR WhenMapped ,
.BR Always ,
or
.BR NotUseful .
The backing_planes member is set to indicate (with bits set to 1) which bit
planes of the window hold dynamic data that must be preserved in backing_stores
and during save_unders.
The backing_pixel member is set to indicate what values to use
for planes not set in backing_planes.
.LP
The save_under member is set to
.B True
or
.BR False .
The colormap member is set to the colormap for the specified window and can be
a colormap ID or
.BR None .
The map_installed member is set to indicate whether the colormap is
currently installed and can be
.B True
or
.BR False .
The map_state member is set to indicate the state of the window and can be
.BR IsUnmapped ,
.BR IsUnviewable ,
or
.BR IsViewable .
.B IsUnviewable
is used if the window is mapped but some ancestor is unmapped.
.LP
The all_event_masks member is set to the bitwise inclusive OR of all event
masks selected on the window by all clients.
The your_event_mask member is set to the bitwise inclusive OR of all event
masks selected by the querying client.
The do_not_propagate_mask member is set to the bitwise inclusive OR of the
set of events that should not propagate.
.LP
The override_redirect member is set to indicate whether this window overrides
structure control facilities and can be
.B True
or
.BR False .
Window manager clients should ignore the window if this member is
.BR True .
.LP
The screen member is set to a screen pointer that gives you a back pointer
to the correct screen.
This makes it easier to obtain the screen information without
having to loop over the root window fields to see which field matches.
.SH DIAGNOSTICS
.TP 1i
.B BadDrawable
A value for a Drawable argument does not name a defined Window or Pixmap.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XQueryPointer(__libmansuffix__),
XQueryTree(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XSetWMProtocols.man 0000644 0001750 0001750 00000012373 14222353101 014010 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSetWMProtocols __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSetWMProtocols, XGetWMProtocols \- set or read a window's WM_PROTOCOLS property
.SH SYNTAX
.HP
Status XSetWMProtocols\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Atom
*\fIprotocols\fP\^, int \fIcount\fP\^);
.HP
Status XGetWMProtocols\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Atom
**\fIprotocols_return\fP\^, int *\fIcount_return\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIcount\fP 1i
Specifies the number of protocols in the list.
.IP \fIcount_return\fP 1i
Returns the number of protocols in the list.
.IP \fIprotocols\fP 1i
Specifies the list of protocols.
.IP \fIprotocols_return\fP 1i
Returns the list of protocols.
.SH DESCRIPTION
The
.B XSetWMProtocols
function replaces the WM_PROTOCOLS property on the specified window
with the list of atoms specified by the protocols argument.
If the property does not already exist,
.B XSetWMProtocols
sets the WM_PROTOCOLS property on the specified window
to the list of atoms specified by the protocols argument.
The property is stored with a type of ATOM and a format of 32.
If it cannot intern the WM_PROTOCOLS atom,
.B XSetWMProtocols
returns a zero status.
Otherwise, it returns a nonzero status.
.LP
.B XSetWMProtocols
can generate
.B BadAlloc
and
.B BadWindow
errors.
.LP
The
.B XGetWMProtocols
function returns the list of atoms stored in the WM_PROTOCOLS property
on the specified window.
These atoms describe window manager protocols in which the owner
of this window is willing to participate.
If the property exists, is of type ATOM, is of format 32,
and the atom WM_PROTOCOLS can be interned,
.B XGetWMProtocols
sets the protocols_return argument to a list of atoms,
sets the count_return argument to the number of elements in the list,
and returns a nonzero status.
Otherwise, it sets neither of the return arguments
and returns a zero status.
To release the list of atoms, use
.BR XFree .
.LP
.B XGetWMProtocols
can generate a
.B BadWindow
error.
.SH PROPERTIES
.TP 1i
\s-1WM_PROTOCOLS\s+1
List of atoms that identify the communications protocols between the
client and window manager in which the client is willing to participate.
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XAllocClassHint(__libmansuffix__),
XAllocIconSize(__libmansuffix__),
XAllocSizeHints(__libmansuffix__),
XAllocWMHints(__libmansuffix__),
XFree(__libmansuffix__),
XSetCommand(__libmansuffix__),
XSetTransientForHint(__libmansuffix__),
XSetTextProperty(__libmansuffix__),
XSetWMClientMachine(__libmansuffix__),
XSetWMColormapWindows(__libmansuffix__),
XSetWMIconName(__libmansuffix__),
XSetWMName(__libmansuffix__),
XSetWMProperties(__libmansuffix__),
XStringListToTextProperty(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XPoint.man 0000644 0001750 0001750 00000000064 14222353101 012167 0000000 0000000 .so man__libmansuffix__/XDrawPoint.__libmansuffix__
libX11-1.7.5/man/XrmUniqueQuark.man 0000644 0001750 0001750 00000017325 14222353101 013717 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XrmUniqueQuark __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XrmUniqueQuark, XrmStringToQuark, XrmPermStringToQuark, XrmQuarkToString, XrmStringToQuarkList, XrmStringToBindingQuarkList \- manipulate resource quarks
.SH SYNOPSIS
.HP
#include
.HP
XrmQuark XrmUniqueQuark\^(void);
.LP
\define XrmStringToName(string) XrmStringToQuark(string)
.br
\define XrmStringToClass(string) XrmStringToQuark(string)
.br
\define XrmStringToRepresentation(string) XrmStringToQuark(string)
.HP
XrmQuark XrmStringToQuark\^(\^char *\fIstring\fP\^);
.HP
XrmQuark XrmPermStringToQuark\^(\^_Xconst char *\fIstring\fP\^);
.LP
\define XrmStringToName(string) XrmStringToQuark(string)
.br
\define XrmStringToClass(string) XrmStringToQuark(string)
.br
\define XrmStringToRepresentation(string) XrmStringToQuark(string)
.HP
XrmQuark XrmStringToQuark\^(\^char *\fIstring\fP\^);
.HP
XrmQuark XrmPermStringToQuark\^(\^_Xconst char *\fIstring\fP\^);
.LP
\define XrmNameToString(name) XrmQuarkToString(name)
.br
\define XrmClassToString(class) XrmQuarkToString(class)
.br
\define XrmRepresentationToString(type) XrmQuarkToString(type)
.HP
char *XrmQuarkToString\^(\^XrmQuark \fIquark\fP\^);
.LP
\define XrmStringToNameList(str, name) XrmStringToQuarkList((str), (name))
.br
\define XrmStringToClassList(str,class) XrmStringToQuarkList((str), (class))
.sp
.HP
void XrmStringToQuarkList\^(\^char *\fIstring\fP\^, XrmQuarkList
\fIquarks_return\fP\^);
.HP
void XrmStringToBindingQuarkList\^(\^_Xconst char *\fIstring\fP\^, XrmBindingList
\fIbindings_return\fP\^, XrmQuarkList \fIquarks_return\fP\^);
.SH ARGUMENTS
.IP \fIbindings_return\fP 1i
Returns the binding list.
.IP \fIquark\fP 1i
Specifies the quark for which the equivalent string is desired.
.IP \fIquarks_return\fP 1i
Returns the list of quarks.
.IP \fIstring\fP 1i
Specifies the string for which a quark or quark list is to be allocated.
.SH DESCRIPTION
The
.B XrmUniqueQuark
function allocates a quark that is guaranteed not to represent any string that
is known to the resource manager.
.LP
These functions can be used to convert from string to quark representation.
If the string is not in the Host Portable Character Encoding,
the conversion is implementation-dependent.
The string argument to
.B XrmStringToQuark
need not be permanently allocated storage.
.B XrmPermStringToQuark
is just like
.BR XrmStringToQuark ,
except that Xlib is permitted to assume the string argument is permanently
allocated,
and, hence, that it can be used as the value to be returned by
.BR XrmQuarkToString .
.LP
For any given quark, if
.B XrmStringToQuark
returns a non-NULL value,
all future calls will return the same value (identical address).
.LP
These functions can be used to convert from quark representation to string.
The string pointed to by the return value must not be modified or freed.
The returned string is byte-for-byte equal to the original
string passed to one of the string-to-quark routines.
If no string exists for that quark,
.B XrmQuarkToString
returns NULL.
For any given quark, if
.B XrmQuarkToString
returns a non-NULL value,
all future calls will return the same value (identical address).
.LP
These functions can be used to convert from string to quark representation.
If the string is not in the Host Portable Character Encoding,
the conversion is implementation-dependent.
The string argument to
.B XrmStringToQuark
need not be permanently allocated storage.
.B XrmPermStringToQuark
is just like
.BR XrmStringToQuark ,
except that Xlib is permitted to assume the string argument is permanently
allocated,
and, hence, that it can be used as the value to be returned by
.BR XrmQuarkToString .
.LP
For any given quark, if
.B XrmStringToQuark
returns a non-NULL value,
all future calls will return the same value (identical address).
.LP
The
.B XrmStringToQuarkList
function converts the null-terminated string (generally a fully qualified name)
to a list of quarks.
The caller must allocate sufficient space for the quarks list before calling
.BR XrmStringToQuarkList .
Note that the string must be in the valid ResourceName format
(see section 15.1).
If the string is not in the Host Portable Character Encoding,
the conversion is implementation-dependent.
.LP
A binding list is a list of type
.B XrmBindingList
and indicates if components of name or class lists are bound tightly or loosely
(that is, if wildcarding of intermediate components is specified).
.LP
.EX
typedef enum {XrmBindTightly, XrmBindLoosely} XrmBinding, *XrmBindingList;
.EE
.LP
.B XrmBindTightly
indicates that a period separates the components, and
.B XrmBindLoosely
indicates that an asterisk separates the components.
.LP
The
.B XrmStringToBindingQuarkList
function converts the specified string to a binding list and a quark list.
The caller must allocate sufficient space for the quarks list and the
binding list before calling
.BR XrmStringToBindingQuarkList .
If the string is not in the Host Portable Character Encoding
the conversion is implementation-dependent.
Component names in the list are separated by a period or
an asterisk character.
If the string does not start with period or asterisk,
a period is assumed.
For example, \*(lq*a.b*c\*(rq becomes:
.LP
.TS
L l l l.
quarks a b c
bindings loose tight loose
.TE
.SH "SEE ALSO"
XrmGetResource(__libmansuffix__),
XrmInitialize(__libmansuffix__),
XrmMergeDatabases(__libmansuffix__),
XrmPutResource(__libmansuffix__)
.LP
\fI\*(xL\fP
libX11-1.7.5/man/Xutf8TextPropertyToTextList.man 0000644 0001750 0001750 00000000103 14222353101 016374 0000000 0000000 .so man__libmansuffix__/XmbTextListToTextProperty.__libmansuffix__
libX11-1.7.5/man/XSetICValues.man 0000644 0001750 0001750 00000011653 14222353101 013233 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSetICValues __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSetICValues, XGetICValues \- set and obtain XIC values
.SH SYNTAX
.HP
char * XSetICValues\^(\^XIC \fIic\fP, ...\^);
.HP
char * XGetICValues\^(\^XIC \fIic\fP, ...\^);
.SH ARGUMENTS
.IP \fIic\fP 1i
Specifies the input context.
.IP ... 1i
Specifies the variable length argument list to set or get XIC values.
.SH DESCRIPTION
The
.B XSetICValues
function returns NULL if no error occurred;
otherwise,
it returns the name of the first argument that could not be set.
An argument might not be set for any of the following reasons:
.IP \(bu 5
The argument is read-only (for example,
.BR XNFilterEvents ).
.IP \(bu 5
The argument name is not recognized.
.IP \(bu 5
An implementation-dependent error occurs.
.LP
Each value to be set must be an appropriate datum,
matching the data type imposed by the semantics of the argument.
.LP
The
.B XSetICValues
can generate
.BR BadAtom ,
.BR BadColor ,
.BR BadCursor ,
.BR BadPixmap ,
and
.B BadWindow
errors.
.LP
The
.B XGetICValues
function returns NULL if no error occurred; otherwise,
it returns the name of the first argument that could not be obtained.
An argument could not be obtained for any of the following reasons:
.IP \(bu 5
The argument name is not recognized.
.IP \(bu 5
The input method encountered an implementation-dependent error.
.LP
Each IC attribute value argument (following a name) must point to
a location where the IC value is to be stored.
That is, if the IC value is of type T,
the argument must be of type T*.
If T itself is a pointer type,
then
.B XGetICValues
allocates memory to store the actual data,
and the client is responsible for freeing this data by calling
.B XFree
with the returned pointer.
The exception to this rule is for an IC value of type
.B XNVaNestedList
(for preedit and status attributes).
In this case, the argument must also be of type
.BR XVaNestedList .
Then, the rule of changing type T to T* and freeing the allocated data
applies to each element of the nested list.
.SH DIAGNOSTICS
.TP 1i
.B BadAtom
A value for an Atom argument does not name a defined Atom.
.TP 1i
.B BadColor
A value for a Colormap argument does not name a defined Colormap.
.TP 1i
.B BadCursor
A value for a Cursor argument does not name a defined Cursor.
.TP 1i
.B BadPixmap
A value for a Pixmap argument does not name a defined Pixmap.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XCreateIC(__libmansuffix__),
XOpenIM(__libmansuffix__),
XSetICFocus(__libmansuffix__),
XmbResetIC(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XParseColor.man 0000644 0001750 0001750 00000000065 14222353101 013150 0000000 0000000 .so man__libmansuffix__/XQueryColor.__libmansuffix__
libX11-1.7.5/man/XcmsQueryColor.man 0000644 0001750 0001750 00000014551 14222353101 013713 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XcmsQueryColor __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XcmsQueryColor, XcmsQueryColors, XcmsLookupColor \- obtain color values
.SH SYNTAX
.HP
Status XcmsQueryColor\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^,
XcmsColor *\fIcolor_in_out\fP\^, XcmsColorFormat \fIresult_format\fP\^);
.HP
Status XcmsQueryColors\^(\^Display *\fIdisplay\fP\^, Colormap
\fIcolormap\fP\^, XcmsColor \fIcolors_in_out\fP\^[\^]\^, unsigned int
\fIncolors\fP\^, XcmsColorFormat \fIresult_format\fP\^);
.HP
Status XcmsLookupColor\^(\^Display *\fIdisplay\fP\^, Colormap
\fIcolormap\fP\^, _Xconst char *\fIcolor_string\fP\^, XcmsColor
*\fIcolor_exact_return\fP\^, XcmsColor *\fIcolor_screen_return\fP\^,
XcmsColorFormat \fIresult_format\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIcolormap\fP 1i
Specifies the colormap.
.IP \fIcolor_exact_return\fP 1i
Returns the color specification parsed from the color string
or parsed from the corresponding string found in a color-name database.
.IP \fIcolor_in_out\fP 1i
Specifies the pixel member that indicates the color cell to query.
The color specification stored for the color cell is returned in this
.B XcmsColor
structure.
.IP \fIcolor_screen_return\fP 1i
Returns the color that can be reproduced on the screen.
.IP \fIcolor_string\fP 1i
Specifies the color string.
.IP \fIresult_format\fP 1i
Specifies the color format for the returned color
specifications (color_screen_return and color_exact_return arguments).
If the format is
.B XcmsUndefinedFormat
and the color string contains a
numerical color specification,
the specification is returned in the format used in that numerical
color specification.
If the format is
.B XcmsUndefinedFormat
and the color string contains a color name,
the specification is returned in the format used
to store the color in the database.
.IP \fIncolors\fP 1i
Specifies the number of
.B XcmsColor
structures in the color-specification array.
.SH DESCRIPTION
The
.B XcmsQueryColor
function obtains the RGB value
for the pixel value in the pixel member of the specified
.B XcmsColor
structure and then
converts the value to the target format as
specified by the result_format argument.
If the pixel is not a valid index in the specified colormap, a
.B BadValue
error results.
The
.B XcmsQueryColors
function obtains the RGB values
for pixel values in the pixel members of
.B XcmsColor
structures and then
converts the values to the target format as
specified by the result_format argument.
If a pixel is not a valid index into the specified colormap, a
.B BadValue
error results.
If more than one pixel is in error,
the one that gets reported is arbitrary.
.LP
.B XcmsQueryColor
and
.B XcmsQueryColors
can generate
.B BadColor
and
.B BadValue
errors.
.LP
The
.B XcmsLookupColor
function looks up the string name of a color with respect to the screen
associated with the specified colormap.
It returns both the exact color values and
the closest values provided by the screen
with respect to the visual type of the specified colormap.
The values are returned in the format specified by result_format.
If the color name is not in the Host Portable Character Encoding,
the result is implementation-dependent.
Use of uppercase or lowercase does not matter.
.B XcmsLookupColor
returns
.B XcmsSuccess
or
.B XcmsSuccessWithCompression
if the name is resolved; otherwise, it returns
.BR XcmsFailure .
If
.B XcmsSuccessWithCompression
is returned, the color specification returned in
color_screen_return is the result of gamut compression.
.SH DIAGNOSTICS
.TP 1i
.B BadColor
A value for a Colormap argument does not name a defined Colormap.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
XcmsAllocColor(__libmansuffix__),
XcmsStoreColor(__libmansuffix__),
XQueryColor(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XQueryBestCursor.man 0000644 0001750 0001750 00000000070 14222353101 014214 0000000 0000000 .so man__libmansuffix__/XRecolorCursor.__libmansuffix__
libX11-1.7.5/man/XFilterEvent.man 0000644 0001750 0001750 00000006604 14222353101 013333 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XFilterEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XFilterEvent \- filter X events for an input method
.SH SYNTAX
.HP
Bool XFilterEvent\^(\^XEvent *\fIevent\fP\^, Window \fIw\fP\^);
.SH ARGUMENTS
.IP \fIevent\fP 1i
Specifies the event to filter.
.IP \fIw\fP 1i
Specifies the window for which the filter is to be applied.
.SH DESCRIPTION
If the window argument is
.BR None ,
.B XFilterEvent
applies the filter to the window specified in the
.B XEvent
structure.
The window argument is provided so that layers above Xlib
that do event redirection can indicate to which window an event
has been redirected.
.LP
If
.B XFilterEvent
returns
.BR True ,
then some input method has filtered the event,
and the client should discard the event.
If
.B XFilterEvent
returns
.BR False ,
then the client should continue processing the event.
.LP
If a grab has occurred in the client and
.B XFilterEvent
returns
.BR True ,
the client should ungrab the keyboard.
.SH "SEE ALSO"
XNextEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/MaxCmapsOfScreen.man 0000644 0001750 0001750 00000000074 14222353101 014105 0000000 0000000 .so man__libmansuffix__/BlackPixelOfScreen.__libmansuffix__
libX11-1.7.5/man/XSetForeground.man 0000644 0001750 0001750 00000000063 14222353101 013663 0000000 0000000 .so man__libmansuffix__/XSetState.__libmansuffix__
libX11-1.7.5/man/XDestroyOC.man 0000644 0001750 0001750 00000000063 14222353101 012750 0000000 0000000 .so man__libmansuffix__/XCreateOC.__libmansuffix__
libX11-1.7.5/man/XDestroyWindowEvent.man 0000644 0001750 0001750 00000011427 14222353101 014726 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XDestroyWindowEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XDestroyWindowEvent \- DestroyNotify event structure
.SH STRUCTURES
The structure for
.B DestroyNotify
events contains:
.LP
.EX
typedef struct {
int type; /\&* DestroyNotify */
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window event;
Window window;
} XDestroyWindowEvent;
.EE
.LP
When you receive this event,
the structure members are set as follows.
.LP
The type member is set to the event type constant name that uniquely identifies
it.
For example, when the X server reports a
.B GraphicsExpose
event to a client application, it sends an
.B XGraphicsExposeEvent
structure with the type member set to
.BR GraphicsExpose .
The display member is set to a pointer to the display the event was read on.
The send_event member is set to
.B True
if the event came from a
.B SendEvent
protocol request.
The serial member is set from the serial number reported in the protocol
but expanded from the 16-bit least-significant bits to a full 32-bit value.
The window member is set to the window that is most useful to toolkit
dispatchers.
.LP
The event member is set either to the destroyed window or to its parent,
depending on whether
.B StructureNotify
or
.B SubstructureNotify
was selected.
The window member is set to the window that is destroyed.
.SH "SEE ALSO"
XAnyEvent(__libmansuffix__),
XButtonEvent(__libmansuffix__),
XCreateWindowEvent(__libmansuffix__),
XCirculateEvent(__libmansuffix__),
XCirculateRequestEvent(__libmansuffix__),
XColormapEvent(__libmansuffix__),
XConfigureEvent(__libmansuffix__),
XConfigureRequestEvent(__libmansuffix__),
XCrossingEvent(__libmansuffix__),
XErrorEvent(__libmansuffix__),
XExposeEvent(__libmansuffix__),
XFocusChangeEvent(__libmansuffix__),
XGraphicsExposeEvent(__libmansuffix__),
XGravityEvent(__libmansuffix__),
XKeymapEvent(__libmansuffix__),
XMapEvent(__libmansuffix__),
XMapRequestEvent(__libmansuffix__),
XPropertyEvent(__libmansuffix__),
XReparentEvent(__libmansuffix__),
XResizeRequestEvent(__libmansuffix__),
XSelectionClearEvent(__libmansuffix__),
XSelectionEvent(__libmansuffix__),
XSelectionRequestEvent(__libmansuffix__),
XUnmapEvent(__libmansuffix__),
XVisibilityEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/Xutf8DrawString.man 0000644 0001750 0001750 00000000067 14222353101 013774 0000000 0000000 .so man__libmansuffix__/XmbDrawString.__libmansuffix__
libX11-1.7.5/man/XRectangle.man 0000644 0001750 0001750 00000000070 14222353101 012777 0000000 0000000 .so man__libmansuffix__/XDrawRectangle.__libmansuffix__
libX11-1.7.5/man/XExtentsOfFontSet.man 0000644 0001750 0001750 00000006274 14222353101 014331 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XExtentsOfFontSet __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XExtentsOfFontSet \- obtain the maximum extents structure for a font set
.SH SYNTAX
.HP
XFontSetExtents *XExtentsOfFontSet\^(\^XFontSet \fIfont_set\fP\^);
.SH ARGUMENTS
.IP \fIfont_set\fP 1i
Specifies the font set.
.SH DESCRIPTION
The
.B XExtentsOfFontSet
function returns an
.B XFontSetExtents
structure for the fonts used by the Xmb and Xwc layers
for the given font set.
.LP
The
.B XFontSetExtents
structure is owned by Xlib and should not be modified
or freed by the client.
It will be freed by a call to
.B XFreeFontSet
with the associated
.BR XFontSet .
Until freed, its contents will not be modified by Xlib.
.SH "SEE ALSO"
XCreateFontSet(__libmansuffix__),
XFontsOfFontSet(__libmansuffix__),
XFontSetExtents(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XGetInputFocus.man 0000644 0001750 0001750 00000000070 14222353101 013632 0000000 0000000 .so man__libmansuffix__/XSetInputFocus.__libmansuffix__
libX11-1.7.5/man/XcmsAllocColor.man 0000644 0001750 0001750 00000014021 14222353101 013630 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XcmsAllocColor __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XcmsAllocColor, XcmsAllocNamedColor \- allocate colors
.SH SYNTAX
.HP
Status XcmsAllocColor\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^,
XcmsColor *\fIcolor_in_out\fP\^, XcmsColorFormat \fIresult_format\fP\^);
.HP
Status XcmsAllocNamedColor\^(\^Display *\fIdisplay\fP\^, Colormap
\fIcolormap\fP\^, _Xconst char *\fIcolor_string\fP\^, XcmsColor
*\fIcolor_screen_return\fP\^, XcmsColor *\fIcolor_exact_return\fP\^, XcmsColorFormat \fIresult_format\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIcolormap\fP 1i
Specifies the colormap.
.IP \fIcolor_exact_return\fP 1i
Returns the color specification parsed from the color string
or parsed from the corresponding string found in a color-name database.
.IP \fIcolor_in_out\fP 1i
Specifies the color to allocate and returns the pixel and color
that is actually used in the colormap.
.IP \fIcolor_screen_return\fP 1i
Returns the pixel value of the color cell and color specification
that actually is stored for that cell.
.ds St \
.IP \fIcolor_string\fP 1i
Specifies the color string whose color definition structure is to be returned.
.IP \fIresult_format\fP 1i
Specifies the color format for the returned color specification.
.SH DESCRIPTION
The
.B XcmsAllocColor
function is similar to
.B XAllocColor
except the color can be specified in any format.
The
.B XcmsAllocColor
function ultimately calls
.B XAllocColor
to allocate a read-only color cell (colormap entry) with the specified color.
.B XcmsAllocColor
first converts the color specified
to an RGB value and then passes this to
.BR XAllocColor .
.B XcmsAllocColor
returns the pixel value of the color cell and the color specification
actually allocated.
This returned color specification is the result of converting the RGB value
returned by
.B XAllocColor
into the format specified with the result_format argument.
If there is no interest in a returned color specification,
unnecessary computation can be bypassed if result_format is set to
.BR XcmsRGBFormat .
The corresponding colormap cell is read-only.
If this routine returns
.BR XcmsFailure ,
the color_in_out color specification is left unchanged.
.LP
.B XcmsAllocColor
can generate a
.B BadColor
errors.
.LP
The
.B XcmsAllocNamedColor
function is similar to
.B XAllocNamedColor
except that the color returned can be in any format specified.
This function
ultimately calls
.B XAllocColor
to allocate a read-only color cell with
the color specified by a color string.
The color string is parsed into an
.B XcmsColor
structure (see
.BR XcmsLookupColor ),
converted
to an RGB value, and finally passed to
.BR XAllocColor .
If the color name is not in the Host Portable Character Encoding,
the result is implementation-dependent.
Use of uppercase or lowercase does not matter.
.LP
This function returns both the color specification as a result
of parsing (exact specification) and the actual color specification
stored (screen specification).
This screen specification is the result of converting the RGB value
returned by
.B XAllocColor
into the format specified in result_format.
If there is no interest in a returned color specification,
unnecessary computation can be bypassed if result_format is set to
.BR XcmsRGBFormat .
If color_screen_return and color_exact_return
point to the same structure, the pixel field will be set correctly,
but the color values are undefined.
.LP
.LP
.B XcmsAllocNamedColor
can generate a
.B BadColor
errors.
.SH DIAGNOSTICS
.TP 1i
.B BadColor
A value for a Colormap argument does not name a defined Colormap.
.SH "SEE ALSO"
XcmsQueryColor(__libmansuffix__),
XcmsStoreColor(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XWindowChanges.man 0000644 0001750 0001750 00000000072 14222353101 013635 0000000 0000000 .so man__libmansuffix__/XConfigureWindow.__libmansuffix__
libX11-1.7.5/man/XSetErrorHandler.man 0000644 0001750 0001750 00000016335 14222353101 014151 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSetErrorHandler __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSetErrorHandler, XGetErrorText, XDisplayName, XSetIOErrorHandler, XSetIOErrorExitHandler, XGetErrorDatabaseText \- default error handlers
.SH SYNTAX
.HP
int (*XSetErrorHandler\^(\^int (\^*\^\fIhandler\fP\^)\^(Display *, XErrorEvent
*)\^)\^)\^(\^);
.HP
int XGetErrorText\^(\^Display *\fIdisplay\fP\^, int \fIcode\fP\^, char
*\fIbuffer_return\fP\^, int \fIlength\fP\^);
.HP
char *XDisplayName\^(\^_Xconst char *\fIstring\fP\^);
.HP
int (*XSetIOErrorHandler\^(\^int (\^*\^\fIhandler\fP\^)(Display
*)\^)\^)\^(\^);
.HP
void (*XSetIOErrorExitHandler\^(Display
*\fIdisplay\fP\^, void (\^*\^\fIhandler\fP\^)(Display *, void
*)\^, void *\fIuser_data\fP)\^)\^(\^);
.HP
int XGetErrorDatabaseText\^(\^Display *\fIdisplay\fP\^, _Xconst char *\fIname\fP, _Xconst char
*\fImessage\fP\^, _Xconst char *\fIdefault_string\fP\^, char *\fIbuffer_return\fP\^,
int \fIlength\fP\^);
.SH ARGUMENTS
.IP \fIbuffer_return\fP 1i
Returns the error description.
.IP \fIcode\fP 1i
Specifies the error code for which you want to obtain a description.
.IP \fIdefault_string\fP 1i
Specifies the default error message if none is found in the database.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIhandler\fP 1i
Specifies the program's supplied error handler.
.IP \fIlength\fP 1i
Specifies the size of the buffer.
.IP \fImessage\fP 1i
Specifies the type of the error message.
.IP \fIname\fP 1i
Specifies the name of the application.
.IP \fIstring\fP 1i
Specifies the character string.
.SH DESCRIPTION
Xlib generally calls the program's
supplied error handler whenever an error is received.
It is not called on
.B BadName
errors from
.BR OpenFont ,
.BR LookupColor ,
or
.B AllocNamedColor
protocol requests or on
.B BadFont
errors from a
.B QueryFont
protocol request.
These errors generally are reflected back to the program through the
procedural interface.
Because this condition is not assumed to be fatal,
it is acceptable for your error handler to return;
the returned value is ignored.
However, the error handler should not
call any functions (directly or indirectly) on the display
that will generate protocol requests or that will look for input events.
The previous error handler is returned.
.LP
The
.B XGetErrorText
function copies a null-terminated string describing the specified error code
into the specified buffer.
The returned text is in the encoding of the current locale.
It is recommended that you use this function to obtain an error description
because extensions to Xlib may define their own error codes
and error strings.
.LP
The
.B XDisplayName
function returns the name of the display that
.B XOpenDisplay
would attempt to use.
If a NULL string is specified,
.B XDisplayName
looks in the environment for the display and returns the display name that
.B XOpenDisplay
would attempt to use.
This makes it easier to report to the user precisely which display the
program attempted to open when the initial connection attempt failed.
.LP
The
.B XSetIOErrorHandler
sets the fatal I/O error handler.
Xlib calls the program's supplied error handler if any sort of system call
error occurs (for example, the connection to the server was lost).
This is assumed to be a fatal condition,
and the called routine should normally not return.
If the I/O error handler does return,
the client process exits by default, this behavior may be altered with the
.BR XSetIOErrorExitHandler
function.
.LP
Note that the previous error handler is returned.
.LP
The
.B XGetErrorDatabaseText
function returns a null-terminated message
(or the default message) from the error message
database.
Xlib uses this function internally to look up its error messages.
The text in the default_string argument is assumed
to be in the encoding of the current locale,
and the text stored in the buffer_return argument
is in the encoding of the current locale.
.LP
The name argument should generally be the name of your application.
The message argument should indicate which type of error message you want.
If the name and message are not in the Host Portable Character Encoding,
the result is implementation-dependent.
Xlib uses three predefined \*(lqapplication names\*(rq to report errors.
In these names,
uppercase and lowercase matter.
.IP XProtoError 1i
The protocol error number is used as a string for the message argument.
.IP XlibMessage 1i
These are the message strings that are used internally by the library.
.IP XRequest 1i
For a core protocol request,
the major request protocol number is used for the message argument.
For an extension request,
the extension name (as given by
.BR InitExtension )
followed by a period (\.) and the minor request protocol number
is used for the message argument.
If no string is found in the error database,
the default_string is returned to the buffer argument.
.SH "SEE ALSO"
XOpenDisplay(__libmansuffix__),
XSynchronize(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XcmsAllocNamedColor.man 0000644 0001750 0001750 00000000070 14222353101 014574 0000000 0000000 .so man__libmansuffix__/XcmsAllocColor.__libmansuffix__
libX11-1.7.5/man/XKeyboardControl.man 0000644 0001750 0001750 00000000100 14222353101 014166 0000000 0000000 .so man__libmansuffix__/XChangeKeyboardControl.__libmansuffix__
libX11-1.7.5/man/WhitePixelOfScreen.man 0000644 0001750 0001750 00000000074 14222353101 014456 0000000 0000000 .so man__libmansuffix__/BlackPixelOfScreen.__libmansuffix__
libX11-1.7.5/man/XrmSetDatabase.man 0000644 0001750 0001750 00000000074 14222353101 013616 0000000 0000000 .so man__libmansuffix__/XrmGetFileDatabase.__libmansuffix__
libX11-1.7.5/man/XGetTextProperty.man 0000644 0001750 0001750 00000000072 14222353101 014226 0000000 0000000 .so man__libmansuffix__/XSetTextProperty.__libmansuffix__
libX11-1.7.5/man/XDeleteProperty.man 0000644 0001750 0001750 00000000074 14222353101 014046 0000000 0000000 .so man__libmansuffix__/XGetWindowProperty.__libmansuffix__
libX11-1.7.5/man/XCompose.man 0000644 0001750 0001750 00000000063 14222353101 012502 0000000 0000000 .so man__filemansuffix__/Compose.__filemansuffix__
libX11-1.7.5/man/XUnionRectWithRegion.man 0000644 0001750 0001750 00000000072 14222353101 015003 0000000 0000000 .so man__libmansuffix__/XIntersectRegion.__libmansuffix__
libX11-1.7.5/man/XSetModifierMapping.man 0000644 0001750 0001750 00000000100 14222353101 014613 0000000 0000000 .so man__libmansuffix__/XChangeKeyboardMapping.__libmansuffix__
libX11-1.7.5/man/XSetState.man 0000644 0001750 0001750 00000012122 14222353101 012630 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSetState __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSetState, XSetFunction, XSetPlaneMask, XSetForeground, XSetBackground \- GC convenience routines
.SH SYNTAX
.HP
int XSetState\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, unsigned long
\fIforeground\fP\^, unsigned long \fIbackground\fP\^, int \fIfunction\fP\^,
unsigned long \fIplane_mask\fP\^);
.HP
int XSetFunction\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, int
\fIfunction\fP\^);
.HP
int XSetPlaneMask\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, unsigned long
\fIplane_mask\fP\^);
.HP
int XSetForeground\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, unsigned long
\fIforeground\fP\^);
.HP
int XSetBackground\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, unsigned long
\fIbackground\fP\^);
.SH ARGUMENTS
.IP \fIbackground\fP 1i
Specifies the background you want to set for the specified GC.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIforeground\fP 1i
Specifies the foreground you want to set for the specified GC.
.IP \fIfunction\fP 1i
Specifies the function you want to set for the specified GC.
.IP \fIgc\fP 1i
Specifies the GC.
.IP \fIplane_mask\fP 1i
Specifies the plane mask.
.\" *** JIM: NEED MORE INFO FOR THIS. ***
.SH DESCRIPTION
The
.B XSetState
function sets the foreground, background, plane mask, and function components
for the specified GC.
.LP
.B XSetState
can generate
.BR BadAlloc ,
.BR BadGC ,
and
.B BadValue
errors.
.LP
.B XSetFunction
sets a specified value in the specified GC.
.LP
.B XSetFunction
can generate
.BR BadAlloc ,
.BR BadGC ,
and
.B BadValue
errors.
.LP
The
.B XSetPlaneMask
function sets the plane mask in the specified GC.
.LP
.B XSetPlaneMask
can generate
.B BadAlloc
and
.B BadGC
errors.
.LP
The
.B XSetForeground
function sets the foreground in the specified GC.
.LP
.B XSetForeground
can generate
.B BadAlloc
and
.B BadGC
errors.
.LP
The
.B XSetBackground
function sets the background in the specified GC.
.LP
.B XSetBackground
can generate
.B BadAlloc
and
.B BadGC
errors.
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadGC
A value for a GContext argument does not name a defined GContext.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
XCreateGC(__libmansuffix__),
XQueryBestSize(__libmansuffix__),
XSetArcMode(__libmansuffix__),
XSetClipOrigin(__libmansuffix__),
XSetFillStyle(__libmansuffix__),
XSetFont(__libmansuffix__),
XSetLineAttributes(__libmansuffix__),
XSetTile(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XMoveWindow.man 0000644 0001750 0001750 00000000072 14222353101 013173 0000000 0000000 .so man__libmansuffix__/XConfigureWindow.__libmansuffix__
libX11-1.7.5/man/XCharStruct.man 0000644 0001750 0001750 00000000063 14222353101 013157 0000000 0000000 .so man__libmansuffix__/XLoadFont.__libmansuffix__
libX11-1.7.5/man/XFreeStringList.man 0000644 0001750 0001750 00000000103 14222353101 013774 0000000 0000000 .so man__libmansuffix__/XStringListToTextProperty.__libmansuffix__
libX11-1.7.5/man/XAddConnectionWatch.man 0000644 0001750 0001750 00000013631 14222353101 014601 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XAddConnectionWatch __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XAddConnectionWatch, XRemoveConnectionWatch, XProcessInternalConnection, XInternalConnectionNumbers \- handle Xlib internal connections
.SH SYNTAX
.HP
typedef void (*XConnectionWatchProc)\^(\^Display *\fIdisplay\fP\^, XPointer
\fIclient_data\fP\^, int \fIfd\fP\^, Bool \fIopening\fP\^, XPointer
*\fIwatch_data\fP\^);
.HP
Status XAddConnectionWatch\^(\^Display *\fIdisplay\fP\^, XConnectionWatchProc
\fIprocedure\fP\^, XPointer \fIclient_data\fP\^);
.HP
void XRemoveConnectionWatch\^(\^Display *\fIdisplay\fP\^, XConnectionWatchProc
\fIprocedure\fP\^, XPointer \fIclient_data\fP\^);
.HP
void XProcessInternalConnection\^(\^Display *\fIdisplay\fP\^, int \fIfd\fP\^);
.HP
Status XInternalConnectionNumbers\^(\^Display *\fIdisplay\fP\^, int
**\fIfd_return\fP\^, int *\fIcount_return\fP\^);
.SH ARGUMENTS
.IP \fIclient_data\fP 1i
Specifies the additional client data.
.IP \fIcount_return\fP 1i
Returns the number of file descriptors.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIfd\fP 1i
Specifies the file descriptor.
.IP \fIfd_return\fP 1i
Returns the file descriptors.
.IP \fIprocedure\fP 1i
Specifies the procedure to be called.
.SH DESCRIPTION
The
.B XAddConnectionWatch
function registers a procedure to be called each time Xlib opens or closes an
internal connection for the specified display.
The procedure is passed the
display, the specified client_data, the file descriptor for the connection,
a Boolean indicating whether the connection is being opened or closed, and a
pointer to a location for private watch data.
If opening is
.BR True ,
the procedure can store a pointer to private data in the location pointed
to by watch_data;
when the procedure is later called for this same connection and opening is
.BR False ,
the location pointed to by watch_data will hold this same private data pointer.
.LP
This function can be called at any time after a display is opened.
If internal connections already exist, the registered procedure will
immediately be called for each of them, before
.B XAddConnectionWatch
returns.
.B XAddConnectionWatch
returns a nonzero status if the procedure is successfully registered;
otherwise, it returns zero.
.LP
The registered procedure should not call any Xlib functions.
If the procedure directly or indirectly causes the state of internal
connections or watch procedures to change, the result is not defined.
If Xlib has been initialized for threads, the procedure is called with
the display locked and the result of a call by the procedure to any
Xlib function that locks the display is not defined unless the executing
thread has externally locked the display using
.BR XLockDisplay .
.LP
The
.B XRemoveConnectionWatch
function removes a previously registered connection watch procedure.
The client_data must match the client_data used when the procedure
was initially registered.
.LP
The
.B XProcessInternalConnection
function processes input available on an internal connection.
This function should be called for an internal connection only
after an operating system facility (for example,
.B select
or
.BR poll )
has indicated that input is available; otherwise,
the effect is not defined.
.LP
The
.B XInternalConnectionNumbers
function returns a list of the file descriptors for all internal
connections currently open for the specified display.
When the allocated list is no longer needed,
free it by using
.BR XFree .
This functions returns a nonzero status if the list is successfully allocated;
otherwise, it returns zero.
.SH "SEE ALSO"
\fI\*(xL\fP
libX11-1.7.5/man/XRestackWindows.man 0000644 0001750 0001750 00000000066 14222353101 014047 0000000 0000000 .so man__libmansuffix__/XRaiseWindow.__libmansuffix__
libX11-1.7.5/man/XColor.man 0000644 0001750 0001750 00000000071 14222353101 012152 0000000 0000000 .so man__libmansuffix__/XCreateColormap.__libmansuffix__
libX11-1.7.5/man/DefaultDepth.man 0000644 0001750 0001750 00000000063 14222353101 013316 0000000 0000000 .so man__libmansuffix__/AllPlanes.__libmansuffix__
libX11-1.7.5/man/XrmPermStringToQuark.man 0000644 0001750 0001750 00000000070 14222353101 015033 0000000 0000000 .so man__libmansuffix__/XrmUniqueQuark.__libmansuffix__
libX11-1.7.5/man/XChangeKeyboardControl.man 0000644 0001750 0001750 00000023773 14222353101 015321 0000000 0000000 '\" t
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
'\" t
.TH XChangeKeyboardControl __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XChangeKeyboardControl, XGetKeyboardControl, XAutoRepeatOn, XAutoRepeatOff, XBell, XQueryKeymap, XKeyboardControl \- manipulate keyboard settings and keyboard control structure
.SH SYNTAX
.HP
int XChangeKeyboardControl\^(\^Display *\fIdisplay\fP, unsigned long
\fIvalue_mask\fP\^, XKeyboardControl *\fIvalues\fP\^);
.HP
int XGetKeyboardControl\^(\^Display *\fIdisplay\fP, XKeyboardState
*\fIvalues_return\fP\^);
.HP
int XAutoRepeatOn\^(\^Display *\fIdisplay\fP\^);
.HP
int XAutoRepeatOff\^(\^Display *\fIdisplay\fP\^);
.HP
int XBell\^(\^Display *\fIdisplay\fP, int \fIpercent\fP\^);
.HP
int XQueryKeymap\^(\^Display *\fIdisplay\fP, char \fIkeys_return\fP[32]\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIkeys_return\fP 1i
Returns an array of bytes that identifies which keys are pressed down.
Each bit represents one key of the keyboard.
.IP \fIpercent\fP 1i
Specifies the volume for the bell,
which can range from \-100 to 100 inclusive.
.IP \fIvalue_mask\fP 1i
Specifies which controls to change.
This mask is the bitwise inclusive OR of the valid control mask bits.
.IP \fIvalues\fP 1i
Specifies one value for each bit set to 1 in the mask.
.IP \fIvalues_return\fP 1i
Returns the current keyboard controls in the specified
.B XKeyboardState
structure.
.SH DESCRIPTION
The
.B XChangeKeyboardControl
function controls the keyboard characteristics defined by the
.B XKeyboardControl
structure.
The value_mask argument specifies which values are to be changed.
.LP
.B XChangeKeyboardControl
can generate
.B BadMatch
and
.B BadValue
errors.
.LP
The
.B XGetKeyboardControl
function returns the current control values for the keyboard to the
.B XKeyboardState
structure.
.LP
The
.B XAutoRepeatOn
function turns on auto-repeat for the keyboard on the specified display.
.LP
The
.B XAutoRepeatOff
function turns off auto-repeat for the keyboard on the specified display.
.LP
The
.B XBell
function rings the bell on the keyboard on the specified display, if possible.
The specified volume is relative to the base volume for the keyboard.
If the value for the percent argument is not in the range \-100 to 100
inclusive, a
.B BadValue
error results.
The volume at which the bell rings
when the percent argument is nonnegative is:
.IP
base \- [(base * percent) / 100] + percent
.LP
The volume at which the bell rings
when the percent argument is negative is:
.IP
base + [(base * percent) / 100]
.LP
To change the base volume of the bell, use
.BR XChangeKeyboardControl .
.LP
.B XBell
can generate a
.B BadValue
error.
.LP
The
.B XQueryKeymap
function returns a bit vector for the logical state of the keyboard,
where each bit set to 1 indicates that the corresponding key is currently
pressed down.
The vector is represented as 32 bytes.
Byte N (from 0) contains the bits for keys 8N to 8N + 7
with the least significant bit in the byte representing key 8N.
.LP
Note that the logical state of a device (as seen by client applications)
may lag the physical state if device event processing is frozen.
.SH STRUCTURES
The
.B XKeyboardControl
structure contains:
.LP
.LP
/\&* Mask bits for ChangeKeyboardControl */
.TS
lw(.5i) lw(2.5i) lw(.8i).
T{
\define
T} T{
.B KBKeyClickPercent
T} T{
(1L<<0)
T}
T{
\define
T} T{
.B KBBellPercent
T} T{
(1L<<1)
T}
T{
\define
T} T{
.B KBBellPitch
T} T{
(1L<<2)
T}
T{
\define
T} T{
.B KBBellDuration
T} T{
(1L<<3)
T}
T{
\define
T} T{
.B KBLed
T} T{
(1L<<4)
T}
T{
\define
T} T{
.B KBLedMode
T} T{
(1L<<5)
T}
T{
\define
T} T{
.B KBKey
T} T{
(1L<<6)
T}
T{
\define
T} T{
.B KBAutoRepeatMode
T} T{
(1L<<7)
T}
.TE
.EX
/\&* Values */
typedef struct {
int key_click_percent;
int bell_percent;
int bell_pitch;
int bell_duration;
int led;
int led_mode; /\&* LedModeOn, LedModeOff */
int key;
int auto_repeat_mode; /\&* AutoRepeatModeOff, AutoRepeatModeOn,
AutoRepeatModeDefault */
} XKeyboardControl;
.EE
.LP
The key_click_percent member sets the volume for key clicks between 0 (off)
and 100 (loud) inclusive, if possible.
A setting of \-1 restores the default.
Other negative values generate a
.B BadValue
error.
.LP
The bell_percent sets the base volume for the bell between 0 (off) and 100
(loud) inclusive, if possible.
A setting of \-1 restores the default.
Other negative values generate a
.B BadValue
error.
The bell_pitch member sets the pitch (specified in Hz) of the bell, if possible.
A setting of \-1 restores the default.
Other negative values generate a
.B BadValue
error.
The bell_duration member sets the duration of the
bell specified in milliseconds, if possible.
A setting of \-1 restores the default.
Other negative values generate a
.B BadValue
error.
.LP
If both the led_mode and led members are specified,
the state of that LED is changed, if possible.
The led_mode member can be set to
.B LedModeOn
or
.BR LedModeOff .
If only led_mode is specified, the state of
all LEDs are changed, if possible.
At most 32 LEDs numbered from one are supported.
No standard interpretation of LEDs is defined.
If led is specified without led_mode, a
.B BadMatch
error results.
.LP
If both the auto_repeat_mode and key members are specified,
the auto_repeat_mode of that key is changed (according to
.BR AutoRepeatModeOn ,
.BR AutoRepeatModeOff ,
or
.BR AutoRepeatModeDefault ),
if possible.
If only auto_repeat_mode is
specified, the global auto_repeat_mode for the entire keyboard is
changed, if possible, and does not affect the per-key settings.
If a key is specified without an auto_repeat_mode, a
.B BadMatch
error results.
Each key has an individual mode of whether or not it should auto-repeat
and a default setting for the mode.
In addition,
there is a global mode of whether auto-repeat should be enabled or not
and a default setting for that mode.
When global mode is
.BR AutoRepeatModeOn ,
keys should obey their individual auto-repeat modes.
When global mode is
.BR AutoRepeatModeOff ,
no keys should auto-repeat.
An auto-repeating key generates alternating
.B KeyPress
and
.B KeyRelease
events.
When a key is used as a modifier,
it is desirable for the key not to auto-repeat,
regardless of its auto-repeat setting.
.LP
The
.B XKeyboardState
structure contains:
.LP
.EX
typedef struct {
int key_click_percent;
int bell_percent;
unsigned int bell_pitch, bell_duration;
unsigned long led_mask;
int global_auto_repeat;
char auto_repeats[32];
} XKeyboardState;
.EE
.LP
For the LEDs,
the least significant bit of led_mask corresponds to LED one,
and each bit set to 1 in led_mask indicates an LED that is lit.
The global_auto_repeat member can be set to
.B AutoRepeatModeOn
or
.BR AutoRepeatModeOff .
The auto_repeats member is a bit vector.
Each bit set to 1 indicates that auto-repeat is enabled
for the corresponding key.
The vector is represented as 32 bytes.
Byte N (from 0) contains the bits for keys 8N to 8N + 7
with the least significant bit in the byte representing key 8N.
.SH DIAGNOSTICS
.TP 1i
.B BadMatch
Some argument or pair of arguments has the correct type and range but fails
to match in some other way required by the request.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
XChangeKeyboardMapping(__libmansuffix__),
XkbChangeEnabledControls(__libmansuffix__),
XkbBell(__libmansuffix__),
XkbDeviceBell(__libmansuffix__),
XkbGetMap(__libmansuffix__),
XSetPointerMapping(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XExtendedMaxRequestSize.man 0000644 0001750 0001750 00000000063 14222353101 015507 0000000 0000000 .so man__libmansuffix__/AllPlanes.__libmansuffix__
libX11-1.7.5/man/XrmParseCommand.man 0000644 0001750 0001750 00000000067 14222353101 014011 0000000 0000000 .so man__libmansuffix__/XrmInitialize.__libmansuffix__
libX11-1.7.5/man/XGetGCValues.man 0000644 0001750 0001750 00000000063 14222353101 013206 0000000 0000000 .so man__libmansuffix__/XCreateGC.__libmansuffix__
libX11-1.7.5/man/XDrawText.man 0000644 0001750 0001750 00000015261 14222353101 012645 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XDrawText __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XDrawText, XDrawText16, XTextItem, XTextItem16 \- draw polytext text and text drawing structures
.SH SYNTAX
.HP
int XDrawText\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC \fIgc\fP\^,
int \fIx\fP\^, int \fIy\fP\^, XTextItem *\fIitems\fP\^, int \fInitems\fP\^);
.HP
int XDrawText16\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
\fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, XTextItem16 *\fIitems\fP\^, int
\fInitems\fP\^);
.SH ARGUMENTS
.IP \fId\fP 1i
Specifies the drawable.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIgc\fP 1i
Specifies the GC.
.IP \fIitems\fP 1i
Specifies an array of text items.
.IP \fInitems\fP 1i
Specifies the number of text items in the array.
.IP \fIx\fP 1i
.br
.ns
.IP \fIy\fP 1i
Specify the x and y coordinates, which are relative to the origin
of the specified drawable
and define the origin of the first character.
.SH DESCRIPTION
The
.B XDrawText16
function is similar to
.B XDrawText
except that it uses 2-byte or 16-bit characters.
Both functions allow complex spacing and font shifts between counted strings.
.LP
Each text item is processed in turn.
A font member other than
.B None
in an item causes the font to be stored in the GC
and used for subsequent text.
A text element delta specifies an additional change
in the position along the x axis before the string is drawn.
The delta is always added to the character origin
and is not dependent on any characteristics of the font.
Each character image, as defined by the font in the GC, is treated as an
additional mask for a fill operation on the drawable.
The drawable is modified only where the font character has a bit set to 1.
If a text item generates a
.B BadFont
error, the previous text items may have been drawn.
.LP
For fonts defined with linear indexing rather than 2-byte matrix indexing,
each
.B XChar2b
structure is interpreted as a 16-bit number with byte1 as the
most significant byte.
.LP
Both functions use these GC components:
function, plane-mask, fill-style, font, subwindow-mode,
clip-x-origin, clip-y-origin, and clip-mask.
They also use these GC mode-dependent components:
foreground, background, tile, stipple, tile-stipple-x-origin,
and tile-stipple-y-origin.
.LP
.B XDrawText
and
.B XDrawText16
can generate
.BR BadDrawable ,
.BR BadFont ,
.BR BadGC ,
and
.B BadMatch
errors.
.SH STRUCTURES
The
.B XTextItem
and
.B XTextItem16
structures contain:
.LP
.EX
typedef struct {
char *chars; /\&* pointer to string */
int nchars; /\&* number of characters */
int delta; /\&* delta between strings */
Font font; /\&* Font to print it in, None don't change */
} XTextItem;
.EE
.LP
.EX
typedef struct {
XChar2b *chars; /\&* pointer to two-byte characters */
int nchars; /\&* number of characters */
int delta; /\&* delta between strings */
Font font; /\&* font to print it in, None don't change */
} XTextItem16;
.EE
.LP
If the font member is not
.BR None ,
the font is changed before printing and also is stored in the GC.
If an error was generated during text drawing,
the previous items may have been drawn.
The baseline of the characters are drawn starting at the x and y
coordinates that you pass in the text drawing functions.
.LP
For example, consider the background rectangle drawn by
.BR XDrawImageString .
If you want the upper-left corner of the background rectangle
to be at pixel coordinate (x,y), pass the (x,y + ascent)
as the baseline origin coordinates to the text functions.
The ascent is the font ascent, as given in the
.B XFontStruct
structure.
If you want the lower-left corner of the background rectangle
to be at pixel coordinate (x,y), pass the (x,y \- descent + 1)
as the baseline origin coordinates to the text functions.
The descent is the font descent, as given in the
.B XFontStruct
structure.
.SH DIAGNOSTICS
.TP 1i
.B BadDrawable
A value for a Drawable argument does not name a defined Window or Pixmap.
.TP 1i
.B BadFont
A value for a Font or GContext argument does not name a defined Font.
.TP 1i
.B BadGC
A value for a GContext argument does not name a defined GContext.
.TP 1i
.B BadMatch
An
.B InputOnly
window is used as a Drawable.
.SH "SEE ALSO"
XDrawImageString(__libmansuffix__),
XDrawString(__libmansuffix__),
XLoadFont(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/BitmapBitOrder.man 0000644 0001750 0001750 00000000070 14222353101 013612 0000000 0000000 .so man__libmansuffix__/ImageByteOrder.__libmansuffix__
libX11-1.7.5/man/XmbTextExtents.man 0000644 0001750 0001750 00000012660 14222353101 013721 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
.\" Copyright \(co 2000 The XFree86 Project, Inc.
.\"
.\" 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XmbTextExtents __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XmbTextExtents, XwcTextExtents, Xutf8TextExtents \- compute text extents
.SH SYNTAX
.HP
int XmbTextExtents\^(\^XFontSet \fIfont_set\fP\^,
_Xconst char *\fIstring\fP\^, int
\fInum_bytes\fP\^, XRectangle *\fIoverall_ink_return\fP\^, XRectangle
*\fIoverall_logical_return\fP\^);
.HP
int XwcTextExtents\^(\^XFontSet \fIfont_set\fP\^,
_Xconst wchar_t *\fIstring\fP\^, int
\fInum_wchars\fP\^, XRectangle *\fIoverall_ink_return\fP\^, XRectangle
*\fIoverall_logical_return\fP\^);
.HP
int Xutf8TextExtents\^(\^XFontSet \fIfont_set\fP\^,
_Xconst char *\fIstring\fP\^, int
\fInum_bytes\fP\^, XRectangle *\fIoverall_ink_return\fP\^, XRectangle
*\fIoverall_logical_return\fP\^);
.SH ARGUMENTS
.IP \fIfont_set\fP 1i
Specifies the font set.
.IP \fInum_bytes\fP 1i
Specifies the number of bytes in the string argument.
.IP \fInum_wchars\fP 1i
Specifies the number of characters in the string argument.
.IP \fIoverall_ink_return\fP 1i
Returns the overall ink dimensions.
.IP \fIoverall_logical_return\fP 1i
Returns the overall logical dimensions.
.IP \fIstring\fP 1i
Specifies the character string.
.SH DESCRIPTION
The
.BR XmbTextExtents ,
.B XwcTextExtents
and
.B Xutf8TextExtents
functions set the components of the specified overall_ink_return and
overall_logical_return
arguments to the overall bounding box of the string's image
and a logical bounding box for spacing purposes, respectively.
They return the value returned by
.BR XmbTextEscapement ,
.B XwcTextEscapement
or
.BR Xutf8TextEscapement .
These metrics are relative to the drawing origin of the string,
using the fonts loaded for the specified font set.
.LP
If the overall_ink_return argument is non-NULL,
it is set to the bounding box of the string's character ink.
The overall_ink_return for a nondescending, horizontally drawn
Latin character is conventionally entirely above the baseline;
that is, overall_ink_return.height <= \-overall_ink_return.y.
The overall_ink_return for a nonkerned character
is entirely at, and to the right of, the origin;
that is, overall_ink_return.x >= 0.
A character consisting of a single pixel at the origin would set
overall_ink_return fields y = 0, x = 0, width = 1, and height = 1.
.LP
If the overall_logical_return argument is non-NULL,
it is set to the bounding box that provides minimum spacing
to other graphical features for the string.
Other graphical features, for example, a border surrounding the text,
should not intersect this rectangle.
.LP
When the
.B XFontSet
has missing charsets,
metrics for each unavailable character are taken
from the default string returned by
.B XCreateFontSet
so that the metrics represent the text as it will actually be drawn.
The behavior for an invalid codepoint is undefined.
.LP
The function
.B Xutf8TextExtents
is an extension introduced by The XFree86 Project, Inc., in their 4.0.2
release.
Its presence is
indicated by the macro
.BR X_HAVE_UTF8_STRING .
.SH "SEE ALSO"
XmbTextEscapement(__libmansuffix__),
XmbTextPerCharExtents(__libmansuffix__)
\fI\*(xL\fP
libX11-1.7.5/man/XMapSubwindows.man 0000644 0001750 0001750 00000000064 14222353101 013700 0000000 0000000 .so man__libmansuffix__/XMapWindow.__libmansuffix__
libX11-1.7.5/man/BlackPixel.man 0000644 0001750 0001750 00000000063 14222353101 012763 0000000 0000000 .so man__libmansuffix__/AllPlanes.__libmansuffix__
libX11-1.7.5/man/XCopyColormapAndFree.man 0000644 0001750 0001750 00000000071 14222353101 014730 0000000 0000000 .so man__libmansuffix__/XCreateColormap.__libmansuffix__
libX11-1.7.5/man/XrmQPutStringResource.man 0000644 0001750 0001750 00000000070 14222353101 015222 0000000 0000000 .so man__libmansuffix__/XrmPutResource.__libmansuffix__
libX11-1.7.5/man/XPending.man 0000644 0001750 0001750 00000000060 14222353101 012456 0000000 0000000 .so man__libmansuffix__/XFlush.__libmansuffix__
libX11-1.7.5/man/XSetWindowBorderWidth.man 0000644 0001750 0001750 00000000072 14222353101 015156 0000000 0000000 .so man__libmansuffix__/XConfigureWindow.__libmansuffix__
libX11-1.7.5/man/XProcessInternalConnection.man 0000644 0001750 0001750 00000000075 14222353101 016233 0000000 0000000 .so man__libmansuffix__/XAddConnectionWatch.__libmansuffix__
libX11-1.7.5/man/XChangeGC.man 0000644 0001750 0001750 00000000063 14222353101 012474 0000000 0000000 .so man__libmansuffix__/XCreateGC.__libmansuffix__
libX11-1.7.5/man/XLookupKeysym.man 0000644 0001750 0001750 00000015154 14222353101 013557 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XLookupKeysym __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XLookupKeysym, XRefreshKeyboardMapping, XLookupString, XRebindKeysym \- handle keyboard input events in Latin-1
.SH SYNTAX
.HP
KeySym XLookupKeysym(\^XKeyEvent *\fIkey_event\fP\^, int \fIindex\fP\^);
.HP
int XRefreshKeyboardMapping(\^XMappingEvent *\fIevent_map\fP\^);
.HP
int XLookupString(\^XKeyEvent *\fIevent_struct\fP\^, char
*\fIbuffer_return\fP\^, int \fIbytes_buffer\fP\^, KeySym
*\fIkeysym_return\fP\^, XComposeStatus *\fIstatus_in_out\fP\^);
.HP
int XRebindKeysym(\^Display *\fIdisplay\fP\^, KeySym \fIkeysym\fP\^, KeySym
\fIlist\fP\^[\^]\^, int \fImod_count\fP\^, _Xconst unsigned char *\fIstring\fP\^, int
\fInum_bytes\fP\^);
.SH ARGUMENTS
.IP \fIbuffer_return\fP 1i
Returns the translated characters.
.IP \fIbytes_buffer\fP 1i
Specifies the length of the buffer.
No more than bytes_buffer of translation are returned.
.IP \fInum_bytes\fP 1i
Specifies the number of bytes in the string argument.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIevent_map\fP 1i
Specifies the mapping event that is to be used.
.IP \fIevent_struct\fP 1i
Specifies the key event structure to be used.
You can pass
.B XKeyPressedEvent
or
.BR XKeyReleasedEvent .
.IP \fIindex\fP 1i
Specifies the index into the KeySyms list for the event's KeyCode.
.IP \fIkey_event\fP 1i
Specifies the
.B KeyPress
or
.B KeyRelease
event.
.IP \fIkeysym\fP 1i
Specifies the KeySym that is to be returned.
.IP \fIkeysym_return\fP 1i
Returns the KeySym computed from the event if this argument is not NULL.
.IP \fIlist\fP 1i
Specifies the KeySyms to be used as modifiers.
.IP \fImod_count\fP 1i
Specifies the number of modifiers in the modifier list.
.IP \fIstatus_in_out\fP 1i
Specifies or returns the
.B XComposeStatus
structure or NULL.
.IP \fIstring\fP 1i
Specifies the string that is copied and will be returned by
.BR XLookupString .
.SH DESCRIPTION
The
.B XLookupKeysym
function uses a given keyboard event and the index you specified to return
the KeySym from the list that corresponds to the KeyCode member in the
.B XKeyPressedEvent
or
.B XKeyReleasedEvent
structure.
If no KeySym is defined for the KeyCode of the event,
.B XLookupKeysym
returns
.BR NoSymbol .
.LP
The
.B XRefreshKeyboardMapping
function refreshes the stored modifier and keymap information.
You usually call this function when a
.B MappingNotify
event with a request member of
.B MappingKeyboard
or
.B MappingModifier
occurs.
The result is to update Xlib's knowledge of the keyboard.
.LP
The
.B XLookupString
function translates a key event to a KeySym and a string.
The KeySym is obtained by using the standard interpretation of the
.BR Shift ,
.BR Lock ,
group, and numlock modifiers as defined in the X Protocol specification.
If the KeySym has been rebound (see
.BR XRebindKeysym ),
the bound string will be stored in the buffer.
Otherwise, the KeySym is mapped, if possible, to an ISO Latin-1 character
or (if the Control modifier is on) to an ASCII control character,
and that character is stored in the buffer.
.B XLookupString
returns the number of characters that are stored in the buffer.
.LP
If present (non-NULL),
the
.B XComposeStatus
structure records the state,
which is private to Xlib,
that needs preservation across calls to
.B XLookupString
to implement compose processing.
The creation of
.B XComposeStatus
structures is implementation-dependent;
a portable program must pass NULL for this argument.
.LP
The
.B XRebindKeysym
function can be used to rebind the meaning of a KeySym for the client.
It does not redefine any key in the X server but merely
provides an easy way for long strings to be attached to keys.
.B XLookupString
returns this string when the appropriate set of
modifier keys are pressed and when the KeySym would have been used for
the translation.
No text conversions are performed;
the client is responsible for supplying appropriately encoded strings.
Note that you can rebind a KeySym that may not exist.
.SH "SEE ALSO"
XButtonEvent(__libmansuffix__),
XMapEvent(__libmansuffix__),
XStringToKeysym(__libmansuffix__),
XkbLookupKeySym(__libmansuffix__),
XkbRefreshKeyboardMapping(__libmansuffix__),
XmbLookupString(__libmansuffix__),
XwcLookupString(__libmansuffix__),
Xutf8LookupString(__libmansuffix__),
Compose(__filemansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/DoesBackingStore.man 0000644 0001750 0001750 00000000074 14222353101 014135 0000000 0000000 .so man__libmansuffix__/BlackPixelOfScreen.__libmansuffix__
libX11-1.7.5/man/XGetIconSizes.man 0000644 0001750 0001750 00000000070 14222353101 013441 0000000 0000000 .so man__libmansuffix__/XAllocIconSize.__libmansuffix__
libX11-1.7.5/man/XcmsCIELabQueryMaxL.man 0000644 0001750 0001750 00000000075 14222353101 014432 0000000 0000000 .so man__libmansuffix__/XcmsCIELabQueryMaxC.__libmansuffix__
libX11-1.7.5/man/XOpenDisplay.man 0000644 0001750 0001750 00000012506 14222353101 013331 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XOpenDisplay __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XOpenDisplay, XCloseDisplay \- connect or disconnect to X server
.SH SYNTAX
.HP
Display *XOpenDisplay\^(\^_Xconst char *\fIdisplay_name\fP\^);
.HP
int XCloseDisplay\^(Display *\fIdisplay\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIdisplay_name\fP 1i
Specifies the hardware display name, which determines the display
and communications domain to be used.
On a POSIX-conformant system, if the display_name is NULL,
it defaults to the value of the DISPLAY environment variable.
.SH DESCRIPTION
The
.B XOpenDisplay
function returns a
.B Display
structure that serves as the
connection to the X server and that contains all the information
about that X server.
.B XOpenDisplay
connects your application to the X server through TCP
or DECnet communications protocols,
or through some local inter-process communication protocol.
If the hostname is a host machine name and a single colon (:)
separates the hostname and display number,
.B XOpenDisplay
connects using TCP streams.
If the hostname is not specified,
Xlib uses whatever it believes is the fastest transport.
If the hostname is a host machine name and a double colon (::)
separates the hostname and display number,
.B XOpenDisplay
connects using DECnet.
A single X server can support any or all of these transport mechanisms
simultaneously.
A particular Xlib implementation can support many more of these transport
mechanisms.
.LP
If successful,
.B XOpenDisplay
returns a pointer to a
.B Display
structure,
which is defined in
.BR X11/Xlib.h .
If
.B XOpenDisplay
does not succeed, it returns NULL.
After a successful call to
.BR XOpenDisplay ,
all of the screens in the display can be used by the client.
The screen number specified in the display_name argument is returned
by the
.B DefaultScreen
macro (or the
.B XDefaultScreen
function).
You can access elements of the
.B Display
and
.B Screen
structures only by using the information macros or functions.
For information about using macros and functions to obtain information from
the
.B Display
structure,
see section 2.2.1.
.LP
The
.B XCloseDisplay
function closes the connection to the X server for the display specified in the
.B Display
structure and destroys all windows, resource IDs
.RB ( Window ,
.BR Font ,
.BR Pixmap ,
.BR Colormap ,
.BR Cursor ,
and
.BR GContext ),
or other resources that the client has created
on this display, unless the close-down mode of the resource has been changed
(see
.BR XSetCloseDownMode ).
Therefore, these windows, resource IDs, and other resources should never be
referenced again or an error will be generated.
Before exiting, you should call
.B XCloseDisplay
explicitly so that any pending errors are reported as
.B XCloseDisplay
performs a final
.B XSync
operation.
.LP
.B XCloseDisplay
can generate a
.B BadGC
error.
.SH "SEE ALSO"
AllPlanes(__libmansuffix__),
XFlush(__libmansuffix__),
XSetCloseDownMode(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XOpenIM.man 0000644 0001750 0001750 00000017145 14222353101 012235 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XOpenIM __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XOpenIM, XCloseIM, XSetIMValues, XGetIMValues, XDisplayOfIM, XLocaleOfIM, XRegisterIMInstantiateCallback, XUnregisterIMInstantiateCallback \- open, close, and obtain input method information
.SH SYNTAX
.HP
XIM XOpenIM\^(\^Display *\fIdisplay\fP\^, XrmDatabase \fIdb\fP\^, char
*\fIres_name\fP\^, char *\fIres_class\fP\^);
.HP
Status XCloseIM\^(\^XIM \fIim\fP\^);
.HP
char *XSetIMValues\^(\^XIM \fIim\fP\^, ...);
.HP
char *XGetIMValues\^(\^XIM \fIim\fP\^, ...);
.HP
Display *XDisplayOfIM\^(\^XIM \fIim\fP\^);
.HP
char *XLocaleOfIM\^(\^XIM \fIim\fP\^);
.HP
Bool XRegisterIMInstantiateCallback\^(\^Display *\fIdisplay\fP\^, XrmDatabase
\fIdb\fP\^, char *\fIres_name\fP\^, char *\fIres_class\fP\^, XIDProc
\fIcallback\fP\^, XPointer \fIclient_data\fP\^);
.HP
Bool XUnregisterIMInstantiateCallback\^(\^Display *\fIdisplay\fP\^,
XrmDatabase \fIdb\fP\^, char *\fIres_name\fP\^, char *\fIres_class\fP\^,
XIDProc \fIcallback\fP\^, XPointer \fIclient_data\fP\^);
.LP
.SH ARGUMENTS
.IP \fIcallback\fP 1i
Specifies a pointer to the input method instantiate callback.
.IP \fIclient_data\fP 1i
Specifies the additional client data.
.IP \fIdb\fP 1i
Specifies a pointer to the resource database.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIim\fP 1i
Specifies the input method.
.IP \fIres_class\fP 1i
Specifies the full class name of the application.
.IP \fIres_name\fP 1i
Specifies the full resource name of the application.
.IP ... 1i
Specifies the variable length argument list to set or get XIM values.
.SH DESCRIPTION
The
.B XOpenIM
function opens an input method,
matching the current locale and modifiers specification.
Current locale and modifiers are bound to the input method at opening time.
The locale associated with an input method cannot be changed dynamically.
This implies that the strings returned by
.B XmbLookupString
or
.BR XwcLookupString ,
for any input context affiliated with a given input method
will be encoded in the locale current at the time the input method is opened.
.LP
The specific input method to which this call will be routed
is identified on the basis of the current locale.
.B XOpenIM
will identify a default input method corresponding to the
current locale.
That default can be modified using
.B XSetLocaleModifiers
for the input method modifier.
.LP
The db argument is the resource database to be used by the input method
for looking up resources that are private to the input method.
It is not intended that this database be used to look
up values that can be set as IC values in an input context.
If db is NULL,
no database is passed to the input method.
.LP
The res_name and res_class arguments specify the resource name
and class of the application.
They are intended to be used as prefixes by the input method
when looking up resources that are common to all input contexts
that may be created for this input method.
The characters used for resource names and classes must be in the
X Portable Character Set.
The resources looked up are not fully specified
if res_name or res_class is NULL.
.LP
The res_name and res_class arguments are not assumed to exist beyond
the call to
.BR XOpenIM .
The specified resource database is assumed to exist for the lifetime
of the input method.
.LP
.B XOpenIM
returns NULL if no input method could be opened.
.LP
The
.B XCloseIM
function closes the specified input method.
.LP
The
.B XSetIMValues
function presents a variable argument list programming interface
for setting attributes of the specified input method.
It returns NULL if it succeeds;
otherwise,
it returns the name of the first argument that could not be set.
Xlib does not attempt to set arguments from the supplied list that
follow the failed argument;
all arguments in the list preceding the failed argument have been set
correctly.
.LP
The
.B XGetIMValues
function presents a variable argument list programming interface
for querying properties or features of the specified input method.
This function returns NULL if it succeeds;
otherwise,
it returns the name of the first argument that could not be obtained.
.LP
Each XIM value argument (following a name) must point to
a location where the XIM value is to be stored.
That is, if the XIM value is of type T,
the argument must be of type T*.
If T itself is a pointer type,
then
.B XGetIMValues
allocates memory to store the actual data,
and the client is responsible for freeing this data by calling
.B XFree
with the returned pointer.
.LP
The
.B XDisplayOfIM
function returns the display associated with the specified input method.
.LP
The
.B XLocaleOfIM
function returns the locale associated with the specified input method.
.LP
The
.B XRegisterIMInstantiateCallback
function registers a callback to be invoked whenever a new input method
becomes available for the specified display that matches the current
locale and modifiers.
.LP
The function returns
.B True
if it succeeds; otherwise, it returns
.BR False .
.LP
The
.B XUnregisterIMInstantiateCallback
function removes an input method instantiation callback previously
registered.
The function returns
.B True
if it succeeds; otherwise, it returns
.BR False .
.SH "SEE ALSO"
XCreateIC(__libmansuffix__),
XSetICFocus(__libmansuffix__),
XSetICValues(__libmansuffix__),
XmbResetIC(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/DisplayString.man 0000644 0001750 0001750 00000000063 14222353101 013541 0000000 0000000 .so man__libmansuffix__/AllPlanes.__libmansuffix__
libX11-1.7.5/man/XcmsCIELabQueryMinL.man 0000644 0001750 0001750 00000000075 14222353101 014430 0000000 0000000 .so man__libmansuffix__/XcmsCIELabQueryMaxC.__libmansuffix__
libX11-1.7.5/man/XLocaleOfIM.man 0000644 0001750 0001750 00000000061 14222353101 013005 0000000 0000000 .so man__libmansuffix__/XOpenIM.__libmansuffix__
libX11-1.7.5/man/XrmQGetSearchList.man 0000644 0001750 0001750 00000000070 14222353101 014254 0000000 0000000 .so man__libmansuffix__/XrmGetResource.__libmansuffix__
libX11-1.7.5/man/XCreateColormap.man 0000644 0001750 0001750 00000020757 14222353101 014011 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XCreateColormap __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XCreateColormap, XCopyColormapAndFree, XFreeColormap, XColor \- create, copy, or destroy colormaps and color structure
.SH SYNTAX
.HP
Colormap XCreateColormap\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
Visual *\fIvisual\fP\^, int \fIalloc\fP\^);
.HP
Colormap XCopyColormapAndFree\^(\^Display *\fIdisplay\fP\^, Colormap
\fIcolormap\fP\^);
.HP
int XFreeColormap\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^);
.SH ARGUMENTS
.IP \fIalloc\fP 1i
Specifies the colormap entries to be allocated.
You can pass
.B AllocNone
or
.BR AllocAll .
.IP \fIcolormap\fP 1i
Specifies the colormap that you want to create, copy, set, or destroy.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIvisual\fP 1i
Specifies a visual type supported on the screen.
If the visual type is not one supported by the screen,
a
.B BadMatch
error results.
.IP \fIw\fP 1i
Specifies the window on whose screen you want to create a colormap.
.SH DESCRIPTION
The
.B XCreateColormap
function creates a colormap of the specified visual type for the screen
on which the specified window resides and returns the colormap ID
associated with it.
Note that the specified window is only used to determine the screen.
.LP
The initial values of the colormap entries are undefined for the
visual classes
.BR GrayScale ,
.BR PseudoColor ,
and
.BR DirectColor .
For
.BR StaticGray ,
.BR StaticColor ,
and
.BR TrueColor ,
the entries have defined values,
but those values are specific to the visual and are not defined by X.
For
.BR StaticGray ,
.BR StaticColor ,
and
.BR TrueColor ,
alloc must be
.BR AllocNone ,
or a
.B BadMatch
error results.
For the other visual classes,
if alloc is
.BR AllocNone ,
the colormap initially has no allocated entries,
and clients can allocate them.
For information about the visual types,
see section 3.1.
.LP
If alloc is
.BR AllocAll ,
the entire colormap is allocated writable.
The initial values of all allocated entries are undefined.
For
.B GrayScale
and
.BR PseudoColor ,
the effect is as if an
.B XAllocColorCells
call returned all pixel values from zero to N \- 1,
where N is the colormap entries value in the specified visual.
For
.BR DirectColor ,
the effect is as if an
.B XAllocColorPlanes
call returned a pixel value of zero and red_mask, green_mask,
and blue_mask values containing the same bits as the corresponding
masks in the specified visual.
However, in all cases,
none of these entries can be freed by using
.BR XFreeColors .
.LP
.B XCreateColormap
can generate
.BR BadAlloc ,
.BR BadMatch ,
.BR BadValue ,
and
.B BadWindow
errors.
.LP
The
.B XCopyColormapAndFree
function creates a colormap of the same visual type and for the same screen
as the specified colormap and returns the new colormap ID.
It also moves all of the client's existing allocation from the specified
colormap to the new colormap with their color values intact
and their read-only or writable characteristics intact and frees those entries
in the specified colormap.
Color values in other entries in the new colormap are undefined.
If the specified colormap was created by the client with alloc set to
.BR AllocAll ,
the new colormap is also created with
.BR AllocAll ,
all color values for all entries are copied from the specified colormap,
and then all entries in the specified colormap are freed.
If the specified colormap was not created by the client with
.BR AllocAll ,
the allocations to be moved are all those pixels and planes
that have been allocated by the client using
.BR XAllocColor ,
.BR XAllocNamedColor ,
.BR XAllocColorCells ,
or
.B XAllocColorPlanes
and that have not been freed since they were allocated.
.LP
.B XCopyColormapAndFree
can generate
.B BadAlloc
and
.B BadColor
errors.
.LP
The
.B XFreeColormap
function deletes the association between the colormap resource ID
and the colormap and frees the colormap storage.
However, this function has no effect on the default colormap for a screen.
If the specified colormap is an installed map for a screen,
it is uninstalled (see
.BR XUninstallColormap ).
If the specified colormap is defined as the colormap for a window (by
.BR XCreateWindow ,
.BR XSetWindowColormap ,
or
.BR XChangeWindowAttributes ),
.B XFreeColormap
changes the colormap associated with the window to
.B None
and generates a
.B ColormapNotify
event.
X does not define the colors displayed for a window with a colormap of
.BR None .
.LP
.B XFreeColormap
can generate a
.B BadColor
error.
.SH STRUCTURES
The
.B XColor
structure contains:
.LP
.EX
typedef struct {
unsigned long pixel; /\&* pixel value */
unsigned short red, green, blue; /\&* rgb values */
char flags; /\&* DoRed, DoGreen, DoBlue */
char pad;
} XColor;
.EE
.LP
The red, green, and blue values are always in the range 0 to 65535
inclusive, independent of the number of bits actually used in the
display hardware.
The server scales these values down to the range used by the hardware.
Black is represented by (0,0,0),
and white is represented by (65535,65535,65535).
In some functions,
the flags member controls which of the red, green, and blue members is used
and can be the inclusive OR of zero or more of
.BR DoRed ,
.BR DoGreen ,
and
.BR DoBlue .
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadColor
A value for a Colormap argument does not name a defined Colormap.
.TP 1i
.B BadMatch
An
.B InputOnly
window is used as a Drawable.
.TP 1i
.B BadMatch
Some argument or pair of arguments has the correct type and range but fails
to match in some other way required by the request.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XAllocColor(__libmansuffix__),
XChangeWindowAttributes(__libmansuffix__),
XCreateWindow(__libmansuffix__),
XQueryColor(__libmansuffix__),
XStoreColors(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XStoreNamedColor.man 0000644 0001750 0001750 00000000066 14222353101 014140 0000000 0000000 .so man__libmansuffix__/XStoreColors.__libmansuffix__
libX11-1.7.5/man/XPutPixel.man 0000644 0001750 0001750 00000000064 14222353101 012650 0000000 0000000 .so man__libmansuffix__/XInitImage.__libmansuffix__
libX11-1.7.5/man/XListFontsWithInfo.man 0000644 0001750 0001750 00000000064 14222353101 014473 0000000 0000000 .so man__libmansuffix__/XListFonts.__libmansuffix__
libX11-1.7.5/man/XModifierKeymap.man 0000644 0001750 0001750 00000000100 14222353101 013772 0000000 0000000 .so man__libmansuffix__/XChangeKeyboardMapping.__libmansuffix__
libX11-1.7.5/man/XGetAtomNames.man 0000644 0001750 0001750 00000000065 14222353101 013423 0000000 0000000 .so man__libmansuffix__/XInternAtom.__libmansuffix__
libX11-1.7.5/man/XGContextFromGC.man 0000644 0001750 0001750 00000000063 14222353101 013666 0000000 0000000 .so man__libmansuffix__/XCreateGC.__libmansuffix__
libX11-1.7.5/man/XChangeKeyboardMapping.man 0000644 0001750 0001750 00000025066 14222353101 015271 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XChangeKeyboardMapping __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XChangeKeyboardMapping, XGetKeyboardMapping, XDisplayKeycodes, XSetModifierMapping, XGetModifierMapping, XNewModifiermap, XInsertModifiermapEntry, XDeleteModifiermapEntry, XFreeModifiermap, XModifierKeymap \- manipulate keyboard encoding and keyboard encoding structure
.SH SYNTAX
.HP
int XChangeKeyboardMapping(\^Display *\fIdisplay\fP, int \fIfirst_keycode\fP,
int \fIkeysyms_per_keycode\fP, KeySym *\fIkeysyms\fP, int \fInum_codes\fP\^);
.HP
KeySym *XGetKeyboardMapping(\^Display *\fIdisplay\fP, KeyCode
\fIfirst_keycode\fP, int \fIkeycode_count\fP, int
*\fIkeysyms_per_keycode_return\fP\^);
.HP
int XDisplayKeycodes\^(\^Display *\fIdisplay\fP\^, int
*\fImin_keycodes_return\fP\^, int *\fImax_keycodes_return\fP\^);
.HP
int XSetModifierMapping(\^Display *\fIdisplay\fP, XModifierKeymap
*\fImodmap\fP\^);
.HP
XModifierKeymap *XGetModifierMapping(\^Display *\fIdisplay\fP\^);
.HP
XModifierKeymap *XNewModifiermap(\^int \fImax_keys_per_mod\fP\^);
.HP
XModifierKeymap *XInsertModifiermapEntry\^(\^XModifierKeymap *\fImodmap\fP,
KeyCode \fIkeycode_entry\fP, int \fImodifier\fP\^);
.HP
XModifierKeymap *XDeleteModifiermapEntry\^(\^XModifierKeymap *\fImodmap\fP,
KeyCode \fIkeycode_entry\fP, int \fImodifier\fP\^);
.HP
int XFreeModifiermap(\^XModifierKeymap *\fImodmap\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIfirst_keycode\fP 1i
Specifies the first KeyCode that is to be changed or returned.
.IP \fIkeycode_count\fP 1i
Specifies the number of KeyCodes that are to be returned.
.IP \fIkeycode_entry\fP 1i
Specifies the KeyCode.
.IP \fIkeysyms\fP 1i
Specifies an array of KeySyms.
.IP \fIkeysyms_per_keycode\fP 1i
Specifies the number of KeySyms per KeyCode.
.IP \fIkeysyms_per_keycode_return\fP 1i
Returns the number of KeySyms per KeyCode.
.IP \fImax_keys_per_mod\fP 1i
Specifies the number of KeyCode entries preallocated to the modifiers
in the map.
.IP \fImax_keycodes_return\fP 1i
Returns the maximum number of KeyCodes.
.IP \fImin_keycodes_return\fP 1i
Returns the minimum number of KeyCodes.
.IP \fImodifier\fP 1i
Specifies the modifier.
.IP \fImodmap\fP 1i
Specifies the
.B XModifierKeymap
structure.
.IP \fInum_codes\fP 1i
Specifies the number of KeyCodes that are to be changed.
.SH DESCRIPTION
The
.B XChangeKeyboardMapping
function defines the symbols for the specified number of KeyCodes
starting with first_keycode.
The symbols for KeyCodes outside this range remain unchanged.
The number of elements in keysyms must be:
.LP
.EX
num_codes * keysyms_per_keycode
.EE
.LP
The specified first_keycode must be greater than or equal to min_keycode
returned by
.BR XDisplayKeycodes ,
or a
.B BadValue
error results.
In addition, the following expression must be less than or equal to
max_keycode as returned by
.BR XDisplayKeycodes ,
or a
.B BadValue
error results:
.LP
.EX
first_keycode + num_codes \- 1
.EE
.LP
KeySym number N, counting from zero, for KeyCode K has the following index
in keysyms, counting from zero:
.LP
.EX
(K \- first_keycode) * keysyms_per_keycode + N
.EE
.LP
The specified keysyms_per_keycode can be chosen arbitrarily by the client
to be large enough to hold all desired symbols.
A special KeySym value of
.B NoSymbol
should be used to fill in unused elements
for individual KeyCodes.
It is legal for
.B NoSymbol
to appear in nontrailing positions
of the effective list for a KeyCode.
.B XChangeKeyboardMapping
generates a
.B MappingNotify
event.
.LP
There is no requirement that the X server interpret this mapping.
It is merely stored for reading and writing by clients.
.LP
.B XChangeKeyboardMapping
can generate
.B BadAlloc
and
.B BadValue
errors.
.LP
The
.B XGetKeyboardMapping
function returns the symbols for the specified number of KeyCodes
starting with first_keycode.
The value specified in first_keycode must be greater than
or equal to min_keycode as returned by
.BR XDisplayKeycodes ,
or a
.B BadValue
error results.
In addition, the following expression must be less than or equal
to max_keycode as returned by
.BR XDisplayKeycodes :
.LP
.EX
first_keycode + keycode_count \- 1
.EE
.LP
If this is not the case, a
.B BadValue
error results.
The number of elements in the KeySyms list is:
.LP
.EX
keycode_count * keysyms_per_keycode_return
.EE
.LP
KeySym number N, counting from zero, for KeyCode K has the following index
in the list, counting from zero:
.EX
(K \- first_code) * keysyms_per_code_return + N
.EE
.LP
The X server arbitrarily chooses the keysyms_per_keycode_return value
to be large enough to report all requested symbols.
A special KeySym value of
.B NoSymbol
is used to fill in unused elements for
individual KeyCodes.
To free the storage returned by
.BR XGetKeyboardMapping ,
use
.BR XFree .
.LP
.B XGetKeyboardMapping
can generate a
.B BadValue
error.
.LP
The
.B XDisplayKeycodes
function returns the min-keycodes and max-keycodes supported by the
specified display.
The minimum number of KeyCodes returned is never less than 8,
and the maximum number of KeyCodes returned is never greater than 255.
Not all KeyCodes in this range are required to have corresponding keys.
.LP
The
.B XSetModifierMapping
function specifies the KeyCodes of the keys (if any) that are to be used
as modifiers.
If it succeeds,
the X server generates a
.B MappingNotify
event, and
.B XSetModifierMapping
returns
.BR MappingSuccess .
X permits at most 8 modifier keys.
If more than 8 are specified in the
.B XModifierKeymap
structure, a
.B BadLength
error results.
.LP
The modifiermap member of the
.B XModifierKeymap
structure contains 8 sets of max_keypermod KeyCodes,
one for each modifier in the order
.BR Shift ,
.BR Lock ,
.BR Control ,
.BR Mod1 ,
.BR Mod2 ,
.BR Mod3 ,
.BR Mod4 ,
and
.BR Mod5 .
Only nonzero KeyCodes have meaning in each set,
and zero KeyCodes are ignored.
In addition, all of the nonzero KeyCodes must be in the range specified by
min_keycode and max_keycode in the
.B Display
structure,
or a
.B BadValue
error results.
.LP
An X server can impose restrictions on how modifiers can be changed,
for example,
if certain keys do not generate up transitions in hardware,
if auto-repeat cannot be disabled on certain keys,
or if multiple modifier keys are not supported.
If some such restriction is violated,
the status reply is
.BR MappingFailed ,
and none of the modifiers are changed.
If the new KeyCodes specified for a modifier differ from those
currently defined and any (current or new) keys for that modifier are
in the logically down state,
.B XSetModifierMapping
returns
.BR MappingBusy ,
and none of the modifiers is changed.
.LP
.B XSetModifierMapping
can generate
.B BadAlloc
and
.B BadValue
errors.
.LP
The
.B XGetModifierMapping
function returns a pointer to a newly created
.B XModifierKeymap
structure that contains the keys being used as modifiers.
The structure should be freed after use by calling
.BR XFreeModifiermap .
If only zero values appear in the set for any modifier,
that modifier is disabled.
.LP
The
.B XNewModifiermap
function returns a pointer to
.B XModifierKeymap
structure for later use.
.LP
The
.B XInsertModifiermapEntry
function adds the specified KeyCode to the set that controls the specified
modifier and returns the resulting
.B XModifierKeymap
structure (expanded as needed).
.LP
The
.B XDeleteModifiermapEntry
function deletes the specified KeyCode from the set that controls the
specified modifier and returns a pointer to the resulting
.B XModifierKeymap
structure.
.LP
The
.B XFreeModifiermap
function frees the specified
.B XModifierKeymap
structure.
.SH STRUCTURES
The
.B XModifierKeymap
structure contains:
.LP
.EX
typedef struct {
int max_keypermod; /\&* This server's max number of keys per modifier */
KeyCode *modifiermap; /\&* An 8 by max_keypermod array of the modifiers */
} XModifierKeymap;
.EE
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
XFree(__libmansuffix__),
XkbGetMap(__libmansuffix__),
XSetPointerMapping(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XCheckMaskEvent.man 0000644 0001750 0001750 00000000064 14222353101 013731 0000000 0000000 .so man__libmansuffix__/XNextEvent.__libmansuffix__
libX11-1.7.5/man/XPolygonRegion.man 0000644 0001750 0001750 00000006617 14222353101 013703 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XPolygonRegion __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XPolygonRegion, XClipBox \- generate regions
.SH SYNTAX
.HP
Region XPolygonRegion\^(\^XPoint \fIpoints\fP[]\^, int \fIn\fP\^, int
\fIfill_rule\fP\^);
.HP
int XClipBox\^(\^Region \fIr\fP\^, XRectangle *\fIrect_return\fP\^);
.SH ARGUMENTS
.IP \fIfill_rule\fP 1i
Specifies the fill-rule you want to set for the specified GC.
You can pass
.B EvenOddRule
or
.BR WindingRule .
.IP \fIn\fP 1i
Specifies the number of points in the polygon.
.IP \fIpoints\fP 1i
Specifies an array of points.
.IP \fIr\fP 1i
Specifies the region.
.IP \fIrect_return\fP 1i
Returns the smallest enclosing rectangle.
.SH DESCRIPTION
The
.B XPolygonRegion
function returns a region for the polygon defined by the points array.
For an explanation of fill_rule,
see
.BR XCreateGC .
.LP
The
.B XClipBox
function returns the smallest rectangle enclosing the specified region.
.SH "SEE ALSO"
XCreateGC(__libmansuffix__),
XDrawPoint(__libmansuffix__),
XDrawRectangle(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/ClientWhitePointOfCCC.man 0000644 0001750 0001750 00000000066 14222353101 014777 0000000 0000000 .so man__libmansuffix__/DisplayOfCCC.__libmansuffix__
libX11-1.7.5/man/XMoveResizeWindow.man 0000644 0001750 0001750 00000000072 14222353101 014355 0000000 0000000 .so man__libmansuffix__/XConfigureWindow.__libmansuffix__
libX11-1.7.5/man/XAllocWMHints.man 0000644 0001750 0001750 00000021575 14222353101 013414 0000000 0000000 '\" t
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface, \fRO'Reilly and Associates, Sebastopol, 1991.
.ds xC Inter-Client Communication Conventions Manual
'\" t
.TH XAllocWMHints __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XAllocWMHints, XSetWMHints, XGetWMHints, XWMHints \- allocate window manager hints structure and set or read a window's WM_HINTS property
.SH SYNTAX
.HP
XWMHints *XAllocWMHints\^(void\^);
.HP
int XSetWMHints\^(\^Display *\fIdisplay\fP, Window \fIw\fP, XWMHints *\fIwmhints\fP\^);
.HP
XWMHints *XGetWMHints\^(\^Display *\fIdisplay\fP, Window \fIw\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIw\fP 1i
Specifies the window.
.IP \fIwmhints\fP 1i
Specifies the
.B XWMHints
structure to be used.
.SH DESCRIPTION
The
.B XAllocWMHints
function allocates and returns a pointer to a
.B XWMHints
structure.
Note that all fields in the
.B XWMHints
structure are initially set to zero.
If insufficient memory is available,
.B XAllocWMHints
returns NULL.
To free the memory allocated to this structure,
use
.BR XFree .
.LP
The
.B XSetWMHints
function sets the window manager hints that include icon information and location,
the initial state of the window, and whether the application relies on the
window manager to get keyboard input.
.LP
.B XSetWMHints
can generate
.B BadAlloc
and
.B BadWindow
errors.
.LP
The
.B XGetWMHints
function reads the window manager hints and
returns NULL if no WM_HINTS property was set on the window
or returns a pointer to a
.B XWMHints
structure if it succeeds.
When finished with the data,
free the space used for it by calling
.BR XFree .
.LP
.B XGetWMHints
can generate a
.B BadWindow
error.
.SH PROPERTIES
.TP 1i
\s-1WM_HINTS\s+1
Additional hints set by the client for use by the window manager.
The C type of this property is
.BR XWMHints .
.SH STRUCTURES
The
.B XWMHints
structure contains:
.LP
/\&* Window manager hints mask bits */
.TS
lw(.4i) lw(1.8i) lw(2.5i).
T{
\define
T} T{
.B InputHint
T} T{
(1L << 0)
T}
T{
\define
T} T{
.B StateHint
T} T{
(1L << 1)
T}
T{
\define
T} T{
.B IconPixmapHint
T} T{
(1L << 2)
T}
T{
\define
T} T{
.B IconWindowHint
T} T{
(1L << 3)
T}
T{
\define
T} T{
.B IconPositionHint
T} T{
(1L << 4)
T}
T{
\define
T} T{
.B IconMaskHint
T} T{
(1L << 5)
T}
T{
\define
T} T{
.B WindowGroupHint
T} T{
(1L << 6)
T}
T{
\define
T} T{
.B XUrgencyHint
T} T{
(1L << 8)
T}
T{
\define
T} T{
.B AllHints
T} T{
(InputHint|
.br
StateHint|
.br
IconPixmapHint|
.br
IconWindowHint|
.br
IconPositionHint|
.br
IconMaskHint|
.br
WindowGroupHint)
T}
.TE
.EX
/\&* Values */
typedef struct {
long flags; /\&* marks which fields in this structure are defined */
Bool input; /\&* does this application rely on the window manager to
get keyboard input? */
int initial_state; /\&* see below */
Pixmap icon_pixmap; /\&* pixmap to be used as icon */
Window icon_window; /\&* window to be used as icon */
int icon_x, icon_y; /\&* initial position of icon */
Pixmap icon_mask; /\&* pixmap to be used as mask for icon_pixmap */
XID window_group; /\&* id of related window group */
/\&* this structure may be extended in the future */
} XWMHints;
.EE
.LP
The input member is used to communicate to the window manager the input focus
model used by the application.
Applications that expect input but never explicitly set focus to any
of their subwindows (that is, use the push model of focus management),
such as X Version 10 style applications that use real-estate
driven focus, should set this member to
.BR True .
Similarly, applications
that set input focus to their subwindows only when it is given to their
top-level window by a window manager should also set this member to
.BR True .
Applications that manage their own input focus by explicitly setting
focus to one of their subwindows whenever they want keyboard input
(that is, use the pull model of focus management) should set this member to
.BR False .
Applications that never expect any keyboard input also should set this member
to
.BR False .
.LP
Pull model window managers should make it possible for push model
applications to get input by setting input focus to the top-level windows of
applications whose input member is
.BR True .
Push model window managers should
make sure that pull model applications do not break them
by resetting input focus to
.B PointerRoot
when it is appropriate (for example, whenever an application whose
input member is
.B False
sets input focus to one of its subwindows).
.LP
The definitions for the initial_state flag are:
.TS
lw(.3i) lw(1.5i) lw(.1i) lw(3.9i).
T{
\define
T} T{
.B WithdrawnState
T} T{
0
T} T{
T}
T{
\define
T} T{
.B NormalState
T} T{
1
T} T{
/\&* most applications start this way */
T}
T{
\define
T} T{
.B IconicState
T} T{
3
T} T{
/\&* application wants to start as an icon */
T}
.TE
The icon_mask specifies which pixels of the icon_pixmap should be used as the
icon.
This allows for nonrectangular icons.
Both icon_pixmap and icon_mask must be bitmaps.
The icon_window lets an application provide a window for use as an icon
for window managers that support such use.
The window_group lets you specify that this window belongs to a group
of other windows.
For example, if a single application manipulates multiple
top-level windows, this allows you to provide enough
information that a window manager can iconify all of the windows
rather than just the one window.
.LP
The
.B UrgencyHint
flag, if set in the flags field, indicates that the client deems the window
contents to be urgent, requiring the timely response of the user.
The
window manager will make some effort to draw the user's attention to this
window while this flag is set.
The client must provide some means by which the
user can cause the urgency flag to be cleared (either mitigating
the condition that made the window urgent or merely shutting off the alarm)
or the window to be withdrawn.
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XAllocClassHint(__libmansuffix__),
XAllocIconSize(__libmansuffix__),
XAllocSizeHints(__libmansuffix__),
XFree(__libmansuffix__),
XSetCommand(__libmansuffix__),
XSetTransientForHint(__libmansuffix__),
XSetTextProperty(__libmansuffix__),
XSetWMClientMachine(__libmansuffix__),
XSetWMColormapWindows(__libmansuffix__),
XSetWMIconName(__libmansuffix__),
XSetWMName(__libmansuffix__),
XSetWMProperties(__libmansuffix__),
XSetWMProtocols(__libmansuffix__),
XStringListToTextProperty(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XDisplayOfOM.man 0000644 0001750 0001750 00000000061 14222353101 013221 0000000 0000000 .so man__libmansuffix__/XOpenOM.__libmansuffix__
libX11-1.7.5/man/XFillArcs.man 0000644 0001750 0001750 00000000070 14222353101 012572 0000000 0000000 .so man__libmansuffix__/XFillRectangle.__libmansuffix__
libX11-1.7.5/man/XcmsRGBi.man 0000644 0001750 0001750 00000000063 14222353101 012363 0000000 0000000 .so man__libmansuffix__/XcmsColor.__libmansuffix__
libX11-1.7.5/man/XInternalConnectionNumbers.man 0000644 0001750 0001750 00000000075 14222353101 016230 0000000 0000000 .so man__libmansuffix__/XAddConnectionWatch.__libmansuffix__
libX11-1.7.5/man/XCirculateEvent.man 0000644 0001750 0001750 00000012124 14222353101 014013 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XCirculateEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XCirculateEvent \- CirculateNotify event structure
.SH STRUCTURES
The structure for
.B CirculateNotify
events contains:
.LP
.EX
typedef struct {
int type; /\&* CirculateNotify */
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window event;
Window window;
int place; /\&* PlaceOnTop, PlaceOnBottom */
} XCirculateEvent;
.EE
.LP
When you receive this event,
the structure members are set as follows.
.LP
The type member is set to the event type constant name that uniquely identifies
it.
For example, when the X server reports a
.B GraphicsExpose
event to a client application, it sends an
.B XGraphicsExposeEvent
structure with the type member set to
.BR GraphicsExpose .
The display member is set to a pointer to the display the event was read on.
The send_event member is set to
.B True
if the event came from a
.B SendEvent
protocol request.
The serial member is set from the serial number reported in the protocol
but expanded from the 16-bit least-significant bits to a full 32-bit value.
The window member is set to the window that is most useful to toolkit
dispatchers.
.LP
The event member is set either to the restacked window or to its parent,
depending on whether
.B StructureNotify
or
.B SubstructureNotify
was selected.
The window member is set to the window that was restacked.
The place member is set to the window's position after the restack occurs and
is either
.B PlaceOnTop
or
.BR PlaceOnBottom .
If it is
.BR PlaceOnTop ,
the window is now on top of all siblings.
If it is
.BR PlaceOnBottom ,
the window is now below all siblings.
.SH "SEE ALSO"
XAnyEvent(__libmansuffix__),
XButtonEvent(__libmansuffix__),
XCreateWindowEvent(__libmansuffix__),
XCirculateRequestEvent(__libmansuffix__),
XColormapEvent(__libmansuffix__),
XConfigureEvent(__libmansuffix__),
XConfigureRequestEvent(__libmansuffix__),
XCrossingEvent(__libmansuffix__),
XDestroyWindowEvent(__libmansuffix__),
XErrorEvent(__libmansuffix__),
XExposeEvent(__libmansuffix__),
XFocusChangeEvent(__libmansuffix__),
XGraphicsExposeEvent(__libmansuffix__),
XGravityEvent(__libmansuffix__),
XKeymapEvent(__libmansuffix__),
XMapEvent(__libmansuffix__),
XMapRequestEvent(__libmansuffix__),
XPropertyEvent(__libmansuffix__),
XReparentEvent(__libmansuffix__),
XResizeRequestEvent(__libmansuffix__),
XSelectionClearEvent(__libmansuffix__),
XSelectionEvent(__libmansuffix__),
XSelectionRequestEvent(__libmansuffix__),
XUnmapEvent(__libmansuffix__),
XVisibilityEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XCreateIC.man 0000644 0001750 0001750 00000010561 14222353101 012520 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XCreateIC __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XCreateIC, XDestroyIC, XIMOfIC \- create, destroy, and obtain the input method of an input context
.SH SYNTAX
.HP
XIC XCreateIC\^(\^XIM \fIim\fP\^, ...\^);
.HP
void XDestroyIC\^(\^XIC \fIic\fP\^);
.HP
XIM XIMOfIC\^(\^XIC \fIic\fP\^);
.SH ARGUMENTS
.IP \fIic\fP 1i
Specifies the input context.
.IP \fIim\fP 1i
Specifies the input method.
.IP ... 1i
Specifies the variable length argument list to set XIC values.
.SH DESCRIPTION
The
.B XCreateIC
function creates a context within the specified input method.
.LP
Some of the arguments are mandatory at creation time, and
the input context will not be created if those arguments are not provided.
The mandatory arguments are the input style and the set of text callbacks
(if the input style selected requires callbacks).
All other input context values can be set later.
.LP
.B XCreateIC
returns a NULL value if no input context could be created.
A NULL value could be returned for any of the following reasons:
.IP \(bu 5
A required argument was not set.
.IP \(bu 5
A read-only argument was set (for example,
.BR XNFilterEvents ).
.IP \(bu 5
The argument name is not recognized.
.IP \(bu 5
The input method encountered an input method implementation-dependent error.
.LP
The
.B XCreateIC
can generate
.BR BadAtom ,
.BR BadColor ,
.BR BadPixmap ,
and
.B BadWindow
errors.
.LP
.B XDestroyIC
destroys the specified input context.
.LP
The
.B XIMOfIC
function returns the input method associated with the specified input context.
.SH DIAGNOSTICS
.TP 1i
.B BadAtom
A value for an Atom argument does not name a defined Atom.
.TP 1i
.B BadColor
A value for a Colormap argument does not name a defined Colormap.
.TP 1i
.B BadPixmap
A value for a Pixmap argument does not name a defined Pixmap.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XOpenIM(__libmansuffix__),
XSetICFocus(__libmansuffix__),
XSetICValues(__libmansuffix__),
XmbResetIC(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XcmsCCCOfColormap.man 0000644 0001750 0001750 00000007554 14222353101 014166 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XcmsCCCOfColormap __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XcmsCCCOfColormap, XcmsSetCCCOfColormap \- query and modify CCC of a colormap
.SH SYNTAX
.HP
XcmsCCC XcmsCCCOfColormap\^(\^Display *\fIdisplay\fP\^, Colormap
\fIcolormap\fP\^);
.HP
XcmsCCC XcmsSetCCCOfColormap\^(\^Display *\fIdisplay\fP\^, Colormap
\fIcolormap\fP\^, XcmsCCC \fIccc\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIccc\fP 1i
Specifies the CCC.
.IP \fIcolormap\fP 1i
Specifies the colormap.
.SH DESCRIPTION
The
.B XcmsCCCOfColormap
function returns the CCC associated with the specified colormap.
Once obtained,
the CCC attributes can be queried or modified.
Unless the CCC associated with the specified colormap is changed with
.BR XcmsSetCCCOfColormap ,
this CCC is used when the specified colormap is used as an argument
to color functions.
.LP
The
.B XcmsSetCCCOfColormap
function changes the CCC associated with the specified colormap.
It returns the CCC previously associated with the colormap.
If they are not used again in the application,
CCCs should be freed by calling
.BR XcmsFreeCCC .
Several colormaps may share the same CCC without restriction; this
includes the CCCs generated by Xlib with each colormap.
Xlib, however,
creates a new CCC with each new colormap.
.SH "SEE ALSO"
DisplayOfCCC(__libmansuffix__),
XcmsConvertColors(__libmansuffix__),
XcmsCreateCCC(__libmansuffix__),
XcmsDefaultCCC(__libmansuffix__),
XcmsSetWhitePoint(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XSetSelectionOwner.man 0000644 0001750 0001750 00000013507 14222353101 014520 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSetSelectionOwner __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSetSelectionOwner, XGetSelectionOwner, XConvertSelection \- manipulate window selection
.SH SYNTAX
.HP
int XSetSelectionOwner\^(\^Display *\fIdisplay\fP\^, Atom \fIselection\fP\^,
Window \fIowner\fP\^, Time \fItime\fP\^);
.HP
Window XGetSelectionOwner\^(\^Display *\fIdisplay\fP\^, Atom
\fIselection\fP\^);
.HP
int XConvertSelection\^(\^Display *\fIdisplay\fP\^, Atom \fIselection\fP\^,
Atom \fItarget\fP\^, Atom \fIproperty\fP\^, Window \fIrequestor\fP\^, Time
\fItime\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIowner\fP 1i
Specifies the owner of the specified selection atom.
You can pass a window or
.BR None .
.IP \fIproperty\fP 1i
Specifies the property name.
You also can pass
.BR None .
.IP \fIrequestor\fP 1i
Specifies the requestor.
.IP \fIselection\fP 1i
Specifies the selection atom.
.IP \fItarget\fP 1i
Specifies the target atom.
.IP \fItime\fP 1i
Specifies the time.
You can pass either a timestamp or
.BR CurrentTime .
.SH DESCRIPTION
The
.B XSetSelectionOwner
function changes the owner and last-change time for the specified selection
and has no effect if the specified time is earlier than the current
last-change time of the specified selection
or is later than the current X server time.
Otherwise, the last-change time is set to the specified time,
with
.B CurrentTime
replaced by the current server time.
If the owner window is specified as
.BR None ,
then the owner of the selection becomes
.B None
(that is, no owner).
Otherwise, the owner of the selection becomes the client executing
the request.
.LP
If the new owner (whether a client or
.BR None )
is not
the same as the current owner of the selection and the current
owner is not
.BR None ,
the current owner is sent a
.B SelectionClear
event.
If the client that is the owner of a selection is later
terminated (that is, its connection is closed)
or if the owner window it has specified in the request is later
destroyed,
the owner of the selection automatically
reverts to
.BR None ,
but the last-change time is not affected.
The selection atom is uninterpreted by the X server.
.B XGetSelectionOwner
returns the owner window, which is reported in
.B SelectionRequest
and
.B SelectionClear
events.
Selections are global to the X server.
.LP
.B XSetSelectionOwner
can generate
.B BadAtom
and
.B BadWindow
errors.
.LP
The
.B XGetSelectionOwner
function
returns the window ID associated with the window that currently owns the
specified selection.
If no selection was specified, the function returns the constant
.BR None .
If
.B None
is returned,
there is no owner for the selection.
.LP
.B XGetSelectionOwner
can generate a
.B BadAtom
error.
.LP
.B XConvertSelection
requests that the specified selection be converted to the specified target
type:
.IP \(bu 5
If the specified selection has an owner, the X server sends a
.B SelectionRequest
event to that owner.
.IP \(bu 5
If no owner for the specified
selection exists, the X server generates a
.B SelectionNotify
event to the
requestor with property
.BR None .
.LP
The arguments are passed on unchanged in either of the events.
There are two predefined selection atoms: PRIMARY and SECONDARY.
.LP
.B XConvertSelection
can generate
.B BadAtom
and
.B BadWindow
errors.
.SH DIAGNOSTICS
.TP 1i
.B BadAtom
A value for an Atom argument does not name a defined Atom.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
\fI\*(xL\fP
libX11-1.7.5/man/Makefile.in 0000644 0001750 0001750 00000154315 14222353110 012327 0000000 0000000 # Makefile.in generated by automake 1.16.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in 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.
# 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.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = man
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_define_dir.m4 \
$(top_srcdir)/m4/ax_gcc_builtin.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/src/config.h \
$(top_builddir)/include/X11/XlibConf.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
install-exec-recursive install-html-recursive \
install-info-recursive install-pdf-recursive \
install-ps-recursive install-recursive installcheck-recursive \
installdirs-recursive pdf-recursive ps-recursive \
tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(filemandir)" "$(DESTDIR)$(libmandir)"
DATA = $(fileman_DATA) $(libman_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
$(RECURSIVE_TARGETS) \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
distdir distdir-am
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APP_MAN_DIR = @APP_MAN_DIR@
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BASE_CFLAGS = @BASE_CFLAGS@
BIGFONT_CFLAGS = @BIGFONT_CFLAGS@
BIGFONT_LIBS = @BIGFONT_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CC_FOR_BUILD = @CC_FOR_BUILD@
CFLAGS = @CFLAGS@
CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
CHANGELOG_CMD = @CHANGELOG_CMD@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
CSCOPE = @CSCOPE@
CTAGS = @CTAGS@
CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
FGREP = @FGREP@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
FOP = @FOP@
GREP = @GREP@
I18N_MODULE_LIBS = @I18N_MODULE_LIBS@
INSTALL = @INSTALL@
INSTALL_CMD = @INSTALL_CMD@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
KEYSYMDEFS = @KEYSYMDEFS@
LAUNCHD = @LAUNCHD@
LD = @LD@
LDFLAGS = @LDFLAGS@
LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIB_MAN_DIR = @LIB_MAN_DIR@
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
LINT = @LINT@
LINTLIB = @LINTLIB@
LINT_FLAGS = @LINT_FLAGS@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MALLOC_ZERO_CFLAGS = @MALLOC_ZERO_CFLAGS@
MANIFEST_TOOL = @MANIFEST_TOOL@
MAN_SUBSTS = @MAN_SUBSTS@ -e 's|__xlocaledir__|$(X11_LOCALEDATADIR)|g'
MISC_MAN_DIR = @MISC_MAN_DIR@
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@
RAWCPP = @RAWCPP@
RAWCPPFLAGS = @RAWCPPFLAGS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_CFLAGS = @STRICT_CFLAGS@
STRIP = @STRIP@
STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@
TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@
VERSION = @VERSION@
WCHAR32 = @WCHAR32@
X11_CFLAGS = @X11_CFLAGS@
X11_DATADIR = @X11_DATADIR@
X11_EXTRA_DEPS = @X11_EXTRA_DEPS@
X11_LIBDIR = @X11_LIBDIR@
X11_LIBS = @X11_LIBS@
X11_LOCALEDATADIR = @X11_LOCALEDATADIR@
X11_LOCALEDIR = @X11_LOCALEDIR@
X11_LOCALELIBDIR = @X11_LOCALELIBDIR@
XERRORDB = @XERRORDB@
XKBPROTO_REQUIRES = @XKBPROTO_REQUIRES@
XKEYSYMDB = @XKEYSYMDB@
XLOCALEDATADIR = @XLOCALEDATADIR@
XLOCALEDIR = @XLOCALEDIR@
XLOCALELIBDIR = @XLOCALELIBDIR@
XMALLOC_ZERO_CFLAGS = @XMALLOC_ZERO_CFLAGS@
XMLTO = @XMLTO@
XORG_MAN_PAGE = @XORG_MAN_PAGE@
XORG_SGML_PATH = @XORG_SGML_PATH@
XSLTPROC = @XSLTPROC@
XSL_STYLESHEET = @XSL_STYLESHEET@
XTHREADLIB = @XTHREADLIB@
XTHREAD_CFLAGS = @XTHREAD_CFLAGS@
XTMALLOC_ZERO_CFLAGS = @XTMALLOC_ZERO_CFLAGS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
locales = @locales@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = xkb
libmandir = $(LIB_MAN_DIR)
libman_PRE = \
$(all_shadows:=.man) \
$(file_shadows:=.man) \
AllPlanes.man \
BlackPixelOfScreen.man \
DisplayOfCCC.man \
ImageByteOrder.man \
IsCursorKey.man \
XAddConnectionWatch.man \
XAddHost.man \
XAllocClassHint.man \
XAllocColor.man \
XAllocIconSize.man \
XAllocSizeHints.man \
XAllocStandardColormap.man \
XAllocWMHints.man \
XAllowEvents.man \
XAnyEvent.man \
XButtonEvent.man \
XChangeKeyboardControl.man \
XChangeKeyboardMapping.man \
XChangePointerControl.man \
XChangeSaveSet.man \
XChangeWindowAttributes.man \
XCirculateEvent.man \
XCirculateRequestEvent.man \
XClearArea.man \
XClientMessageEvent.man \
XcmsAllocColor.man \
XcmsCCCOfColormap.man \
XcmsCIELabQueryMaxC.man \
XcmsCIELuvQueryMaxC.man \
XcmsColor.man \
XcmsConvertColors.man \
XcmsCreateCCC.man \
XcmsDefaultCCC.man \
XcmsQueryBlack.man \
XcmsQueryColor.man \
XcmsSetWhitePoint.man \
XcmsStoreColor.man \
XcmsTekHVCQueryMaxC.man \
XColormapEvent.man \
XConfigureEvent.man \
XConfigureRequestEvent.man \
XConfigureWindow.man \
XCopyArea.man \
XCreateColormap.man \
XCreateFontCursor.man \
XCreateFontSet.man \
XCreateGC.man \
XCreateIC.man \
XCreateOC.man \
XCreatePixmap.man \
XCreateRegion.man \
XCreateWindowEvent.man \
XCreateWindow.man \
XCrossingEvent.man \
XDefineCursor.man \
XDestroyWindowEvent.man \
XDestroyWindow.man \
XDrawArc.man \
XDrawImageString.man \
XDrawLine.man \
XDrawPoint.man \
XDrawRectangle.man \
XDrawString.man \
XDrawText.man \
XEmptyRegion.man \
XErrorEvent.man \
XExposeEvent.man \
XExtentsOfFontSet.man \
XFillRectangle.man \
XFilterEvent.man \
XFlush.man \
XFocusChangeEvent.man \
XFontSetExtents.man \
XFontsOfFontSet.man \
XFree.man \
XGetEventData.man \
XGetVisualInfo.man \
XGetWindowAttributes.man \
XGetWindowProperty.man \
XGetXCBConnection.man \
XGrabButton.man \
XGrabKeyboard.man \
XGrabKey.man \
XGrabPointer.man \
XGrabServer.man \
XGraphicsExposeEvent.man \
XGravityEvent.man \
XIconifyWindow.man \
XIfEvent.man \
XInitImage.man \
XInitThreads.man \
XInstallColormap.man \
XInternAtom.man \
XIntersectRegion.man \
XKeymapEvent.man \
XListFonts.man \
XLoadFont.man \
XLookupKeysym.man \
XMapEvent.man \
XMapRequestEvent.man \
XMapWindow.man \
XmbDrawImageString.man \
XmbDrawString.man \
XmbDrawText.man \
XmbLookupString.man \
XmbResetIC.man \
XmbTextEscapement.man \
XmbTextExtents.man \
XmbTextListToTextProperty.man \
XmbTextPerCharExtents.man \
XNextEvent.man \
XNoOp.man \
XOpenDisplay.man \
XOpenIM.man \
XOpenOM.man \
XParseGeometry.man \
XPolygonRegion.man \
XPropertyEvent.man \
XPutBackEvent.man \
XPutImage.man \
XQueryBestSize.man \
XQueryColor.man \
XQueryExtension.man \
XQueryPointer.man \
XQueryTree.man \
XRaiseWindow.man \
XReadBitmapFile.man \
XRecolorCursor.man \
XReparentEvent.man \
XReparentWindow.man \
XResizeRequestEvent.man \
XResourceManagerString.man \
XrmEnumerateDatabase.man \
XrmGetFileDatabase.man \
XrmGetResource.man \
XrmInitialize.man \
XrmMergeDatabases.man \
XrmPutResource.man \
XrmUniqueQuark.man \
XSaveContext.man \
XSelectInput.man \
XSelectionClearEvent.man \
XSelectionEvent.man \
XSelectionRequestEvent.man \
XSendEvent.man \
XSetArcMode.man \
XSetClipOrigin.man \
XSetCloseDownMode.man \
XSetCommand.man \
XSetErrorHandler.man \
XSetEventQueueOwner.man \
XSetFillStyle.man \
XSetFont.man \
XSetFontPath.man \
XSetICFocus.man \
XSetICValues.man \
XSetInputFocus.man \
XSetLineAttributes.man \
XSetPointerMapping.man \
XSetScreenSaver.man \
XSetSelectionOwner.man \
XSetState.man \
XSetTextProperty.man \
XSetTile.man \
XSetTransientForHint.man \
XSetWMClientMachine.man \
XSetWMColormapWindows.man \
XSetWMIconName.man \
XSetWMName.man \
XSetWMProperties.man \
XSetWMProtocols.man \
XStoreBytes.man \
XStoreColors.man \
XStringListToTextProperty.man \
XStringToKeysym.man \
XSupportsLocale.man \
XSynchronize.man \
XTextExtents.man \
XTextWidth.man \
XTranslateCoordinates.man \
XUnmapEvent.man \
XUnmapWindow.man \
XVaCreateNestedList.man \
XVisibilityEvent.man \
XWarpPointer.man
filemandir = $(FILE_MAN_DIR)
fileman_PRE = Compose.man
libman_DATA = $(libman_PRE:man=@LIB_MAN_SUFFIX@) \
$(all_shadows:=.@LIB_MAN_SUFFIX@)
fileman_DATA = $(fileman_PRE:man=@FILE_MAN_SUFFIX@) \
$(file_shadows:=.@FILE_MAN_SUFFIX@)
EXTRA_DIST = $(libman_PRE) $(fileman_PRE)
CLEANFILES = $(libman_DATA) $(fileman_DATA)
SUFFIXES = .$(LIB_MAN_SUFFIX) .$(FILE_MAN_SUFFIX) .man
# Generate man page shadow files (Replaces InstallManPageAliases from Imake)
all_shadows = \
$(AllPlanes_shadows) \
$(BlackPixelOfScreen_shadows) \
$(DisplayOfCCC_shadows) \
$(ImageByteOrder_shadows) \
$(IsCursorKey_shadows) \
$(XAllocClassHint_shadows) \
$(XAllocIconSize_shadows) \
$(XAllocStandardColormap_shadows) \
$(XAllocSizeHints_shadows) \
$(XAllocWMHints_shadows) \
$(XAddHost_shadows) \
$(XAllocColor_shadows) \
$(XAnyEvent_shadows) \
$(XButtonEvent_shadows) \
$(XChangeKeyboardControl_shadows) \
$(XChangeKeyboardMapping_shadows) \
$(XChangePointerControl_shadows) \
$(XChangeSaveSet_shadows) \
$(XChangeWindowAttributes_shadows) \
$(XClearArea_shadows) \
$(XConfigureWindow_shadows) \
$(XCopyArea_shadows) \
$(XCreateColormap_shadows) \
$(XCreateFontCursor_shadows) \
$(XCreateFontSet_shadows) \
$(XCreateGC_shadows) \
$(XCreateIC_shadows) \
$(XInitImage_shadows) \
$(XCreateOC_shadows) \
$(XCreatePixmap_shadows) \
$(XCreateRegion_shadows) \
$(XCreateWindow_shadows) \
$(XDefineCursor_shadows) \
$(XDestroyWindow_shadows) \
$(XDrawArc_shadows) \
$(XDrawImageString_shadows) \
$(XDrawLine_shadows) \
$(XDrawPoint_shadows) \
$(XDrawRectangle_shadows) \
$(XDrawString_shadows) \
$(XDrawText_shadows) \
$(XEmptyRegion_shadows) \
$(XFillRectangle_shadows) \
$(XFlush_shadows) \
$(XFontsOfFontSet_shadows) \
$(XGraphicsExposeEvent_shadows) \
$(XrmGetFileDatabase_shadows) \
$(XrmGetResource_shadows) \
$(XGetEventData_shadows) \
$(XGetVisualInfo_shadows) \
$(XGetWindowAttributes_shadows) \
$(XGetWindowProperty_shadows) \
$(XGrabButton_shadows) \
$(XGrabKey_shadows) \
$(XGrabKeyboard_shadows) \
$(XGrabPointer_shadows) \
$(XGrabServer_shadows) \
$(XIconifyWindow_shadows) \
$(XIfEvent_shadows) \
$(XrmInitialize_shadows) \
$(XInstallColormap_shadows) \
$(XAddConnectionWatch_shadows) \
$(XIntersectRegion_shadows) \
$(XInternAtom_shadows) \
$(XListFonts_shadows) \
$(XLoadFont_shadows) \
$(XLookupKeysym_shadows) \
$(XrmMergeDatabases_shadows) \
$(XMapEvent_shadows) \
$(XMapWindow_shadows) \
$(XNextEvent_shadows) \
$(XOpenDisplay_shadows) \
$(XOpenIM_shadows) \
$(XOpenOM_shadows) \
$(XParseGeometry_shadows) \
$(XPolygonRegion_shadows) \
$(XPutImage_shadows) \
$(XrmPutResource_shadows) \
$(XQueryBestSize_shadows) \
$(XQueryColor_shadows) \
$(XQueryExtension_shadows) \
$(XResourceManagerString_shadows) \
$(XRaiseWindow_shadows) \
$(XReadBitmapFile_shadows) \
$(XRecolorCursor_shadows) \
$(XSaveContext_shadows) \
$(XSetICFocus_shadows) \
$(XSetICValues_shadows) \
$(XStringListToTextProperty_shadows) \
$(XSetArcMode_shadows) \
$(XSetClipOrigin_shadows) \
$(XSetCloseDownMode_shadows) \
$(XSetCommand_shadows) \
$(XSetErrorHandler_shadows) \
$(XSendEvent_shadows) \
$(XSetFillStyle_shadows) \
$(XSetFontPath_shadows) \
$(XSetInputFocus_shadows) \
$(XSetLineAttributes_shadows) \
$(XSetPointerMapping_shadows) \
$(XSetScreenSaver_shadows) \
$(XSetSelectionOwner_shadows) \
$(XSetState_shadows) \
$(XSetTransientForHint_shadows) \
$(XSetTextProperty_shadows) \
$(XSetTile_shadows) \
$(XSetWMClientMachine_shadows) \
$(XSetWMColormapWindows_shadows) \
$(XSetWMIconName_shadows) \
$(XSetWMName_shadows) \
$(XSetWMProperties_shadows) \
$(XSetWMProtocols_shadows) \
$(XStoreBytes_shadows) \
$(XStoreColors_shadows) \
$(XStringToKeysym_shadows) \
$(XSupportsLocale_shadows) \
$(XSynchronize_shadows) \
$(XmbTextListToTextProperty_shadows) \
$(XTextExtents_shadows) \
$(XTextWidth_shadows) \
$(XInitThreads_shadows) \
$(XrmUniqueQuark_shadows) \
$(XUnmapWindow_shadows) \
$(XcmsCCCOfColormap_shadows) \
$(XcmsAllocColor_shadows) \
$(XcmsColor_shadows) \
$(XcmsCreateCCC_shadows) \
$(XcmsCIELabQueryMaxC_shadows) \
$(XcmsCIELuvQueryMaxC_shadows) \
$(XcmsQueryBlack_shadows) \
$(XcmsQueryColor_shadows) \
$(XcmsStoreColor_shadows) \
$(XcmsSetWhitePoint_shadows) \
$(XcmsTekHVCQueryMaxC_shadows) \
$(XmbDrawImageString_shadows) \
$(XmbDrawString_shadows) \
$(XmbDrawText_shadows) \
$(XmbLookupString_shadows) \
$(XmbResetIC_shadows) \
$(XmbTextEscapement_shadows) \
$(XmbTextExtents_shadows) \
$(XmbTextPerCharExtents_shadows)
AllPlanes_shadows = \
BlackPixel \
WhitePixel \
ConnectionNumber \
DefaultColormap \
DefaultDepth \
XListDepths \
DefaultGC \
DefaultRootWindow \
DefaultScreenOfDisplay \
DefaultScreen \
DefaultVisual \
DisplayCells \
DisplayPlanes \
DisplayString \
XMaxRequestSize \
XExtendedMaxRequestSize \
LastKnownRequestProcessed \
NextRequest \
ProtocolVersion \
ProtocolRevision \
QLength \
RootWindow \
ScreenCount \
ScreenOfDisplay \
ServerVendor \
VendorRelease
BlackPixelOfScreen_shadows = \
WhitePixelOfScreen \
CellsOfScreen \
DefaultColormapOfScreen \
DefaultDepthOfScreen \
DefaultGCOfScreen \
DefaultVisualOfScreen \
DoesBackingStore \
DoesSaveUnders \
DisplayOfScreen \
XScreenNumberOfScreen \
EventMaskOfScreen \
HeightOfScreen \
HeightMMOfScreen \
MaxCmapsOfScreen \
MinCmapsOfScreen \
PlanesOfScreen \
RootWindowOfScreen \
WidthOfScreen \
WidthMMOfScreen
DisplayOfCCC_shadows = \
VisualOfCCC \
ScreenNumberOfCCC \
ScreenWhitePointOfCCC \
ClientWhitePointOfCCC
ImageByteOrder_shadows = \
BitmapBitOrder \
BitmapPad \
BitmapUnit \
DisplayHeight \
DisplayHeightMM \
DisplayWidth \
DisplayWidthMM \
XListPixmapFormats \
XPixmapFormatValues
IsCursorKey_shadows = \
IsFunctionKey \
IsKeypadKey \
IsMiscFunctionKey \
IsModifierKey \
IsPFKey \
IsPrivateKeypadKey
XAllocClassHint_shadows = \
XSetClassHint \
XGetClassHint \
XClassHint
XAllocIconSize_shadows = \
XSetIconSizes \
XGetIconSizes \
XIconSize
XAllocStandardColormap_shadows = \
XSetRGBColormaps \
XGetRGBColormaps \
XStandardColormap
XAllocSizeHints_shadows = \
XSetWMNormalHints \
XGetWMNormalHints \
XSetWMSizeHints \
XGetWMSizeHints \
XSizeHints
XAllocWMHints_shadows = \
XSetWMHints \
XGetWMHints \
XWMHints
XAddHost_shadows = \
XAddHosts \
XListHosts \
XRemoveHost \
XRemoveHosts \
XSetAccessControl \
XEnableAccessControl \
XDisableAccessControl \
XHostAddress
XAllocColor_shadows = \
XAllocNamedColor \
XAllocColorCells \
XAllocColorPlanes \
XFreeColors
XAnyEvent_shadows = \
XEvent
XButtonEvent_shadows = \
XKeyEvent \
XMotionEvent
XChangeKeyboardControl_shadows = \
XGetKeyboardControl \
XAutoRepeatOn \
XAutoRepeatOff \
XBell \
XQueryKeymap \
XKeyboardControl
XChangeKeyboardMapping_shadows = \
XGetKeyboardMapping \
XDisplayKeycodes \
XSetModifierMapping \
XGetModifierMapping \
XNewModifiermap \
XInsertModifiermapEntry \
XDeleteModifiermapEntry \
XFreeModifiermap \
XModifierKeymap
XChangePointerControl_shadows = \
XGetPointerControl
XChangeSaveSet_shadows = \
XAddToSaveSet \
XRemoveFromSaveSet
XChangeWindowAttributes_shadows = \
XSetWindowBackground \
XSetWindowBackgroundPixmap \
XSetWindowBorder \
XSetWindowBorderPixmap \
XSetWindowColormap
XClearArea_shadows = \
XClearWindow
XConfigureWindow_shadows = \
XMoveWindow \
XResizeWindow \
XMoveResizeWindow \
XSetWindowBorderWidth \
XWindowChanges
XCopyArea_shadows = \
XCopyPlane
XCreateColormap_shadows = \
XCopyColormapAndFree \
XFreeColormap \
XColor
XCreateFontCursor_shadows = \
XCreatePixmapCursor \
XCreateGlyphCursor
XCreateFontSet_shadows = \
XFreeFontSet
XCreateGC_shadows = \
XCopyGC \
XChangeGC \
XGetGCValues \
XFreeGC \
XGContextFromGC \
XGCValues
XCreateIC_shadows = \
XDestroyIC \
XIMOfIC
XInitImage_shadows = \
XCreateImage \
XGetPixel \
XPutPixel \
XSubImage \
XAddPixel \
XDestroyImage
XCreateOC_shadows = \
XDestroyOC \
XSetOCValues \
XGetOCValues \
XOMOfOC
XCreatePixmap_shadows = \
XFreePixmap
XCreateRegion_shadows = \
XSetRegion \
XDestroyRegion
XCreateWindow_shadows = \
XCreateSimpleWindow \
XSetWindowAttributes
XDefineCursor_shadows = \
XUndefineCursor
XDestroyWindow_shadows = \
XDestroySubwindows
XDrawArc_shadows = \
XDrawArcs \
XArc
XDrawImageString_shadows = \
XDrawImageString16
XDrawLine_shadows = \
XDrawLines \
XDrawSegments \
XSegment
XDrawPoint_shadows = \
XDrawPoints \
XPoint
XDrawRectangle_shadows = \
XDrawRectangles \
XRectangle
XDrawString_shadows = \
XDrawString16
XDrawText_shadows = \
XDrawText16 \
XTextItem \
XTextItem16
XEmptyRegion_shadows = \
XEqualRegion \
XPointInRegion \
XRectInRegion
XFillRectangle_shadows = \
XFillRectangles \
XFillPolygon \
XFillArc \
XFillArcs
XFlush_shadows = \
XSync \
XEventsQueued \
XPending
XFontsOfFontSet_shadows = \
XBaseFontNameListOfFontSet \
XLocaleOfFontSet \
XContextDependentDrawing \
XContextualDrawing \
XDirectionalDependentDrawing
XGraphicsExposeEvent_shadows = \
XNoExposeEvent
XrmGetFileDatabase_shadows = \
XrmPutFileDatabase \
XrmGetStringDatabase \
XrmLocaleOfDatabase \
XrmGetDatabase \
XrmSetDatabase \
XrmDestroyDatabase
XrmGetResource_shadows = \
XrmQGetResource \
XrmQGetSearchList \
XrmQGetSearchResource
XGetEventData_shadows = \
XFreeEventData \
XGenericEventCookie
XGetVisualInfo_shadows = \
XMatchVisualInfo \
XVisualIDFromVisual \
XVisualInfo
XGetWindowAttributes_shadows = \
XGetGeometry \
XWindowAttributes
XGetWindowProperty_shadows = \
XListProperties \
XChangeProperty \
XRotateWindowProperties \
XDeleteProperty
XGrabButton_shadows = \
XUngrabButton
XGrabKey_shadows = \
XUngrabKey
XGrabKeyboard_shadows = \
XUngrabKeyboard
XGrabPointer_shadows = \
XUngrabPointer \
XChangeActivePointerGrab
XGrabServer_shadows = \
XUngrabServer
XIconifyWindow_shadows = \
XWithdrawWindow \
XReconfigureWMWindow
XIfEvent_shadows = \
XCheckIfEvent \
XPeekIfEvent
XrmInitialize_shadows = \
XrmParseCommand \
XrmValue \
XrmOptionKind \
XrmOptionDescRec
XInstallColormap_shadows = \
XUninstallColormap \
XListInstalledColormaps
XAddConnectionWatch_shadows = \
XRemoveConnectionWatch \
XProcessInternalConnection \
XInternalConnectionNumbers
XIntersectRegion_shadows = \
XUnionRegion \
XUnionRectWithRegion \
XSubtractRegion \
XXorRegion \
XOffsetRegion \
XShrinkRegion
XInternAtom_shadows = \
XInternAtoms \
XGetAtomName \
XGetAtomNames
XListFonts_shadows = \
XFreeFontNames \
XListFontsWithInfo \
XFreeFontInfo
XLoadFont_shadows = \
XQueryFont \
XLoadQueryFont \
XFreeFont \
XGetFontProperty \
XUnloadFont \
XCharStruct \
XFontProp \
XChar2b \
XFontStruct
XLookupKeysym_shadows = \
XRefreshKeyboardMapping \
XLookupString \
XRebindKeysym
XrmMergeDatabases_shadows = \
XrmCombineDatabase \
XrmCombineFileDatabase
XMapEvent_shadows = \
XMappingEvent
XMapWindow_shadows = \
XMapRaised \
XMapSubwindows
XNextEvent_shadows = \
XPeekEvent \
XWindowEvent \
XCheckWindowEvent \
XMaskEvent \
XCheckMaskEvent \
XCheckTypedEvent \
XCheckTypedWindowEvent
XOpenDisplay_shadows = \
XCloseDisplay
XOpenIM_shadows = \
XCloseIM \
XSetIMValues \
XGetIMValues \
XDisplayOfIM \
XLocaleOfIM \
XRegisterIMInstantiateCallback \
XUnregisterIMInstantiateCallback
XOpenOM_shadows = \
XCloseOM \
XSetOMValues \
XGetOMValues \
XDisplayOfOM \
XLocaleOfOM
XParseGeometry_shadows = \
XWMGeometry
XPolygonRegion_shadows = \
XClipBox
XPutImage_shadows = \
XGetImage \
XGetSubImage
XrmPutResource_shadows = \
XrmQPutResource \
XrmPutStringResource \
XrmQPutStringResource \
XrmPutLineResource
XQueryBestSize_shadows = \
XQueryBestTile \
XQueryBestStipple
XQueryColor_shadows = \
XQueryColors \
XLookupColor \
XParseColor
XQueryExtension_shadows = \
XListExtensions \
XFreeExtensionList
XResourceManagerString_shadows = \
XScreenResourceString
XRaiseWindow_shadows = \
XLowerWindow \
XCirculateSubwindows \
XCirculateSubwindowsUp \
XCirculateSubwindowsDown \
XRestackWindows
XReadBitmapFile_shadows = \
XReadBitmapFileData \
XWriteBitmapFile \
XCreatePixmapFromBitmapData \
XCreateBitmapFromData
XRecolorCursor_shadows = \
XFreeCursor \
XQueryBestCursor
XSaveContext_shadows = \
XFindContext \
XDeleteContext \
XUniqueContext
XSetICFocus_shadows = \
XUnsetICFocus
XSetICValues_shadows = \
XGetICValues
XStringListToTextProperty_shadows = \
XTextPropertyToStringList \
XFreeStringList \
XTextProperty
XSetArcMode_shadows = \
XSetSubwindowMode \
XSetGraphicsExposure
XSetClipOrigin_shadows = \
XSetClipMask \
XSetClipRectangles
XSetCloseDownMode_shadows = \
XKillClient
XSetCommand_shadows = \
XGetCommand
XSetErrorHandler_shadows = \
XGetErrorText \
XDisplayName \
XSetIOErrorHandler \
XGetErrorDatabaseText
XSendEvent_shadows = \
XDisplayMotionBufferSize \
XGetMotionEvents \
XTimeCoord
XSetFillStyle_shadows = \
XSetFillRule
XSetFontPath_shadows = \
XGetFontPath \
XFreeFontPath
XSetInputFocus_shadows = \
XGetInputFocus
XSetLineAttributes_shadows = \
XSetDashes
XSetPointerMapping_shadows = \
XGetPointerMapping
XSetScreenSaver_shadows = \
XForceScreenSaver \
XActivateScreenSaver \
XResetScreenSaver \
XGetScreenSaver
XSetSelectionOwner_shadows = \
XGetSelectionOwner \
XConvertSelection
XSetState_shadows = \
XSetFunction \
XSetPlaneMask \
XSetForeground \
XSetBackground
XSetTransientForHint_shadows = \
XGetTransientForHint
XSetTextProperty_shadows = \
XGetTextProperty
XSetTile_shadows = \
XSetStipple \
XSetTSOrigin
XSetWMClientMachine_shadows = \
XGetWMClientMachine
XSetWMColormapWindows_shadows = \
XGetWMColormapWindows
XSetWMIconName_shadows = \
XGetWMIconName \
XSetIconName \
XGetIconName
XSetWMName_shadows = \
XGetWMName \
XStoreName \
XFetchName
XSetWMProperties_shadows = \
XmbSetWMProperties \
Xutf8SetWMProperties
XSetWMProtocols_shadows = \
XGetWMProtocols
XStoreBytes_shadows = \
XStoreBuffer \
XFetchBytes \
XFetchBuffer \
XRotateBuffers
XStoreColors_shadows = \
XStoreColor \
XStoreNamedColor
XStringToKeysym_shadows = \
XKeysymToString \
XKeycodeToKeysym \
XKeysymToKeycode \
XConvertCase
XSupportsLocale_shadows = \
XSetLocaleModifiers
XSynchronize_shadows = \
XSetAfterFunction
XmbTextListToTextProperty_shadows = \
XwcTextListToTextProperty \
Xutf8TextListToTextProperty \
XmbTextPropertyToTextList \
XwcTextPropertyToTextList \
Xutf8TextPropertyToTextList \
XwcFreeStringList \
XDefaultString
XTextExtents_shadows = \
XTextExtents16 \
XQueryTextExtents \
XQueryTextExtents16
XTextWidth_shadows = \
XTextWidth16
XInitThreads_shadows = \
XLockDisplay \
XUnlockDisplay
XrmUniqueQuark_shadows = \
XrmStringToQuark \
XrmPermStringToQuark \
XrmQuarkToString \
XrmStringToQuarkList \
XrmStringToBindingQuarkList
XUnmapWindow_shadows = \
XUnmapSubwindows
XcmsCCCOfColormap_shadows = \
XcmsSetCCCOfColormap
XcmsAllocColor_shadows = \
XcmsAllocNamedColor
XcmsColor_shadows = \
XcmsRGB \
XcmsRGBi \
XcmsCIEXYZ \
XcmsCIEuvY \
XcmsCIExyY \
XcmsCIELab \
XcmsCIELuv \
XcmsTekHVC \
XcmsPad
XcmsCreateCCC_shadows = \
XcmsFreeCCC
XcmsCIELabQueryMaxC_shadows = \
XcmsCIELabQueryMaxL \
XcmsCIELabQueryMaxLC \
XcmsCIELabQueryMinL
XcmsCIELuvQueryMaxC_shadows = \
XcmsCIELuvQueryMaxL \
XcmsCIELuvQueryMaxLC \
XcmsCIELuvQueryMinL
XcmsQueryBlack_shadows = \
XcmsQueryBlue \
XcmsQueryGreen \
XcmsQueryRed \
XcmsQueryWhite
XcmsQueryColor_shadows = \
XcmsQueryColors \
XcmsLookupColor
XcmsStoreColor_shadows = \
XcmsStoreColors
XcmsSetWhitePoint_shadows = \
XcmsSetWhiteAdjustProc
XcmsTekHVCQueryMaxC_shadows = \
XcmsTekHVCQueryMaxV \
XcmsTekHVCQueryMaxVC \
XcmsTekHVCQueryMaxVSamples \
XcmsTekHVCQueryMinV
XmbDrawImageString_shadows = \
XwcDrawImageString \
Xutf8DrawImageString
XmbDrawString_shadows = \
XwcDrawString \
Xutf8DrawString
XmbDrawText_shadows = \
XwcDrawText \
Xutf8DrawText
XmbLookupString_shadows = \
XwcLookupString \
Xutf8LookupString
XmbResetIC_shadows = \
XwcResetIC \
Xutf8ResetIC
XmbTextEscapement_shadows = \
XwcTextEscapement \
Xutf8TextEscapement
XmbTextExtents_shadows = \
XwcTextExtents \
Xutf8TextExtents
XmbTextPerCharExtents_shadows = \
XwcTextPerCharExtents \
Xutf8TextPerCharExtents
file_shadows = \
$(Compose_shadows)
Compose_shadows = \
XCompose
all: all-recursive
.SUFFIXES:
.SUFFIXES: .$(LIB_MAN_SUFFIX) .$(FILE_MAN_SUFFIX) .man
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign man/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-filemanDATA: $(fileman_DATA)
@$(NORMAL_INSTALL)
@list='$(fileman_DATA)'; test -n "$(filemandir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(filemandir)'"; \
$(MKDIR_P) "$(DESTDIR)$(filemandir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(filemandir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(filemandir)" || exit $$?; \
done
uninstall-filemanDATA:
@$(NORMAL_UNINSTALL)
@list='$(fileman_DATA)'; test -n "$(filemandir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(filemandir)'; $(am__uninstall_files_from_dir)
install-libmanDATA: $(libman_DATA)
@$(NORMAL_INSTALL)
@list='$(libman_DATA)'; test -n "$(libmandir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(libmandir)'"; \
$(MKDIR_P) "$(DESTDIR)$(libmandir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libmandir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(libmandir)" || exit $$?; \
done
uninstall-libmanDATA:
@$(NORMAL_UNINSTALL)
@list='$(libman_DATA)'; test -n "$(libmandir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(libmandir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
# into them and run 'make' without going through this Makefile.
# To change the values of 'make' variables: instead of editing Makefiles,
# (1) if the variable is set in 'config.status', edit 'config.status'
# (which will cause the Makefiles to be regenerated when you run 'make');
# (2) otherwise, pass the desired values on the 'make' command line.
$(am__recursive_targets):
@fail=; \
if $(am__make_keepgoing); then \
failcom='fail=yes'; \
else \
failcom='exit 1'; \
fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-recursive
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-recursive
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-recursive
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
$(am__make_dryrun) \
|| test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile $(DATA)
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(filemandir)" "$(DESTDIR)$(libmandir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am: install-filemanDATA install-libmanDATA
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am:
install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive
install-info-am:
install-man:
install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-filemanDATA uninstall-libmanDATA
.MAKE: $(am__recursive_targets) install-am install-strip
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
check-am clean clean-generic clean-libtool cscopelist-am ctags \
ctags-am distclean distclean-generic distclean-libtool \
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am \
install-filemanDATA install-html install-html-am install-info \
install-info-am install-libmanDATA install-man install-pdf \
install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs installdirs-am \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags tags-am uninstall uninstall-am uninstall-filemanDATA \
uninstall-libmanDATA
.PRECIOUS: Makefile
# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
.man.$(LIB_MAN_SUFFIX) .man.$(FILE_MAN_SUFFIX):
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
libX11-1.7.5/man/XGetEventData.man 0000644 0001750 0001750 00000007300 14222353101 013411 0000000 0000000 .\" Copyright \(co 2009 Red Hat, Inc.
.\"
.\" 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.
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XGetEventData __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XGetEventData, XFreeEventData, XGenericEventCookie \- retrieve and free additional event data through cookies.
.SH SYNTAX
.HP
Bool XGetEventData\^(\^Display *\fIdisplay\fP\^, XGenericEventCookie *\fIcookie\fP\^);
.HP
void XFreeEventData\^(\^Display *\fIdisplay\fP\^, XGenericEventCookie *\fIcookie\fP\^);
.HP
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIcookie\fP 1i
Specifies the cookie to free or retrieve the data for.
.SH STRUCTURES
.EX
typedef struct {
int type;
unsigned long serial;
Bool send_event;
Display *display;
int extension;
int evtype;
unsigned int cookie;
void *data;
} XGenericEventCookie;
.EE
.SH DESCRIPTION
Some extension
.B XGenericEvents
require additional memory to store information.
For these events, the library returns a
.B XGenericEventCookie
with a token ('cookie') unique to this event.
The
.BR XGenericEventCookie 's
data pointer is undefined until
.B XGetEventData
is called.
The
.B XGetEventData
function retrieves this extra data for the given cookie.
No round-trip to
the server is required.
If the cookie is invalid or the
event is not an event handled by cookie handlers,
.B False
is returned.
If
.B XGetEventData
returns
.BR True ,
the cookie's data pointer points to the memory containing the event
information.
A client must call
.B XFreeEventData
to free this memory.
.B XGetEventData
returns
.B False
for multiple calls for the same event cookie.
The
.B XFreeEventData
function frees the data associated with a cookie.
A client must call
.B XFreeEventData
for each cookie claimed with
.BR XGetEventData .
.SH EXAMPLE CODE
.EX
XEvent event;
XGenericEventCookie *cookie = &ev;
XNextEvent(display, &event);
if (XGetEventData(display, cookie)) {
handle_cookie_event(cookie->data);
} else
handle_event(&event);
}
XFreeEventData(display, cookie);
.EE
.SH NOTES
A cookie is defined as unclaimed if it has been returned to the client
through
.B XNextEvent
but its data has not been retrieved via
.BR XGetEventData .
Subsequent calls to
.B XNextEvent
may free memory associated with unclaimed cookies.
Multi-threaded X clients must ensure that
.B XGetEventData
is called before the next call to
.BR XNextEvent .
.SH "SEE ALSO"
XNextEvent(__libmansuffix__),
.br
\fI\*(xL\fP
libX11-1.7.5/man/XListInstalledColormaps.man 0000644 0001750 0001750 00000000072 14222353101 015530 0000000 0000000 .so man__libmansuffix__/XInstallColormap.__libmansuffix__
libX11-1.7.5/man/DefaultColormapOfScreen.man 0000644 0001750 0001750 00000000074 14222353101 015455 0000000 0000000 .so man__libmansuffix__/BlackPixelOfScreen.__libmansuffix__
libX11-1.7.5/man/XQueryExtension.man 0000644 0001750 0001750 00000005754 14222353101 014113 0000000 0000000 .\"
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc
.\"
.\" Rewritten for X.org by Chris Lee
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
.\" for any purpose and without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
.\" Chris Lee makes no representations about the suitability for any purpose
.\" of the information in this document. It is provided \`\`as-is\*(rq without
.\" express or implied warranty.
.\"
.ds xL Programming with Xlib
.TH XQueryExtension __libmansuffix__ __xorgversion__ "X FUNCTIONS"
.SH NAME
XQueryExtension, XListExtensions, XFreeExtensionList \- list available extensions
.SH SYNTAX
.HP
Bool XQueryExtension(\^\fIdisplay, \fIname\fP, \fImajor_opcode_return\fP, \fIfirst_event_return\fP, \fIfirst_error_return\fP\^)
.HP
char **XListExtensions(\^\fIdisplay\fP, \fInextensions_return\fP\^)
.HP
XFreeExtensionList(\^\fIlist\fP\^)
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIname\fP 1i
Specifies the extension name.
.IP \fImajor_opcode_return\fP 1i
Returns the major opcode.
.IP \fIfirst_event_return\fP 1i
Returns the first event code, if any.
.IP \fIfirst_error_return\fP 1i
Returns the first error code, if any.
.IP \fInextensions_return\fP 1i
Returns the number of extensions listed.
.IP \fIlist\fP 1i
Specifies the list of extension names.
.SH DESCRIPTION
.LP
The \fIXQueryExtension\fP function determines if the named extension is
present.
If the extension is not present, \fIXQueryExtension\fP returns
\fIFalse\fP; otherwise, it returns \fITrue\fP. If the extension is present,
\fIXQueryExtension\fP returns the major opcode for the extension to
major_opcode_return; otherwise, it returns zero.
Any minor opcode and the
request formats are specific to the extension.
If the extension involves
additional event types, \fIXQueryExtension\fP returns the base event type code
to first_event_return; otherwise, it returns zero.
The format of the events is
specific to the extension.
If the extension involves additional error codes,
\fIXQueryExtension\fP returns the base error code to first_error_return;
otherwise, it returns zero.
The format of additional data in the errors is
specific to the extension.
If the extension name is not in the Host Portable
Character Encoding the result is implementation-dependent.
Uppercase and
lowercase matter; the strings \*(lqthing\*(rq, \*(lqThing\*(rq, and \*(lqthinG\*(rq are all
considered different names.
.LP
The \fIXListExtensions\fP function returns a list of all extensions supported
by the server.
If the data returned by the server is in the Latin Portable
Character Encoding, then the returned strings are in the Host Portable
Character Encoding.
Otherwise, the result is implementation-dependent.
.LP
The \fIXFreeExtensionList\fP function frees the memory allocated by
\fIXListExtensions\fP.
libX11-1.7.5/man/XRebindKeysym.man 0000644 0001750 0001750 00000000067 14222353101 013506 0000000 0000000 .so man__libmansuffix__/XLookupKeysym.__libmansuffix__
libX11-1.7.5/man/XRaiseWindow.man 0000644 0001750 0001750 00000020004 14222353101 013325 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XRaiseWindow __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XRaiseWindow, XLowerWindow, XCirculateSubwindows, XCirculateSubwindowsUp, XCirculateSubwindowsDown, XRestackWindows \- change window stacking order
.SH SYNTAX
.HP
int XRaiseWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
.HP
int XLowerWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
.HP
int XCirculateSubwindows\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, int
\fIdirection\fP\^);
.HP
int XCirculateSubwindowsUp\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
.HP
int XCirculateSubwindowsDown\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
.HP
int XRestackWindows\^(\^Display *\fIdisplay\fP\^, Window \fIwindows\fP\^[], int
\fInwindows\fP\^);
.SH ARGUMENTS
.IP \fIdirection\fP 1i
Specifies the direction (up or down) that you want to circulate
the window.
You can pass
.B RaiseLowest
or
.BR LowerHighest .
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fInwindows\fP 1i
Specifies the number of windows to be restacked.
.IP \fIw\fP 1i
Specifies the window.
.IP \fIwindows\fP 1i
Specifies an array containing the windows to be restacked.
.SH DESCRIPTION
The
.B XRaiseWindow
function
raises the specified window to the top of the stack so that no sibling window
obscures it.
If the windows are regarded as overlapping sheets of paper stacked
on a desk,
then raising a window is analogous to moving the sheet to the top of
the stack but leaving its x and y location on the desk constant.
Raising a mapped window may generate
.B Expose
events for the window and any mapped subwindows that were formerly obscured.
.LP
If the override-redirect attribute of the window is
.B False
and some
other client has selected
.B SubstructureRedirectMask
on the parent, the X server generates a
.B ConfigureRequest
event, and no processing is performed.
Otherwise, the window is raised.
.LP
.B XRaiseWindow
can generate a
.B BadWindow
error.
.LP
The
.B XLowerWindow
function lowers the specified window to the bottom of the stack
so that it does not obscure any sibling
windows.
If the windows are regarded as overlapping sheets of paper
stacked on a desk, then lowering a window is analogous to moving the
sheet to the bottom of the stack but leaving its x and y location on
the desk constant.
Lowering a mapped window will generate
.B Expose
events on any windows it formerly obscured.
.LP
If the override-redirect attribute of the window is
.B False
and some
other client has selected
.B SubstructureRedirectMask
on the parent, the X server generates a
.B ConfigureRequest
event, and no processing is performed.
Otherwise, the window is lowered to the bottom of the
stack.
.LP
.B XLowerWindow
can generate a
.B BadWindow
error.
.LP
The
.B XCirculateSubwindows
function circulates children of the specified window in the specified
direction.
If you specify
.BR RaiseLowest ,
.B XCirculateSubwindows
raises the lowest mapped child (if any) that is occluded
by another child to the top of the stack.
If you specify
.BR LowerHighest ,
.B XCirculateSubwindows
lowers the highest mapped child (if any) that occludes another child
to the bottom of the stack.
Exposure processing is then performed on formerly obscured windows.
If some other client has selected
.B SubstructureRedirectMask
on the window, the X server generates a
.B CirculateRequest
event, and no further processing is performed.
If a child is actually restacked,
the X server generates a
.B CirculateNotify
event.
.LP
.B XCirculateSubwindows
can generate
.B BadValue
and
.B BadWindow
errors.
.LP
The
.B XCirculateSubwindowsUp
function raises the lowest mapped child of the specified window that
is partially
or completely
occluded by another child.
Completely unobscured children are not affected.
This is a convenience function equivalent to
.B XCirculateSubwindows
with
.B RaiseLowest
specified.
.LP
.B XCirculateSubwindowsUp
can generate a
.B BadWindow
error.
.LP
The
.B XCirculateSubwindowsDown
function lowers the highest mapped child of the specified window that partially
or completely occludes another child.
Completely unobscured children are not affected.
This is a convenience function equivalent to
.B XCirculateSubwindows
with
.B LowerHighest
specified.
.LP
.B XCirculateSubwindowsDown
can generate a
.B BadWindow
error.
.LP
The
.B XRestackWindows
function restacks the windows in the order specified,
from top to bottom.
The stacking order of the first window in the windows array is unaffected,
but the other windows in the array are stacked underneath the first window,
in the order of the array.
The stacking order of the other windows is not affected.
For each window in the window array that is not a sibling of the first window,
a
.B BadMatch
error results.
.LP
If the override-redirect attribute of a window is
.B False
and some
other client has selected
.B SubstructureRedirectMask
on the parent, the X server generates
.B ConfigureRequest
events for each window whose override-redirect flag is not set,
and no further processing is performed.
Otherwise, the windows will be restacked in top-to-bottom order.
.LP
.B XRestackWindows
can generate
.B BadWindow
error.
.SH DIAGNOSTICS
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XChangeWindowAttributes(__libmansuffix__),
XConfigureWindow(__libmansuffix__),
XCreateWindow(__libmansuffix__),
XDestroyWindow(__libmansuffix__),
XMapWindow(__libmansuffix__),
XUnmapWindow(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XChar2b.man 0000644 0001750 0001750 00000000063 14222353101 012176 0000000 0000000 .so man__libmansuffix__/XLoadFont.__libmansuffix__
libX11-1.7.5/man/XFreeModifiermap.man 0000644 0001750 0001750 00000000100 14222353101 014123 0000000 0000000 .so man__libmansuffix__/XChangeKeyboardMapping.__libmansuffix__
libX11-1.7.5/man/XLockDisplay.man 0000644 0001750 0001750 00000000066 14222353101 013316 0000000 0000000 .so man__libmansuffix__/XInitThreads.__libmansuffix__
libX11-1.7.5/man/XAutoRepeatOn.man 0000644 0001750 0001750 00000000100 14222353101 013433 0000000 0000000 .so man__libmansuffix__/XChangeKeyboardControl.__libmansuffix__
libX11-1.7.5/man/XrmStringToQuarkList.man 0000644 0001750 0001750 00000000070 14222353101 015043 0000000 0000000 .so man__libmansuffix__/XrmUniqueQuark.__libmansuffix__
libX11-1.7.5/man/DisplayOfCCC.man 0000644 0001750 0001750 00000007165 14222353101 013162 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH DisplayOfCCC __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
DisplayOfCCC, VisualOfCCC, ScreenNumberOfCCC, ScreenWhitePointOfCCC, ClientWhitePointOfCCC \- Color Conversion Context macros
.SH SYNTAX
.HP
Display *DisplayOfCCC\^(\^XcmsCCC \fIccc\fP\^);
.HP
Visual *VisualOfCCC\^(\^XcmsCCC \fIccc\fP\^);
.HP
int ScreenNumberOfCCC\^(\^XcmsCCC \fIccc\fP\^);
.HP
XcmsColor *ScreenWhitePointOfCCC\^(\^XcmsCCC \fIccc\fP\^);
.HP
XcmsColor *ClientWhitePointOfCCC\^(\^XcmsCCC \fIccc\fP\^);
.SH ARGUMENTS
.IP \fIccc\fP 1i
Specifies the CCC.
.SH DESCRIPTION
The
.B DisplayOfCCC
macro returns the display associated with the specified CCC.
.LP
The
.B VisualOfCCC
macro returns the visual associated with the specified CCC.
.LP
The
.B ScreenNumberOfCCC
macro returns the number of the screen associated with the specified CCC.
.LP
The
.B ScreenWhitePointOfCCC
macro returns the screen white point of the screen associated with
the specified CCC.
.LP
The
.B ClientWhitePointOfCCC
macro returns the client white point of the screen associated with
the specified CCC.
.SH "SEE ALSO"
XcmsCCCOfColormap(__libmansuffix__),
XcmsConvertColors(__libmansuffix__),
XcmsCreateCCC(__libmansuffix__),
XcmsDefaultCCC(__libmansuffix__),
XcmsSetWhitePoint(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XGetIMValues.man 0000644 0001750 0001750 00000000061 14222353101 013220 0000000 0000000 .so man__libmansuffix__/XOpenIM.__libmansuffix__
libX11-1.7.5/man/XDrawSegments.man 0000644 0001750 0001750 00000000063 14222353101 013500 0000000 0000000 .so man__libmansuffix__/XDrawLine.__libmansuffix__
libX11-1.7.5/man/DefaultDepthOfScreen.man 0000644 0001750 0001750 00000000074 14222353101 014745 0000000 0000000 .so man__libmansuffix__/BlackPixelOfScreen.__libmansuffix__
libX11-1.7.5/man/XTextWidth.man 0000644 0001750 0001750 00000006224 14222353101 013026 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XTextWidth __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XTextWidth, XTextWidth16 \- compute text width
.SH SYNTAX
.HP
int XTextWidth\^(\^XFontStruct *\fIfont_struct\fP\^, _Xconst char *\fIstring\fP\^,
int \fIcount\fP\^);
.HP
int XTextWidth16\^(\^XFontStruct *\fIfont_struct\fP\^, _Xconst XChar2b
*\fIstring\fP\^, int \fIcount\fP\^);
.SH ARGUMENTS
.IP \fIcount\fP 1i
Specifies the character count in the specified string.
.IP \fIfont_struct\fP 1i
Specifies the font used for the width computation.
.IP \fIstring\fP 1i
Specifies the character string.
.SH DESCRIPTION
The
.B XTextWidth
and
.B XTextWidth16
functions return the width of the specified 8-bit or 2-byte character strings.
.SH "SEE ALSO"
XLoadFont(__libmansuffix__),
XTextExtents(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XPeekIfEvent.man 0000644 0001750 0001750 00000000062 14222353101 013241 0000000 0000000 .so man__libmansuffix__/XIfEvent.__libmansuffix__
libX11-1.7.5/man/XGetRGBColormaps.man 0000644 0001750 0001750 00000000100 14222353101 014017 0000000 0000000 .so man__libmansuffix__/XAllocStandardColormap.__libmansuffix__
libX11-1.7.5/man/XrmPutStringResource.man 0000644 0001750 0001750 00000000070 14222353101 015101 0000000 0000000 .so man__libmansuffix__/XrmPutResource.__libmansuffix__
libX11-1.7.5/man/XGetFontPath.man 0000644 0001750 0001750 00000000066 14222353101 013263 0000000 0000000 .so man__libmansuffix__/XSetFontPath.__libmansuffix__
libX11-1.7.5/man/XInternAtoms.man 0000644 0001750 0001750 00000000065 14222353101 013342 0000000 0000000 .so man__libmansuffix__/XInternAtom.__libmansuffix__
libX11-1.7.5/man/XSetWindowBackground.man 0000644 0001750 0001750 00000000101 14222353101 015011 0000000 0000000 .so man__libmansuffix__/XChangeWindowAttributes.__libmansuffix__
libX11-1.7.5/man/XcmsQueryBlack.man 0000644 0001750 0001750 00000011016 14222353101 013642 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XcmsQueryBlack __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XcmsQueryBlack, XcmsQueryBlue, XcmsQueryGreen, XcmsQueryRed, XcmsQueryWhite \- obtain black, blue, green, red, and white CCC color specifications
.SH SYNTAX
.HP
Status XcmsQueryBlack\^(\^XcmsCCC \fIccc\fP\^, XcmsColorFormat
\fItarget_format\fP\^, XcmsColor *\fIcolor_return\fP\^);
.HP
Status XcmsQueryBlue\^(\^XcmsCCC \fIccc\fP\^, XcmsColorFormat
\fItarget_format\fP\^, XcmsColor *\fIcolor_return\fP\^);
.HP
Status XcmsQueryGreen\^(\^XcmsCCC \fIccc\fP\^, XcmsColorFormat
\fItarget_format\fP\^, XcmsColor *\fIcolor_return\fP\^);
.HP
Status XcmsQueryRed\^(\^XcmsCCC \fIccc\fP\^, XcmsColorFormat
\fItarget_format\fP\^, XcmsColor *\fIcolor_return\fP\^);
.HP
Status XcmsQueryWhite\^(\^XcmsCCC \fIccc\fP\^, XcmsColorFormat
\fItarget_format\fP\^, XcmsColor *\fIcolor_return\fP\^);
.SH ARGUMENTS
.IP \fIccc\fP 1i
Specifies the CCC.
Note that the CCC's Client White Point and White Point Adjustment procedures
are ignored.
.IP \fIcolor_return\fP 1i
Returns the color specification in the specified target format.
The white point associated with the returned
color specification is the Screen White Point.
The value returned in the pixel member is undefined.
.IP \fItarget_format\fP 1i
Specifies the target color specification format.
.SH DESCRIPTION
The
.B XcmsQueryBlack
function returns the color specification in the specified target format
for zero-intensity red, green, and blue.
.LP
The
.B XcmsQueryBlue
function returns the color specification in the specified target format
for full-intensity blue while red and green are zero.
.LP
The
.B XcmsQueryGreen
function returns the color specification in the specified target format
for full-intensity green while red and blue are zero.
.LP
The
.B XcmsQueryRed
function returns the color specification in the specified target format
for full-intensity red while green and blue are zero.
.LP
The
.B XcmsQueryWhite
function returns the color specification in the specified target format
for full-intensity red, green, and blue.
.SH "SEE ALSO"
XcmsCIELabQueryMaxC(__libmansuffix__),
XcmsCIELuvQueryMaxC(__libmansuffix__),
XcmsTekHVCQueryMaxC(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XmbLookupString.man 0000644 0001750 0001750 00000016274 14222353101 014067 0000000 0000000 '\" t
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
.\" Copyright \(co 2000 The XFree86 Project, Inc.
.\"
.\" 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
'\" t
.TH XmbLookupString __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XmbLookupString, XwcLookupString, Xutf8LookupString \- obtain composed input from an input method
.SH SYNTAX
.HP
int XmbLookupString\^(\^XIC \fIic\fP\^, XKeyPressedEvent *\fIevent\fP, char
*\fIbuffer_return\fP\^, int \fIbytes_buffer\fP\^, KeySym
*\fIkeysym_return\fP\^, Status *\fIstatus_return\fP\^);
.HP
int XwcLookupString\^(\^XIC \fIic\fP\^, XKeyPressedEvent *\fIevent\fP\^,
wchar_t *\fIbuffer_return\fP\^, int \fIwchars_buffer\fP\^, KeySym
*\fIkeysym_return\fP\^, Status *\fIstatus_return\fP\^);
.HP
int Xutf8LookupString\^(\^XIC \fIic\fP\^, XKeyPressedEvent *\fIevent\fP, char
*\fIbuffer_return\fP\^, int \fIbytes_buffer\fP\^, KeySym
*\fIkeysym_return\fP\^, Status *\fIstatus_return\fP\^);
.SH ARGUMENTS
.IP \fIbuffer_return\fP 1i
Returns a multibyte string or wide character string (if any)
from the input method.
.IP \fIbytes_buffer\fP 1i
.br
.ns
.IP \fIwchars_buffer\fP 1i
Specifies space available in the return buffer.
.IP \fIevent\fP 1i
Specifies the key event to be used.
.IP \fIic\fP 1i
Specifies the input context.
.IP \fIkeysym_return\fP 1i
Returns the KeySym computed from the event if this argument is not NULL.
.IP \fIstatus_return\fP 1i
Returns a value indicating what kind of data is returned.
.SH DESCRIPTION
The
.BR XmbLookupString ,
.B XwcLookupString
and
.B Xutf8LookupString
functions return the string from the input method specified
in the buffer_return argument.
If no string is returned,
the buffer_return argument is unchanged.
.LP
The KeySym into which the KeyCode from the event was mapped is returned
in the keysym_return argument if it is non-NULL and the status_return
argument indicates that a KeySym was returned.
If both a string and a KeySym are returned,
the KeySym value does not necessarily correspond to the string returned.
.LP
.B XmbLookupString
and
.B Xutf8LookupString
return the length of the string in bytes, and
.B XwcLookupString
returns the length of the string in characters.
Both
.B XmbLookupString
and
.B XwcLookupString
return text in the encoding of the locale bound to the input method
of the specified input context, and
.B Xutf8LookupString
returns text in UTF-8 encoding.
.LP
Each string returned by
.B XmbLookupString
and
.B XwcLookupString
begins in the initial state of the encoding of the locale
(if the encoding of the locale is state-dependent).
.LP
Note: To ensure proper input processing,
it is essential that the client pass only
.B KeyPress
events to
.BR XmbLookupString ,
.B XwcLookupString
and
.BR Xutf8LookupString .
Their behavior when a client passes a
.B KeyRelease
event is undefined.
.LP
Clients should check the status_return argument before
using the other returned values.
These three functions each return a value to status_return
that indicates what has been returned in the other arguments.
The possible values returned are:
.TS
lw(1.3i) lw(4.3i).
T{
.B XBufferOverflow
T} T{
The input string to be returned is too large for the supplied buffer_return.
The required size (for
.BR XmbLookupString ,
.B Xutf8LookupString
in bytes; for
.B XwcLookupString
in characters) is returned as the value of the function,
and the contents of buffer_return and keysym_return are not modified.
The client should recall the function with the same event
and a buffer of adequate size to obtain the string.
T}
T{
.B XLookupNone
T} T{
No consistent input has been composed so far.
The contents of buffer_return and keysym_return are not modified,
and the function returns zero.
T}
T{
.B XLookupChars
T} T{
Some input characters have been composed.
They are placed in the buffer_return argument, using the encoding
described above,
and the string length is returned as the value of the function.
The content of the keysym_return argument is not modified.
T}
T{
.B XLookupKeySym
T} T{
A KeySym has been returned instead of a string
and is returned in keysym_return.
The content of the buffer_return argument is not modified,
and the function returns zero.
T}
T{
.B XLookupBoth
T} T{
Both a KeySym and a string are returned;
.B XLookupChars
and
.B XLookupKeySym
occur simultaneously.
T}
.TE
.LP
It does not make any difference if the input context passed as an argument to
.BR XmbLookupString ,
.B XwcLookupString
and
.B Xutf8LookupString
is the one currently in possession of the focus or not.
Input may have been composed within an input context before it lost the focus,
and that input may be returned on subsequent calls to
.BR XmbLookupString ,
.B XwcLookupString
or
.B Xutf8LookupString
even though it does not have any more keyboard focus.
.LP
The function
.B Xutf8LookupString
is an extension introduced by The XFree86 Project, Inc., in their 4.0.2
release.
Its presence is
indicated by the macro
.BR X_HAVE_UTF8_STRING .
.SH "SEE ALSO"
XLookupKeysym(__libmansuffix__),
Compose(__filemansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/ConnectionNumber.man 0000644 0001750 0001750 00000000063 14222353101 014215 0000000 0000000 .so man__libmansuffix__/AllPlanes.__libmansuffix__
libX11-1.7.5/man/IsMiscFunctionKey.man 0000644 0001750 0001750 00000000065 14222353101 014315 0000000 0000000 .so man__libmansuffix__/IsCursorKey.__libmansuffix__
libX11-1.7.5/man/XSupportsLocale.man 0000644 0001750 0001750 00000013351 14222353101 014060 0000000 0000000 .\"
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSupportsLocale __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSupportsLocale, XSetLocaleModifiers \- determine locale support and configure locale modifiers
.SH SYNTAX
.HP
Bool XSupportsLocale\^(void);
.HP
char *XSetLocaleModifiers\^(\^_Xconst char *\fImodifier_list\fP\^);
.SH ARGUMENTS
.IP \fImodifier_list\fP 1i
Specifies the modifiers.
.SH DESCRIPTION
The
.B XSupportsLocale
function returns
.B True
if Xlib functions are capable of operating under the current locale.
If it returns
.BR False ,
Xlib locale-dependent functions for which the
.B XLocaleNotSupported
return status is defined will return
.BR XLocaleNotSupported .
Other Xlib locale-dependent routines will operate in the \*(lqC\*(rq locale.
.LP
The
.B XSetLocaleModifiers
function sets the X modifiers for the current locale setting.
The modifier_list argument is a null-terminated string of the form
\*(lq{@\^\fIcategory\fP\^=\^\fIvalue\fP\^}\*(rq, that is,
having zero or more concatenated \*(lq@\^\fIcategory\fP\^=\^\fIvalue\fP\^\*(rq
entries, where \fIcategory\fP is a category name
and \fIvalue\fP is the (possibly empty) setting for that category.
The values are encoded in the current locale.
Category names are restricted to the POSIX Portable Filename Character Set.
.LP
The local host X locale modifiers announcer (on POSIX-compliant systems,
the XMODIFIERS environment variable) is appended to the modifier_list to
provide default values on the local host.
If a given category appears more than once in the list,
the first setting in the list is used.
If a given category is not included in the full modifier list,
the category is set to an implementation-dependent default
for the current locale.
An empty value for a category explicitly specifies the
implementation-dependent default.
.LP
If the function is successful, it returns a pointer to a string.
The contents of the string are such that a subsequent call with that string
(in the same locale) will restore the modifiers to the same settings.
If modifier_list is a NULL pointer,
.B XSetLocaleModifiers
also returns a pointer to such a string,
and the current locale modifiers are not changed.
.LP
If invalid values are given for one or more modifier categories supported by
the locale, a NULL pointer is returned, and none of the
current modifiers are changed.
.LP
At program startup,
the modifiers that are in effect are unspecified until
the first successful call to set them.
Whenever the locale is changed, the
modifiers that are in effect become unspecified until the next successful call
to set them.
Clients should always call
.B XSetLocaleModifiers
with a non-NULL modifier_list after setting the locale
before they call any locale-dependent Xlib routine.
.LP
The only standard modifier category currently defined is \*(lqim\*(rq,
which identifies the desired input method.
The values for input method are not standardized.
A single locale may use multiple input methods,
switching input method under user control.
The modifier may specify the initial input method in effect
or an ordered list of input methods.
Multiple input methods may be specified in a single im value string
in an implementation-dependent manner.
.LP
The returned modifiers string is owned by Xlib and should not be modified or
freed by the client.
It may be freed by Xlib after the current locale or modifiers are changed.
Until freed, it will not be modified by Xlib.
.SH "SEE ALSO"
\fI\*(xL\fP
libX11-1.7.5/man/IsKeypadKey.man 0000644 0001750 0001750 00000000065 14222353101 013131 0000000 0000000 .so man__libmansuffix__/IsCursorKey.__libmansuffix__
libX11-1.7.5/man/XwcTextPerCharExtents.man 0000644 0001750 0001750 00000000077 14222353101 015200 0000000 0000000 .so man__libmansuffix__/XmbTextPerCharExtents.__libmansuffix__
libX11-1.7.5/man/Xutf8TextEscapement.man 0000644 0001750 0001750 00000000073 14222353101 014636 0000000 0000000 .so man__libmansuffix__/XmbTextEscapement.__libmansuffix__
libX11-1.7.5/man/XSetWindowAttributes.man 0000644 0001750 0001750 00000000067 14222353101 015073 0000000 0000000 .so man__libmansuffix__/XCreateWindow.__libmansuffix__
libX11-1.7.5/man/XXorRegion.man 0000644 0001750 0001750 00000000072 14222353101 013011 0000000 0000000 .so man__libmansuffix__/XIntersectRegion.__libmansuffix__
libX11-1.7.5/man/XcmsCIELuvQueryMaxC.man 0000644 0001750 0001750 00000012375 14222353101 014477 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XcmsCIELuvQueryMaxC __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XcmsCIELuvQueryMaxC, XcmsCIELuvQueryMaxL, XcmsCIELuvQueryMaxLC, XcmsCIELuvQueryMinL \- obtain the CIE L*u*v* coordinates
.SH SYNTAX
.HP
Status XcmsCIELuvQueryMaxC\^(\^XcmsCCC \fIccc\fP\^, XcmsFloat
\fIhue_angle\fP\^, XcmsFloat \fIL_star\fP\^, XcmsColor *\fIcolor_return\fP\^);
.HP
Status XcmsCIELuvQueryMaxL\^(\^XcmsCCC \fIccc\fP\^, XcmsFloat
\fIhue_angle\fP\^, XcmsFloat \fIchroma\fP\^, XcmsColor *\fIcolor_return\fP\^);
.HP
Status XcmsCIELuvQueryMaxLC\^(\^XcmsCCC \fIccc\fP\^, XcmsFloat
\fIhue_angle\fP\^, XcmsColor *\fIcolor_return\fP\^);
.HP
Status XcmsCIELuvQueryMinL\^(\^XcmsCCC \fIccc\fP\^, XcmsFloat
\fIhue_angle\fP\^, XcmsFloat \fIchroma\fP\^, XcmsColor *\fIcolor_return\fP\^);
.SH ARGUMENTS
.IP \fIccc\fP 1i
Specifies the CCC.
Note that the CCC's Client White Point and White Point Adjustment procedures
are ignored.
.ds Ch maximum lightness (MaxL) or minimum lightness (MinL)
.IP \fIchroma\fP 1i
Specifies the chroma at which to find \*(Ch.
.ds Lc maximum chroma (MaxC and MaxLC), maximum lightness (MaxL), \
or minimum lightness (MinL)
.ds lC hue angle and lightness (MaxC), hue angle and chroma (MaxL and MinL), \
or hue angle (MaxLC)
.IP \fIcolor_return\fP 1i
Returns the CIE L*u*v* coordinates of \*(Lc
displayable by the screen for the given \*(lC.
The white point associated with the returned
color specification is the Screen White Point.
The value returned in the pixel member is undefined.
.ds Ha maximum chroma (MaxC and MaxLC), maximum lightness (MaxL), \
or minimum lightness (MinL)
.IP \fIhue_angle\fP 1i
Specifies the hue angle (in degrees) at which to find \*(Ha.
.ds Ls maximum chroma (MaxC) or maximum lightness (MaxL)
.IP \fIL_star\fP 1i
Specifies the lightness (L*) at which to find \*(Ls.
.SH DESCRIPTION
The
.B XcmsCIELuvQueryMaxC
function, given a hue angle and lightness,
finds the point of maximum chroma displayable by the screen.
It returns this point in CIE L*u*v* coordinates.
.LP
The
.B XcmsCIELuvQueryMaxL
function, given a hue angle and chroma,
finds the point in CIE L*u*v* color space of maximum
lightness (L*) displayable by the screen.
It returns this point in CIE L*u*v* coordinates.
An
.B XcmsFailure
return value usually indicates that the given chroma
is beyond maximum for the given hue angle.
.LP
The
.B XcmsCIELuvQueryMaxLC
function, given a hue angle,
finds the point of maximum chroma displayable by the screen.
It returns this point in CIE L*u*v* coordinates.
.LP
The
.B XcmsCIELuvQueryMinL
function, given a hue angle and chroma,
finds the point of minimum lightness (L*) displayable by the screen.
It returns this point in CIE L*u*v* coordinates.
An
.B XcmsFailure
return value usually indicates that the given chroma
is beyond maximum for the given hue angle.
.SH "SEE ALSO"
XcmsCIELabQueryMaxC(__libmansuffix__),
XcmsTekHVCQueryMaxC(__libmansuffix__),
XcmsQueryBlack(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XKeyEvent.man 0000644 0001750 0001750 00000000066 14222353101 012632 0000000 0000000 .so man__libmansuffix__/XButtonEvent.__libmansuffix__
libX11-1.7.5/man/XGetWindowProperty.man 0000644 0001750 0001750 00000031444 14222353101 014560 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XGetWindowProperty __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XGetWindowProperty, XListProperties, XChangeProperty, XRotateWindowProperties, XDeleteProperty \- obtain and change window properties
.SH SYNTAX
.HP
int XGetWindowProperty\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Atom
\fIproperty\fP\^, long \fIlong_offset\fP\^, long \fIlong_length\fP\^, Bool
\fIdelete\fP\^, Atom \fIreq_type\fP\^, Atom *\fIactual_type_return\fP\^, int
*\fIactual_format_return\fP\^, unsigned long *\fInitems_return\fP\^, unsigned
long *\fIbytes_after_return\fP\^, unsigned char **\fIprop_return\fP\^);
.HP
Atom *XListProperties\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, int
*\fInum_prop_return\fP\^);
.HP
int XChangeProperty\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Atom
\fIproperty\fP\^, Atom \fItype\fP\^, int \fIformat\fP\^, int \fImode\fP\^,
_Xconst unsigned char *\fIdata\fP\^, int \fInelements\fP\^);
.HP
int XRotateWindowProperties\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
Atom \fIproperties\fP\^[]\^, int \fInum_prop\fP\^, int \fInpositions\fP\^);
.HP
int XDeleteProperty\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Atom
\fIproperty\fP\^);
.SH ARGUMENTS
.IP \fIactual_format_return\fP 1i
Returns the actual format of the property.
.IP \fIactual_type_return\fP 1i
Returns the atom identifier that defines the actual type of the property.
.IP \fIbytes_after_return\fP 1i
Returns the number of bytes remaining to be read in the property if
a partial read was performed.
.IP \fIdata\fP 1i
Specifies the property data.
.IP \fIdelete\fP 1i
Specifies a Boolean value that determines whether the property is deleted.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIformat\fP 1i
Specifies whether the data should be viewed as a list
of 8-bit, 16-bit, or 32-bit quantities.
Possible values are 8, 16, and 32.
This information allows the X server to correctly perform
byte-swap operations as necessary.
If the format is 16-bit or 32-bit,
you must explicitly cast your data pointer to an (unsigned char *) in the call
to
.BR XChangeProperty .
.IP \fIlong_length\fP 1i
Specifies the length in 32-bit multiples of the data to be retrieved.
.IP \fIlong_offset\fP 1i
Specifies the offset in the specified property (in 32-bit quantities)
where the data is to be retrieved.
.\" Changed name of this file to prop_mode.a on 1/13/87
.IP \fImode\fP 1i
Specifies the mode of the operation.
You can pass
.BR PropModeReplace ,
.BR PropModePrepend ,
or
.BR PropModeAppend .
.IP \fInelements\fP 1i
Specifies the number of elements of the specified data format.
.IP \fInitems_return\fP 1i
Returns the actual number of 8-bit, 16-bit, or 32-bit items
stored in the prop_return data.
.IP \fInum_prop\fP 1i
Specifies the length of the properties array.
.IP \fInum_prop_return\fP 1i
Returns the length of the properties array.
.IP \fInpositions\fP 1i
Specifies the rotation amount.
.IP \fIprop_return\fP 1i
Returns the data in the specified format.
If the returned format is 8, the returned data is represented as a
char array.
If the returned format is 16, the returned data is
represented as a array of short int type and should be cast to that
type to obtain the elements.
If the returned format is 32, the
property data will be stored as an array of longs (which in a 64-bit
application will be 64-bit values that are padded in the upper 4 bytes).
.IP \fIproperty\fP 1i
Specifies the property name.
.IP \fIproperties\fP 1i
Specifies the array of properties that are to be rotated.
.IP \fIreq_type\fP 1i
Specifies the atom identifier associated with the property type or
.BR AnyPropertyType .
.IP \fItype\fP 1i
Specifies the type of the property.
The X server does not interpret the type but simply
passes it back to an application that later calls
.BR XGetWindowProperty .
.IP \fIw\fP 1i
Specifies the window whose property you want to obtain, change, rotate or delete.
.SH DESCRIPTION
The
.B XGetWindowProperty
function returns the actual type of the property; the actual format of the property;
the number of 8-bit, 16-bit, or 32-bit items transferred; the number of bytes remaining
to be read in the property; and a pointer to the data actually returned.
.B XGetWindowProperty
sets the return arguments as follows:
.IP \(bu 5
If the specified property does not exist for the specified window,
.B XGetWindowProperty
returns
.B None
to actual_type_return and the value zero to
actual_format_return and bytes_after_return.
The nitems_return argument is empty.
In this case, the delete argument is ignored.
.IP \(bu 5
If the specified property exists
but its type does not match the specified type,
.B XGetWindowProperty
returns the actual property type to actual_type_return,
the actual property format (never zero) to actual_format_return,
and the property length in bytes
(even if the actual_format_return is 16 or 32)
to bytes_after_return.
It also ignores the delete argument.
The nitems_return argument is empty.
.IP \(bu 5
If the specified property exists and either you assign
.B AnyPropertyType
to the req_type argument or the specified type matches the actual property type,
.B XGetWindowProperty
returns the actual property type to actual_type_return and the actual
property format (never zero) to actual_format_return.
It also returns a value to bytes_after_return and nitems_return, by
defining the following
values:
.IP
.nf
N = actual length of the stored property in bytes
(even if the format is 16 or 32)
I = 4 * long_offset
T = N - I
L = MINIMUM(T, 4 * long_length)
A = N - (I + L)
.fi
.IP
The returned value starts at byte index I in the property (indexing
from zero), and its length in bytes is L.
If the value for long_offset causes L to be negative,
a
.B BadValue
error results.
The value of bytes_after_return is A,
giving the number of trailing unread bytes in the stored property.
.LP
If the returned format is 8, the returned data is represented as a
.B char
array.
If the returned format is 16, the returned data is represented as a
.B short
array and should be cast to that type to obtain the elements.
If the returned format is 32, the returned data is represented as a
.B long
array and should be cast to that type to obtain the elements.
.LP
.B XGetWindowProperty
always allocates one extra byte in prop_return
(even if the property is zero length)
and sets it to zero so that simple properties consisting of characters
do not have to be copied into yet another string before use.
.LP
If delete is
.B True
and bytes_after_return is zero,
.B XGetWindowProperty
deletes the property
from the window and generates a
.B PropertyNotify
event on the window.
.LP
The function returns
.B Success
if it executes successfully.
To free the resulting data,
use
.BR XFree .
.LP
.B XGetWindowProperty
can generate
.BR BadAtom ,
.BR BadValue ,
and
.B BadWindow
errors.
.LP
The
.B XListProperties
function returns a pointer to an array of atom properties that are defined for
the specified window or returns NULL if no properties were found.
To free the memory allocated by this function, use
.BR XFree .
.LP
.B XListProperties
can generate a
.B BadWindow
error.
.LP
The
.B XChangeProperty
function alters the property for the specified window and
causes the X server to generate a
.B PropertyNotify
event on that window.
.B XChangeProperty
performs the following:
.IP \(bu 5
If mode is
.BR PropModeReplace ,
.B XChangeProperty
discards the previous property value and stores the new data.
.IP \(bu 5
If mode is
.B PropModePrepend
or
.BR PropModeAppend ,
.B XChangeProperty
inserts the specified data before the beginning of the existing data
or onto the end of the existing data, respectively.
The type and format must match the existing property value,
or a
.B BadMatch
error results.
If the property is undefined,
it is treated as defined with the correct type and
format with zero-length data.
.LP
If the specified format is 8, the property data must be a
.B char
array.
If the specified format is 16, the property data must be a
.B short
array.
If the specified format is 32, the property data must be a
.B long
array.
.LP
The lifetime of a property is not tied to the storing client.
Properties remain until explicitly deleted, until the window is destroyed,
or until the server resets.
For a discussion of what happens when the connection to the X server is closed,
see section 2.6.
The maximum size of a property is server dependent and can vary dynamically
depending on the amount of memory the server has available.
(If there is insufficient space, a
.B BadAlloc
error results.)
.LP
.B XChangeProperty
can generate
.BR BadAlloc ,
.BR BadAtom ,
.BR BadMatch ,
.BR BadValue ,
and
.B BadWindow
errors.
.LP
The
.B XRotateWindowProperties
function allows you to rotate properties on a window and causes
the X server to generate
.B PropertyNotify
events.
If the property names in the properties array are viewed as being numbered
starting from zero and if there are num_prop property names in the list,
then the value associated with property name I becomes the value associated
with property name (I + npositions) mod N for all I from zero to N \- 1.
The effect is to rotate the states by npositions places around the virtual ring
of property names (right for positive npositions,
left for negative npositions).
If npositions mod N is nonzero,
the X server generates a
.B PropertyNotify
event for each property in the order that they are listed in the array.
If an atom occurs more than once in the list or no property with that
name is defined for the window,
a
.B BadMatch
error results.
If a
.B BadAtom
or
.B BadMatch
error results,
no properties are changed.
.LP
.B XRotateWindowProperties
can generate
.BR BadAtom ,
.BR BadMatch ,
and
.B BadWindow
errors.
.LP
The
.B XDeleteProperty
function deletes the specified property only if the
property was defined on the specified window
and causes the X server to generate a
.B PropertyNotify
event on the window unless the property does not exist.
.LP
.B XDeleteProperty
can generate
.B BadAtom
and
.B BadWindow
errors.
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadAtom
A value for an Atom argument does not name a defined Atom.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XFree(__libmansuffix__),
XInternAtom(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XVisualInfo.man 0000644 0001750 0001750 00000000070 14222353101 013152 0000000 0000000 .so man__libmansuffix__/XGetVisualInfo.__libmansuffix__
libX11-1.7.5/man/XDestroyIC.man 0000644 0001750 0001750 00000000063 14222353101 012742 0000000 0000000 .so man__libmansuffix__/XCreateIC.__libmansuffix__
libX11-1.7.5/man/XContextDependentDrawing.man 0000644 0001750 0001750 00000000071 14222353101 015663 0000000 0000000 .so man__libmansuffix__/XFontsOfFontSet.__libmansuffix__
libX11-1.7.5/man/XScreenResourceString.man 0000644 0001750 0001750 00000000100 14222353101 015203 0000000 0000000 .so man__libmansuffix__/XResourceManagerString.__libmansuffix__
libX11-1.7.5/man/XDisplayKeycodes.man 0000644 0001750 0001750 00000000100 14222353101 014161 0000000 0000000 .so man__libmansuffix__/XChangeKeyboardMapping.__libmansuffix__
libX11-1.7.5/man/XUnionRegion.man 0000644 0001750 0001750 00000000072 14222353101 013331 0000000 0000000 .so man__libmansuffix__/XIntersectRegion.__libmansuffix__
libX11-1.7.5/man/XmbSetWMProperties.man 0000644 0001750 0001750 00000000072 14222353101 014470 0000000 0000000 .so man__libmansuffix__/XSetWMProperties.__libmansuffix__
libX11-1.7.5/man/XcmsCIEuvY.man 0000644 0001750 0001750 00000000063 14222353101 012704 0000000 0000000 .so man__libmansuffix__/XcmsColor.__libmansuffix__
libX11-1.7.5/man/XGetKeyboardMapping.man 0000644 0001750 0001750 00000000100 14222353101 014601 0000000 0000000 .so man__libmansuffix__/XChangeKeyboardMapping.__libmansuffix__
libX11-1.7.5/man/XSetInputFocus.man 0000644 0001750 0001750 00000013412 14222353101 013652 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSetInputFocus __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSetInputFocus, XGetInputFocus \- control input focus
.SH SYNTAX
.HP
int XSetInputFocus\^(\^Display *\fIdisplay\fP\^, Window \fIfocus\fP\^, int
\fIrevert_to\fP\^, Time \fItime\fP\^);
.HP
int XGetInputFocus\^(\^Display *\fIdisplay\fP\^, Window *\fIfocus_return\fP\^,
int *\fIrevert_to_return\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIfocus\fP 1i
Specifies the window,
.BR PointerRoot ,
or
.BR None .
.IP \fIfocus_return\fP 1i
Returns the focus window,
.BR PointerRoot ,
or
.BR None .
.IP \fIrevert_to\fP 1i
Specifies where the input focus reverts to if the window becomes not
viewable.
You can pass
.BR RevertToParent ,
.BR RevertToPointerRoot ,
or
.BR RevertToNone .
.IP \fIrevert_to_return\fP 1i
Returns the current focus state
.RB ( RevertToParent ,
.BR RevertToPointerRoot ,
or
.BR RevertToNone ).
.IP \fItime\fP 1i
Specifies the time.
You can pass either a timestamp or
.BR CurrentTime .
.SH DESCRIPTION
The
.B XSetInputFocus
function changes the input focus and the last-focus-change time.
It has no effect if the specified time is earlier than the current
last-focus-change time or is later than the current X server time.
Otherwise, the last-focus-change time is set to the specified time
.RB ( CurrentTime
is replaced by the current X server time).
.B XSetInputFocus
causes the X server to generate
.B FocusIn
and
.B FocusOut
events.
.LP
Depending on the focus argument,
the following occurs:
.IP \(bu 5
If focus is
.BR None ,
all keyboard events are discarded until a new focus window is set,
and the revert_to argument is ignored.
.IP \(bu 5
If focus is a window,
it becomes the keyboard's focus window.
If a generated keyboard event would normally be reported to this window
or one of its inferiors, the event is reported as usual.
Otherwise, the event is reported relative to the focus window.
.IP \(bu 5
If focus is
.BR PointerRoot ,
the focus window is dynamically taken to be the root window of whatever screen
the pointer is on at each keyboard event.
In this case, the revert_to argument is ignored.
.LP
The specified focus window must be viewable at the time
.B XSetInputFocus
is called,
or a
.B BadMatch
error results.
If the focus window later becomes not viewable,
the X server
evaluates the revert_to argument to determine the new focus window as follows:
.IP \(bu 5
If revert_to is
.BR RevertToParent ,
the focus reverts to the parent (or the closest viewable ancestor),
and the new revert_to value is taken to be
.BR RevertToNone .
.IP \(bu 5
If revert_to is
.B RevertToPointerRoot
or
.BR RevertToNone ,
the focus reverts to
.B PointerRoot
or
.BR None ,
respectively.
When the focus reverts,
the X server generates
.B FocusIn
and
.B FocusOut
events, but the last-focus-change time is not affected.
.LP
.B XSetInputFocus
can generate
.BR BadMatch ,
.BR BadValue ,
and
.B BadWindow
errors.
.LP
The
.B XGetInputFocus
function returns the focus window and the current focus state.
.SH DIAGNOSTICS
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XWarpPointer(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XGCValues.man 0000644 0001750 0001750 00000000063 14222353101 012546 0000000 0000000 .so man__libmansuffix__/XCreateGC.__libmansuffix__
libX11-1.7.5/man/XIconSize.man 0000644 0001750 0001750 00000000070 14222353101 012616 0000000 0000000 .so man__libmansuffix__/XAllocIconSize.__libmansuffix__
libX11-1.7.5/man/DisplayHeightMM.man 0000644 0001750 0001750 00000000070 14222353101 013733 0000000 0000000 .so man__libmansuffix__/ImageByteOrder.__libmansuffix__
libX11-1.7.5/man/XSetCloseDownMode.man 0000644 0001750 0001750 00000010661 14222353101 014260 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSetCloseDownMode __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSetCloseDownMode, XKillClient \- control clients
.SH SYNTAX
.HP
int XSetCloseDownMode\^(\^Display *\fIdisplay\fP\^, int \fIclose_mode\fP\^);
.HP
int XKillClient\^(\^Display *\fIdisplay\fP\^, XID \fIresource\fP\^);
.SH ARGUMENTS
.IP \fIclose_mode\fP 1i
Specifies the client close-down mode.
You can pass
.BR DestroyAll ,
.BR RetainPermanent ,
or
.BR RetainTemporary .
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIresource\fP 1i
Specifies any resource associated with the client that you want to destroy or
.BR AllTemporary .
.SH DESCRIPTION
The
.B XSetCloseDownMode
defines what will happen to the client's resources at connection close.
A connection starts in
.B DestroyAll
mode.
For information on what happens to the client's resources when the
close_mode argument is
.B RetainPermanent
or
.BR RetainTemporary ,
see section 2.6.
.LP
.B XSetCloseDownMode
can generate a
.B BadValue
error.
.LP
The
.B XKillClient
function
forces a close down of the client
that created the resource
if a valid resource is specified.
If the client has already terminated in
either
.B RetainPermanent
or
.B RetainTemporary
mode, all of the client's
resources are destroyed.
If
.B AllTemporary
is specified, the resources of all clients that have terminated in
.B RetainTemporary
are destroyed (see section 2.5).
This permits implementation of window manager facilities that aid debugging.
A client can set its close-down mode to
.BR RetainTemporary .
If the client then crashes,
its windows would not be destroyed.
The programmer can then inspect the application's window tree
and use the window manager to destroy the zombie windows.
.LP
.B XKillClient
can generate a
.B BadValue
error.
.SH DIAGNOSTICS
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
\fI\*(xL\fP
libX11-1.7.5/man/XCheckTypedWindowEvent.man 0000644 0001750 0001750 00000000064 14222353101 015313 0000000 0000000 .so man__libmansuffix__/XNextEvent.__libmansuffix__
libX11-1.7.5/man/XCopyGC.man 0000644 0001750 0001750 00000000063 14222353101 012221 0000000 0000000 .so man__libmansuffix__/XCreateGC.__libmansuffix__
libX11-1.7.5/man/XSetClipRectangles.man 0000644 0001750 0001750 00000000070 14222353101 014446 0000000 0000000 .so man__libmansuffix__/XSetClipOrigin.__libmansuffix__
libX11-1.7.5/man/XGetKeyboardControl.man 0000644 0001750 0001750 00000000100 14222353101 014626 0000000 0000000 .so man__libmansuffix__/XChangeKeyboardControl.__libmansuffix__
libX11-1.7.5/man/XMaskEvent.man 0000644 0001750 0001750 00000000064 14222353101 012773 0000000 0000000 .so man__libmansuffix__/XNextEvent.__libmansuffix__
libX11-1.7.5/man/XUnmapSubwindows.man 0000644 0001750 0001750 00000000066 14222353101 014245 0000000 0000000 .so man__libmansuffix__/XUnmapWindow.__libmansuffix__
libX11-1.7.5/man/XAllocIconSize.man 0000644 0001750 0001750 00000012723 14222353101 013601 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XAllocIconSize __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XAllocIconSize, XSetIconSizes, XGetIconSizes, XIconSize \- allocate icon size structure and set or read a window's WM_ICON_SIZES property
.SH SYNTAX
XIconSize *XAllocIconSize\^(void\^);
.LP
int XSetIconSizes\^(\^Display *\fIdisplay\fP, Window \fIw\fP, XIconSize
*\fIsize_list\fP, int \fIcount\fP\^);
.LP
Status XGetIconSizes\^(\^Display *\fIdisplay\fP, Window \fIw\fP, XIconSize
**\fIsize_list_return\fP, int *\fIcount_return\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIcount\fP 1i
Specifies the number of items in the size list.
.IP \fIcount_return\fP 1i
Returns the number of items in the size list.
.IP \fIsize_list\fP 1i
Specifies the size list.
.IP \fIsize_list_return\fP 1i
Returns the size list.
.IP \fIw\fP 1i
Specifies the window.
.SH DESCRIPTION
The
.B XAllocIconSize
function allocates and returns a pointer to a
.B XIconSize
structure.
Note that all fields in the
.B XIconSize
structure are initially set to zero.
If insufficient memory is available,
.B XAllocIconSize
returns NULL.
To free the memory allocated to this structure,
use
.BR XFree .
.LP
The
.B XSetIconSizes
function is used only by window managers to set the supported icon sizes.
.LP
.B XSetIconSizes
can generate
.B BadAlloc
and
.B BadWindow
errors.
.LP
The
.B XGetIconSizes
function returns zero if a window manager has not set icon sizes;
otherwise, it return nonzero.
.B XGetIconSizes
should be called by an application that
wants to find out what icon sizes would be most appreciated by the
window manager under which the application is running.
The application
should then use
.B XSetWMHints
to supply the window manager with an icon pixmap or window in one of the
supported sizes.
To free the data allocated in size_list_return, use
.BR XFree .
.LP
.B XGetIconSizes
can generate a
.B BadWindow
error.
.SH PROPERTIES
.TP 1i
\s-1WM_ICON_SIZES\s+1
The window manager may set this property on the root window to
specify the icon sizes it supports.
The C type of this property is
.BR XIconSize .
.SH STRUCTURES
The
.B XIconSize
structure contains:
.LP
.EX
typedef struct {
int min_width, min_height;
int max_width, max_height;
int width_inc, height_inc;
} XIconSize;
.EE
.LP
The width_inc and height_inc members define an arithmetic progression of
sizes (minimum to maximum) that represent the supported icon sizes.
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XAllocClassHint(__libmansuffix__),
XAllocSizeHints(__libmansuffix__),
XAllocWMHints(__libmansuffix__),
XFree(__libmansuffix__),
XSetCommand(__libmansuffix__),
XSetTransientForHint(__libmansuffix__),
XSetTextProperty(__libmansuffix__),
XSetWMClientMachine(__libmansuffix__),
XSetWMColormapWindows(__libmansuffix__),
XSetWMIconName(__libmansuffix__),
XSetWMName(__libmansuffix__),
XSetWMProperties(__libmansuffix__),
XSetWMProtocols(__libmansuffix__),
XStringListToTextProperty(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XDrawImageString.man 0000644 0001750 0001750 00000012661 14222353101 014133 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XDrawImageString __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XDrawImageString, XDrawImageString16 \- draw image text
.SH SYNTAX
.HP
int XDrawImageString\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
\fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, _Xconst char *\fIstring\fP\^, int
\fIlength\fP\^);
.HP
int XDrawImageString16\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
\fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, _Xconst XChar2b *\fIstring\fP\^, int
\fIlength\fP\^);
.SH ARGUMENTS
.IP \fId\fP 1i
Specifies the drawable.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIgc\fP 1i
Specifies the GC.
.IP \fIlength\fP 1i
Specifies the number of characters in the string argument.
.IP \fIstring\fP 1i
Specifies the character string.
.IP \fIx\fP 1i
.br
.ns
.IP \fIy\fP 1i
Specify the x and y coordinates, which are relative to the
origin of the specified drawable
and define the origin of the first character.
.SH DESCRIPTION
The
.B XDrawImageString16
function is similar to
.B XDrawImageString
except that it uses 2-byte or 16-bit characters.
Both functions also use both the foreground and background pixels
of the GC in the destination.
.LP
The effect is first to fill a
destination rectangle with the background pixel defined in the GC and then
to paint the text with the foreground pixel.
The upper-left corner of the filled rectangle is at:
.LP
.EX
[x, y \- font-ascent]
.EE
.LP
The width is:
.LP
.EX
overall-width
.EE
.LP
The height is:
.LP
.EX
font-ascent + font-descent
.EE
.LP
The overall-width, font-ascent, and font-descent
are as would be returned by
.B XQueryTextExtents
using gc and string.
The function and fill-style defined in the GC are ignored for these functions.
The effective function is
.BR GXcopy ,
and the effective fill-style is
.BR FillSolid .
.LP
For fonts defined with 2-byte matrix indexing
and used with
.BR XDrawImageString ,
each byte is used as a byte2 with a byte1 of zero.
.LP
Both functions use these GC components:
plane-mask, foreground, background, font, subwindow-mode, clip-x-origin,
clip-y-origin, and clip-mask.
.LP
.B XDrawImageString
and
.B XDrawImageString16
can generate
.BR BadDrawable ,
.BR BadGC ,
and
.B BadMatch
errors.
.SH DIAGNOSTICS
.TP 1i
.B BadDrawable
A value for a Drawable argument does not name a defined Window or Pixmap.
.TP 1i
.B BadGC
A value for a GContext argument does not name a defined GContext.
.TP 1i
.B BadMatch
An
.B InputOnly
window is used as a Drawable.
.TP 1i
.B BadMatch
Some argument or pair of arguments has the correct type and range but fails
to match in some other way required by the request.
.SH NOTES
Unlike XDrawString and XDrawString16,
these functions send no more than 255 characters at a time to the server.
When the total number of characters to be sent is larger than 255,
these functions split the string into chunks up to 255 characters.
After sending each chunk,
these functions query the server to determine the actual text extent.
.SH "SEE ALSO"
XDrawString(__libmansuffix__),
XDrawText(__libmansuffix__),
XLoadFont(__libmansuffix__),
XTextExtents(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XGetWMName.man 0000644 0001750 0001750 00000000064 14222353101 012662 0000000 0000000 .so man__libmansuffix__/XSetWMName.__libmansuffix__
libX11-1.7.5/man/XSetWindowBorder.man 0000644 0001750 0001750 00000000101 14222353101 014147 0000000 0000000 .so man__libmansuffix__/XChangeWindowAttributes.__libmansuffix__
libX11-1.7.5/man/XCreateGC.man 0000644 0001750 0001750 00000061553 14222353101 012525 0000000 0000000 '\" t
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
'\" t
.TH XCreateGC __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XCreateGC, XCopyGC, XChangeGC, XGetGCValues, XFreeGC, XGContextFromGC, XGCValues \- create or free graphics contexts and graphics context structure
.SH SYNTAX
.HP
GC XCreateGC\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, unsigned long
\fIvaluemask\fP\^, XGCValues *\^\fIvalues\fP\^);
.HP
int XCopyGC\^(\^Display *\fIdisplay\fP\^, GC \fIsrc\fP\^,
unsigned long \fIvaluemask\fP\^, GC \fIdest\fP\^);
.HP
int XChangeGC\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, unsigned long
\fIvaluemask\fP\^, XGCValues *\^\fIvalues\fP\^);
.HP
Status XGetGCValues\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, unsigned long
\fIvaluemask\fP\^, XGCValues *\fIvalues_return\fP\^);
.HP
int XFreeGC\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^);
.HP
GContext XGContextFromGC\^(\^GC \fIgc\fP\^);
.SH ARGUMENTS
.IP \fId\fP 1i
Specifies the drawable.
.IP \fIdest\fP 1i
Specifies the destination GC.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIgc\fP 1i
Specifies the GC.
.IP \fIsrc\fP 1i
Specifies the components of the source GC.
.IP \fIvaluemask\fP 1i
Specifies which components in the GC are to be set, copied, changed, or returned.
This argument is the bitwise inclusive OR of zero or more of the valid
GC component mask bits.
.IP \fIvalues\fP 1i
Specifies any values as specified by the valuemask.
.IP \fIvalues_return\fP 1i
Returns the GC values in the specified
.B XGCValues
structure.
.SH DESCRIPTION
The
.B XCreateGC
function creates a graphics context and returns a GC.
The GC can be used with any destination drawable having the same root
and depth as the specified drawable.
Use with other drawables results in a
.B BadMatch
error.
.LP
.B XCreateGC
can generate
.BR BadAlloc ,
.BR BadDrawable ,
.BR BadFont ,
.BR BadMatch ,
.BR BadPixmap ,
and
.B BadValue
errors.
.LP
The
.B XCopyGC
function copies the specified components from the source GC
to the destination GC.
The source and destination GCs must have the same root and depth,
or a
.B BadMatch
error results.
The valuemask specifies which component to copy, as for
.BR XCreateGC .
.LP
.B XCopyGC
can generate
.BR BadAlloc ,
.BR BadGC ,
and
.B BadMatch
errors.
.LP
The
.B XChangeGC
function changes the components specified by valuemask for
the specified GC.
The values argument contains the values to be set.
The values and restrictions are the same as for
.BR XCreateGC .
Changing the clip-mask overrides any previous
.B XSetClipRectangles
request on the context.
Changing the dash-offset or dash-list
overrides any previous
.B XSetDashes
request on the context.
The order in which components are verified and altered is server dependent.
If an error is generated, a subset of the components may have been altered.
.LP
.B XChangeGC
can generate
.BR BadAlloc ,
.BR BadFont ,
.BR BadGC ,
.BR BadMatch ,
.BR BadPixmap ,
and
.B BadValue
errors.
.LP
The
.B XGetGCValues
function returns the components specified by valuemask for the specified GC.
If the valuemask contains a valid set of GC mask bits
.RB ( GCFunction ,
.BR GCPlaneMask ,
.BR GCForeground ,
.BR GCBackground ,
.BR GCLineWidth ,
.BR GCLineStyle ,
.BR GCCapStyle ,
.BR GCJoinStyle ,
.BR GCFillStyle ,
.BR GCFillRule ,
.BR GCTile ,
.BR GCStipple ,
.BR GCTileStipXOrigin ,
.BR GCTileStipYOrigin ,
.BR GCFont ,
.BR GCSubwindowMode ,
.BR GCGraphicsExposures ,
.BR GCClipXOrigin ,
.BR GCClipYOrigin ,
.BR GCDashOffset ,
or
.BR GCArcMode )
and no error occurs,
.B XGetGCValues
sets the requested components in values_return and returns a nonzero status.
Otherwise, it returns a zero status.
Note that the clip-mask and dash-list (represented by the
.B GCClipMask
and
.B GCDashList
bits, respectively, in the valuemask)
cannot be requested.
Also note that an invalid resource ID (with one or more of the three
most significant bits set to 1) will be returned for
.BR GCFont ,
.BR GCTile ,
and
.B GCStipple
if the component has never been explicitly set by the client.
.LP
The
.B XFreeGC
function destroys the specified GC as well as all the associated storage.
.LP
.B XFreeGC
can generate a
.B BadGC
error.
.SH STRUCTURES
The
.B XGCValues
structure contains:
.LP
/\&* GC attribute value mask bits */
.TS
lw(.5i) lw(2.5i) lw(.75i).
\define T{
.B GCFunction
T} T{
(1L<<0)
T}
\define T{
.B GCPlaneMask
T} T{
(1L<<1)
T}
\define T{
.B GCForeground
T} T{
(1L<<2)
T}
\define T{
.B GCBackground
T} T{
(1L<<3)
T}
\define T{
.B GCLineWidth
T} T{
(1L<<4)
T}
\define T{
.B GCLineStyle
T} T{
(1L<<5)
T}
\define T{
.B GCCapStyle
T} T{
(1L<<6)
T}
\define T{
.B GCJoinStyle
T} T{
(1L<<7)
T}
\define T{
.B GCFillStyle
T} T{
(1L<<8)
T}
\define T{
.B GCFillRule
T} T{
(1L<<9)
T}
\define T{
.B GCTile
T} T{
(1L<<10)
T}
\define T{
.B GCStipple
T} T{
(1L<<11)
T}
\define T{
.B GCTileStipXOrigin
T} T{
(1L<<12)
T}
\define T{
.B GCTileStipYOrigin
T} T{
(1L<<13)
T}
\define T{
.B GCFont
T} T{
(1L<<14)
T}
\define T{
.B GCSubwindowMode
T} T{
(1L<<15)
T}
\define T{
.B GCGraphicsExposures
T} T{
(1L<<16)
T}
\define T{
.B GCClipXOrigin
T} T{
(1L<<17)
T}
\define T{
.B GCClipYOrigin
T} T{
(1L<<18)
T}
\define T{
.B GCClipMask
T} T{
(1L<<19)
T}
\define T{
.B GCDashOffset
T} T{
(1L<<20)
T}
\define T{
.B GCDashList
T} T{
(1L<<21)
T}
\define T{
.B GCArcMode
T} T{
(1L<<22)
T}
.TE
.LP
.EX
/\&* Values */
typedef struct {
int function; /\&* logical operation */
unsigned long plane_mask; /\&* plane mask */
unsigned long foreground; /\&* foreground pixel */
unsigned long background; /\&* background pixel */
int line_width; /\&* line width (in pixels) */
int line_style; /\&* LineSolid, LineOnOffDash, LineDoubleDash */
int cap_style; /\&* CapNotLast, CapButt, CapRound, CapProjecting */
int join_style; /\&* JoinMiter, JoinRound, JoinBevel */
int fill_style; /\&* FillSolid, FillTiled, FillStippled FillOpaqueStippled*/
int fill_rule; /\&* EvenOddRule, WindingRule */
int arc_mode; /\&* ArcChord, ArcPieSlice */
Pixmap tile; /\&* tile pixmap for tiling operations */
Pixmap stipple; /\&* stipple 1 plane pixmap for stippling */
int ts_x_origin; /\&* offset for tile or stipple operations */
int ts_y_origin;
Font font; /\&* default text font for text operations */
int subwindow_mode; /\&* ClipByChildren, IncludeInferiors */
Bool graphics_exposures; /\&* boolean, should exposures be generated */
int clip_x_origin; /\&* origin for clipping */
int clip_y_origin;
Pixmap clip_mask; /\&* bitmap clipping; other calls for rects */
int dash_offset; /\&* patterned/dashed line information */
char dashes;
} XGCValues;
.EE
.LP
The function attributes of a GC are used when you update a section of
a drawable (the destination) with bits from somewhere else (the source).
The function in a GC defines how the new destination bits are to be
computed from the source bits and the old destination bits.
.B GXcopy
is typically the most useful because it will work on a color display,
but special applications may use other functions,
particularly in concert with particular planes of a color display.
The 16 GC functions, defined in
.BR X11/X.h ,
are:
.\" are listed in Table 5-1 along with the
.\"the associated hexadecimal code
.\" and operation.
.\".CP T 1
.\"Display Functions
.TS
lw(1.5i) cw(.5i) lw(2i).
_
.sp 6p
.B
Function Name Value Operation
.sp 6p
_
.sp 6p
T{
.B GXclear
T} T{
0x0
T} T{
0
T}
T{
.B GXand
T} T{
0x1
T} T{
src AND dst
T}
T{
.B GXandReverse
T} T{
0x2
T} T{
src AND NOT dst
T}
T{
.B GXcopy
T} T{
0x3
T} T{
src
T}
T{
.B GXandInverted
T} T{
0x4
T} T{
(NOT src) AND dst
T}
T{
.B GXnoop
T} T{
0x5
T} T{
dst
T}
T{
.B GXxor
T} T{
0x6
T} T{
src XOR dst
T}
T{
.B GXor
T} T{
0x7
T} T{
src OR dst
T}
T{
.B GXnor
T} T{
0x8
T} T{
(NOT src) AND (NOT dst)
T}
T{
.B GXequiv
T} T{
0x9
T} T{
(NOT src) XOR dst
T}
T{
.B GXinvert
T} T{
0xa
T} T{
NOT dst
T}
T{
.B GXorReverse
T} T{
0xb
T} T{
src OR (NOT dst)
T}
T{
.B GXcopyInverted
T} T{
0xc
T} T{
NOT src
T}
T{
.B GXorInverted
T} T{
0xd
T} T{
(NOT src) OR dst
T}
T{
.B GXnand
T} T{
0xe
T} T{
(NOT src) OR (NOT dst)
T}
T{
.B GXset
T} T{
0xf
T} T{
1
T}
.sp 6p
_
.TE
.LP
Many graphics operations depend on either pixel values or planes in a GC.
The planes attribute is of type long, and it specifies which planes of the
destination are to be modified, one bit per plane.
A monochrome display has only one plane and
will be the least significant bit of the word.
As planes are added to the display hardware, they will occupy more
significant bits in the plane mask.
.LP
In graphics operations, given a source and destination pixel,
the result is computed bitwise on corresponding bits of the pixels.
That is, a Boolean operation is performed in each bit plane.
The plane_mask restricts the operation to a subset of planes.
A macro constant
.B AllPlanes
can be used to refer to all planes of the screen simultaneously.
The result is computed by the following:
.LP
.EX
((src FUNC dst) AND plane-mask) OR (dst AND (NOT plane-mask))
.EE
.LP
Range checking is not performed on the values for foreground,
background, or plane_mask.
They are simply truncated to the appropriate
number of bits.
The line-width is measured in pixels and either can be greater than or equal to
one (wide line) or can be the special value zero (thin line).
.LP
Wide lines are drawn centered on the path described by the graphics request.
Unless otherwise specified by the join-style or cap-style,
the bounding box of a wide line with endpoints [x1, y1], [x2, y2] and
width w is a rectangle with vertices at the following real coordinates:
.LP
.EX
[x1-(w*sn/2), y1+(w*cs/2)], [x1+(w*sn/2), y1-(w*cs/2)],
[x2-(w*sn/2), y2+(w*cs/2)], [x2+(w*sn/2), y2-(w*cs/2)]
.EE
.LP
Here sn is the sine of the angle of the line,
and cs is the cosine of the angle of the line.
A pixel is part of the line and so is drawn
if the center of the pixel is fully inside the bounding box
(which is viewed as having infinitely thin edges).
If the center of the pixel is exactly on the bounding box,
it is part of the line if and only if the interior is immediately to its right
(x increasing direction).
Pixels with centers on a horizontal edge are a special case and are part of
the line if and only if the interior or the boundary is immediately below
(y increasing direction) and the interior or the boundary is immediately
to the right (x increasing direction).
.LP
Thin lines (zero line-width) are one-pixel-wide lines drawn using an
unspecified, device-dependent algorithm.
There are only two constraints on this algorithm.
.IP 1. 5
If a line is drawn unclipped from [x1,y1] to [x2,y2] and
if another line is drawn unclipped from [x1+dx,y1+dy] to [x2+dx,y2+dy],
a point [x,y] is touched by drawing the first line
if and only if the point [x+dx,y+dy] is touched by drawing the second line.
.IP 2. 5
The effective set of points comprising a line cannot be affected by clipping.
That is, a point is touched in a clipped line if and only if the point
lies inside the clipping region and the point would be touched
by the line when drawn unclipped.
.LP
A wide line drawn from [x1,y1] to [x2,y2] always draws the same pixels
as a wide line drawn from [x2,y2] to [x1,y1], not counting cap-style
and join-style.
It is recommended that this property be true for thin lines,
but this is not required.
A line-width of zero may differ from a line-width of one in which pixels are
drawn.
This permits the use of many manufacturers' line drawing hardware,
which may run many times faster than the more precisely specified
wide lines.
.LP
In general,
drawing a thin line will be faster than drawing a wide line of width one.
However, because of their different drawing algorithms,
thin lines may not mix well aesthetically with wide lines.
If it is desirable to obtain precise and uniform results across all displays,
a client should always use a line-width of one rather than a line-width of zero.
.LP
The line-style defines which sections of a line are drawn:
.TS
lw(1.0i) lw(4.5i).
T{
.B LineSolid
T} T{
The full path of the line is drawn.
T}
.sp 6p
T{
.B LineDoubleDash
T} T{
The full path of the line is drawn,
but the even dashes are filled differently
from the odd dashes (see fill-style) with
.B CapButt
style used where even and odd dashes meet.
T}
.sp 6p
T{
.B LineOnOffDash
T} T{
Only the even dashes are drawn,
and cap-style applies to
all internal ends of the individual dashes,
except
.B CapNotLast
is treated as
.BR CapButt .
T}
.TE
.LP
The cap-style defines how the endpoints of a path are drawn:
.TS
lw(1.0i) lw(4.5i).
T{
.B CapNotLast
T} T{
This is equivalent to
.B CapButt
except that for a line-width of zero the final endpoint is not drawn.
T}
.sp 6p
T{
.B CapButt
T} T{
The line is square at the endpoint (perpendicular to the slope of the line)
with no projection beyond.
T}
.sp 6p
T{
.B CapRound
T} T{
The line has a circular arc with the diameter equal to the line-width,
centered on the endpoint.
(This is equivalent to
.B CapButt
for line-width of zero).
T}
.sp 6p
T{
.B CapProjecting
T} T{
The line is square at the end, but the path continues beyond the endpoint
for a distance equal to half the line-width.
(This is equivalent to
.B CapButt
for line-width of zero).
T}
.TE
.LP
The join-style defines how corners are drawn for wide lines:
.TS
lw(1.0i) lw(4.5i).
T{
.B JoinMiter
T} T{
The outer edges of two lines extend to meet at an angle.
However, if the angle is less than 11 degrees,
then a
.B JoinBevel
join-style is used instead.
T}
.sp 6p
T{
.B JoinRound
T} T{
The corner is a circular arc with the diameter equal to the line-width,
centered on the joinpoint.
T}
.sp 6p
T{
.B JoinBevel
T} T{
The corner has
.B CapButt
endpoint styles with the triangular notch filled.
T}
.TE
.LP
For a line with coincident endpoints (x1=x2, y1=y2),
when the cap-style is applied to both endpoints,
the semantics depends on the line-width and the cap-style:
.TS
lw(1.0i) lw(.5i) lw(4i).
T{
.B CapNotLast
T} T{
thin
T} T{
The results are device dependent,
but the desired effect is that nothing is drawn.
T}
.sp 6p
T{
.B CapButt
T} T{
thin
T} T{
The results are device dependent,
but the desired effect is that a single pixel is drawn.
T}
.sp 6p
T{
.B CapRound
T} T{
thin
T} T{
The results are the same as for
.BR CapButt /thin.
T}
.sp 6p
T{
.B CapProjecting
T} T{
thin
T} T{
The results are the same as for
.BR CapButt /thin.
T}
.sp 6p
T{
.B CapButt
T} T{
wide
T} T{
Nothing is drawn.
T}
.sp 6p
T{
.B CapRound
T} T{
wide
T} T{
The closed path is a circle, centered at the endpoint, and
with the diameter equal to the line-width.
T}
.sp 6p
T{
.B CapProjecting
T} T{
wide
T} T{
The closed path is a square, aligned with the coordinate axes, centered at the
endpoint, and with the sides equal to the line-width.
T}
.TE
.LP
For a line with coincident endpoints (x1=x2, y1=y2),
when the join-style is applied at one or both endpoints,
the effect is as if the line was removed from the overall path.
However, if the total path consists of or is reduced to a single point joined
with itself, the effect is the same as when the cap-style is applied at both
endpoints.
.LP
The tile/stipple represents an infinite two-dimensional plane,
with the tile/stipple replicated in all dimensions.
When that plane is superimposed on the drawable
for use in a graphics operation, the upper-left corner
of some instance of the tile/stipple is at the coordinates within
the drawable specified by the tile/stipple origin.
The tile/stipple and clip origins are interpreted relative to the
origin of whatever destination drawable is specified in a graphics
request.
The tile pixmap must have the same root and depth as the GC,
or a
.B BadMatch
error results.
The stipple pixmap must have depth one and must have the same root as the
GC, or a
.B BadMatch
error results.
For stipple operations where the fill-style is
.B FillStippled
but not
.BR FillOpaqueStippled ,
the stipple pattern is tiled in a
single plane and acts as an additional clip mask to be ANDed with the clip-mask.
Although some sizes may be faster to use than others,
any size pixmap can be used for tiling or stippling.
.LP
The fill-style defines the contents of the source for line, text, and
fill requests.
For all text and fill requests (for example,
.BR XDrawText ,
.BR XDrawText16 ,
.BR XFillRectangle ,
.BR XFillPolygon ,
and
.BR XFillArc );
for line requests
with line-style
.B LineSolid
(for example,
.BR XDrawLine ,
.BR XDrawSegments ,
.BR XDrawRectangle ,
.BR XDrawArc );
and for the even dashes for line requests with line-style
.B LineOnOffDash
or
.BR LineDoubleDash ,
the following apply:
.TS
lw(1.5i) lw(4i).
T{
.B FillSolid
T} T{
Foreground
T}
.sp 6p
T{
.B FillTiled
T} T{
Tile
T}
.sp 6p
T{
.B FillOpaqueStippled
T} T{
A tile with the same width and height as stipple,
but with background everywhere stipple has a zero
and with foreground everywhere stipple has a one
T}
.sp 6p
T{
.B FillStippled
T} T{
Foreground masked by stipple
T}
.TE
.LP
When drawing lines with line-style
.BR LineDoubleDash ,
the odd dashes are controlled by the fill-style in the following manner:
.TS
lw(1.5i) lw(4i).
T{
.B FillSolid
T} T{
Background
T}
.sp 6p
T{
.B FillTiled
T} T{
Same as for even dashes
T}
.sp 6p
T{
.B FillOpaqueStippled
T} T{
Same as for even dashes
T}
.sp 6p
T{
.B FillStippled
T} T{
Background masked by stipple
T}
.TE
.LP
Storing a pixmap in a GC might or might not result in a copy
being made.
If the pixmap is later used as the destination for a graphics request,
the change might or might not be reflected in the GC.
If the pixmap is used simultaneously in a graphics request both as
a destination and as a tile or stipple,
the results are undefined.
.LP
For optimum performance,
you should draw as much as possible with the same GC
(without changing its components).
The costs of changing GC components relative to using different GCs
depend on the display hardware and the server implementation.
It is quite likely that some amount of GC information will be
cached in display hardware and that such hardware can only cache a small number
of GCs.
.LP
The dashes value is actually a simplified form of the
more general patterns that can be set with
.BR XSetDashes .
Specifying a
value of N is equivalent to specifying the two-element list [N, N] in
.BR XSetDashes .
The value must be nonzero,
or a
.B BadValue
error results.
.LP
The clip-mask restricts writes to the destination drawable.
If the clip-mask is set to a pixmap,
it must have depth one and have the same root as the GC,
or a
.B BadMatch
error results.
If clip-mask is set to
.BR None ,
the pixels are always drawn regardless of the clip origin.
The clip-mask also can be set by calling the
.B XSetClipRectangles
or
.B XSetRegion
functions.
Only pixels where the clip-mask has a bit set to 1 are drawn.
Pixels are not drawn outside the area covered by the clip-mask
or where the clip-mask has a bit set to 0.
The clip-mask affects all graphics requests.
The clip-mask does not clip sources.
The clip-mask origin is interpreted relative to the origin of whatever
destination drawable is specified in a graphics request.
.LP
You can set the subwindow-mode to
.B ClipByChildren
or
.BR IncludeInferiors .
For
.BR ClipByChildren ,
both source and destination windows are
additionally clipped by all viewable
.B InputOutput
children.
For
.BR IncludeInferiors ,
neither source nor destination window is clipped by inferiors.
This will result in including subwindow contents in the source
and drawing through subwindow boundaries of the destination.
The use of
.B IncludeInferiors
on a window of one depth with mapped
inferiors of differing depth is not illegal, but the semantics are
undefined by the core protocol.
.LP
The fill-rule defines what pixels are inside (drawn) for
paths given in
.B XFillPolygon
requests and can be set to
.B EvenOddRule
or
.BR WindingRule .
For
.BR EvenOddRule ,
a point is inside if
an infinite ray with the point as origin crosses the path an odd number
of times.
For
.BR WindingRule ,
a point is inside if an infinite ray with the
point as origin crosses an unequal number of clockwise and
counterclockwise directed path segments.
A clockwise directed path segment is one that crosses the ray from left to
right as observed from the point.
A counterclockwise segment is one that crosses the ray from right to left
as observed from the point.
The case where a directed line segment is coincident with the ray is
uninteresting because you can simply choose a different ray that is not
coincident with a segment.
.LP
For both
.B EvenOddRule
and
.BR WindingRule ,
a point is infinitely small,
and the path is an infinitely thin line.
A pixel is inside if the center point of the pixel is inside
and the center point is not on the boundary.
If the center point is on the boundary,
the pixel is inside if and only if the polygon interior is immediately to
its right (x increasing direction).
Pixels with centers on a horizontal edge are a special case
and are inside if and only if the polygon interior is immediately below
(y increasing direction).
.LP
The arc-mode controls filling in the
.B XFillArcs
function and can be set to
.B ArcPieSlice
or
.BR ArcChord .
For
.BR ArcPieSlice ,
the arcs are pie-slice filled.
For
.BR ArcChord ,
the arcs are chord filled.
.LP
The graphics-exposure flag controls
.B GraphicsExpose
event generation
for
.B XCopyArea
and
.B XCopyPlane
requests (and any similar requests defined by extensions).
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadDrawable
A value for a Drawable argument does not name a defined Window or Pixmap.
.TP 1i
.B BadFont
A value for a Font or GContext argument does not name a defined Font.
.TP 1i
.B BadGC
A value for a GContext argument does not name a defined GContext.
.TP 1i
.B BadMatch
An
.B InputOnly
window is used as a Drawable.
.TP 1i
.B BadMatch
Some argument or pair of arguments has the correct type and range but fails
to match in some other way required by the request.
.TP 1i
.B BadPixmap
A value for a Pixmap argument does not name a defined Pixmap.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
AllPlanes(__libmansuffix__),
XCopyArea(__libmansuffix__),
XCreateRegion(__libmansuffix__),
XDrawArc(__libmansuffix__),
XDrawLine(__libmansuffix__),
XDrawRectangle(__libmansuffix__),
XDrawText(__libmansuffix__),
XFillRectangle(__libmansuffix__),
XQueryBestSize(__libmansuffix__),
XSetArcMode(__libmansuffix__),
XSetClipOrigin(__libmansuffix__),
XSetFillStyle(__libmansuffix__),
XSetFont(__libmansuffix__),
XSetLineAttributes(__libmansuffix__),
XSetState(__libmansuffix__),
XSetTile(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XWMGeometry.man 0000644 0001750 0001750 00000000070 14222353101 013132 0000000 0000000 .so man__libmansuffix__/XParseGeometry.__libmansuffix__
libX11-1.7.5/man/XrmGetFileDatabase.man 0000644 0001750 0001750 00000022557 14222353101 014414 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.de EX
.sp
.nf
.ft CW
..
.de EE
.ft R
.fi
.sp
..
.TH XrmGetFileDatabase __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XrmGetFileDatabase, XrmPutFileDatabase, XrmGetStringDatabase, XrmLocaleOfDatabase, XrmGetDatabase, XrmSetDatabase, XrmDestroyDatabase \- retrieve and store resource databases
.SH SYNTAX
.HP
#include
.HP
XrmDatabase XrmGetFileDatabase\^(\^char *\fIfilename\fP\^);
.HP
void XrmPutFileDatabase\^(\^XrmDatabase \fIdatabase\fP\^,
_Xconst char *\fIstored_db\fP\^);
.HP
XrmDatabase XrmGetStringDatabase\^(\^_Xconst char *\fIdata\fP\^);
.HP
const char *XrmLocaleOfDatabase\^(\^XrmDatabase \fIdatabase\fP\^);
.HP
XrmDatabase XrmGetDatabase\^(\^Display *\fIdisplay\fP\^);
.HP
void XrmSetDatabase\^(\^Display *\fIdisplay\fP\^, XrmDatabase
\fIdatabase\fP\^);
.HP
void XrmDestroyDatabase\^(\^XrmDatabase \fIdatabase\fP\^);
.SH ARGUMENTS
.IP \fIfilename\fP 1i
Specifies the resource database file name.
.IP \fIdatabase\fP 1i
Specifies the database that is to be used.
.IP \fIstored_db\fP 1i
Specifies the file name for the stored database.
.IP \fIdata\fP 1i
Specifies the database contents using a string.
.IP \fIdatabase\fP 1i
Specifies the resource database.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.SH DESCRIPTION
The
.B XrmGetFileDatabase
function opens the specified file,
creates a new resource database, and loads it with the specifications
read in from the specified file.
The specified file should contain a sequence of entries in valid ResourceLine
format (see section 15.1); the database that results from reading a file
with incorrect syntax is implementation-dependent.
The file is parsed in the current locale,
and the database is created in the current locale.
If it cannot open the specified file,
.B XrmGetFileDatabase
returns NULL.
.LP
The
.B XrmPutFileDatabase
function stores a copy of the specified database in the specified file.
Text is written to the file as a sequence of entries in valid
ResourceLine format (see section 15.1).
The file is written in the locale of the database.
Entries containing resource names that are not in the Host Portable Character
Encoding or containing values that are not in the encoding of the database
locale, are written in an implementation-dependent manner.
The order in which entries are written is implementation-dependent.
Entries with representation types other than \*(lqString\*(rq are ignored.
.LP
The
.B XrmGetStringDatabase
function creates a new database and stores the resources specified
in the specified null-terminated string.
.B XrmGetStringDatabase
is similar to
.B XrmGetFileDatabase
except that it reads the information out of a string instead of out of a file.
The string should contain a sequence of entries in valid ResourceLine
format (see section 15.1) terminated by a null character;
the database that results from using a string
with incorrect syntax is implementation-dependent.
The string is parsed in the current locale,
and the database is created in the current locale.
.LP
If database is NULL,
.B XrmDestroyDatabase
returns immediately.
.LP
The
.B XrmLocaleOfDatabase
function returns the name of the locale bound to the specified
database, as a null-terminated string.
The returned locale name string is owned by Xlib and should not be
modified or freed by the client.
Xlib is not permitted to free the string until the database is destroyed.
Until the string is freed,
it will not be modified by Xlib.
.LP
The
.B XrmGetDatabase
function returns the database associated with the specified display.
It returns NULL if a database has not yet been set.
.LP
The
.B XrmSetDatabase
function associates the specified resource database (or NULL)
with the specified display.
The database previously associated with the display (if any) is not destroyed.
A client or toolkit may find this function convenient for retaining a database
once it is constructed.
.SH "FILE SYNTAX"
The syntax of a resource file is a sequence of resource lines
terminated by newline characters or the end of the file.
The syntax of an individual resource line is:
.LP
.\" Start marker code here
.EX
ResourceLine = Comment | IncludeFile | ResourceSpec |
Comment = "!" {}
IncludeFile = "#" WhiteSpace "include" WhiteSpace FileName WhiteSpace
FileName =
ResourceSpec = WhiteSpace ResourceName WhiteSpace ":" WhiteSpace Value
ResourceName = [Binding] {Component Binding} ComponentName
Binding = "\&." | "*"
WhiteSpace = { | }
Component = "?" | ComponentName
ComponentName = NameChar {NameChar}
NameChar = "a"\-"z" | "A"\-"Z" | "0"\-"9" | "_" | "-"
Value = {}
.EE
.LP
Elements separated by vertical bar (|) are alternatives.
Curly braces ({\&.\&.\&.}) indicate zero or more repetitions
of the enclosed elements.
Square brackets ([\&.\&.\&.]) indicate that the enclosed element is optional.
Quotes ("\&.\&.\&.") are used around literal characters.
.LP
IncludeFile lines are interpreted by replacing the line with the
contents of the specified file.
The word \*(lqinclude\*(rq must be in lowercase.
The file name is interpreted relative to the directory of the file in
which the line occurs (for example, if the file name contains no
directory or contains a relative directory specification).
.LP
If a ResourceName contains a contiguous sequence of two or more Binding
characters, the sequence will be replaced with single \*(lq\&.\*(rq character
if the sequence contains only \*(lq\&.\*(rq characters;
otherwise, the sequence will be replaced with a single \*(lq*\*(rq character.
.LP
A resource database never contains more than one entry for a given
ResourceName.
If a resource file contains multiple lines with the
same ResourceName, the last line in the file is used.
.LP
Any white space characters before or after the name or colon in a ResourceSpec
are ignored.
To allow a Value to begin with white space,
the two-character sequence \*(lq\^\\\^\fIspace\fP\*(rq (backslash followed by space)
is recognized and replaced by a space character,
and the two-character sequence \*(lq\^\\\^\fItab\fP\*(rq
(backslash followed by horizontal tab)
is recognized and replaced by a horizontal tab character.
To allow a Value to contain embedded newline characters,
the two-character sequence \*(lq\^\\\^n\*(rq is recognized and replaced by a
newline character.
To allow a Value to be broken across multiple lines in a text file,
the two-character sequence \*(lq\^\\\^\fInewline\fP\*(rq
(backslash followed by newline) is
recognized and removed from the value.
To allow a Value to contain arbitrary character codes,
the four-character sequence \*(lq\^\\\^\fInnn\fP\*(rq,
where each \fIn\fP is a digit character in the range of \*(lq0\*(rq\^\-\*(lq7\*(rq,
is recognized and replaced with a single byte that contains
the octal value specified by the sequence.
Finally, the two-character sequence \*(lq\^\\\\\*(rq is recognized
and replaced with a single backslash.
.SH "SEE ALSO"
XrmGetResource(__libmansuffix__),
XrmInitialize(__libmansuffix__),
XrmPutResource(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XSetOCValues.man 0000644 0001750 0001750 00000000063 14222353101 013232 0000000 0000000 .so man__libmansuffix__/XCreateOC.__libmansuffix__
libX11-1.7.5/man/XConvertSelection.man 0000644 0001750 0001750 00000000074 14222353101 014365 0000000 0000000 .so man__libmansuffix__/XSetSelectionOwner.__libmansuffix__
libX11-1.7.5/man/XChangeWindowAttributes.man 0000644 0001750 0001750 00000023102 14222353101 015520 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XChangeWindowAttributes __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XChangeWindowAttributes, XSetWindowBackground, XSetWindowBackgroundPixmap, XSetWindowBorder, XSetWindowBorderPixmap, XSetWindowColormap \- change window attributes
.SH SYNTAX
.HP
int XChangeWindowAttributes\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, unsigned long \fIvaluemask\fP\^, XSetWindowAttributes *\fIattributes\fP\^);
.HP
int XSetWindowBackground\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, unsigned long \fIbackground_pixel\fP\^);
.HP
int XSetWindowBackgroundPixmap\^(\^Display *\fIdisplay\fP\^, Window
\fIw\fP\^, Pixmap \fIbackground_pixmap\fP\^);
.HP
int XSetWindowBorder\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, unsigned long \fIborder_pixel\fP\^);
.HP
int XSetWindowBorderPixmap\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Pixmap \fIborder_pixmap\fP\^);
.HP
int XSetWindowColormap\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Colormap \fIcolormap\fP\^);
.SH ARGUMENTS
.IP \fIattributes\fP 1i
Specifies the structure from which the values (as specified by the value mask)
are to be taken.
The value mask should have the appropriate bits
set to indicate which attributes have been set in the structure.
.IP \fIbackground_pixel\fP 1i
Specifies the pixel that is to be used for the background.
.IP \fIbackground_pixmap\fP 1i
Specifies the background pixmap,
.BR ParentRelative ,
or
.BR None .
.IP \fIborder_pixel\fP 1i
Specifies the entry in the colormap.
.IP \fIborder_pixmap\fP 1i
Specifies the border pixmap or
.BR CopyFromParent .
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIvaluemask\fP 1i
Specifies which window attributes are defined in the attributes
argument.
This mask is the bitwise inclusive OR of the valid attribute mask bits.
If valuemask is zero,
the attributes are ignored and are not referenced.
.IP \fIw\fP 1i
Specifies the window.
.IP \fIcolormap\fP 1i
Specifies the colormap.
.SH DESCRIPTION
Depending on the valuemask,
the
.B XChangeWindowAttributes
function uses the window attributes in the
.B XSetWindowAttributes
structure to change the specified window attributes.
Changing the background does not cause the window contents to be
changed.
To repaint the window and its background, use
.BR XClearWindow .
Setting the border or changing the background such that the
border tile origin changes causes the border to be repainted.
Changing the background of a root window to
.B None
or
.B ParentRelative
restores the default background pixmap.
Changing the border of a root window to
.B CopyFromParent
restores the default border pixmap.
Changing the win-gravity does not affect the current position of the
window.
Changing the backing-store of an obscured window to
.B WhenMapped
or
.BR Always ,
or changing the backing-planes, backing-pixel, or
save-under of a mapped window may have no immediate effect.
Changing the colormap of a window (that is, defining a new map, not
changing the contents of the existing map) generates a
.B ColormapNotify
event.
Changing the colormap of a visible window may have no
immediate effect on the screen because the map may not be installed
(see
.BR XInstallColormap ).
Changing the cursor of a root window to
.B None
restores the default
cursor.
Whenever possible, you are encouraged to share colormaps.
.LP
Multiple clients can select input on the same window.
Their event masks are maintained separately.
When an event is generated,
it is reported to all interested clients.
However, only one client at a time can select for
.BR SubstructureRedirectMask ,
.BR ResizeRedirectMask ,
and
.BR ButtonPressMask .
If a client attempts to select any of these event masks
and some other client has already selected one,
a
.B BadAccess
error results.
There is only one do-not-propagate-mask for a window,
not one per client.
.LP
.B XChangeWindowAttributes
can generate
.BR BadAccess ,
.BR BadColor ,
.BR BadCursor ,
.BR BadMatch ,
.BR BadPixmap ,
.BR BadValue ,
and
.B BadWindow
errors.
.LP
The
.B XSetWindowBackground
function sets the background of the window to the specified pixel value.
Changing the background does not cause the window contents to be changed.
.B XSetWindowBackground
uses a pixmap of undefined size filled with the pixel value you passed.
If you try to change the background of an
.B InputOnly
window, a
.B BadMatch
error results.
.LP
.B XSetWindowBackground
can generate
.B BadMatch
and
.B BadWindow
errors.
.LP
The
.B XSetWindowBackgroundPixmap
function sets the background pixmap of the window to the specified pixmap.
The background pixmap can immediately be freed if no further explicit
references to it are to be made.
If
.B ParentRelative
is specified,
the background pixmap of the window's parent is used,
or on the root window, the default background is restored.
If you try to change the background of an
.B InputOnly
window, a
.B BadMatch
error results.
If the background is set to
.BR None ,
the window has no defined background.
.LP
.B XSetWindowBackgroundPixmap
can generate
.BR BadMatch ,
.BR BadPixmap ,
and
.B BadWindow
errors.
.LP
The
.B XSetWindowBorder
function sets the border of the window to the pixel value you specify.
If you attempt to perform this on an
.B InputOnly
window, a
.B BadMatch
error results.
.LP
.B XSetWindowBorder
can generate
.B BadMatch
and
.B BadWindow
errors.
.LP
The
.B XSetWindowBorderPixmap
function sets the border pixmap of the window to the pixmap you specify.
The border pixmap can be freed immediately if no further explicit
references to it are to be made.
If you specify
.BR CopyFromParent ,
a copy of the parent window's border pixmap is used.
If you attempt to perform this on an
.B InputOnly
window, a
.B BadMatch
error results.
.LP
.B XSetWindowBorderPixmap
can generate
.BR BadMatch ,
.BR BadPixmap ,
and
.B BadWindow
errors.
.LP
The
.B XSetWindowColormap
function sets the specified colormap of the specified window.
The colormap must have the same visual type as the window,
or a
.B BadMatch
error results.
.LP
.B XSetWindowColormap
can generate
.BR BadColor ,
.BR BadMatch ,
and
.B BadWindow
errors.
.SH DIAGNOSTICS
.TP 1i
.B BadAccess
A client attempted
to free a color map entry that it did not already allocate.
.TP 1i
.B BadAccess
A client attempted
to store into a read-only color map entry.
.TP 1i
.B BadColor
A value for a Colormap argument does not name a defined Colormap.
.TP 1i
.B BadCursor
A value for a Cursor argument does not name a defined Cursor.
.TP 1i
.B BadMatch
Some argument or pair of arguments has the correct type and range but fails
to match in some other way required by the request.
.TP 1i
.B BadMatch
An
.B InputOnly
window locks this attribute.
.TP 1i
.B BadPixmap
A value for a Pixmap argument does not name a defined Pixmap.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XConfigureWindow(__libmansuffix__),
XCreateWindow(__libmansuffix__),
XDestroyWindow(__libmansuffix__),
XInstallColormap(__libmansuffix__),
XMapWindow(__libmansuffix__),
XRaiseWindow(__libmansuffix__),
XUnmapWindow(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XSetWMClientMachine.man 0000644 0001750 0001750 00000007725 14222353101 014534 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSetWMClientMachine __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSetWMClientMachine, XGetWMClientMachine \- set or read a window's WM_CLIENT_MACHINE property
.SH SYNTAX
.HP
void XSetWMClientMachine\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
XTextProperty *\fItext_prop\fP\^);
.HP
Status XGetWMClientMachine\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
XTextProperty *\fItext_prop_return\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fItext_prop\fP 1i
Specifies the
.B XTextProperty
structure to be used.
.IP \fItext_prop_return\fP 1i
Returns the
.B XTextProperty
structure.
.IP \fIw\fP 1i
Specifies the window.
.SH DESCRIPTION
The
.B XSetWMClientMachine
convenience function calls
.B XSetTextProperty
to set the WM_CLIENT_MACHINE property.
.LP
The
.B XGetWMClientMachine
convenience function performs an
.B XGetTextProperty
on the WM_CLIENT_MACHINE property.
It returns a nonzero status on success;
otherwise, it returns a zero status.
.SH PROPERTIES
.TP 1i
\s-1WM_CLIENT_MACHINE\s+1
The string name of the machine on which the client application is running.
.SH "SEE ALSO"
XAllocClassHint(__libmansuffix__),
XAllocIconSize(__libmansuffix__),
XAllocSizeHints(__libmansuffix__),
XAllocWMHints(__libmansuffix__),
XSetCommand(__libmansuffix__),
XSetTransientForHint(__libmansuffix__),
XSetTextProperty(__libmansuffix__),
XSetWMColormapWindows(__libmansuffix__),
XSetWMIconName(__libmansuffix__),
XSetWMName(__libmansuffix__),
XSetWMProperties(__libmansuffix__),
XSetWMProtocols(__libmansuffix__),
XStringListToTextProperty(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XRotateWindowProperties.man 0000644 0001750 0001750 00000000074 14222353101 015602 0000000 0000000 .so man__libmansuffix__/XGetWindowProperty.__libmansuffix__
libX11-1.7.5/man/Xutf8DrawImageString.man 0000644 0001750 0001750 00000000074 14222353101 014735 0000000 0000000 .so man__libmansuffix__/XmbDrawImageString.__libmansuffix__
libX11-1.7.5/man/XAddToSaveSet.man 0000644 0001750 0001750 00000000070 14222353101 013361 0000000 0000000 .so man__libmansuffix__/XChangeSaveSet.__libmansuffix__
libX11-1.7.5/man/IsCursorKey.man 0000644 0001750 0001750 00000007470 14222353101 013200 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH IsCursorKey __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
IsCursorKey, IsFunctionKey, IsKeypadKey, IsMiscFunctionKey, IsModifierKey, IsPFKey, IsPrivateKeypadKey \- keysym classification macros
.SH SYNTAX
int IsCursorKey\^(\^KeySym \fIkeysym\fP\^);
.LP
int IsFunctionKey\^(\^KeySym \fIkeysym\fP\^);
.LP
int IsKeypadKey\^(\^KeySym \fIkeysym\fP\^);
.LP
int IsMiscFunctionKey\^(\^KeySym \fIkeysym\fP\^);
.LP
int IsModifierKey\^(\^KeySym \fIkeysym\fP\^);
.LP
int IsPFKey\^(\^KeySym \fIkeysym\fP\^);
.LP
int IsPrivateKeypadKey\^(\^KeySym \fIkeysym\fP\^);
.SH ARGUMENTS
.IP \fIkeysym\fP 1i
Specifies the KeySym that is to be tested.
.SH DESCRIPTION
The
.B IsCursorKey
macro returns
.B True
if the specified KeySym is a cursor key.
.LP
The
.B IsFunctionKey
macro returns
.B True
if the KeySym is a function key.
.LP
The
.B IsKeypadKey
macro returns
.B True
if the specified KeySym is a keypad key.
.LP
The
.B IsMiscFunctionKey
macro returns
.B True
if the specified KeySym is a miscellaneous function key.
.LP
The
.B IsModifierKey
macro returns
.B True
if the specified KeySym is a modifier key.
.LP
The
.B IsPFKey
macro returns
.B True
if the specified KeySym is a PF key.
.LP
The
.B IsPrivateKeypadKey
macro returns
.B True
if the specified KeySym is a vendor-private keypad key.
.SH "SEE ALSO"
XkbKeyTypesForCoreSymbols(__libmansuffix__),
AllPlanes(__libmansuffix__),
BlackPixelOfScreen(__libmansuffix__),
ImageByteOrder(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XUngrabServer.man 0000644 0001750 0001750 00000000065 14222353101 013504 0000000 0000000 .so man__libmansuffix__/XGrabServer.__libmansuffix__
libX11-1.7.5/man/XForceScreenSaver.man 0000644 0001750 0001750 00000000071 14222353101 014273 0000000 0000000 .so man__libmansuffix__/XSetScreenSaver.__libmansuffix__
libX11-1.7.5/man/XClientMessageEvent.man 0000644 0001750 0001750 00000012534 14222353101 014630 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XClientMessageEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XClientMessageEvent \- ClientMessage event structure
.SH STRUCTURES
The structure for
.B ClientMessage
events contains:
.LP
.EX
typedef struct {
int type; /\&* ClientMessage */
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window window;
Atom message_type;
int format;
union {
char b[20];
short s[10];
long l[5];
} data;
} XClientMessageEvent;
.EE
.LP
When you receive this event,
the structure members are set as follows.
.LP
The type member is set to the event type constant name that uniquely identifies
it.
For example, when the X server reports a
.B GraphicsExpose
event to a client application, it sends an
.B XGraphicsExposeEvent
structure with the type member set to
.BR GraphicsExpose .
The display member is set to a pointer to the display the event was read on.
The send_event member is set to
.B True
if the event came from a
.B SendEvent
protocol request.
The serial member is set from the serial number reported in the protocol
but expanded from the 16-bit least-significant bits to a full 32-bit value.
The window member is set to the window that is most useful to toolkit
dispatchers.
.LP
The message_type member is set to an atom that indicates how the data
should be interpreted by the receiving client.
The format member is set to 8, 16, or 32 and specifies whether the data
should be viewed as a list of bytes, shorts, or longs.
The data member is a union that contains the members b, s, and l.
The b, s, and l members represent data of twenty 8-bit values,
ten 16-bit values, and five 32-bit values.
Particular message types might not make use of all these values.
The X server places no interpretation on the values in the window,
message_type, or data members.
.SH "SEE ALSO"
XAnyEvent(__libmansuffix__),
XButtonEvent(__libmansuffix__),
XCreateWindowEvent(__libmansuffix__),
XCirculateEvent(__libmansuffix__),
XCirculateRequestEvent(__libmansuffix__),
XColormapEvent(__libmansuffix__),
XConfigureEvent(__libmansuffix__),
XConfigureRequestEvent(__libmansuffix__),
XCrossingEvent(__libmansuffix__),
XDestroyWindowEvent(__libmansuffix__),
XErrorEvent(__libmansuffix__),
XExposeEvent(__libmansuffix__),
XFocusChangeEvent(__libmansuffix__),
XGraphicsExposeEvent(__libmansuffix__),
XGravityEvent(__libmansuffix__),
XKeymapEvent(__libmansuffix__),
XMapEvent(__libmansuffix__),
XMapRequestEvent(__libmansuffix__),
XPropertyEvent(__libmansuffix__),
XReparentEvent(__libmansuffix__),
XResizeRequestEvent(__libmansuffix__),
XSelectionClearEvent(__libmansuffix__),
XSelectionEvent(__libmansuffix__),
XSelectionRequestEvent(__libmansuffix__),
XUnmapEvent(__libmansuffix__),
XVisibilityEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XrmStringToQuark.man 0000644 0001750 0001750 00000000070 14222353101 014207 0000000 0000000 .so man__libmansuffix__/XrmUniqueQuark.__libmansuffix__
libX11-1.7.5/man/ScreenWhitePointOfCCC.man 0000644 0001750 0001750 00000000066 14222353101 015000 0000000 0000000 .so man__libmansuffix__/DisplayOfCCC.__libmansuffix__
libX11-1.7.5/man/XConfigureWindow.man 0000644 0001750 0001750 00000023435 14222353101 014216 0000000 0000000 '\" t
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
'\" t
.TH XConfigureWindow __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XConfigureWindow, XMoveWindow, XResizeWindow, XMoveResizeWindow, XSetWindowBorderWidth, XWindowChanges \- configure windows and window changes structure
.SH SYNTAX
.HP
int XConfigureWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, unsigned \fIvalue_mask\fP\^, \^XWindowChanges *\fIchanges\fP\^);
.HP
int XMoveWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, int \fIx\fP\^, \fIy\fP\^);
.HP
int XResizeWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, unsigned
\fIwidth\fP\^, unsigned \fIheight\fP\^);
.HP
int XMoveResizeWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, int
\fIx\fP\^, int \fIy\fP\^, unsigned \fIwidth\fP\^, unsigned \fIheight\fP\^);
.HP
int XSetWindowBorderWidth\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
unsigned \fIwidth\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIvalue_mask\fP 1i
Specifies which values are to be set using information in
the values structure.
This mask is the bitwise inclusive OR of the valid configure window values bits.
.IP \fIvalues\fP 1i
Specifies the
.B XWindowChanges
structure.
.IP \fIw\fP 1i
Specifies the window to be reconfigured, moved, or resized..
.IP \fIwidth\fP 1i
Specifies the width of the window border.
.IP \fIwidth\fP 1i
.br
.ns
.IP \fIheight\fP 1i
Specify the width and height, which are the interior dimensions of the window.
.IP \fIx\fP 1i
.br
.ns
.IP \fIy\fP 1i
Specify the x and y coordinates, which define the new location of the top-left pixel
of the window's border or the window itself if it has no border
or define the new position of the window relative to its parent.
.SH DESCRIPTION
The
.B XConfigureWindow
function uses the values specified in the
.B XWindowChanges
structure to reconfigure a window's size, position, border, and stacking order.
Values not specified are taken from the existing geometry of the window.
.LP
If a sibling is specified without a stack_mode or if the window
is not actually a sibling,
a
.B BadMatch
error results.
Note that the computations for
.BR BottomIf ,
.BR TopIf ,
and
.B Opposite
are performed with respect to the window's final geometry (as controlled by the
other arguments passed to
.BR XConfigureWindow ),
not its initial geometry.
Any backing store contents of the window, its
inferiors, and other newly visible windows are either discarded or
changed to reflect the current screen contents
(depending on the implementation).
.LP
.B XConfigureWindow
can generate
.BR BadMatch ,
.BR BadValue ,
and
.B BadWindow
errors.
.LP
The
.B XMoveWindow
function moves the specified window to the specified x and y coordinates,
but it does not change the window's size, raise the window, or
change the mapping state of the window.
Moving a mapped window may or may not lose the window's contents
depending on if the window is obscured by nonchildren
and if no backing store exists.
If the contents of the window are lost,
the X server generates
.B Expose
events.
Moving a mapped window generates
.B Expose
events on any formerly obscured windows.
.LP
If the override-redirect flag of the window is
.B False
and some
other client has selected
.B SubstructureRedirectMask
on the parent, the X server generates a
.B ConfigureRequest
event, and no further processing is
performed.
Otherwise, the window is moved.
.LP
.B XMoveWindow
can generate a
.B BadWindow
error.
.LP
The
.B XResizeWindow
function changes the inside dimensions of the specified window, not including
its borders.
This function does not change the window's upper-left coordinate or
the origin and does not restack the window.
Changing the size of a mapped window may lose its contents and generate
.B Expose
events.
If a mapped window is made smaller,
changing its size generates
.B Expose
events on windows that the mapped window formerly obscured.
.LP
If the override-redirect flag of the window is
.B False
and some
other client has selected
.B SubstructureRedirectMask
on the parent, the X server generates a
.B ConfigureRequest
event, and no further processing is performed.
If either width or height is zero,
a
.B BadValue
error results.
.LP
.B XResizeWindow
can generate
.B BadValue
and
.B BadWindow
errors.
.LP
The
.B XMoveResizeWindow
function changes the size and location of the specified window
without raising it.
Moving and resizing a mapped window may generate an
.B Expose
event on the window.
Depending on the new size and location parameters,
moving and resizing a window may generate
.B Expose
events on windows that the window formerly obscured.
.LP
If the override-redirect flag of the window is
.B False
and some
other client has selected
.B SubstructureRedirectMask
on the parent, the X server generates a
.B ConfigureRequest
event, and no further processing is performed.
Otherwise, the window size and location are changed.
.LP
.B XMoveResizeWindow
can generate
.B BadValue
and
.B BadWindow
errors.
.LP
The
.B XSetWindowBorderWidth
function sets the specified window's border width to the specified width.
.LP
.B XSetWindowBorderWidth
can generate a
.B BadWindow
error.
.SH STRUCTURES
The
.B XWindowChanges
structure contains:
.LP
.LP
/\&* Configure window value mask bits */
.TS
lw(.5i) lw(2.5i) lw(.8i).
T{
\define
T} T{
.B CWX
T} T{
(1<<0)
T}
T{
\define
T} T{
.B CWY
T} T{
(1<<1)
T}
T{
\define
T} T{
.B CWWidth
T} T{
(1<<2)
T}
T{
\define
T} T{
.B CWHeight
T} T{
(1<<3)
T}
T{
\define
T} T{
.B CWBorderWidth
T} T{
(1<<4)
T}
T{
\define
T} T{
.B CWSibling
T} T{
(1<<5)
T}
T{
\define
T} T{
.B CWStackMode
T} T{
(1<<6)
T}
.TE
.EX
/\&* Values */
typedef struct {
int x, y;
int width, height;
int border_width;
Window sibling;
int stack_mode;
} XWindowChanges;
.EE
.LP
The x and y members are used to set the window's x and y coordinates,
which are relative to the parent's origin
and indicate the position of the upper-left outer corner of the window.
The width and height members are used to set the inside size of the window,
not including the border, and must be nonzero, or a
.B BadValue
error results.
Attempts to configure a root window have no effect.
.LP
The border_width member is used to set the width of the border in pixels.
Note that setting just the border width leaves the outer-left corner of the window
in a fixed position but moves the absolute position of the window's origin.
If you attempt to set the border-width attribute of an
.B InputOnly
window nonzero, a
.B BadMatch
error results.
.LP
The sibling member is used to set the sibling window for stacking operations.
The stack_mode member is used to set how the window is to be restacked
and can be set to
.BR Above ,
.BR Below ,
.BR TopIf ,
.BR BottomIf ,
or
.BR Opposite .
.SH DIAGNOSTICS
.TP 1i
.B BadMatch
An
.B InputOnly
window is used as a Drawable.
.TP 1i
.B BadMatch
Some argument or pair of arguments has the correct type and range but fails
to match in some other way required by the request.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XChangeWindowAttributes(__libmansuffix__),
XCreateWindow(__libmansuffix__),
XDestroyWindow(__libmansuffix__),
XMapWindow(__libmansuffix__),
XRaiseWindow(__libmansuffix__),
XUnmapWindow(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XUngrabKeyboard.man 0000644 0001750 0001750 00000000067 14222353101 014000 0000000 0000000 .so man__libmansuffix__/XGrabKeyboard.__libmansuffix__
libX11-1.7.5/man/XSetClipMask.man 0000644 0001750 0001750 00000000070 14222353101 013252 0000000 0000000 .so man__libmansuffix__/XSetClipOrigin.__libmansuffix__
libX11-1.7.5/man/XDestroyImage.man 0000644 0001750 0001750 00000000064 14222353101 013472 0000000 0000000 .so man__libmansuffix__/XInitImage.__libmansuffix__
libX11-1.7.5/man/XSetScreenSaver.man 0000644 0001750 0001750 00000011066 14222353101 013776 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSetScreenSaver __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSetScreenSaver, XForceScreenSaver, XActivateScreenSaver, XResetScreenSaver, XGetScreenSaver \- manipulate the screen saver
.SH SYNTAX
.HP
int XSetScreenSaver\^(\^Display *\fIdisplay\fP\^, int \fItimeout\fP\^,
int \fIinterval\fP\^, int \fIprefer_blanking\fP\^, int
\fIallow_exposures\fP\^);
.HP
int XForceScreenSaver\^(\^Display *\fIdisplay\fP\^, int \fImode\fP\^);
.HP
int XActivateScreenSaver\^(\^Display *\fIdisplay\fP\^);
.HP
int XResetScreenSaver\^(\^Display *\fIdisplay\fP\^);
.HP
int XGetScreenSaver\^(\^Display *\fIdisplay\fP\^, int *\fItimeout_return\fP\^,
int *\fIinterval_return\fP\^, int *\fIprefer_blanking_return\fP\^, int
*\fIallow_exposures_return\fP\^);
.SH ARGUMENTS
.IP \fIallow_exposures\fP 1i
Specifies the screen save control values.
You can pass
.BR DontAllowExposures ,
.BR AllowExposures ,
or
.BR DefaultExposures .
.IP \fIallow_exposures_return\fP 1i
Returns the current screen save control value
.RB ( DontAllowExposures ,
.BR AllowExposures ,
or
.BR DefaultExposures ).
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIinterval\fP 1i
Specifies the interval, in seconds, between screen saver alterations.
.IP \fIinterval_return\fP 1i
Returns the interval between screen saver invocations.
.IP \fImode\fP 1i
Specifies the mode that is to be applied.
You can pass
.B ScreenSaverActive
or
.BR ScreenSaverReset .
.IP \fIprefer_blanking\fP 1i
Specifies how to enable screen blanking.
You can pass
.BR DontPreferBlanking ,
.BR PreferBlanking ,
or
.BR DefaultBlanking .
.IP \fIprefer_blanking_return\fP 1i
Returns the current screen blanking preference
.RB ( DontPreferBlanking ,
.BR PreferBlanking ,
or
.BR DefaultBlanking ).
.IP \fItimeout\fP 1i
Specifies the timeout, in seconds, until the screen saver turns on.
.IP \fItimeout_return\fP 1i
Returns the timeout, in seconds, until the screen saver turns on.
.SH DESCRIPTION
Timeout and interval are specified in seconds.
A timeout of 0 disables the screen saver
(but an activated screen saver is not deactivated),
and a timeout of \-1 restores the default.
Other negative values generate a
.B BadValue
error.
If the timeout value is nonzero,
.B XSetScreenSaver
libX11-1.7.5/man/DisplayHeight.man 0000644 0001750 0001750 00000000070 14222353101 013501 0000000 0000000 .so man__libmansuffix__/ImageByteOrder.__libmansuffix__
libX11-1.7.5/man/XResizeRequestEvent.man 0000644 0001750 0001750 00000011375 14222353101 014721 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XResizeRequestEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XResizeRequestEvent \- ResizeRequest event structure
.SH STRUCTURES
The structure for
.B ResizeRequest
events contains:
.LP
.EX
typedef struct {
int type; /\&* ResizeRequest */
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window window;
int width, height;
} XResizeRequestEvent;
.EE
.LP
When you receive this event,
the structure members are set as follows.
.LP
The type member is set to the event type constant name that uniquely identifies
it.
For example, when the X server reports a
.B GraphicsExpose
event to a client application, it sends an
.B XGraphicsExposeEvent
structure with the type member set to
.BR GraphicsExpose .
The display member is set to a pointer to the display the event was read on.
The send_event member is set to
.B True
if the event came from a
.B SendEvent
protocol request.
The serial member is set from the serial number reported in the protocol
but expanded from the 16-bit least-significant bits to a full 32-bit value.
The window member is set to the window that is most useful to toolkit
dispatchers.
.LP
The window member is set to the window whose size another
client attempted to change.
The width and height members are set to the inside size of the window,
excluding the border.
.SH "SEE ALSO"
XAnyEvent(__libmansuffix__),
XButtonEvent(__libmansuffix__),
XCreateWindowEvent(__libmansuffix__),
XCirculateEvent(__libmansuffix__),
XCirculateRequestEvent(__libmansuffix__),
XColormapEvent(__libmansuffix__),
XConfigureEvent(__libmansuffix__),
XConfigureRequestEvent(__libmansuffix__),
XCrossingEvent(__libmansuffix__),
XDestroyWindowEvent(__libmansuffix__),
XErrorEvent(__libmansuffix__),
XExposeEvent(__libmansuffix__),
XFocusChangeEvent(__libmansuffix__),
XGraphicsExposeEvent(__libmansuffix__),
XGravityEvent(__libmansuffix__),
XKeymapEvent(__libmansuffix__),
XMapEvent(__libmansuffix__),
XMapRequestEvent(__libmansuffix__),
XPropertyEvent(__libmansuffix__),
XReparentEvent(__libmansuffix__),
XSelectionClearEvent(__libmansuffix__),
XSelectionEvent(__libmansuffix__),
XSelectionRequestEvent(__libmansuffix__),
XUnmapEvent(__libmansuffix__),
XVisibilityEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XGetMotionEvents.man 0000644 0001750 0001750 00000000064 14222353101 014170 0000000 0000000 .so man__libmansuffix__/XSendEvent.__libmansuffix__
libX11-1.7.5/man/XCheckTypedEvent.man 0000644 0001750 0001750 00000000064 14222353101 014123 0000000 0000000 .so man__libmansuffix__/XNextEvent.__libmansuffix__
libX11-1.7.5/man/XStoreColors.man 0000644 0001750 0001750 00000015335 14222353101 013363 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XStoreColors __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XStoreColors, XStoreColor, XStoreNamedColor \- set colors
.SH SYNTAX
.HP
int XStoreColors\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^,
XColor \fIcolor\fP\^[\^]\^, int \fIncolors\fP\^);
.HP
int XStoreColor\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^,
XColor *\fIcolor\fP\^);
.HP
int XStoreNamedColor\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^,
_Xconst char *\^\fIcolor\fP\^, unsigned long \fIpixel\fP\^, int \fIflags\fP\^);
.SH ARGUMENTS
.IP \fIcolor\fP 1i
Specifies the pixel and RGB values or the color name string (for example, red).
.IP \fIcolor\fP 1i
Specifies an array of color definition structures to be stored.
.IP \fIcolormap\fP 1i
Specifies the colormap.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIflags\fP 1i
Specifies which red, green, and blue components are set.
.IP \fIncolors\fP 1i
.\"Specifies the number of color definition structures.
Specifies the number of
.B XColor
structures in the color definition array.
.IP \fIpixel\fP 1i
Specifies the entry in the colormap.
.SH DESCRIPTION
The
.B XStoreColors
function changes the colormap entries of the pixel values
specified in the pixel members of the
.B XColor
structures.
You specify which color components are to be changed by setting
.BR DoRed ,
.BR DoGreen ,
and/or
.B DoBlue
in the flags member of the
.B XColor
structures.
If the colormap is an installed map for its screen, the
changes are visible immediately.
.B XStoreColors
changes the specified pixels if they are allocated writable in the colormap
by any client, even if one or more pixels generates an error.
If a specified pixel is not a valid index into the colormap, a
.B BadValue
error results.
If a specified pixel either is unallocated or is allocated read-only, a
.B BadAccess
error results.
If more than one pixel is in error,
the one that gets reported is arbitrary.
.LP
.B XStoreColors
can generate
.BR BadAccess ,
.BR BadColor ,
and
.B BadValue
errors.
.LP
The
.B XStoreColor
function changes the colormap entry of the pixel value specified in the
pixel member of the
.B XColor
structure.
You specified this value in the
pixel member of the
.B XColor
structure.
This pixel value must be a read/write cell and a valid index into the colormap.
If a specified pixel is not a valid index into the colormap,
a
.B BadValue
error results.
.B XStoreColor
also changes the red, green, and/or blue color components.
You specify which color components are to be changed by setting
.BR DoRed ,
.BR DoGreen ,
and/or
.B DoBlue
in the flags member of the
.B XColor
structure.
If the colormap is an installed map for its screen,
the changes are visible immediately.
.LP
.B XStoreColor
can generate
.BR BadAccess ,
.BR BadColor ,
and
.B BadValue
errors.
.LP
The
.B XStoreNamedColor
function looks up the named color with respect to the screen associated with
the colormap and stores the result in the specified colormap.
The pixel argument determines the entry in the colormap.
The flags argument determines which of the red, green, and blue components
are set.
You can set this member to the
bitwise inclusive OR of the bits
.BR DoRed ,
.BR DoGreen ,
and
.BR DoBlue .
If the color name is not in the Host Portable Character Encoding,
the result is implementation-dependent.
Use of uppercase or lowercase does not matter.
If the specified pixel is not a valid index into the colormap, a
.B BadValue
error results.
If the specified pixel either is unallocated or is allocated read-only, a
.B BadAccess
error results.
.LP
.B XStoreNamedColor
can generate
.BR BadAccess ,
.BR BadColor ,
.BR BadName ,
and
.B BadValue
errors.
.SH DIAGNOSTICS
.TP 1i
.B BadAccess
A client attempted
to free a color map entry that it did not already allocate.
.TP 1i
.B BadAccess
A client attempted
to store into a read-only color map entry.
.TP 1i
.B BadColor
A value for a Colormap argument does not name a defined Colormap.
.TP 1i
.B BadName
A font or color of the specified name does not exist.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
XAllocColor(__libmansuffix__),
XCreateColormap(__libmansuffix__),
XQueryColor(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XQueryColors.man 0000644 0001750 0001750 00000000065 14222353101 013366 0000000 0000000 .so man__libmansuffix__/XQueryColor.__libmansuffix__
libX11-1.7.5/man/XSetSubwindowMode.man 0000644 0001750 0001750 00000000065 14222353101 014341 0000000 0000000 .so man__libmansuffix__/XSetArcMode.__libmansuffix__
libX11-1.7.5/man/XAllocStandardColormap.man 0000644 0001750 0001750 00000022650 14222353101 015313 0000000 0000000 '\" t
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
'\" t
.TH XAllocStandardColormap __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XAllocStandardColormap, XSetRGBColormaps, XGetRGBColormaps, XStandardColormap \- allocate, set, or read a standard colormap structure
.SH SYNTAX
.HP
XStandardColormap *XAllocStandardColormap\^(void\^);
.HP
void XSetRGBColormaps\^(\^Display *\fIdisplay\fP, Window \fIw\fP,
XStandardColormap *\fIstd_colormap\fP,
int \fIcount\fP, Atom \fIproperty\fP\^);
.HP
Status XGetRGBColormaps\^(\^Display *\fIdisplay\fP, Window \fIw\fP,
XStandardColormap **\fIstd_colormap_return\fP, int *\fIcount_return\fP,
Atom \fIproperty\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIcount\fP 1i
Specifies the number of colormaps.
.IP \fIcount_return\fP 1i
Returns the number of colormaps.
.IP \fIproperty\fP 1i
Specifies the property name.
.IP \fIstd_colormap\fP 1i
Specifies the
.B XStandardColormap
structure to be used.
.IP \fIstd_colormap_return\fP 1i
Returns the
.B XStandardColormap
structure.
.SH DESCRIPTION
The
.B XAllocStandardColormap
function allocates and returns a pointer to a
.B XStandardColormap
structure.
Note that all fields in the
.B XStandardColormap
structure are initially set to zero.
If insufficient memory is available,
.B XAllocStandardColormap
returns NULL.
To free the memory allocated to this structure,
use
.BR XFree .
.LP
The
.B XSetRGBColormaps
function replaces the RGB colormap definition in the specified property
on the named window.
If the property does not already exist,
.B XSetRGBColormaps
sets the RGB colormap definition in the specified property
on the named window.
The property is stored with a type of RGB_COLOR_MAP and a format of 32.
Note that it is the caller's responsibility to honor the ICCCM
restriction that only RGB_DEFAULT_MAP contain more than one definition.
.LP
The
.B XSetRGBColormaps
function usually is only used by window or session managers.
To create a standard colormap,
follow this procedure:
.IP 1. 5
Open a new connection to the same server.
.IP 2. 5
Grab the server.
.IP 3. 5
See if the property is on the property list of the root window for the screen.
.IP 4. 5
If the desired property is not present:
.RS
.IP \(bu 5
Create a colormap (unless you are using the default colormap of the screen).
.IP \(bu 5
Determine the color characteristics of the visual.
.IP \(bu 5
Allocate cells in the colormap (or create it with
.BR AllocAll ).
.IP \(bu 5
Call
.B XStoreColors
to store appropriate color values in the colormap.
.IP \(bu 5
Fill in the descriptive members in the
.B XStandardColormap
structure.
.IP \(bu 5
Attach the property to the root window.
.IP \(bu 5
Use
.B XSetCloseDownMode
to make the resource permanent.
.RE
.IP 5. 5
Ungrab the server.
.LP
.B XSetRGBColormaps
can generate
.BR BadAlloc ,
.BR BadAtom ,
and
.B BadWindow
errors.
.LP
The
.B XGetRGBColormaps
function returns the RGB colormap definitions stored
in the specified property on the named window.
If the property exists, is of type RGB_COLOR_MAP, is of format 32,
and is long enough to contain a colormap definition,
.B XGetRGBColormaps
allocates and fills in space for the returned colormaps
and returns a nonzero status.
If the visualid is not present,
.B XGetRGBColormaps
assumes the default visual for the screen on which the window is located;
if the killid is not present,
.B None
is assumed, which indicates that the resources cannot be released.
Otherwise,
none of the fields are set, and
.B XGetRGBColormaps
returns a zero status.
Note that it is the caller's responsibility to honor the ICCCM
restriction that only RGB_DEFAULT_MAP contain more than one definition.
.LP
.B XGetRGBColormaps
can generate
.B BadAtom
and
.B BadWindow
errors.
.SH STRUCTURES
The
.B XStandardColormap
structure contains:
.LP
/\&* Hints */
.TS
lw(.5i) lw(2i) lw(1i).
T{
\define
T} T{
.B ReleaseByFreeingColormap
T} T{
( (XID) 1L)
T}
.TE
/\&* Values */
.EX
typedef struct {
Colormap colormap;
unsigned long red_max;
unsigned long red_mult;
unsigned long green_max;
unsigned long green_mult;
unsigned long blue_max;
unsigned long blue_mult;
unsigned long base_pixel;
VisualID visualid;
XID killid;
} XStandardColormap;
.EE
.LP
The colormap member is the colormap created by the
.B XCreateColormap
function.
The red_max, green_max, and blue_max members give the maximum
red, green, and blue values, respectively.
Each color coefficient ranges from zero to its max, inclusive.
For example,
a common colormap allocation is 3/3/2 (3 planes for red, 3
planes for green, and 2 planes for blue).
This colormap would have red_max = 7, green_max = 7,
and blue_max = 3.
An alternate allocation that uses only 216 colors is red_max = 5,
green_max = 5, and blue_max = 5.
.LP
The red_mult, green_mult, and blue_mult members give the
scale factors used to compose a full pixel value.
(See the discussion of the base_pixel members for further information.)
For a 3/3/2 allocation, red_mult might be 32,
green_mult might be 4, and blue_mult might be 1.
For a 6-colors-each allocation, red_mult might be 36,
green_mult might be 6, and blue_mult might be 1.
.LP
The base_pixel member gives the base pixel value used to
compose a full pixel value.
Usually, the base_pixel is obtained from a call to the
.B XAllocColorPlanes
function.
Given integer red, green, and blue coefficients in their appropriate
ranges, one then can compute a corresponding pixel value by
using the following expression:
.LP
.EX
(r * red_mult + g * green_mult + b * blue_mult + base_pixel) & 0xFFFFFFFF
.EE
.LP
For
.B GrayScale
colormaps,
only the colormap, red_max, red_mult,
and base_pixel members are defined.
The other members are ignored.
To compute a
.B GrayScale
pixel value, use the following expression:
.LP
.EX
(gray * red_mult + base_pixel) & 0xFFFFFFFF
.EE
.LP
Negative multipliers can be represented by converting the 2's
complement representation of the multiplier into an unsigned long and
storing the result in the appropriate _mult field.
The step of masking by 0xFFFFFFFF effectively converts the resulting
positive multiplier into a negative one.
The masking step will take place automatically on many machine architectures,
depending on the size of the integer type used to do the computation,
.LP
The visualid member gives the ID number of the visual from which the
colormap was created.
The killid member gives a resource ID that indicates whether
the cells held by this standard colormap are to be released
by freeing the colormap ID or by calling the
.B XKillClient
function on the indicated resource.
(Note that this method is necessary for allocating out of an existing colormap.)
.LP
The properties containing the
.B XStandardColormap
information have
the type RGB_COLOR_MAP.
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadAtom
A value for an Atom argument does not name a defined Atom.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XAllocColor(__libmansuffix__),
XCreateColormap(__libmansuffix__),
XFree(__libmansuffix__),
XSetCloseDownMode(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XSetICFocus.man 0000644 0001750 0001750 00000007310 14222353101 013046 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSetICFocus __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSetICFocus, XUnsetICFocus \- set and unset input context focus
.SH SYNTAX
.HP
void XSetICFocus\^(\^XIC \fIic\fP\^);
.HP
void XUnsetICFocus\^(\^XIC \fIic\fP\^);
.SH ARGUMENTS
.IP \fIic\fP 1i
Specifies the input context.
.SH DESCRIPTION
The
.B XSetICFocus
function allows a client to notify an input method that the focus window
attached to the specified input context has received keyboard focus.
The input method should take action to provide appropriate feedback.
Complete feedback specification is a matter of user interface policy.
.LP
Calling
.B XSetICFocus
does not affect the focus window value.
.LP
The
.B XUnsetICFocus
function allows a client to notify an input method that the specified input context
has lost the keyboard focus and that no more input is expected on the focus window
attached to that input context.
The input method should take action to provide appropriate feedback.
Complete feedback specification is a matter of user interface policy.
.LP
Calling
.B XUnsetICFocus
does not affect the focus window value;
the client may still receive
events from the input method that are directed to the focus window.
.SH "SEE ALSO"
XCreateIC(__libmansuffix__),
XOpenIM(__libmansuffix__),
XSetICValues(__libmansuffix__),
XmbResetIC(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XmbTextPerCharExtents.man 0000644 0001750 0001750 00000015500 14222353101 015162 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
.\" Copyright \(co 2000 The XFree86 Project, Inc.
.\"
.\" 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XmbTextPerCharExtents __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XmbTextPerCharExtents, XwcTextPerCharExtents, Xutf8TextPerCharExtents \- obtain per-character information for a text string
.SH SYNTAX
.HP
Status XmbTextPerCharExtents\^(\^XFontSet \fIfont_set\fP\^,
_Xconst char
*\fIstring\fP\^, int \fInum_bytes\fP\^, XRectangle *\fIink_array_return\fP\^,
XRectangle *\fIlogical_array_return\fP\^, int \fIarray_size\fP\^, int
*\fInum_chars_return\fP\^, XRectangle *\fIoverall_ink_return\fP\^, XRectangle
*\fIoverall_logical_return\fP\^);
.HP
Status XwcTextPerCharExtents\^(\^XFontSet \fIfont_set\fP\^,
_Xconst wchar_t
*\fIstring\fP\^, int \fInum_wchars\fP\^, XRectangle
*\fIink_array_return\fP\^, XRectangle *\fIlogical_array_return\fP, int
\fIarray_size\fP\^, int *\fInum_chars_return\fP\^, XRectangle
*\fIoverall_ink_return\fP\^, XRectangle *\fIoverall_logical_return\fP\^);
.HP
Status Xutf8TextPerCharExtents\^(\^XFontSet \fIfont_set\fP\^,
_Xconst char
*\fIstring\fP\^, int \fInum_bytes\fP\^, XRectangle *\fIink_array_return\fP\^,
XRectangle *\fIlogical_array_return\fP\^, int \fIarray_size\fP\^, int
*\fInum_chars_return\fP\^, XRectangle *\fIoverall_ink_return\fP\^, XRectangle
*\fIoverall_logical_return\fP\^);
.SH ARGUMENTS
.IP \fIarray_size\fP 1i
Specifies the size of ink_array_return and logical_array_return.
The caller must pass in arrays of this size.
.IP \fIfont_set\fP 1i
Specifies the font set.
.IP \fIink_array_return\fP 1i
Returns the ink dimensions for each character.
.IP \fIlogical_array_return\fP 1i
Returns the logical dimensions for each character.
.IP \fInum_bytes\fP 1i
Specifies the number of bytes in the string argument.
.IP \fInum_chars_return\fP 1i
Returns the number of characters in the string argument.
.IP \fInum_wchars\fP 1i
Specifies the number of characters in the string argument.
.IP \fIoverall_ink_return\fP 1i
Returns the overall ink extents of the entire string.
.IP \fIoverall_logical_return\fP 1i
Returns the overall logical extents of the entire string.
.IP \fIstring\fP 1i
Specifies the character string.
.SH DESCRIPTION
The
.BR XmbTextPerCharExtents ,
.B XwcTextPerCharExtents
and
.B Xutf8TextPerCharExtents
functions return the text dimensions of each character of the specified text,
using the fonts loaded for the specified font set.
Each successive element of ink_array_return and logical_array_return
is set to the successive character's drawn metrics,
relative to the drawing origin of the string and one
rectangle
for each character in the supplied text string.
The number of elements of ink_array_return and logical_array_return
that have been set is returned to num_chars_return.
.LP
Each element of ink_array_return is set to the bounding box
of the corresponding character's drawn foreground color.
Each element of logical_array_return is set to the bounding box
that provides minimum spacing to other graphical features
for the corresponding character.
Other graphical features should not intersect any of the
logical_array_return rectangles.
.LP
Note that an
.B XRectangle
represents the effective drawing dimensions of the character,
regardless of the number of font glyphs that are used to draw
the character or the direction in which the character is drawn.
If multiple characters map to a single character glyph,
the dimensions of all the
.B XRectangles
of those characters are the same.
.LP
When the
.B XFontSet
has missing charsets, metrics for each unavailable
character are taken from the default string returned by
.B XCreateFontSet
so that the metrics represent the text as it will actually be drawn.
The behavior for an invalid codepoint is undefined.
.LP
If the array_size is too small for the number of characters in the
supplied text, the functions return zero
and num_chars_return is set to the number of rectangles required.
Otherwise, the functions return a nonzero value.
.LP
If the overall_ink_return or overall_logical_return argument is non-NULL,
.BR XmbTextPerCharExtents ,
.B XwcTextPerCharExtents
and
.B Xutf8TextPerCharExtents
return the maximum extent of the string's metrics to overall_ink_return
or overall_logical_return, as returned by
.BR XmbTextExtents ,
.B XwcTextExtents
or
.BR Xutf8TextExtents .
.LP
The function
.B Xutf8TextPerCharExtents
is an extension introduced by The XFree86 Project, Inc., in their 4.0.2
release.
Its presence is
indicated by the macro
.BR X_HAVE_UTF8_STRING .
.SH "SEE ALSO"
XmbTextEscapement(__libmansuffix__),
XmbTextExtents(__libmansuffix__)
\fI\*(xL\fP
libX11-1.7.5/man/XIMOfIC.man 0000644 0001750 0001750 00000000063 14222353101 012103 0000000 0000000 .so man__libmansuffix__/XCreateIC.__libmansuffix__
libX11-1.7.5/man/XSizeHints.man 0000644 0001750 0001750 00000000071 14222353101 013014 0000000 0000000 .so man__libmansuffix__/XAllocSizeHints.__libmansuffix__
libX11-1.7.5/man/XClearWindow.man 0000644 0001750 0001750 00000000064 14222353101 013314 0000000 0000000 .so man__libmansuffix__/XClearArea.__libmansuffix__
libX11-1.7.5/man/XUngrabKey.man 0000644 0001750 0001750 00000000062 14222353101 012763 0000000 0000000 .so man__libmansuffix__/XGrabKey.__libmansuffix__
libX11-1.7.5/man/IsModifierKey.man 0000644 0001750 0001750 00000000065 14222353101 013452 0000000 0000000 .so man__libmansuffix__/IsCursorKey.__libmansuffix__
libX11-1.7.5/man/XConfigureRequestEvent.man 0000644 0001750 0001750 00000012533 14222353101 015376 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XConfigureRequestEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XConfigureRequestEvent \- ConfigureRequest event structure
.SH STRUCTURES
The structure for
.B ConfigureRequest
events contains:
.LP
.EX
typedef struct {
int type; /\&* ConfigureRequest */
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window parent;
Window window;
int x, y;
int width, height;
int border_width;
Window above;
int detail; /\&* Above, Below, TopIf, BottomIf, Opposite */
unsigned long value_mask;
} XConfigureRequestEvent;
.EE
.LP
When you receive this event,
the structure members are set as follows.
.LP
The type member is set to the event type constant name that uniquely identifies
it.
For example, when the X server reports a
.B GraphicsExpose
event to a client application, it sends an
.B XGraphicsExposeEvent
structure with the type member set to
.BR GraphicsExpose .
The display member is set to a pointer to the display the event was read on.
The send_event member is set to
.B True
if the event came from a
.B SendEvent
protocol request.
The serial member is set from the serial number reported in the protocol
but expanded from the 16-bit least-significant bits to a full 32-bit value.
The window member is set to the window that is most useful to toolkit
dispatchers.
.LP
The parent member is set to the parent window.
The window member is set to the window whose size, position, border width,
and/or stacking order is to be reconfigured.
The value_mask member indicates which components were specified in the
.B ConfigureWindow
protocol request.
The corresponding values are reported as given in the request.
The remaining values are filled in from the current geometry of the window,
except in the case of above (sibling) and detail (stack-mode),
which are reported as
.B None
and
.BR Above ,
respectively, if they are not given in the request.
.SH "SEE ALSO"
XAnyEvent(__libmansuffix__),
XButtonEvent(__libmansuffix__),
XCreateWindowEvent(__libmansuffix__),
XCirculateEvent(__libmansuffix__),
XCirculateRequestEvent(__libmansuffix__),
XColormapEvent(__libmansuffix__),
XConfigureEvent(__libmansuffix__),
XCrossingEvent(__libmansuffix__),
XDestroyWindowEvent(__libmansuffix__),
XErrorEvent(__libmansuffix__),
XExposeEvent(__libmansuffix__),
XFocusChangeEvent(__libmansuffix__),
XGraphicsExposeEvent(__libmansuffix__),
XGravityEvent(__libmansuffix__),
XKeymapEvent(__libmansuffix__),
XMapEvent(__libmansuffix__),
XMapRequestEvent(__libmansuffix__),
XPropertyEvent(__libmansuffix__),
XReparentEvent(__libmansuffix__),
XResizeRequestEvent(__libmansuffix__),
XSelectionClearEvent(__libmansuffix__),
XSelectionEvent(__libmansuffix__),
XSelectionRequestEvent(__libmansuffix__),
XUnmapEvent(__libmansuffix__),
XVisibilityEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/WhitePixel.man 0000644 0001750 0001750 00000000063 14222353101 013027 0000000 0000000 .so man__libmansuffix__/AllPlanes.__libmansuffix__
libX11-1.7.5/man/XMatchVisualInfo.man 0000644 0001750 0001750 00000000070 14222353101 014127 0000000 0000000 .so man__libmansuffix__/XGetVisualInfo.__libmansuffix__
libX11-1.7.5/man/XGetClassHint.man 0000644 0001750 0001750 00000000071 14222353101 013424 0000000 0000000 .so man__libmansuffix__/XAllocClassHint.__libmansuffix__
libX11-1.7.5/man/XContextualDrawing.man 0000644 0001750 0001750 00000000071 14222353101 014536 0000000 0000000 .so man__libmansuffix__/XFontsOfFontSet.__libmansuffix__
libX11-1.7.5/man/XAddPixel.man 0000644 0001750 0001750 00000000064 14222353101 012570 0000000 0000000 .so man__libmansuffix__/XInitImage.__libmansuffix__
libX11-1.7.5/man/XcmsQueryGreen.man 0000644 0001750 0001750 00000000070 14222353101 013664 0000000 0000000 .so man__libmansuffix__/XcmsQueryBlack.__libmansuffix__
libX11-1.7.5/man/XGetVisualInfo.man 0000644 0001750 0001750 00000012653 14222353101 013624 0000000 0000000 '\" t
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
'\" t
.TH XGetVisualInfo __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XGetVisualInfo, XMatchVisualInfo, XVisualIDFromVisual, XVisualInfo \- obtain visual information and visual structure
.SH SYNTAX
.HP
XVisualInfo *XGetVisualInfo\^(\^Display *\fIdisplay\fP\^, long
\fIvinfo_mask\fP\^, XVisualInfo *\fIvinfo_template\fP\^, int
*\fInitems_return\fP\^);
.HP
Status XMatchVisualInfo\^(\^Display *\fIdisplay\fP\^, int \fIscreen\fP\^, int
\fIdepth\fP\^, int \fIclass\fP\^, XVisualInfo *\fIvinfo_return\fP\^);
.HP
VisualID XVisualIDFromVisual\^(\^Visual *\^\fIvisual\fP\^);
.SH ARGUMENTS
.IP \fIclass\fP 1i
Specifies the class of the screen.
.IP \fIdepth\fP 1i
Specifies the depth of the screen.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fInitems_return\fP 1i
Returns the number of matching visual structures.
.IP \fIscreen\fP 1i
Specifies the screen.
.IP \fIvisual\fP 1i
Specifies the visual type.
.IP \fIvinfo_mask\fP 1i
Specifies the visual mask value.
.IP \fIvinfo_return\fP 1i
Returns the matched visual information.
.IP \fIvinfo_template\fP 1i
Specifies the visual attributes that are to be used in matching the visual
structures.
.SH DESCRIPTION
The
.B XGetVisualInfo
function returns a list of visual structures that have attributes
equal to the attributes specified by vinfo_template.
If no visual structures match the template using the specified vinfo_mask,
.B XGetVisualInfo
returns a NULL.
To free the data returned by this function, use
.BR XFree .
.LP
The
.B XMatchVisualInfo
function returns the visual information for a visual that matches the specified
depth and class for a screen.
Because multiple visuals that match the specified depth and class can exist,
the exact visual chosen is undefined.
If a visual is found,
.B XMatchVisualInfo
returns nonzero and the information on the visual to vinfo_return.
Otherwise, when a visual is not found,
.B XMatchVisualInfo
returns zero.
.LP
The
.B XVisualIDFromVisual
function returns the visual ID for the specified visual type.
.SH STRUCTURES
The
.B XVisualInfo
structure contains:
.LP
.LP
/\&* Visual information mask bits */
.TS
lw(.5i) lw(2.5i) lw(.8i).
T{
\define
T} T{
.B VisualNoMask
T} T{
0x0
T}
T{
\define
T} T{
.B VisualIDMask
T} T{
0x1
T}
T{
\define
T} T{
.B VisualScreenMask
T} T{
0x2
T}
T{
\define
T} T{
.B VisualDepthMask
T} T{
0x4
T}
T{
\define
T} T{
.B VisualClassMask
T} T{
0x8
T}
T{
\define
T} T{
.B VisualRedMaskMask
T} T{
0x10
T}
T{
\define
T} T{
.B VisualGreenMaskMask
T} T{
0x20
T}
T{
\define
T} T{
.B VisualBlueMaskMask
T} T{
0x40
T}
T{
\define
T} T{
.B VisualColormapSizeMask
T} T{
0x80
T}
T{
\define
T} T{
.B VisualBitsPerRGBMask
T} T{
0x100
T}
T{
\define
T} T{
.B VisualAllMask
T} T{
0x1FF
T}
.TE
.EX
/\&* Values */
typedef struct {
Visual *visual;
VisualID visualid;
int screen;
int depth;
int class;
unsigned long red_mask;
unsigned long green_mask;
unsigned long blue_mask;
int colormap_size;
int bits_per_rgb;
} XVisualInfo;
.EE
.SH "SEE ALSO"
XFree(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XGetIconName.man 0000644 0001750 0001750 00000000070 14222353101 013224 0000000 0000000 .so man__libmansuffix__/XSetWMIconName.__libmansuffix__
libX11-1.7.5/man/XIconifyWindow.man 0000644 0001750 0001750 00000013671 14222353101 013676 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XIconifyWindow __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XIconifyWindow, XWithdrawWindow, XReconfigureWMWindow \- manipulate top-level windows
.SH SYNTAX
.HP
Status XIconifyWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP, int
\fIscreen_number\fP\^);
.HP
Status XWithdrawWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, int
\fIscreen_number\fP\^);
.HP
Status XReconfigureWMWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
int \fIscreen_number\fP\^, unsigned int \fIvalue_mask\fP\^, XWindowChanges
*\fIvalues\fP);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIscreen_number\fP 1i
Specifies the appropriate screen number on the host server.
.IP \fIvalue_mask\fP 1i
Specifies which values are to be set using information in
the values structure.
This mask is the bitwise inclusive OR of the valid configure window values bits.
.IP \fIvalues\fP 1i
Specifies the
.B XWindowChanges
structure.
.IP \fIw\fP 1i
Specifies the window.
.SH DESCRIPTION
The
.B XIconifyWindow
function sends a WM_CHANGE_STATE
.B ClientMessage
event with a format of 32 and a first data element of
.B IconicState
(as described in section 4.1.4 of the
\fIInter-Client Communication Conventions Manual\fP)
and a window of w
to the root window of the specified screen
with an event mask set to
.BR SubstructureNotifyMask |
.BR SubstructureRedirectMask .
Window managers may elect to receive this message and
if the window is in its normal state,
may treat it as a request to change the window's state from normal to iconic.
If the WM_CHANGE_STATE property cannot be interned,
.B XIconifyWindow
does not send a message and returns a zero status.
It returns a nonzero status if the client message is sent successfully;
otherwise, it returns a zero status.
.LP
The
.B XWithdrawWindow
function unmaps the specified window
and sends a synthetic
.B UnmapNotify
event to the root window of the specified screen.
Window managers may elect to receive this message
and may treat it as a request to change the window's state to withdrawn.
When a window is in the withdrawn state,
neither its normal nor its iconic representations is visible.
It returns a nonzero status if the
.B UnmapNotify
event is successfully sent;
otherwise, it returns a zero status.
.LP
.B XWithdrawWindow
can generate a
.B BadWindow
error.
.LP
The
.B XReconfigureWMWindow
function issues a
.B ConfigureWindow
request on the specified top-level window.
If the stacking mode is changed and the request fails with a
.B BadMatch
error,
the error is trapped by Xlib and a synthetic
.B ConfigureRequestEvent
containing the same configuration parameters is sent to the root
of the specified window.
Window managers may elect to receive this event
and treat it as a request to reconfigure the indicated window.
It returns a nonzero status if the request or event is successfully sent;
otherwise, it returns a zero status.
.LP
.B XReconfigureWMWindow
can generate
.B BadValue
and
.B BadWindow
errors.
.SH DIAGNOSTICS
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XChangeWindowAttributes(__libmansuffix__),
XConfigureWindow(__libmansuffix__),
XCreateWindow(__libmansuffix__),
XDestroyWindow(__libmansuffix__),
XRaiseWindow(__libmansuffix__),
XMapWindow(__libmansuffix__),
XUnmapWindow(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XKeycodeToKeysym.man 0000644 0001750 0001750 00000000071 14222353101 014164 0000000 0000000 .so man__libmansuffix__/XStringToKeysym.__libmansuffix__
libX11-1.7.5/man/XUnloadFont.man 0000644 0001750 0001750 00000000063 14222353101 013146 0000000 0000000 .so man__libmansuffix__/XLoadFont.__libmansuffix__
libX11-1.7.5/man/XCreateGlyphCursor.man 0000644 0001750 0001750 00000000073 14222353101 014503 0000000 0000000 .so man__libmansuffix__/XCreateFontCursor.__libmansuffix__
libX11-1.7.5/man/ProtocolVersion.man 0000644 0001750 0001750 00000000063 14222353101 014114 0000000 0000000 .so man__libmansuffix__/AllPlanes.__libmansuffix__
libX11-1.7.5/man/XKillClient.man 0000644 0001750 0001750 00000000073 14222353101 013130 0000000 0000000 .so man__libmansuffix__/XSetCloseDownMode.__libmansuffix__
libX11-1.7.5/man/ProtocolRevision.man 0000644 0001750 0001750 00000000063 14222353101 014265 0000000 0000000 .so man__libmansuffix__/AllPlanes.__libmansuffix__
libX11-1.7.5/man/XCreateOC.man 0000644 0001750 0001750 00000011256 14222353101 012530 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XCreateOC __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XCreateOC, XDestroyOC, XSetOCValues, XGetOCValues, XOMOfOC \- create output contexts
.SH SYNTAX
.HP
XOC XCreateOC\^(\^XOM \fIom\fP\^, ...);
.HP
void XDestroyOC\^(\^XOC \fIoc\fP\^);
.HP
char * XSetOCValues\^(\^XOC \fIoc\fP\^, ...);
.HP
char * XGetOCValues\^(\^XOC \fIoc\fP\^, ...);
.HP
XOM XOMOfOC\^(\^XOC \fIoc\fP\^);
.SH ARGUMENTS
.IP \fIoc\fP 1i
Specifies the output context.
.IP \fIom\fP 1i
Specifies the output method.
.IP ... 1i
Specifies the variable length argument list to set or get XOC values.
.SH DESCRIPTION
The
.B XCreateOC
function creates an output context within the specified output method.
.LP
The base font names argument is mandatory at creation time, and
the output context will not be created unless it is provided.
All other output context values can be set later.
.LP
.B XCreateOC
returns NULL if no output context could be created.
NULL can be returned for any of the following reasons:
.IP \(bu 5
A required argument was not set.
.IP \(bu 5
A read-only argument was set.
.IP \(bu 5
An argument name is not recognized.
.IP \(bu 5
The output method encountered an output method implementation-dependent error.
.LP
The
.B XDestroyOC
function destroys the specified output context.
.LP
The
.B XSetOCValues
function returns NULL if no error occurred;
otherwise,
it returns the name of the first argument that could not be set.
An argument might not be set for any of the following reasons:
.IP \(bu 5
The argument is read-only.
.IP \(bu 5
The argument name is not recognized.
.IP \(bu 5
An implementation-dependent error occurs.
.LP
Each value to be set must be an appropriate datum,
matching the data type imposed by the semantics of the argument.
.LP
The
.B XGetOCValues
function returns NULL if no error occurred; otherwise,
it returns the name of the first argument that could not be obtained.
An argument might not be obtained for any of the following reasons:
.IP \(bu 5
The argument name is not recognized.
.IP \(bu 5
An implementation-dependent error occurs.
.LP
Each argument value
following a name must point to a location where the value is to be stored.
.LP
The
.B XOMOfOC
function returns the output method associated with the
specified output context.
.SH "SEE ALSO"
XCreateOM(__libmansuffix__),
XCreateFontSet(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XcmsSetCCCOfColormap.man 0000644 0001750 0001750 00000000073 14222353101 014627 0000000 0000000 .so man__libmansuffix__/XcmsCCCOfColormap.__libmansuffix__
libX11-1.7.5/man/XDestroySubwindows.man 0000644 0001750 0001750 00000000070 14222353101 014611 0000000 0000000 .so man__libmansuffix__/XDestroyWindow.__libmansuffix__
libX11-1.7.5/man/XAllocColor.man 0000644 0001750 0001750 00000026144 14222353101 013136 0000000 0000000 '\" e
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
'\" e
.TH XAllocColor __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XAllocColor, XAllocNamedColor, XAllocColorCells, XAllocColorPlanes, XFreeColors \- allocate and free colors
.SH SYNTAX
.HP
Status XAllocColor\^(\^Display *\fIdisplay\fP, Colormap \fIcolormap\fP\^,
XColor *\fIscreen_in_out\fP\^);
.HP
Status XAllocNamedColor\^(\^Display *\fIdisplay\fP, Colormap \fIcolormap\fP\^,
_Xconst char *\fIcolor_name\fP\^, XColor *\fIscreen_def_return\fP\^, XColor
*\fIexact_def_return\fP\^);
.HP
Status XAllocColorCells\^(\^Display *\fIdisplay\fP, Colormap \fIcolormap\fP\^,
Bool \fIcontig\fP\^, unsigned long \fIplane_masks_return\fP[\^]\^, unsigned int
\fInplanes\fP\^, unsigned long \fIpixels_return\fP[\^]\^, unsigned int
\fInpixels\fP\^);
.HP
Status XAllocColorPlanes\^(\^Display *\fIdisplay\fP, Colormap
\fIcolormap\fP\^, Bool \fIcontig\fP\^, unsigned long
\fIpixels_return\fP[\^]\^, int \fIncolors\fP\^, int \fInreds\fP\^, int
\fIngreens\fP\^, int \fInblues\fP\^, unsigned long *\fIrmask_return\fP\^,
unsigned long *\fIgmask_return\fP\^, unsigned long *\fIbmask_return\fP\^);
.HP
int XFreeColors\^(\^Display *\fIdisplay\fP, Colormap \fIcolormap\fP\^, unsigned
long \fIpixels\fP\^[\^], int \fInpixels\fP\^, unsigned long \fIplanes\fP\^);
.IP \fIcolor_name\fP 1i
Specifies the color name string (for example, red) whose color
definition structure you want returned.
.IP \fIcolormap\fP 1i
Specifies the colormap.
.IP \fIcontig\fP 1i
Specifies a Boolean value that indicates whether the planes must be contiguous.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIexact_def_return\fP 1i
Returns the exact RGB values.
.IP \fIncolors\fP 1i
Specifies the number of pixel values that are to be returned in the
pixels_return array.
.IP \fInpixels\fP 1i
Specifies the number of pixels.
.IP \fInplanes\fP 1i
Specifies the number of plane masks that are to be returned in the plane masks
array.
.IP \fInreds\fP 1i
.br
.ns
.IP \fIngreens\fP 1i
.br
.ns
.IP \fInblues\fP 1i
.br
.ns
Specify the number of red, green, and blue planes.
The value you pass must be nonnegative.
.IP \fIpixels\fP 1i
Specifies an array of pixel values.
.IP \fIpixels_return\fP 1i
Returns an array of pixel values.
.IP \fIplane_mask_return\fP 1i
Returns an array of plane masks.
.\" *** JIM: NEED MORE INFO FOR THIS. ***
.IP \fIplanes\fP 1i
Specifies the planes you want to free.
.IP \fIrmask_return\fP 1i
.br
.ns
.IP \fIgmask_return\fP 1i
.br
.ns
.IP \fIbmask_return\fP 1i
Return bit masks for the red, green, and blue planes.
.IP \fIscreen_def_return\fP 1i
Returns the closest RGB values provided by the hardware.
.IP \fIscreen_in_out\fP 1i
Specifies and returns the values actually used in the colormap.
.SH DESCRIPTION
The
.B XAllocColor
function allocates a read-only colormap entry corresponding to the closest
RGB value supported by the hardware.
.B XAllocColor
returns the pixel value of the color closest to the specified
RGB elements supported by the hardware
and returns the RGB value actually used.
The corresponding colormap cell is read-only.
In addition,
.B XAllocColor
returns nonzero if it succeeded or zero if it failed.
Multiple clients that request the same effective RGB value can be assigned
the same read-only entry, thus allowing entries to be shared.
When the last client deallocates a shared cell, it is deallocated.
.B XAllocColor
does not use or affect the flags in the
.B XColor
structure.
.LP
.B XAllocColor
can generate a
.B BadColor
error.
.LP
The
.B XAllocNamedColor
function looks up the named color with respect to the screen that is
associated with the specified colormap.
It returns both the exact database definition and
the closest color supported by the screen.
The allocated color cell is read-only.
The pixel value is returned in screen_def_return.
If the color name is not in the Host Portable Character Encoding,
the result is implementation-dependent.
Use of uppercase or lowercase does not matter.
If screen_def_return and exact_def_return
point to the same structure, the pixel field will be set correctly,
but the color values are undefined.
.B XAllocNamedColor
returns nonzero if a cell is allocated;
otherwise, it returns zero.
.LP
.B XAllocNamedColor
can generate a
.B BadColor
error.
.LP
.EQ
delim %%
.EN
The
.B XAllocColorCells
function allocates read/write color cells.
The number of colors must be positive and the number of planes nonnegative,
or a
.B BadValue
error results.
If ncolors and nplanes are requested,
then ncolors pixels
and nplane plane masks are returned.
No mask will have any bits set to 1 in common with
any other mask or with any of the pixels.
By ORing together each pixel with zero or more masks,
ncolors * %2 sup nplanes% distinct pixels can be produced.
All of these are
allocated writable by the request.
For
.B GrayScale
or
.BR PseudoColor ,
each mask has exactly one bit set to 1.
For
.BR DirectColor ,
each has exactly three bits set to 1.
If contig is
.B True
and if all masks are ORed
together, a single contiguous set of bits set to 1 will be formed for
.B GrayScale
or
.B PseudoColor
and three contiguous sets of bits set to 1 (one within each
pixel subfield) for
.BR DirectColor .
The RGB values of the allocated
entries are undefined.
.B XAllocColorCells
returns nonzero if it succeeded or zero if it failed.
.LP
.B XAllocColorCells
can generate
.B BadColor
and
.B BadValue
errors.
.LP
.EQ
delim %%
.EN
The specified ncolors must be positive;
and nreds, ngreens, and nblues must be nonnegative,
or a
.B BadValue
error results.
If ncolors colors, nreds reds, ngreens greens, and nblues blues are requested,
ncolors pixels are returned; and the masks have nreds, ngreens, and
nblues bits set to 1, respectively.
If contig is
.BR True ,
each mask will have
a contiguous set of bits set to 1.
No mask will have any bits set to 1 in common with
any other mask or with any of the pixels.
For
.BR DirectColor ,
each mask
will lie within the corresponding pixel subfield.
By ORing together
subsets of masks with each pixel value,
ncolors * %2 sup (nreds+ngreens+nblues)% distinct pixel values can be produced.
All of these are allocated by the request.
However, in the
colormap, there are only ncolors * %2 sup nreds% independent red entries,
ncolors * %2 sup ngreens% independent green entries,
and ncolors * %2 sup nblues% independent blue entries.
This is true even for
.BR PseudoColor .
When the colormap entry of a pixel
value is changed (using
.BR XStoreColors ,
.BR XStoreColor ,
or
.BR XStoreNamedColor ),
the pixel is decomposed according to the masks,
and the corresponding independent entries are updated.
.B XAllocColorPlanes
returns nonzero if it succeeded or zero if it failed.
.LP
.B XAllocColorPlanes
can generate
.B BadColor
and
.B BadValue
errors.
.LP
The
.B XFreeColors
function frees the cells represented by pixels whose values are in the
pixels array.
The planes argument should not have any bits set to 1 in common with any of the
pixels.
The set of all pixels is produced by ORing together subsets of
the planes argument with the pixels.
The request frees all of these pixels that
were allocated by the client (using
.BR XAllocColor ,
.BR XAllocNamedColor ,
.BR XAllocColorCells ,
and
.BR XAllocColorPlanes ).
Note that freeing an
individual pixel obtained from
.B XAllocColorPlanes
may not actually allow
it to be reused until all of its related pixels are also freed.
Similarly,
a read-only entry is not actually freed until it has been freed by all clients,
and if a client allocates the same read-only entry multiple times,
it must free the entry that many times before the entry is actually freed.
.LP
All specified pixels that are allocated by the client in the colormap are
freed, even if one or more pixels produce an error.
If a specified pixel is not a valid index into the colormap, a
.B BadValue
error results.
If a specified pixel is not allocated by the
client (that is, is unallocated or is only allocated by another client)
or if the colormap was created with all entries writable (by passing
.B AllocAll
to
.BR XCreateColormap ),
a
.B BadAccess
error results.
If more than one pixel is in error,
the one that gets reported is arbitrary.
.LP
.B XFreeColors
can generate
.BR BadAccess ,
.BR BadColor ,
and
.B BadValue
errors.
.SH DIAGNOSTICS
.TP 1i
.B BadAccess
A client attempted
to free a color map entry that it did not already allocate.
.TP 1i
.B BadAccess
A client attempted
to store into a read-only color map entry.
.TP 1i
.B BadColor
A value for a Colormap argument does not name a defined Colormap.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
XCreateColormap(__libmansuffix__),
XQueryColor(__libmansuffix__),
XStoreColors(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XDefineCursor.man 0000644 0001750 0001750 00000007343 14222353101 013475 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XDefineCursor __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XDefineCursor, XUndefineCursor \- define cursors
.SH SYNTAX
.HP
int XDefineCursor\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Cursor
\fIcursor\fP\^);
.HP
int XUndefineCursor\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
.SH ARGUMENTS
.IP \fIcursor\fP 1i
Specifies the cursor that is to be displayed or
.BR None .
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIw\fP 1i
Specifies the window.
.SH DESCRIPTION
If a cursor is set, it will be used when the pointer is in the window.
If the cursor is
.BR None ,
it is equivalent to
.BR XUndefineCursor .
.LP
.B XDefineCursor
can generate
.B BadCursor
and
.B BadWindow
errors.
.LP
The
.B XUndefineCursor
function undoes the effect of a previous
.B XDefineCursor
for this window.
When the pointer is in the window,
the parent's cursor will now be used.
On the root window,
the default cursor is restored.
.LP
.B XUndefineCursor
can generate a
.B BadWindow
error.
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadCursor
A value for a Cursor argument does not name a defined Cursor.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XCreateFontCursor(__libmansuffix__),
XRecolorCursor(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XSetAfterFunction.man 0000644 0001750 0001750 00000000066 14222353101 014323 0000000 0000000 .so man__libmansuffix__/XSynchronize.__libmansuffix__
libX11-1.7.5/man/XDisplayOfIM.man 0000644 0001750 0001750 00000000061 14222353101 013213 0000000 0000000 .so man__libmansuffix__/XOpenIM.__libmansuffix__
libX11-1.7.5/man/XwcFreeStringList.man 0000644 0001750 0001750 00000000103 14222353101 014326 0000000 0000000 .so man__libmansuffix__/XmbTextListToTextProperty.__libmansuffix__
libX11-1.7.5/man/XGetOMValues.man 0000644 0001750 0001750 00000000061 14222353101 013226 0000000 0000000 .so man__libmansuffix__/XOpenOM.__libmansuffix__
libX11-1.7.5/man/XSetStipple.man 0000644 0001750 0001750 00000000062 14222353101 013170 0000000 0000000 .so man__libmansuffix__/XSetTile.__libmansuffix__
libX11-1.7.5/man/XFreeCursor.man 0000644 0001750 0001750 00000000070 14222353101 013152 0000000 0000000 .so man__libmansuffix__/XRecolorCursor.__libmansuffix__
libX11-1.7.5/man/XListFonts.man 0000644 0001750 0001750 00000015052 14222353101 013026 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XListFonts __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XListFonts, XFreeFontNames, XListFontsWithInfo, XFreeFontInfo \- obtain or free font names and information
.SH SYNTAX
.HP
char **XListFonts\^(\^Display *\^\fIdisplay\fP\^, _Xconst char *\^\fIpattern\fP\^, int
\fImaxnames\fP\^, int *\^\fIactual_count_return\fP\^);
.HP
int XFreeFontNames\^(\^char *\fIlist\fP\^[\^]\^);
.HP
char **XListFontsWithInfo\^(\^Display *\fIdisplay\fP\^, _Xconst char *\fIpattern\fP\^,
int \fImaxnames\fP\^, int *\fIcount_return\fP\^, XFontStruct
**\fIinfo_return\fP\^);
.HP
int XFreeFontInfo(\^char **\fInames\fP\^, XFontStruct *\fIfree_info\fP, int
\fIactual_count\fP\^);
.SH ARGUMENTS
.IP \fIactual_count\fP 1i
Specifies the actual number of font names.
.IP \fIactual_count_return\fP 1i
Returns the actual number of font names.
.IP \fIcount_return\fP 1i
Returns the actual number of matched font names.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIinfo_return\fP 1i
Returns the font information.
.IP \fIfree_info\fP 1i
Specifies the font information.
.IP \fIlist\fP 1i
Specifies the array of strings you want to free.
.IP \fImaxnames\fP 1i
Specifies the maximum number of names to be returned.
.IP \fInames\fP 1i
Specifies the list of font names.
.IP \fIpattern\fP 1i
Specifies the null-terminated pattern string that can contain wildcard
characters.
.SH DESCRIPTION
The
.B XListFonts
function returns an array of available font names
(as controlled by the font search path; see
.BR XSetFontPath )
that match the string you passed to the pattern argument.
The pattern string can contain any characters,
but each asterisk (*) is a wildcard for any number of characters,
and each question mark (?) is a wildcard for a single character.
If the pattern string is not in the Host Portable Character Encoding,
the result is implementation-dependent.
Use of uppercase or lowercase does not matter.
Each returned string is null-terminated.
If the data returned by the server is in the Latin Portable Character Encoding,
then the returned strings are in the Host Portable Character Encoding.
Otherwise, the result is implementation-dependent.
If there are no matching font names,
.B XListFonts
returns NULL.
The client should call
.B XFreeFontNames
when finished with the result to free the memory.
.LP
The
.B XFreeFontNames
function frees the array and strings returned by
.B XListFonts
or
.BR XListFontsWithInfo .
.LP
The
.B XListFontsWithInfo
function returns a list of font names that match the specified pattern and their
associated font information.
The list of names is limited to size specified by maxnames.
The information returned for each font is identical to what
.B XLoadQueryFont
would return except that the per-character metrics are not returned.
The pattern string can contain any characters,
but each asterisk (*) is a wildcard for any number of characters,
and each question mark (?) is a wildcard for a single character.
If the pattern string is not in the Host Portable Character Encoding,
the result is implementation-dependent.
Use of uppercase or lowercase does not matter.
Each returned string is null-terminated.
If the data returned by the server is in the Latin Portable Character Encoding,
then the returned strings are in the Host Portable Character Encoding.
Otherwise, the result is implementation-dependent.
If there are no matching font names,
.B XListFontsWithInfo
returns NULL.
.LP
To free only the allocated name array,
the client should call
.BR XFreeFontNames .
To free both the name array and the font information array
or to free just the font information array,
the client should call
.BR XFreeFontInfo .
.LP
The
.B XFreeFontInfo
function frees a font structure or an array of font structures
and optionally an array of font names.
If NULL is passed for names, no font names are freed.
If a font structure for an open font (returned by
.BR XLoadQueryFont )
is passed, the structure is freed,
but the font is not closed; use
.B XUnloadFont
to close the font.
.LP
Note that
.B XListFontsWithInfo
is not thread-safe.
If other threads make X requests on the same
.BR Display ,
then this function's behavior is undefined.
.SH "SEE ALSO"
XLoadFont(__libmansuffix__),
XSetFontPath(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XParseGeometry.man 0000644 0001750 0001750 00000015407 14222353101 013673 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XParseGeometry __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XParseGeometry, XWMGeometry \- parse window geometry
.SH SYNTAX
.HP
int XParseGeometry\^(\^_Xconst char *\fIparsestring\fP\^, int *\fIx_return\fP\^, int
*\fIy_return\fP\^, unsigned int *\fIwidth_return\fP\^, unsigned int
*\fIheight_return\fP\^);
.HP
int XWMGeometry\^(\^Display *\fIdisplay\fP\^, int \fIscreen\fP\^, _Xconst char
*\fIuser_geom\fP\^, _Xconst char *\fIdef_geom\fP\^, unsigned int \fIbwidth\fP\^,
XSizeHints *\fIhints\fP\^, int *\fIx_return\fP, int *\fIy_return\fP\^, int
*\fIwidth_return\fP\^, int *\fIheight_return\fP\^, int
*\fIgravity_return\fP\^);
.SH ARGUMENTS
.IP \fIposition\fP 1i
.br
.ns
.IP \fIdefault_position\fP 1i
Specify the geometry specifications.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIfheight\fP 1i
.br
.ns
.IP \fIfwidth\fP 1i
Specify the font height and width in pixels (increment size).
.IP \fIparsestring\fP 1i
Specifies the string you want to parse.
.IP \fIscreen\fP 1i
Specifies the screen.
.IP \fIwidth_return\fP 1i
.br
.ns
.IP \fIheight_return\fP 1i
Return the width and height determined.
.IP \fIxadder\fP 1i
.br
.ns
.IP \fIyadder\fP 1i
Specify additional interior padding needed in the window.
.IP \fIx_return\fP 1i
.br
.ns
.IP \fIy_return\fP 1i
Return the x and y offsets.
.IP \fIbwidth\fP 1i
Specifies the border width.
.IP \fIhints\fP 1i
Specifies the size hints for the window in its normal state.
.IP \fIdef_geom\fP 1i
Specifies the application's default geometry or NULL.
.IP \fIgravity_return\fP 1i
Returns the window gravity.
.IP \fIuser_geom\fP 1i
Specifies the user-specified geometry or NULL.
.SH DESCRIPTION
By convention,
X applications use a standard string to indicate window size and placement.
.B XParseGeometry
makes it easier to conform to this standard because it allows you
to parse the standard window geometry.
Specifically, this function lets you parse strings of the form:
.LP
.\" Start marker code here
.EX
[=][<\fIwidth\fP>{xX}<\fIheight\fP>][{+-}<\fIxoffset\fP>{+-}<\fIyoffset\fP>]
.EE
.\" End marker code here
.LP
The fields map into the arguments associated with this function.
(Items enclosed in <\^> are integers, items in [\^] are optional, and
items enclosed in {\^} indicate \*(lqchoose one of.\*(rq
Note that the brackets should not appear in the actual string.)
If the string is not in the Host Portable Character Encoding,
the result is implementation-dependent.
.LP
The
.B XParseGeometry
function returns a bitmask that indicates which of the four values (width,
height, xoffset, and yoffset) were actually found in the string
and whether the x and y values are negative.
By convention, \-0 is not equal to +0, because the user needs to
be able to say \*(lqposition the window relative to the right or bottom edge.\*(rq
For each value found, the corresponding argument is updated.
For each value not found, the argument is left unchanged.
The bits are represented by
.BR XValue ,
.BR YValue ,
.BR WidthValue ,
.BR HeightValue ,
.BR XNegative ,
or
.B YNegative
and are defined in
.BR X11/Xutil.h .
They will be set whenever one of the values is defined
or one of the signs is set.
.LP
If the function returns either the
.B XValue
or
.B YValue
flag,
you should place the window at the requested position.
.LP
The
.B XWMGeometry
function combines any geometry information (given in the format used by
.BR XParseGeometry )
specified by the user and by the calling program with size hints
(usually the ones to be stored in WM_NORMAL_HINTS) and returns the position,
size, and gravity
.RB ( NorthWestGravity ,
.BR NorthEastGravity ,
.BR SouthEastGravity ,
or
.BR SouthWestGravity )
that describe the window.
If the base size is not set in the
.B XSizeHints
structure,
the minimum size is used if set.
Otherwise, a base size of zero is assumed.
If no minimum size is set in the hints structure,
the base size is used.
A mask (in the form returned by
.BR XParseGeometry )
that describes which values came from the user specification
and whether or not the position coordinates are relative
to the right and bottom edges is returned.
Note that these coordinates will have already been accounted for
in the x_return and y_return values.
.LP
Note that invalid geometry specifications can cause a width or height
of zero to be returned.
The caller may pass the address of the hints win_gravity field
as gravity_return to update the hints directly.
.SH "SEE ALSO"
XSetWMProperties(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XSetTile.man 0000644 0001750 0001750 00000011247 14222353101 012454 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSetTile __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSetTile, XSetStipple, XSetTSOrigin \- GC convenience routines
.SH SYNTAX
.HP
int XSetTile\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, Pixmap
\fItile\fP\^);
.HP
int XSetStipple\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, Pixmap
\fIstipple\fP\^);
.HP
int XSetTSOrigin\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, int
\fIts_x_origin\fP\^, int \fIts_y_origin\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIgc\fP 1i
Specifies the GC.
.IP \fIstipple\fP 1i
Specifies the stipple you want to set for the specified GC.
.IP \fItile\fP 1i
Specifies the fill tile you want to set for the specified GC.
.IP \fIts_x_origin\fP 1i
.br
.ns
.IP \fIts_y_origin\fP 1i
Specify the x and y coordinates of the tile and stipple origin.
.SH DESCRIPTION
The
.B XSetTile
function sets the fill tile in the specified GC.
The tile and GC must have the same depth,
or a
.B BadMatch
error results.
.LP
.B XSetTile
can generate
.BR BadAlloc ,
.BR BadGC ,
.BR BadMatch ,
and
.B BadPixmap
errors.
.LP
The
.B XSetStipple
function sets the stipple in the specified GC.
The stipple must have a depth of one,
or a
.B BadMatch
error results.
.LP
.B XSetStipple
can generate
.BR BadAlloc ,
.BR BadGC ,
.BR BadMatch ,
and
.B BadPixmap
errors.
.LP
The
.B XSetTSOrigin
function sets the tile/stipple origin in the specified GC.
When graphics requests call for tiling or stippling,
the parent's origin will be interpreted relative to whatever destination
drawable is specified in the graphics request.
.LP
.B XSetTSOrigin
can generate
.B BadAlloc
and
.B BadGC
errors.
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadGC
A value for a GContext argument does not name a defined GContext.
.TP 1i
.B BadMatch
Some argument or pair of arguments has the correct type and range but fails
to match in some other way required by the request.
.TP 1i
.B BadPixmap
A value for a Pixmap argument does not name a defined Pixmap.
.SH "SEE ALSO"
XCreateGC(__libmansuffix__),
XQueryBestSize(__libmansuffix__),
XSetArcMode(__libmansuffix__),
XSetClipOrigin(__libmansuffix__),
XSetFillStyle(__libmansuffix__),
XSetFont(__libmansuffix__),
XSetLineAttributes(__libmansuffix__),
XSetState(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XInitThreads.man 0000644 0001750 0001750 00000010723 14222353101 013317 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XInitThreads __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XInitThreads, XLockDisplay, XUnlockDisplay \- multi-threading support
.SH SYNTAX
.HP
Status XInitThreads\^(void);
.HP
void XLockDisplay\^(\^Display *\fIdisplay\fP\^);
.HP
void XUnlockDisplay\^(\^Display *\fIdisplay\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.SH DESCRIPTION
The
.B XInitThreads
function initializes Xlib support for concurrent threads.
This function must be the first Xlib function a
multi-threaded program calls, and it must complete
before any other Xlib call is made.
This function returns a nonzero status if initialization was
successful; otherwise, it returns zero.
On systems that do not support threads, this function always returns zero.
.LP
It is only necessary to call this function if multiple threads
might use Xlib concurrently.
If all calls to Xlib functions
are protected by some other access mechanism (for example,
a mutual exclusion lock in a toolkit or through explicit client
programming), Xlib thread initialization is not required.
It is recommended that single-threaded programs not call this function.
.LP
The
.B XLockDisplay
function locks out all other threads from using the specified display.
Other threads attempting to use the display will block until
the display is unlocked by this thread.
Nested calls to
.B XLockDisplay
work correctly; the display will not actually be unlocked until
.B XUnlockDisplay
has been called the same number of times as
.BR XLockDisplay .
This function has no effect unless Xlib was successfully initialized
for threads using
.BR XInitThreads .
.LP
The
.B XUnlockDisplay
function allows other threads to use the specified display again.
Any threads that have blocked on the display are allowed to continue.
Nested locking works correctly; if
.B XLockDisplay
has been called multiple times by a thread, then
.B XUnlockDisplay
must be called an equal number of times before the display is
actually unlocked.
This function has no effect unless Xlib was successfully initialized
for threads using
.BR XInitThreads .
.SH "SEE ALSO"
\fI\*(xL\fP
libX11-1.7.5/man/XQueryTree.man 0000644 0001750 0001750 00000007637 14222353101 013040 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XQueryTree __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XQueryTree \- query window tree information
.SH SYNTAX
.HP
Status XQueryTree\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Window
*\fIroot_return\fP\^, Window *\fIparent_return\fP\^, Window
**\fIchildren_return\fP\^, unsigned int *\fInchildren_return\fP\^);
.SH ARGUMENTS
.IP \fIchildren_return\fP 1i
Returns the list of children.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fInchildren_return\fP 1i
Returns the number of children.
.IP \fIparent_return\fP 1i
Returns the parent window.
.IP \fIroot_return\fP 1i
Returns the root window.
.IP \fIw\fP 1i
Specifies the window whose list of children, root, parent, and number of children
you want to obtain.
.SH DESCRIPTION
The
.B XQueryTree
function returns the root ID, the parent window ID,
a pointer to the list of children windows
(NULL when there are no children),
and the number of children in the list for the specified window.
The children are listed in current stacking order, from bottom-most
(first) to top-most (last).
.B XQueryTree
returns zero if it fails and nonzero if it succeeds.
To free a non-NULL children list when it is no longer needed, use
.BR XFree .
.LP
.B XQueryTree
can generate a
.B BadWindow
error.
.SH BUGS
This really should return a screen *, not a root window ID.
.SH DIAGNOSTICS
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XFree(__libmansuffix__),
XGetWindowAttributes(__libmansuffix__),
XQueryPointer(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/QLength.man 0000644 0001750 0001750 00000000063 14222353101 012307 0000000 0000000 .so man__libmansuffix__/AllPlanes.__libmansuffix__
libX11-1.7.5/man/XcmsPad.man 0000644 0001750 0001750 00000000063 14222353101 012304 0000000 0000000 .so man__libmansuffix__/XcmsColor.__libmansuffix__
libX11-1.7.5/man/XCreateFontCursor.man 0000644 0001750 0001750 00000017435 14222353101 014340 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XCreateFontCursor __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XCreateFontCursor, XCreatePixmapCursor, XCreateGlyphCursor \- create cursors
.SH SYNTAX
\include
.HP
Cursor XCreateFontCursor\^(\^Display *\fIdisplay\fP\^, unsigned int
\fIshape\fP\^);
.HP
Cursor XCreatePixmapCursor\^(\^Display *\fIdisplay\fP\^, Pixmap
\fIsource\fP\^, Pixmap \fImask\fP\^, XColor *\fIforeground_color\fP\^, XColor
*\fIbackground_color\fP\^, unsigned int \fIx\fP\^, unsigned int \fIy\fP\^);
.HP
Cursor XCreateGlyphCursor\^(\^Display *\fIdisplay\fP\^, Font
\fIsource_font\fP\^, Font \fImask_font\fP\^, unsigned int \fIsource_char\fP\^,
unsigned int \fImask_char\fP\^, XColor _Xconst *\fIforeground_color\fP\^, XColor
_Xconst *\fIbackground_color\fP\^);
.SH ARGUMENTS
.IP \fIbackground_color\fP 1i
Specifies the RGB values for the background of the source.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIforeground_color\fP 1i
Specifies the RGB values for the foreground of the source.
.IP \fImask\fP 1i
Specifies the cursor's source bits to be displayed or
.BR None .
.IP \fImask_char\fP 1i
Specifies the glyph character for the mask.
.IP \fImask_font\fP 1i
Specifies the font for the mask glyph or
.BR None .
.IP \fIshape\fP 1i
Specifies the shape of the cursor.
.IP \fIsource\fP 1i
Specifies the shape of the source cursor.
.\" *** JIM: NEED TO CHECK THIS. ***
.IP \fIsource_char\fP 1i
Specifies the character glyph for the source.
.IP \fIsource_font\fP 1i
Specifies the font for the source glyph.
.IP \fIx\fP 1i
.br
.ns
.IP \fIy\fP 1i
Specify the x and y coordinates, which indicate the
hotspot relative to the source's origin.
.SH DESCRIPTION
X provides a set of standard cursor shapes in a special font named
cursor.
Applications are encouraged to use this interface for their cursors
because the font can be customized for the individual display type.
The shape argument specifies which glyph of the standard fonts
to use.
.LP
The hotspot comes from the information stored in the cursor font.
The initial colors of a cursor are a black foreground and a white
background (see
.BR XRecolorCursor ).
.LP
.B XCreateFontCursor
can generate
.B BadAlloc
and
.B BadValue
errors.
.LP
The
.B XCreatePixmapCursor
function creates a cursor and returns the cursor ID associated with it.
The foreground and background RGB values must be specified using
foreground_color and background_color,
even if the X server only has a
.B StaticGray
or
.B GrayScale
screen.
The foreground color is used for the pixels set to 1 in the
source, and the background color is used for the pixels set to 0.
Both source and mask, if specified, must have depth one (or a
.B BadMatch
error results) but can have any root.
The mask argument defines the shape of the cursor.
The pixels set to 1 in the mask define which source pixels are displayed,
and the pixels set to 0 define which pixels are ignored.
If no mask is given,
all pixels of the source are displayed.
The mask, if present, must be the same size as the pixmap defined by the
source argument, or a
.B BadMatch
error results.
The hotspot must be a point within the source,
or a
.B BadMatch
error results.
.LP
The components of the cursor can be transformed arbitrarily to meet
display limitations.
The pixmaps can be freed immediately if no further explicit references
to them are to be made.
Subsequent drawing in the source or mask pixmap has an undefined effect on the
cursor.
The X server might or might not make a copy of the pixmap.
.LP
.B XCreatePixmapCursor
can generate
.B BadAlloc
and
.B BadPixmap
errors.
.LP
The
.B XCreateGlyphCursor
function is similar to
.B XCreatePixmapCursor
except that the source and mask bitmaps are obtained from the specified
font glyphs.
The source_char must be a defined glyph in source_font,
or a
.B BadValue
error results.
If mask_font is given,
mask_char must be a defined glyph in mask_font,
or a
.B BadValue
error results.
The mask_font and character are optional.
The origins of the source_char and mask_char (if defined) glyphs are
positioned coincidently and define the hotspot.
The source_char and mask_char need not have the same bounding box metrics,
and there is no restriction on the placement of the hotspot relative to the bounding
boxes.
If no mask_char is given, all pixels of the source are displayed.
You can free the fonts immediately by calling
.B XFreeFont
if no further explicit references to them are to be made.
.LP
For 2-byte matrix fonts,
the 16-bit value should be formed with the byte1
member in the most significant byte and the byte2 member in the
least significant byte.
.LP
.B XCreateGlyphCursor
can generate
.BR BadAlloc ,
.BR BadFont ,
and
.B BadValue
errors.
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadFont
A value for a Font or GContext argument does not name a defined Font.
.TP 1i
.B BadMatch
Some argument or pair of arguments has the correct type and range but fails
to match in some other way required by the request.
.TP 1i
.B BadPixmap
A value for a Pixmap argument does not name a defined Pixmap.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
XDefineCursor(__libmansuffix__),
XLoadFont(__libmansuffix__),
XRecolorCursor(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XrmInitialize.man 0000644 0001750 0001750 00000015621 14222353101 013543 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XrmInitialize __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XrmInitialize, XrmParseCommand, XrmValue, XrmOptionKind, XrmOptionDescRec \- initialize the Resource Manager, Resource Manager structures, and parse the command line
.SH SYNTAX
.HP
#include
.HP
void XrmInitialize\^(void\^);
.HP
void XrmParseCommand\^(\^XrmDatabase *\fIdatabase\fP\^, XrmOptionDescList
\fItable\fP\^, int \fItable_count\fP\^,
_Xconst char *\fIname\fP\^, int
*\fIargc_in_out\fP\^, char **\fIargv_in_out\fP\^);
.SH ARGUMENTS
.IP \fIargc_in_out\fP 1i
Specifies the number of arguments and returns the number of remaining arguments.
.IP \fIargv_in_out\fP 1i
Specifies the command line arguments
and returns the remaining arguments.
.IP \fIdatabase\fP 1i
Specifies the resource database.
.IP \fIname\fP 1i
Specifies the application name.
.IP \fItable\fP 1i
Specifies the table of command line arguments to be parsed.
.IP \fItable_count\fP 1i
Specifies the number of entries in the table.
.SH DESCRIPTION
The
.B XrmInitialize
function initialize the resource manager.
It must be called before any other Xrm functions are used.
.LP
The
.B XrmParseCommand
function parses an (argc, argv) pair according to the specified option table,
loads recognized options into the specified database with type \*(lqString,\*(rq
and modifies the (argc, argv) pair to remove all recognized options.
If database contains NULL,
.B XrmParseCommand
creates a new database and returns a pointer to it.
Otherwise, entries are added to the database specified.
If a database is created, it is created in the current locale.
.LP
The specified table is used to parse the command line.
Recognized options in the table are removed from argv,
and entries are added to the specified resource database
in the order they occur in argv.
The table entries contain information on the option string,
the option name, the style of option,
and a value to provide if the option kind is
.BR XrmoptionNoArg .
The option names are compared byte-for-byte to arguments in argv,
independent of any locale.
The resource values given in the table are stored in the resource database
without modification.
All resource database entries are created
using a \*(lqString\*(rq representation type.
The argc argument specifies the number of arguments in argv
and is set on return to the remaining number of arguments that were not parsed.
The name argument should be the name of your application
for use in building the database entry.
The name argument is prefixed to the resourceName in the option table
before storing a database entry.
The name argument is treated as a single component, even if it
has embedded periods.
No separating (binding) character is inserted,
so the table must contain either a period (.) or an asterisk (*)
as the first character in each resourceName entry.
To specify a more completely qualified resource name,
the resourceName entry can contain multiple components.
If the name argument and the resourceNames are not in the
Host Portable Character Encoding,
the result is implementation-dependent.
.SH STRUCTURES
The
.BR XrmValue ,
.BR XrmOptionKind ,
and
.B XrmOptionDescRec
structures contain:
.LP
.EX
typedef struct {
unsigned int size;
XPointer addr;
} XrmValue, *XrmValuePtr;
.EE
.LP
.EX
typedef enum {
XrmoptionNoArg, /\&* Value is specified in XrmOptionDescRec.value */
XrmoptionIsArg, /\&* Value is the option string itself */
XrmoptionStickyArg, /\&* Value is characters immediately following option */
XrmoptionSepArg, /\&* Value is next argument in argv */
XrmoptionResArg, /\&* Resource and value in next argument in argv */
XrmoptionSkipArg, /\&* Ignore this option and the next argument in argv */
XrmoptionSkipLine, /\&* Ignore this option and the rest of argv */
XrmoptionSkipNArgs /\&* Ignore this option and the next
\ \ \ XrmOptionDescRec.value arguments in argv */
} XrmOptionKind;
.EE
.LP
.EX
typedef struct {
char *option; /\&* Option specification string in argv */
char *specifier; /\&* Binding and resource name (sans application name) */
XrmOptionKind argKind; /\&* Which style of option it is */
XPointer value; /\&* Value to provide if XrmoptionNoArg or
\ \ \ XrmoptionSkipNArgs */
} XrmOptionDescRec, *XrmOptionDescList;
.EE
.SH "SEE ALSO"
XrmGetResource(__libmansuffix__),
XrmMergeDatabases(__libmansuffix__),
XrmPutResource(__libmansuffix__),
XrmUniqueQuark(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XGetWMColormapWindows.man 0000644 0001750 0001750 00000000077 14222353101 015135 0000000 0000000 .so man__libmansuffix__/XSetWMColormapWindows.__libmansuffix__
libX11-1.7.5/man/XcmsConvertColors.man 0000644 0001750 0001750 00000010706 14222353101 014407 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XcmsConvertColors __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XcmsConvertColors \- convert CCC color specifications
.SH SYNTAX
.HP
Status XcmsConvertColors\^(\^XcmsCCC \fIccc\fP\^, XcmsColor
\fIcolors_in_out\fP\^[\^]\^, unsigned int \fIncolors\fP\^, XcmsColorFormat
\fItarget_format\fP\^, Bool \fIcompression_flags_return\fP\^[\^]\^);
.SH ARGUMENTS
.IP \fIccc\fP 1i
Specifies the CCC.
If Conversion is between device-independent color spaces only
(for example, TekHVC to CIELuv),
the CCC is necessary only to specify the Client White Point.
.IP \fIcolors_in_out\fP 1i
Specifies an array of color specifications.
Pixel members are ignored and remain unchanged upon return.
.IP \fIcompression_flags_return\fP 1i
Returns an array of Boolean values indicating compression status.
If a non-NULL pointer is supplied,
each element of the array is set to
.B True
if the corresponding color was compressed and
.B False
otherwise.
Pass NULL if the compression status is not useful.
.IP \fIncolors\fP 1i
Specifies the number of
.B XcmsColor
structures in the color-specification array.
.IP \fItarget_format\fP 1i
Specifies the target color specification format.
.SH DESCRIPTION
The
.B XcmsConvertColors
function converts the color specifications in the specified array of
.B XcmsColor
structures from their current format to a single target format,
using the specified CCC.
When the return value is
.BR XcmsFailure ,
the contents of the color specification array are left unchanged.
.LP
The array may contain a mixture of color specification formats
(for example, 3 CIE XYZ, 2 CIE Luv, and so on).
When the array contains both device-independent and
device-dependent color specifications and the target_format argument specifies
a device-dependent format (for example,
.BR XcmsRGBiFormat ,
.BR XcmsRGBFormat ),
all specifications are converted to CIE XYZ format and then to the target
device-dependent format.
.SH "SEE ALSO"
DisplayOfCCC(__libmansuffix__),
XcmsCCCOfColormap(__libmansuffix__),
XcmsCreateCCC(__libmansuffix__),
XcmsDefaultCCC(__libmansuffix__),
XcmsSetWhitePoint(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/IsFunctionKey.man 0000644 0001750 0001750 00000000065 14222353101 013501 0000000 0000000 .so man__libmansuffix__/IsCursorKey.__libmansuffix__
libX11-1.7.5/man/XStandardColormap.man 0000644 0001750 0001750 00000000100 14222353101 014322 0000000 0000000 .so man__libmansuffix__/XAllocStandardColormap.__libmansuffix__
libX11-1.7.5/man/XErrorEvent.man 0000644 0001750 0001750 00000010547 14222353101 013200 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XErrorEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XErrorEvent \- X error event structure
.SH STRUCTURES
The
.B XErrorEvent
structure contains:
.LP
.EX
typedef struct {
int type;
Display *display; /\&* Display the event was read from */
XID resourceid; /\&* resource id */
unsigned long serial; /\&* serial number of failed request */
unsigned char error_code; /\&* error code of failed request */
unsigned char request_code; /\&* Major op-code of failed request */
unsigned char minor_code; /\&* Minor op-code of failed request */
} XErrorEvent;
.EE
.LP
When you receive this event,
the structure members are set as follows.
.LP
The serial member is the number of requests, starting from one,
sent over the network connection since it was opened.
It is the number that was the value of
.B NextRequest
immediately before the failing call was made.
The request_code member is a protocol request
of the procedure that failed, as defined in
.BR X11/Xproto.h .
.SH "SEE ALSO"
AllPlanes(__libmansuffix__),
XAnyEvent(__libmansuffix__),
XButtonEvent(__libmansuffix__),
XCreateWindowEvent(__libmansuffix__),
XCirculateEvent(__libmansuffix__),
XCirculateRequestEvent(__libmansuffix__),
XColormapEvent(__libmansuffix__),
XConfigureEvent(__libmansuffix__),
XConfigureRequestEvent(__libmansuffix__),
XCrossingEvent(__libmansuffix__),
XDestroyWindowEvent(__libmansuffix__),
XExposeEvent(__libmansuffix__),
XFocusChangeEvent(__libmansuffix__),
XGraphicsExposeEvent(__libmansuffix__),
XGravityEvent(__libmansuffix__),
XKeymapEvent(__libmansuffix__),
XMapEvent(__libmansuffix__),
XMapRequestEvent(__libmansuffix__),
XPropertyEvent(__libmansuffix__),
XReparentEvent(__libmansuffix__),
XResizeRequestEvent(__libmansuffix__),
XSelectionClearEvent(__libmansuffix__),
XSelectionEvent(__libmansuffix__),
XSelectionRequestEvent(__libmansuffix__),
XUnmapEvent(__libmansuffix__),
XVisibilityEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/DefaultVisualOfScreen.man 0000644 0001750 0001750 00000000074 14222353101 015144 0000000 0000000 .so man__libmansuffix__/BlackPixelOfScreen.__libmansuffix__
libX11-1.7.5/man/XFreeFontInfo.man 0000644 0001750 0001750 00000000064 14222353101 013422 0000000 0000000 .so man__libmansuffix__/XListFonts.__libmansuffix__
libX11-1.7.5/man/XTextExtents16.man 0000644 0001750 0001750 00000000066 14222353101 013546 0000000 0000000 .so man__libmansuffix__/XTextExtents.__libmansuffix__
libX11-1.7.5/man/XActivateScreenSaver.man 0000644 0001750 0001750 00000000071 14222353101 014775 0000000 0000000 .so man__libmansuffix__/XSetScreenSaver.__libmansuffix__
libX11-1.7.5/man/XSetDashes.man 0000644 0001750 0001750 00000000074 14222353101 012762 0000000 0000000 .so man__libmansuffix__/XSetLineAttributes.__libmansuffix__
libX11-1.7.5/man/XStoreBuffer.man 0000644 0001750 0001750 00000000065 14222353101 013325 0000000 0000000 .so man__libmansuffix__/XStoreBytes.__libmansuffix__
libX11-1.7.5/man/XQueryColor.man 0000644 0001750 0001750 00000020436 14222353101 013207 0000000 0000000 '\" t
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XQueryColor __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XQueryColor, XQueryColors, XLookupColor, XParseColor \- obtain color values
.SH SYNTAX
.HP
int XQueryColor\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^, XColor
*\fIdef_in_out\fP\^);
.HP
int XQueryColors\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^,
XColor \fIdefs_in_out\fP[\^]\^, int \fIncolors\fP\^);
.HP
Status XLookupColor\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^,
_Xconst char *\fIcolor_name\fP\^, XColor *\fIexact_def_return\fP\^, XColor
*\fIscreen_def_return\fP\^);
.HP
Status XParseColor\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^,
_Xconst char *\fIspec\fP\^, XColor *\fIexact_def_return\fP\^);
.SH ARGUMENTS
.IP \fIcolormap\fP 1i
Specifies the colormap.
.IP \fIcolor_name\fP 1i
Specifies the color name string (for example, red) whose color
definition structure you want returned.
.IP \fIdef_in_out\fP 1i
Specifies and returns the RGB values for the pixel specified in the structure.
.IP \fIdefs_in_out\fP 1i
Specifies and returns an array of color definition structures for the pixel
specified in the structure.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIexact_def_return\fP 1i
Returns the exact RGB values.
.IP \fIncolors\fP 1i
.\"Specifies the number of color definition structures.
Specifies the number of
.B XColor
structures in the color definition array.
.IP \fIscreen_def_return\fP 1i
Returns the closest RGB values provided by the hardware.
.IP \fIspec\fP 1i
Specifies the color name string;
case is ignored.
.IP \fIexact_def_return\fP 1i
Returns the exact color value for later use and sets the
.BR DoRed ,
.BR DoGreen ,
and
.B DoBlue
flags.
.SH DESCRIPTION
The
.B XQueryColor
function returns the current RGB value for the pixel in the
.B XColor
structure and sets the
.BR DoRed ,
.BR DoGreen ,
and
.B DoBlue
flags.
The
.B XQueryColors
function returns the RGB value for each pixel in each
.B XColor
structure and sets the
.BR DoRed ,
.BR DoGreen ,
and
.B DoBlue
flags in each structure.
.LP
.B XQueryColor
and
.B XQueryColors
can generate
.B BadColor
and
.B BadValue
errors.
.LP
The
.B XLookupColor
function looks up the string name of a color with respect to the screen
associated with the specified colormap.
It returns both the exact color values and
the closest values provided by the screen
with respect to the visual type of the specified colormap.
If the color name is not in the Host Portable Character Encoding,
the result is implementation-dependent.
Use of uppercase or lowercase does not matter.
.B XLookupColor
returns nonzero if the name is resolved;
otherwise, it returns zero.
.LP
The
.B XParseColor
function looks up the string name of a color with respect to the screen
associated with the specified colormap.
It returns the exact color value.
If the color name is not in the Host Portable Character Encoding,
the result is implementation-dependent.
Use of uppercase or lowercase does not matter.
.B XParseColor
returns nonzero if the name is resolved;
otherwise, it returns zero.
.LP
.B XLookupColor
and
.B XParseColor
can generate
.B BadColor
error.
.SH "COLOR NAMES"
An RGB Device specification is identified by
the prefix \*(lqrgb:\*(rq and conforms to the following syntax:
.LP
.\" Start marker code here
.EX
rgb:\fI//\fP
\fI\fP, \fI\fP, \fI\fP := \fIh\fP | \fIhh\fP | \fIhhh\fP | \fIhhhh\fP
\fIh\fP := single hexadecimal digits (case insignificant)
.EE
.\" End marker code here
.LP
Note that \fIh\fP indicates the value scaled in 4 bits,
\fIhh\fP the value scaled in 8 bits,
\fIhhh\fP the value scaled in 12 bits,
and \fIhhhh\fP the value scaled in 16 bits, respectively.
.LP
For backward compatibility, an older syntax for RGB Device is
supported, but its continued use is not encouraged.
The syntax is an initial sharp sign character followed by
a numeric specification, in one of the following formats:
.LP
.TS
l l.
\RGB (4 bits each)
\RRGGBB (8 bits each)
\RRRGGGBBB (12 bits each)
\RRRRGGGGBBBB (16 bits each)
.TE
.LP
The R, G, and B represent single hexadecimal digits.
When fewer than 16 bits each are specified,
they represent the most significant bits of the value
(unlike the \*(lqrgb:\*(rq syntax, in which values are scaled).
For example, the string \*(lq#3a7\*(rq is the same as \*(lq#3000a0007000\*(rq.
.LP
An RGB intensity specification is identified
by the prefix \*(lqrgbi:\*(rq and conforms to the following syntax:
.LP
.\" Start marker code here
.EX
rgbi:\fI//\fP
.EE
.\" End marker code here
.LP
Note that red, green, and blue are floating-point values
between 0.0 and 1.0, inclusive.
The input format for these values is an optional sign,
a string of numbers possibly containing a decimal point,
and an optional exponent field containing an E or e
followed by a possibly signed integer string.
.LP
The standard device-independent string specifications have
the following syntax:
.LP
.\" Start marker code here
.EX
CIEXYZ:\fI//\fP
CIEuvY:\fI//\fP
CIExyY:\fI//\fP
CIELab:\fI//\fP
CIELuv:\fI//\fP
TekHVC:\fI//\fP
.EE
.\" End marker code here
.LP
All of the values (C, H, V, X, Y, Z, a, b, u, v, y, x) are
floating-point values.
The syntax for these values is an optional plus or minus sign,
a string of digits possibly containing a decimal point,
and an optional exponent field consisting of an \*(lqE\*(rq or \*(lqe\*(rq
followed by an optional plus or minus followed by a string of digits.
.SH DIAGNOSTICS
.TP 1i
.B BadColor
A value for a Colormap argument does not name a defined Colormap.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
XAllocColor(__libmansuffix__),
XCreateColormap(__libmansuffix__),
XStoreColors(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XcmsDefaultCCC.man 0000644 0001750 0001750 00000006353 14222353101 013505 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XcmsDefaultCCC __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XcmsDefaultCCC \- obtain the default CCC for a screen
.SH SYNTAX
.HP
XcmsCCC XcmsDefaultCCC\^(\^Display *\fIdisplay\fP\^, int
\fIscreen_number\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIscreen_number\fP 1i
Specifies the appropriate screen number on the host server.
.SH DESCRIPTION
The
.B XcmsDefaultCCC
function returns the default CCC for the specified screen.
Its visual is the default visual of the screen.
Its initial gamut compression and white point
adjustment procedures as well as the associated client data are implementation
specific.
.SH "SEE ALSO"
DisplayOfCCC(__libmansuffix__),
XcmsCCCOfColormap(__libmansuffix__),
XcmsConvertColors(__libmansuffix__),
XcmsCreateCCC(__libmansuffix__),
XcmsSetWhitePoint(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/Xutf8DrawText.man 0000644 0001750 0001750 00000000065 14222353101 013450 0000000 0000000 .so man__libmansuffix__/XmbDrawText.__libmansuffix__
libX11-1.7.5/man/XListExtensions.man 0000644 0001750 0001750 00000000071 14222353101 014067 0000000 0000000 .so man__libmansuffix__/XQueryExtension.__libmansuffix__
libX11-1.7.5/man/XButtonEvent.man 0000644 0001750 0001750 00000023217 14222353101 013360 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XButtonEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XButtonEvent, XKeyEvent, XMotionEvent \- KeyPress, KeyRelease, ButtonPress, ButtonRelease, and MotionNotify event structures
.SH STRUCTURES
The structures for
.BR KeyPress ,
.BR KeyRelease ,
.BR ButtonPress ,
.BR ButtonRelease ,
and
.B MotionNotify
events contain:
.LP
.EX
typedef struct {
int type; /\&* ButtonPress or ButtonRelease */
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window window; /\&* \*(lqevent\*(rq window it is reported relative to */
Window root; /\&* root window that the event occurred on */
Window subwindow; /\&* child window */
Time time; /\&* milliseconds */
int x, y; /\&* pointer x, y coordinates in event window */
int x_root, y_root; /\&* coordinates relative to root */
unsigned int state; /\&* key or button mask */
unsigned int button; /\&* detail */
Bool same_screen; /\&* same screen flag */
} XButtonEvent;
typedef XButtonEvent XButtonPressedEvent;
typedef XButtonEvent XButtonReleasedEvent;
.EE
.LP
.EX
typedef struct {
int type; /\&* KeyPress or KeyRelease */
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window window; /\&* \*(lqevent\*(rq window it is reported relative to */
Window root; /\&* root window that the event occurred on */
Window subwindow; /\&* child window */
Time time; /\&* milliseconds */
int x, y; /\&* pointer x, y coordinates in event window */
int x_root, y_root; /\&* coordinates relative to root */
unsigned int state; /\&* key or button mask */
unsigned int keycode; /\&* detail */
Bool same_screen; /\&* same screen flag */
} XKeyEvent;
typedef XKeyEvent XKeyPressedEvent;
typedef XKeyEvent XKeyReleasedEvent;
.EE
.LP
.EX
typedef struct {
int type; /\&* MotionNotify */
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window window; /\&* \*(lqevent\*(rq window reported relative to */
Window root; /\&* root window that the event occurred on */
Window subwindow; /\&* child window */
Time time; /\&* milliseconds */
int x, y; /\&* pointer x, y coordinates in event window */
int x_root, y_root; /\&* coordinates relative to root */
unsigned int state; /\&* key or button mask */
char is_hint; /\&* detail */
Bool same_screen; /\&* same screen flag */
} XMotionEvent;
typedef XMotionEvent XPointerMovedEvent;
.EE
.LP
When you receive these events,
their structure members are set as follows.
.LP
The type member is set to the event type constant name that uniquely identifies
it.
For example, when the X server reports a
.B GraphicsExpose
event to a client application, it sends an
.B XGraphicsExposeEvent
structure with the type member set to
.BR GraphicsExpose .
The display member is set to a pointer to the display the event was read on.
The send_event member is set to
.B True
if the event came from a
.B SendEvent
protocol request.
The serial member is set from the serial number reported in the protocol
but expanded from the 16-bit least-significant bits to a full 32-bit value.
The window member is set to the window that is most useful to toolkit
dispatchers.
.LP
These structures have the following common members:
window, root, subwindow, time, x, y, x_root, y_root, state, and same_screen.
The window member is set to the window on which the
event was generated and is referred to as the event window.
As long as the conditions previously discussed are met,
this is the window used by the X server to report the event.
The root member is set to the source window's root window.
The x_root and y_root members are set to the pointer's coordinates
relative to the root window's origin at the time of the event.
.LP
The same_screen member is set to indicate whether the event
window is on the same screen
as the root window and can be either
.B True
or
.BR False .
If
.BR True ,
the event and root windows are on the same screen.
If
.BR False ,
the event and root windows are not on the same screen.
.LP
If the source window is an inferior of the event window,
the subwindow member of the structure is set to the child of the event window
that is the source window or the child of the event window that is
an ancestor of the source window.
Otherwise, the X server sets the subwindow member to
.BR None .
The time member is set to the time when the event was generated
and is expressed in milliseconds.
.LP
If the event window is on the same screen as the root window,
the x and y members
are set to the coordinates relative to the event window's origin.
Otherwise, these members are set to zero.
.LP
The state member is set to indicate the logical state of the pointer buttons
and modifier keys just prior to the event,
which is the bitwise inclusive OR of one or more of the
button or modifier key masks:
.BR Button1Mask ,
.BR Button2Mask ,
.BR Button3Mask ,
.BR Button4Mask ,
.BR Button5Mask ,
.BR ShiftMask ,
.BR LockMask ,
.BR ControlMask ,
.BR Mod1Mask ,
.BR Mod2Mask ,
.BR Mod3Mask ,
.BR Mod4Mask ,
and
.BR Mod5Mask .
.LP
Each of these structures also has a member that indicates the detail.
For the
.B XKeyPressedEvent
and
.B XKeyReleasedEvent
structures, this member is called a keycode.
It is set to a number that represents a physical key on the keyboard.
The keycode is an arbitrary representation for any key on the keyboard
(see sections 12.7 and 16.1).
.LP
For the
.B XButtonPressedEvent
and
.B XButtonReleasedEvent
structures, this member is called button.
It represents the pointer button that changed state and can be the
.BR Button1 ,
.BR Button2 ,
.BR Button3 ,
.BR Button4 ,
or
.B Button5
value.
For the
.B XPointerMovedEvent
structure, this member is called is_hint.
It can be set to
.B NotifyNormal
or
.BR NotifyHint .
.SH "SEE ALSO"
XAnyEvent(__libmansuffix__),
XCreateWindowEvent(__libmansuffix__),
XCirculateEvent(__libmansuffix__),
XCirculateRequestEvent(__libmansuffix__),
XColormapEvent(__libmansuffix__),
XConfigureEvent(__libmansuffix__),
XConfigureRequestEvent(__libmansuffix__),
XCrossingEvent(__libmansuffix__),
XDestroyWindowEvent(__libmansuffix__),
XErrorEvent(__libmansuffix__),
XExposeEvent(__libmansuffix__),
XFocusChangeEvent(__libmansuffix__),
XGraphicsExposeEvent(__libmansuffix__),
XGravityEvent(__libmansuffix__),
XKeymapEvent(__libmansuffix__),
XMapEvent(__libmansuffix__),
XMapRequestEvent(__libmansuffix__),
XPropertyEvent(__libmansuffix__),
XReparentEvent(__libmansuffix__),
XResizeRequestEvent(__libmansuffix__),
XSelectionClearEvent(__libmansuffix__),
XSelectionEvent(__libmansuffix__),
XSelectionRequestEvent(__libmansuffix__),
XUnmapEvent(__libmansuffix__),
XVisibilityEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XSetClipOrigin.man 0000644 0001750 0001750 00000015014 14222353101 013612 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSetClipOrigin __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSetClipOrigin, XSetClipMask, XSetClipRectangles \- GC convenience routines
.SH SYNTAX
.HP
int XSetClipOrigin\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, int
\fIclip_x_origin\fP\^, int \fIclip_y_origin\fP\^);
.HP
int XSetClipMask\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, Pixmap
\fIpixmap\fP\^);
.HP
int XSetClipRectangles\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, int
\fIclip_x_origin\fP\^, int \fIclip_y_origin\fP\^, XRectangle
\fIrectangles\fP[]\^, int \fIn\fP\^, int \fIordering\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIclip_x_origin\fP 1i
.br
.ns
.IP \fIclip_y_origin\fP 1i
Specify the x and y coordinates of the clip-mask origin.
.IP \fIgc\fP 1i
Specifies the GC.
.IP \fIn\fP 1i
Specifies the number of rectangles.
.IP \fIordering\fP 1i
Specifies the ordering relations on the rectangles.
You can pass
.BR Unsorted ,
.BR YSorted ,
.BR YXSorted ,
or
.BR YXBanded .
.IP \fIpixmap\fP 1i
Specifies the pixmap or
.BR None .
.IP \fIrectangles\fP 1i
Specifies an array of rectangles that define the clip-mask.
.SH DESCRIPTION
The
.B XSetClipOrigin
function sets the clip origin in the specified GC.
The clip-mask origin is interpreted relative to the origin of whatever
destination drawable is specified in the graphics request.
.LP
.B XSetClipOrigin
can generate
.B BadAlloc
and
.B BadGC
errors.
.LP
The
.B XSetClipMask
function sets the clip-mask in the specified GC to the specified pixmap.
If the clip-mask is set to
.BR None ,
the pixels are are always drawn (regardless of the clip-origin).
.LP
.B XSetClipMask
can generate
.BR BadAlloc ,
.BR BadGC ,
.BR BadMatch ,
and
.B BadValue
errors.
.LP
The
.B XSetClipRectangles
function changes the clip-mask in the specified GC
to the specified list of rectangles and sets the clip origin.
The output is clipped to remain contained within the
rectangles.
The clip-origin is interpreted relative to the origin of
whatever destination drawable is specified in a graphics request.
The rectangle coordinates are interpreted relative to the clip-origin.
The rectangles should be nonintersecting, or the graphics results will be
undefined.
Note that the list of rectangles can be empty,
which effectively disables output.
This is the opposite of passing
.B None
as the clip-mask in
.BR XCreateGC ,
.BR XChangeGC ,
and
.BR XSetClipMask .
.LP
If known by the client, ordering relations on the rectangles can be
specified with the ordering argument.
This may provide faster operation
by the server.
If an incorrect ordering is specified, the X server may generate a
.B BadMatch
error, but it is not required to do so.
If no error is generated, the graphics
results are undefined.
.B Unsorted
means the rectangles are in arbitrary order.
.B YSorted
means that the rectangles are nondecreasing in their Y origin.
.B YXSorted
additionally constrains
.B YSorted
order in that all
rectangles with an equal Y origin are nondecreasing in their X
origin.
.B YXBanded
additionally constrains
.B YXSorted
by requiring that,
for every possible Y scanline, all rectangles that include that
scanline have an identical Y origins and Y extents.
.LP
.B XSetClipRectangles
can generate
.BR BadAlloc ,
.BR BadGC ,
.BR BadMatch ,
and
.B BadValue
errors.
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadGC
A value for a GContext argument does not name a defined GContext.
.TP 1i
.B BadMatch
Some argument or pair of arguments has the correct type and range but fails
to match in some other way required by the request.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
XCreateGC(__libmansuffix__),
XDrawRectangle(__libmansuffix__),
XQueryBestSize(__libmansuffix__),
XSetArcMode(__libmansuffix__),
XSetFillStyle(__libmansuffix__),
XSetFont(__libmansuffix__),
XSetLineAttributes(__libmansuffix__),
XSetState(__libmansuffix__),
XSetTile(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XPixmapFormatValues.man 0000644 0001750 0001750 00000000070 14222353101 014662 0000000 0000000 .so man__libmansuffix__/ImageByteOrder.__libmansuffix__
libX11-1.7.5/man/XGrabPointer.man 0000644 0001750 0001750 00000023211 14222353101 013311 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XGrabPointer __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XGrabPointer, XUngrabPointer, XChangeActivePointerGrab \- grab the pointer
.SH SYNTAX
.HP
int XGrabPointer\^(\^Display *\fIdisplay\fP\^, Window \fIgrab_window\fP\^,
Bool \fIowner_events\fP\^, unsigned int \fIevent_mask\fP\^, int
\fIpointer_mode\fP\^, int \fIkeyboard_mode\fP\^, Window \fIconfine_to\fP\^,
Cursor \fIcursor\fP\^, Time \fItime\fP\^);
.HP
int XUngrabPointer\^(\^Display *\fIdisplay\fP\^, Time \fItime\fP\^);
.HP
int XChangeActivePointerGrab\^(\^Display *\fIdisplay\fP\^, unsigned int
\fIevent_mask\fP\^, Cursor \fIcursor\fP\^, Time \fItime\fP\^);
.SH ARGUMENTS
.IP \fIconfine_to\fP 1i
Specifies the window to confine the pointer in or
.BR None .
.IP \fIcursor\fP 1i
Specifies the cursor that is to be displayed during the grab or
.BR None .
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIevent_mask\fP 1i
Specifies which pointer events are reported to the client.
The mask is the bitwise inclusive OR of the valid pointer event mask bits.
.IP \fIgrab_window\fP 1i
Specifies the grab window.
.IP \fIkeyboard_mode\fP 1i
Specifies further processing of keyboard events.
You can pass
.B GrabModeSync
or
.BR GrabModeAsync .
.IP \fIowner_events\fP 1i
Specifies a Boolean value that indicates whether the pointer
events are to be reported as usual or reported with respect to the grab window
if selected by the event mask.
.IP \fIpointer_mode\fP 1i
Specifies further processing of pointer events.
You can pass
.B GrabModeSync
or
.BR GrabModeAsync .
.IP \fItime\fP 1i
Specifies the time.
You can pass either a timestamp or
.BR CurrentTime .
.SH DESCRIPTION
The
.B XGrabPointer
function actively grabs control of the pointer and returns
.B GrabSuccess
if the grab was successful.
Further pointer events are reported only to the grabbing client.
.B XGrabPointer
overrides any active pointer grab by this client.
If owner_events is
.BR False ,
all generated pointer events
are reported with respect to grab_window and are reported only if
selected by event_mask.
If owner_events is
.B True
and if a generated
pointer event would normally be reported to this client,
it is reported as usual.
Otherwise, the event is reported with respect to the
grab_window and is reported only if selected by event_mask.
For either value of owner_events, unreported events are discarded.
.LP
If the pointer_mode is
.BR GrabModeAsync ,
pointer event processing continues as usual.
If the pointer is currently frozen by this client,
the processing of events for the pointer is resumed.
If the pointer_mode is
.BR GrabModeSync ,
the state of the pointer, as seen by
client applications,
appears to freeze, and the X server generates no further pointer events
until the grabbing client calls
.B XAllowEvents
or until the pointer grab is released.
Actual pointer changes are not lost while the pointer is frozen;
they are simply queued in the server for later processing.
.LP
If the keyboard_mode is
.BR GrabModeAsync ,
keyboard event processing is unaffected by activation of the grab.
If the keyboard_mode is
.BR GrabModeSync ,
the state of the keyboard, as seen by
client applications,
appears to freeze, and the X server generates no further keyboard events
until the grabbing client calls
.B XAllowEvents
or until the pointer grab is released.
Actual keyboard changes are not lost while the pointer is frozen;
they are simply queued in the server for later processing.
.LP
If a cursor is specified, it is displayed regardless of what
window the pointer is in.
If
.B None
is specified,
the normal cursor for that window is displayed
when the pointer is in grab_window or one of its subwindows;
otherwise, the cursor for grab_window is displayed.
.LP
If a confine_to window is specified,
the pointer is restricted to stay contained in that window.
The confine_to window need have no relationship to the grab_window.
If the pointer is not initially in the confine_to window,
it is warped automatically to the closest edge
just before the grab activates and enter/leave events are generated as usual.
If the confine_to window is subsequently reconfigured,
the pointer is warped automatically, as necessary,
to keep it contained in the window.
.LP
The time argument allows you to avoid certain circumstances that come up
if applications take a long time to respond or if there are long network
delays.
Consider a situation where you have two applications, both
of which normally grab the pointer when clicked on.
If both applications specify the timestamp from the event,
the second application may wake up faster and successfully grab the pointer
before the first application.
The first application then will get an indication that the other application
grabbed the pointer before its request was processed.
.LP
.B XGrabPointer
generates
.B EnterNotify
and
.B LeaveNotify
events.
.LP
Either if grab_window or confine_to window is not viewable
or if the confine_to window lies completely outside the boundaries of the root
window,
.B XGrabPointer
fails and returns
.BR GrabNotViewable .
If the pointer is actively grabbed by some other client,
it fails and returns
.BR AlreadyGrabbed .
If the pointer is frozen by an active grab of another client,
it fails and returns
.BR GrabFrozen .
If the specified time is earlier than the last-pointer-grab time or later
than the current X server time, it fails and returns
.BR GrabInvalidTime .
Otherwise, the last-pointer-grab time is set to the specified time
.RB ( CurrentTime
is replaced by the current X server time).
.LP
.B XGrabPointer
can generate
.BR BadCursor ,
.BR BadValue ,
and
.B BadWindow
errors.
.LP
The
.B XUngrabPointer
function releases the pointer and any queued events
if this client has actively grabbed the pointer from
.BR XGrabPointer ,
.BR XGrabButton ,
or from a normal button press.
.B XUngrabPointer
does not release the pointer if the specified
time is earlier than the last-pointer-grab time or is later than the
current X server time.
It also generates
.B EnterNotify
and
.B LeaveNotify
events.
The X server performs an
.B UngrabPointer
request automatically if the event window or confine_to window
for an active pointer grab becomes not viewable
or if window reconfiguration causes the confine_to window to lie completely
outside the boundaries of the root window.
.LP
The
.B XChangeActivePointerGrab
function changes the specified dynamic parameters if the pointer is actively
grabbed by the client and if the specified time is no earlier than the
last-pointer-grab time and no later than the current X server time.
This function has no effect on the passive parameters of a
.BR XGrabButton .
The interpretation of event_mask and cursor is the same as described in
.BR XGrabPointer .
.LP
.B XChangeActivePointerGrab
can generate a
.B BadCursor
and
.B BadValue
error.
.SH DIAGNOSTICS
.TP 1i
.B BadCursor
A value for a Cursor argument does not name a defined Cursor.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XAllowEvents(__libmansuffix__),
XGrabButton(__libmansuffix__),
XGrabKey(__libmansuffix__),
XGrabKeyboard(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XAllocClassHint.man 0000644 0001750 0001750 00000013422 14222353101 013743 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XAllocClassHint __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XAllocClassHint, XSetClassHint, XGetClassHint, XClassHint \- allocate class hints structure and set or read a window's WM_CLASS property
.SH SYNTAX
.HP
XClassHint *XAllocClassHint\^(void\^);
.HP
XSetClassHint\^(\^Display *\fIdisplay\fP, Window \fIw\fP, XClassHint *\fIclass_hints\fP\^);
.HP
Status XGetClassHint\^(\^Display *\fIdisplay\fP, Window \fIw\fP, XClassHint *\fIclass_hints_return\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIclass_hints\fP 1i
Specifies the
.B XClassHint
structure that is to be used.
.IP \fIclass_hints_return\fP 1i
Returns the
.B XClassHint
structure.
.IP \fIw\fP 1i
Specifies the window.
.SH DESCRIPTION
The
.B XAllocClassHint
function allocates and returns a pointer to a
.B XClassHint
structure.
Note that the pointer fields in the
.B XClassHint
structure are initially set to NULL.
If insufficient memory is available,
.B XAllocClassHint
returns NULL.
To free the memory allocated to this structure,
use
.BR XFree .
.LP
The
.B XSetClassHint
function sets the class hint for the specified window.
If the strings are not in the Host Portable Character Encoding,
the result is implementation-dependent.
.LP
.B XSetClassHint
can generate
.B BadAlloc
and
.B BadWindow
errors.
.LP
The
.B XGetClassHint
function returns the class hint of the specified window to the members
of the supplied structure.
If the data returned by the server is in the Latin Portable Character Encoding,
then the returned strings are in the Host Portable Character Encoding.
Otherwise, the result is implementation-dependent.
It returns a nonzero status on success;
otherwise, it returns a zero status.
To free res_name and res_class when finished with the strings,
use
.B XFree
on each individually.
.LP
.B XGetClassHint
can generate a
.B BadWindow
error.
.SH PROPERTIES
.TP 1i
\s-1WM_CLASS\s+1
Set by application programs to allow window and session
managers to obtain the application's resources from the resource database.
.SH STRUCTURES
The
.B XClassHint
structure contains:
.LP
.EX
typedef struct {
char *res_name;
char *res_class;
} XClassHint;
.LP
The res_name member contains the application name,
and the res_class member contains the application class.
Note that the name set in this property may differ from the name set as WM_NAME.
That is, WM_NAME specifies what should be displayed in the title bar and,
therefore, can contain temporal information (for example, the name of
a file currently in an editor's buffer).
On the other hand,
the name specified as part of WM_CLASS is the formal name of the application
that should be used when retrieving the application's resources from the
resource database.
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
.na
XAllocIconSize(__libmansuffix__),
XAllocSizeHints(__libmansuffix__),
XAllocWMHints(__libmansuffix__),
XFree(__libmansuffix__),
XSetCommand(__libmansuffix__),
XSetTransientForHint(__libmansuffix__),
XSetTextProperty(__libmansuffix__),
XSetWMClientMachine(__libmansuffix__),
XSetWMColormapWindows(__libmansuffix__),
XSetWMIconName(__libmansuffix__),
XSetWMName(__libmansuffix__),
XSetWMProperties(__libmansuffix__),
XSetWMProtocols(__libmansuffix__),
XStringListToTextProperty(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XUnregisterIMInstantiateCallback.man 0000644 0001750 0001750 00000000061 14222353101 017271 0000000 0000000 .so man__libmansuffix__/XOpenIM.__libmansuffix__
libX11-1.7.5/man/XCirculateRequestEvent.man 0000644 0001750 0001750 00000012020 14222353101 015357 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XCirculateRequestEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XCirculateRequestEvent \- CirculateRequest event structure
.SH STRUCTURES
The structure for
.B CirculateRequest
events contains:
.LP
.EX
typedef struct {
int type; /\&* CirculateRequest */
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window parent;
Window window;
int place; /\&* PlaceOnTop, PlaceOnBottom */
} XCirculateRequestEvent;
.EE
.LP
When you receive this event,
the structure members are set as follows.
.LP
The type member is set to the event type constant name that uniquely identifies
it.
For example, when the X server reports a
.B GraphicsExpose
event to a client application, it sends an
.B XGraphicsExposeEvent
structure with the type member set to
.BR GraphicsExpose .
The display member is set to a pointer to the display the event was read on.
The send_event member is set to
.B True
if the event came from a
.B SendEvent
protocol request.
The serial member is set from the serial number reported in the protocol
but expanded from the 16-bit least-significant bits to a full 32-bit value.
The window member is set to the window that is most useful to toolkit
dispatchers.
.LP
The parent member is set to the parent window.
The window member is set to the subwindow to be restacked.
The place member is set to what the new position in the stacking order should be
and is either
.B PlaceOnTop
or
.BR PlaceOnBottom .
If it is
.BR PlaceOnTop ,
the subwindow should be on top of all siblings.
If it is
.BR PlaceOnBottom ,
the subwindow should be below all siblings.
.SH "SEE ALSO"
XAnyEvent(__libmansuffix__),
XButtonEvent(__libmansuffix__),
XCreateWindowEvent(__libmansuffix__),
XCirculateEvent(__libmansuffix__),
XColormapEvent(__libmansuffix__),
XConfigureEvent(__libmansuffix__),
XConfigureRequestEvent(__libmansuffix__),
XCrossingEvent(__libmansuffix__),
XDestroyWindowEvent(__libmansuffix__),
XErrorEvent(__libmansuffix__),
XExposeEvent(__libmansuffix__),
XFocusChangeEvent(__libmansuffix__),
XGraphicsExposeEvent(__libmansuffix__),
XGravityEvent(__libmansuffix__),
XKeymapEvent(__libmansuffix__),
XMapEvent(__libmansuffix__),
XMapRequestEvent(__libmansuffix__),
XPropertyEvent(__libmansuffix__),
XReparentEvent(__libmansuffix__),
XResizeRequestEvent(__libmansuffix__),
XSelectionClearEvent(__libmansuffix__),
XSelectionEvent(__libmansuffix__),
XSelectionRequestEvent(__libmansuffix__),
XUnmapEvent(__libmansuffix__),
XVisibilityEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XColormapEvent.man 0000644 0001750 0001750 00000012721 14222353101 013657 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XColormapEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XColormapEvent \- ColormapNotify event structure
.SH STRUCTURES
The structure for
.B ColormapNotify
events contains:
.LP
.EX
typedef struct {
int type; /\&* ColormapNotify */
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window window;
Colormap colormap; /\&* colormap or None */
Bool new;
int state; /\&* ColormapInstalled, ColormapUninstalled */
} XColormapEvent;
.EE
.LP
When you receive this event,
the structure members are set as follows.
.LP
The type member is set to the event type constant name that uniquely identifies
it.
For example, when the X server reports a
.B GraphicsExpose
event to a client application, it sends an
.B XGraphicsExposeEvent
structure with the type member set to
.BR GraphicsExpose .
The display member is set to a pointer to the display the event was read on.
The send_event member is set to
.B True
if the event came from a
.B SendEvent
protocol request.
The serial member is set from the serial number reported in the protocol
but expanded from the 16-bit least-significant bits to a full 32-bit value.
The window member is set to the window that is most useful to toolkit
dispatchers.
.LP
The window member is set to the window whose associated
colormap is changed, installed, or uninstalled.
For a colormap that is changed, installed, or uninstalled,
the colormap member is set to the colormap associated with the window.
For a colormap that is changed by a call to
.BR XFreeColormap ,
the colormap member is set to
.BR None .
The new member is set to indicate whether the colormap
for the specified window was changed or installed or uninstalled
and can be
.B True
or
.BR False .
If it is
.BR True ,
the colormap was changed.
If it is
.BR False ,
the colormap was installed or uninstalled.
The state member is always set to indicate whether the colormap is installed or
uninstalled and can be
.B ColormapInstalled
or
.BR ColormapUninstalled .
.SH "SEE ALSO"
XAnyEvent(__libmansuffix__),
XButtonEvent(__libmansuffix__),
XCreateWindowEvent(__libmansuffix__),
XCirculateEvent(__libmansuffix__),
XCirculateRequestEvent(__libmansuffix__),
XConfigureEvent(__libmansuffix__),
XConfigureRequestEvent(__libmansuffix__),
XCreateColormap(__libmansuffix__),
XCrossingEvent(__libmansuffix__),
XDestroyWindowEvent(__libmansuffix__),
XErrorEvent(__libmansuffix__),
XExposeEvent(__libmansuffix__),
XFocusChangeEvent(__libmansuffix__),
XGraphicsExposeEvent(__libmansuffix__),
XGravityEvent(__libmansuffix__),
XKeymapEvent(__libmansuffix__),
XMapEvent(__libmansuffix__),
XMapRequestEvent(__libmansuffix__),
XPropertyEvent(__libmansuffix__),
XReparentEvent(__libmansuffix__),
XResizeRequestEvent(__libmansuffix__),
XSelectionClearEvent(__libmansuffix__),
XSelectionEvent(__libmansuffix__),
XSelectionRequestEvent(__libmansuffix__),
XUnmapEvent(__libmansuffix__),
XVisibilityEvent(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XmbDrawText.man 0000644 0001750 0001750 00000013063 14222353101 013162 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
.\" Copyright \(co 2000 The XFree86 Project, Inc.
.\"
.\" 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XmbDrawText __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XmbDrawText, XwcDrawText, Xutf8DrawText \- draw text using multiple font sets
.SH SYNTAX
.HP
void XmbDrawText\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
\fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, XmbTextItem *\fIitems\fP\^, int
\fInitems\fP\^);
.HP
void XwcDrawText\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
\fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, XwcTextItem *\fIitems\fP\^, int
\fInitems\fP\^);
.HP
void Xutf8DrawText\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
\fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, XmbTextItem *\fIitems\fP\^, int \fInitems\fP\^);
.SH ARGUMENTS
.IP \fId\fP 1i
Specifies the drawable.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIgc\fP 1i
Specifies the GC.
.IP \fIitems\fP 1i
Specifies an array of text items.
.IP \fInitems\fP 1i
Specifies the number of text items in the array.
.IP \fIx\fP 1i
.br
.ns
.IP \fIy\fP 1i
Specify the x and y coordinates.
.SH DESCRIPTION
The
.BR XmbDrawText ,
.B XwcDrawText
and
.B Xutf8DrawText
functions allow complex spacing and font set shifts between text strings.
Each text item is processed in turn, with the origin of a text
element advanced in the primary draw direction by the escapement of the
previous text item.
A text item delta specifies an additional escapement of the text item
drawing origin in the primary draw direction.
A font_set member other than
.B None
in an item causes the font set to be used for this and subsequent text items
in the text_items list.
Leading text items with a font_set member set to
.B None
will not be drawn.
.LP
.BR XmbDrawText ,
.B XwcDrawText
and
.B Xutf8DrawText
do not perform any context-dependent rendering between text segments.
Clients may compute the drawing metrics by passing each text segment to
.BR XmbTextExtents ,
.BR XwcTextExtents ,
.B Xutf8TextExtents
or
.BR XmbTextPerCharExtents ,
.BR XwcTextPerCharExtents .
.BR Xutf8TextPerCharExtents .
When the
.B XFontSet
has missing charsets, each unavailable character is drawn
with the default string returned by
.BR XCreateFontSet .
The behavior for an invalid codepoint is undefined.
.LP
The function
.B Xutf8DrawText
is an extension introduced by The XFree86 Project, Inc., in their 4.0.2
release.
Its presence is
indicated by the macro
.BR X_HAVE_UTF8_STRING .
.SH STRUCTURES
The
.B XmbTextItem
structure contains:
.EX
typedef struct {
char *chars; /\&* pointer to string */
int nchars; /\&* number of bytes */
int delta; /\&* pixel delta between strings */
XFontSet font_set; /\&* fonts, None means don't change */
} XmbTextItem;
.EE
The
.B XwcTextItem
structure contains:
.EX
typedef struct {
wchar_t *chars; /\&* pointer to wide char string */
int nchars; /\&* number of wide characters */
int delta; /\&* pixel delta between strings */
XFontSet font_set; /\&* fonts, None means don't change */
} XwcTextItem;
.EE
.SH "SEE ALSO"
XDrawImageString(__libmansuffix__),
XDrawString(__libmansuffix__),
XDrawText(__libmansuffix__),
XmbDrawImageString(__libmansuffix__),
XmbDrawString(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XWriteBitmapFile.man 0000644 0001750 0001750 00000000071 14222353101 014123 0000000 0000000 .so man__libmansuffix__/XReadBitmapFile.__libmansuffix__
libX11-1.7.5/man/XSaveContext.man 0000644 0001750 0001750 00000010260 14222353101 013340 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSaveContext __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSaveContext, XFindContext, XDeleteContext, XUniqueContext \- associative look-up routines
.SH SYNTAX
.HP
int XSaveContext(\^Display *\fIdisplay\fP\^, XID \fIrid\fP\^, XContext
\fIcontext\fP\^, _Xconst char *\fIdata\fP\^);
.HP
int XFindContext(\^Display *\fIdisplay\fP\^, XID \fIrid\fP\^, XContext
\fIcontext\fP\^, XPointer *\fIdata_return\fP\^);
.HP
int XDeleteContext(\^Display *\fIdisplay\fP\^, XID \fIrid\fP, XContext
\fIcontext\fP);
.LP
XContext XUniqueContext(void);
.SH ARGUMENTS
.IP \fIcontext\fP 1i
Specifies the context type to which the data belongs.
.IP \fIdata\fP 1i
Specifies the data to be associated with the window and type.
.IP \fIdata_return\fP 1i
Returns the data.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIrid\fP 1i
Specifies the resource ID with which the data is associated.
.SH DESCRIPTION
If an entry with the specified resource ID and type already exists,
.B XSaveContext
overrides it with the specified context.
The
.B XSaveContext
function returns a nonzero error code if an error has occurred
and zero otherwise.
Possible errors are
.B XCNOMEM
(out of memory).
.LP
Because it is a return value,
the data is a pointer.
The
.B XFindContext
function returns a nonzero error code if an error has occurred
and zero otherwise.
Possible errors are
.B XCNOENT
(context-not-found).
.LP
The
.B XDeleteContext
function deletes the entry for the given resource ID
and type from the data structure.
This function returns the same error codes that
.B XFindContext
returns if called with the same arguments.
.B XDeleteContext
does not free the data whose address was saved.
.LP
The
.B XUniqueContext
function creates a unique context type that may be used in subsequent calls to
.BR XSaveContext .
.SH "SEE ALSO"
\fI\*(xL\fP
libX11-1.7.5/man/XCreateRegion.man 0000644 0001750 0001750 00000006541 14222353101 013453 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XCreateRegion __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XCreateRegion, XSetRegion, XDestroyRegion \- create or destroy regions
.SH SYNTAX
.HP
Region XCreateRegion\^(void\^);
.HP
int XSetRegion\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, Region \fIr\fP\^);
.HP
int XDestroyRegion\^(\^Region \fIr\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIgc\fP 1i
Specifies the GC.
.IP \fIr\fP 1i
Specifies the region.
.SH DESCRIPTION
The
.B XCreateRegion
function creates a new empty region.
.LP
The
.B XSetRegion
function sets the clip-mask in the GC to the specified region.
The region is specified relative to the drawable's origin.
The resulting GC clip origin is implementation-dependent.
Once it is set in the GC,
the region can be destroyed.
.LP
The
.B XDestroyRegion
function deallocates the storage associated with a specified region.
.SH "SEE ALSO"
XEmptyRegion(__libmansuffix__),
XIntersectRegion(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XFreeFontNames.man 0000644 0001750 0001750 00000000064 14222353101 013572 0000000 0000000 .so man__libmansuffix__/XListFonts.__libmansuffix__
libX11-1.7.5/man/XGrabKey.man 0000644 0001750 0001750 00000015402 14222353101 012424 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XGrabKey __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XGrabKey, XUngrabKey \- grab keyboard keys
.SH SYNTAX
.HP
int XGrabKey\^(\^Display *\fIdisplay\fP\^, int \fIkeycode\fP\^, unsigned int
\fImodifiers\fP\^, Window \fIgrab_window\fP\^, Bool \fIowner_events\fP\^, int
\fIpointer_mode\fP\^, int \fIkeyboard_mode\fP\^);
.HP
int XUngrabKey\^(\^Display *\fIdisplay\fP\^, int \fIkeycode\fP\^, unsigned int
\fImodifiers\fP\^, Window \fIgrab_window\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIgrab_window\fP 1i
Specifies the grab window.
.IP \fIkeyboard_mode\fP 1i
Specifies further processing of keyboard events.
You can pass
.B GrabModeSync
or
.BR GrabModeAsync .
.IP \fIkeycode\fP 1i
Specifies the KeyCode or
.BR AnyKey .
.IP \fImodifiers\fP 1i
Specifies the set of keymasks or
.BR AnyModifier .
The mask is the bitwise inclusive OR of the valid keymask bits.
.IP \fIowner_events\fP 1i
Specifies a Boolean value that indicates whether the keyboard events
are to be reported as usual.
.IP \fIpointer_mode\fP 1i
Specifies further processing of pointer events.
You can pass
.B GrabModeSync
or
.BR GrabModeAsync .
.SH DESCRIPTION
The
.B XGrabKey
function establishes a passive grab on the keyboard.
In the future,
the keyboard is actively grabbed (as for
.BR XGrabKeyboard ),
the last-keyboard-grab time is set to the time at which the key was pressed
(as transmitted in the
.B KeyPress
event), and the
.B KeyPress
event is reported if all of the following conditions are true:
.IP \(bu 5
The keyboard is not grabbed and the specified key
(which can itself be a modifier key) is logically pressed
when the specified modifier keys are logically down,
and no other modifier keys are logically down.
.IP \(bu 5
Either the grab_window is an ancestor of (or is) the focus window,
or the grab_window is a descendant of the focus window and contains the pointer.
.IP \(bu 5
A passive grab on the same key combination does not exist
on any ancestor of grab_window.
.LP
The interpretation of the remaining arguments is as for
.BR XGrabKeyboard .
The active grab is terminated automatically when the logical state of the
keyboard has the specified key released
(independent of the logical state of the modifier keys),
at which point a
.B KeyRelease
event is reported to the grabbing window.
.LP
Note that the logical state of a device (as seen by client applications)
may lag the physical state if device event processing is frozen.
.LP
A modifiers argument of
.B AnyModifier
is equivalent to issuing the request for all
possible modifier combinations (including the combination of no
modifiers).
It is not required that all modifiers specified have
currently assigned KeyCodes.
A keycode argument of
.B AnyKey
is equivalent to issuing
the request for all possible KeyCodes.
Otherwise, the specified keycode must be in
the range specified by min_keycode and max_keycode in the connection
setup,
or a
.B BadValue
error results.
.LP
If some other client has issued a
.B XGrabKey
with the same key combination on the same window, a
.B BadAccess
error results.
When using
.B AnyModifier
or
.BR AnyKey ,
the request fails completely,
and a
.B BadAccess
error results (no grabs are established)
if there is a conflicting grab for any combination.
.LP
.B XGrabKey
can generate
.BR BadAccess ,
.BR BadValue ,
and
.B BadWindow
errors.
.LP
The
.B XUngrabKey
function releases the key combination on the specified window if it was grabbed
by this client.
It has no effect on an active grab.
A modifiers of
.B AnyModifier
is equivalent to issuing
the request for all possible modifier combinations
(including the combination of no modifiers).
A keycode argument of
.B AnyKey
is equivalent to issuing the request for all possible key codes.
.LP
.B XUngrabKey
can generate
.B BadValue
and
.B BadWindow
error.
.SH DIAGNOSTICS
.TP 1i
.B BadAccess
A client attempted
to grab a key/button combination already grabbed by another client.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XAllowEvents(__libmansuffix__),
XGrabButton(__libmansuffix__),
XGrabKeyboard(__libmansuffix__),
XGrabPointer(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XChangeSaveSet.man 0000644 0001750 0001750 00000010716 14222353101 013563 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XChangeSaveSet __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XChangeSaveSet, XAddToSaveSet, XRemoveFromSaveSet \- change a client's save set
.SH SYNTAX
.HP
int XChangeSaveSet\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, int \fIchange_mode\fP\^);
.HP
int XAddToSaveSet\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
.HP
int XRemoveFromSaveSet\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
.SH ARGUMENTS
.IP \fIchange_mode\fP 1i
Specifies the mode.
You can pass
.B SetModeInsert
or
.BR SetModeDelete .
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIw\fP 1i
Specifies the window that you want to add or delete from the client's save-set.
.SH DESCRIPTION
Depending on the specified mode,
.B XChangeSaveSet
either inserts or deletes the specified window from the client's save-set.
The specified window must have been created by some other client,
or a
.B BadMatch
error results.
.LP
.B XChangeSaveSet
can generate
.BR BadMatch ,
.BR BadValue ,
and
.B BadWindow
errors.
.LP
The
.B XAddToSaveSet
function adds the specified window to the client's save-set.
The specified window must have been created by some other client,
or a
.B BadMatch
error results.
.LP
.B XAddToSaveSet
can generate
.B BadMatch
and
.B BadWindow
errors.
.LP
The
.B XRemoveFromSaveSet
function removes the specified window from the client's save-set.
The specified window must have been created by some other client,
or a
.B BadMatch
error results.
.LP
.B XRemoveFromSaveSet
can generate
.B BadMatch
and
.B BadWindow
errors.
.SH DIAGNOSTICS
.TP 1i
.B BadMatch
Some argument or pair of arguments has the correct type and range but fails
to match in some other way required by the request.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XReparentWindow(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XUniqueContext.man 0000644 0001750 0001750 00000000066 14222353101 013713 0000000 0000000 .so man__libmansuffix__/XSaveContext.__libmansuffix__
libX11-1.7.5/man/ImageByteOrder.man 0000644 0001750 0001750 00000012224 14222353101 013611 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH ImageByteOrder __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
ImageByteOrder, BitmapBitOrder, BitmapPad, BitmapUnit, DisplayHeight, DisplayHeightMM, DisplayWidth, DisplayWidthMM, XListPixmapFormats, XPixmapFormatValues \- image format functions and macros
.SH SYNTAX
.HP
XPixmapFormatValues *XListPixmapFormats\^(\^Display *\fIdisplay\fP, int *\fIcount_return\fP\^);
.HP
int ImageByteOrder\^(\^Display *\fIdisplay\fP\^);
.HP
int BitmapBitOrder\^(\^Display *\fIdisplay\fP\^);
.HP
int BitmapPad\^(\^Display *\fIdisplay\fP\^);
.HP
int BitmapUnit\^(\^Display *\fIdisplay\fP\^);
.HP
int DisplayHeight\^(\^Display *\fIdisplay\fP\^, \^int \fIscreen_number\fP\^);
.HP
int DisplayHeightMM\^(\^Display *\fIdisplay\fP\^, \^int \fIscreen_number\fP\^);
.HP
int DisplayWidth\^(\^Display *\fIdisplay\fP\^, \^int \fIscreen_number\fP\^);
.HP
int DisplayWidthMM\^(\^Display *\fIdisplay\fP\^, \^int \fIscreen_number\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIcount_return\fP 1i
Returns the number of pixmap formats that are supported by the display.
.IP \fIscreen_number\fP 1i
Specifies the appropriate screen number on the host server.
.SH DESCRIPTION
The
.B XListPixmapFormats
function returns an array of
.B XPixmapFormatValues
structures that describe the types of Z format images supported
by the specified display.
If insufficient memory is available,
.B XListPixmapFormats
returns NULL.
To free the allocated storage for the
.B XPixmapFormatValues
structures, use
.BR XFree .
.LP
The
.B ImageByteOrder
macro specifies the required byte order for images for each scanline unit in
XY format (bitmap) or for each pixel value in Z format.
.LP
The
.B BitmapBitOrder
macro returns
.B LSBFirst
or
.B MSBFirst
to indicate whether the leftmost bit in the bitmap as displayed
on the screen is the least or most significant bit in the unit.
.LP
The
.B BitmapPad
macro returns the number of bits that each scanline must be padded.
.LP
The
.B BitmapUnit
macro returns the size of a bitmap's scanline unit in bits.
.LP
The
.B DisplayHeight
macro returns the height of the specified screen in pixels.
.LP
The
.B DisplayHeightMM
macro returns the height of the specified screen in millimeters.
.LP
The
.B DisplayWidth
macro returns the width of the screen in pixels.
.LP
The
.B DisplayWidthMM
macro returns the width of the specified screen in millimeters.
.SH STRUCTURES
The
.B XPixmapFormatValues
structure provides an interface to the pixmap format information
that is returned at the time of a connection setup.
It contains:
.EX
typedef struct {
int depth;
int bits_per_pixel;
int scanline_pad;
} XPixmapFormatValues;
.EE
.SH "SEE ALSO"
AllPlanes(__libmansuffix__),
BlackPixelOfScreen(__libmansuffix__),
IsCursorKey(__libmansuffix__),
XFree(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/Xutf8TextListToTextProperty.man 0000644 0001750 0001750 00000000103 14222353101 016374 0000000 0000000 .so man__libmansuffix__/XmbTextListToTextProperty.__libmansuffix__
libX11-1.7.5/man/XResourceManagerString.man 0000644 0001750 0001750 00000007633 14222353101 015360 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XResourceManagerString __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XResourceManagerString, XScreenResourceString \- obtain server resource properties
.SH SYNTAX
.HP
char *XResourceManagerString\^(\^Display *\fIdisplay\fP\^);
.HP
char *XScreenResourceString\^(\^Screen *\fIscreen\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIscreen\fP 1i
Specifies the screen.
.SH DESCRIPTION
The
.B XResourceManagerString
function returns the RESOURCE_MANAGER property from the server's root
window of screen zero, which was returned when the connection was opened using
.BR XOpenDisplay .
The property is converted from type STRING to the current locale.
The conversion is identical to that produced by
.B XmbTextPropertyToTextList
for a single element STRING property.
The returned string is owned by Xlib and should not be freed by the client.
The property value must be in a format that is acceptable to
.BR XrmGetStringDatabase .
If no property exists, NULL is returned.
.LP
The
.B XScreenResourceString
function returns the SCREEN_RESOURCES property from the root window of the
specified screen.
The property is converted from type STRING to the current locale.
The conversion is identical to that produced by
.B XmbTextPropertyToTextList
for a single element STRING property.
The property value must be in a format that is acceptable to
.BR XrmGetStringDatabase .
If no property exists, NULL is returned.
The caller is responsible for freeing the returned string by using
.BR XFree .
.SH "SEE ALSO"
\fI\*(xL\fP
libX11-1.7.5/man/XAllocColorCells.man 0000644 0001750 0001750 00000000065 14222353101 014113 0000000 0000000 .so man__libmansuffix__/XAllocColor.__libmansuffix__
libX11-1.7.5/man/XSubtractRegion.man 0000644 0001750 0001750 00000000072 14222353101 014030 0000000 0000000 .so man__libmansuffix__/XIntersectRegion.__libmansuffix__
libX11-1.7.5/man/XrmValue.man 0000644 0001750 0001750 00000000067 14222353101 012514 0000000 0000000 .so man__libmansuffix__/XrmInitialize.__libmansuffix__
libX11-1.7.5/man/XRecolorCursor.man 0000644 0001750 0001750 00000011564 14222353101 013710 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XRecolorCursor __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XRecolorCursor, XFreeCursor, XQueryBestCursor \- manipulate cursors
.SH SYNTAX
.HP
int XRecolorCursor\^(\^Display *\fIdisplay\fP\^, Cursor \fIcursor\fP\^, XColor
*\fIforeground_color\fP\^, XColor *\fIbackground_color\fP\^);
.HP
int XFreeCursor\^(\^Display *\fIdisplay\fP\^, Cursor \fIcursor\fP\^);
.HP
Status XQueryBestCursor\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^,
unsigned int \fIwidth\fP\^, unsigned int \fIheight\fP\^, unsigned int
*\fIwidth_return\fP\^, unsigned int *\fIheight_return\fP\^);
.SH ARGUMENTS
.IP \fIbackground_color\fP 1i
Specifies the RGB values for the background of the source.
.IP \fIcursor\fP 1i
Specifies the cursor.
.IP \fId\fP 1i
Specifies the drawable, which indicates the screen.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIforeground_color\fP 1i
Specifies the RGB values for the foreground of the source.
.IP \fIwidth\fP 1i
.br
.ns
.IP \fIheight\fP 1i
Specify the width and height of the cursor that you want the size information for.
.IP \fIwidth_return\fP 1i
.br
.ns
.IP \fIheight_return\fP 1i
Return the best width and height that is closest to the specified width
and height.
.SH DESCRIPTION
The
.B XRecolorCursor
function changes the color of the specified cursor, and
if the cursor is being displayed on a screen,
the change is visible immediately.
The pixel members of the
.B XColor
structures are ignored; only the RGB values are used.
.LP
.B XRecolorCursor
can generate a
.B BadCursor
error.
.LP
The
.B XFreeCursor
function deletes the association between the cursor resource ID
and the specified cursor.
The cursor storage is freed when no other resource references it.
The specified cursor ID should not be referred to again.
.LP
.B XFreeCursor
can generate a
.B BadCursor
error.
.LP
Some displays allow larger cursors than other displays.
The
.B XQueryBestCursor
function provides a way to find out what size cursors are actually
possible on the display.
It returns the largest size that can be displayed.
Applications should be prepared to use smaller cursors on displays that
cannot support large ones.
.LP
.B XQueryBestCursor
can generate a
.B BadDrawable
error.
.SH DIAGNOSTICS
.TP 1i
.B BadCursor
A value for a Cursor argument does not name a defined Cursor.
.TP 1i
.B BadDrawable
A value for a Drawable argument does not name a defined Window or Pixmap.
.SH "SEE ALSO"
XCreateColormap(__libmansuffix__),
XCreateFontCursor(__libmansuffix__),
XDefineCursor(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XFreeFontPath.man 0000644 0001750 0001750 00000000066 14222353101 013425 0000000 0000000 .so man__libmansuffix__/XSetFontPath.__libmansuffix__
libX11-1.7.5/man/XmbResetIC.man 0000644 0001750 0001750 00000010250 14222353101 012711 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
.\" Copyright \(co 2000 The XFree86 Project, Inc.
.\"
.\" 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XmbResetIC __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XmbResetIC, XwcResetIC, Xutf8ResetIC \- reset the state of an input context
.SH SYNTAX
.HP
char *XmbResetIC\^(\^XIC \fIic\fP\^);
.HP
wchar_t *XwcResetIC\^(\^XIC \fIic\fP\^);
.HP
char *Xutf8ResetIC\^(\^XIC \fIic\fP\^);
.SH ARGUMENTS
.IP \fIic\fP 1i
Specifies the input context.
.SH DESCRIPTION
When
.B XNResetState
is set to
.BR XIMInitialState ,
.BR XmbResetIC ,
.B XwcResetIC
and
.B Xutf8ResetIC
reset an input context to its initial state;
when
.B XNResetState
is set to
.BR XIMPreserveState ,
the current input context state is preserved.
In both cases, any input pending on that context is deleted.
The input method is required to clear the preedit area, if any,
and update the status accordingly.
Calling
.BR XmbResetIC ,
.B XwcResetIC
or
.B Xutf8ResetIC
does not change the focus.
.LP
The return value of
.B XmbResetIC
is its current preedit string as a multibyte string.
The return value of
.B XwcResetIC
is its current preedit string as a wide character string.
The return value of
.B Xutf8ResetIC
is its current preedit string as an UTF-8 string.
If there is any preedit text drawn or visible to the user,
then these procedures must return a non-NULL string.
If there is no visible preedit text,
then it is input method implementation-dependent
whether these procedures return a non-NULL string or NULL.
.LP
The client should free the returned string by calling
.BR XFree .
.LP
The function
.B Xutf8ResetIC
is an extension introduced by The XFree86 Project, Inc., in their 4.0.2
release.
Its presence is
indicated by the macro
.BR X_HAVE_UTF8_STRING .
.SH "SEE ALSO"
XCreateIC(__libmansuffix__),
XOpenIM(__libmansuffix__),
XSetICFocus(__libmansuffix__),
XSetICValues(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XSetIOErrorHandler.man 0000644 0001750 0001750 00000000072 14222353101 014370 0000000 0000000 .so man__libmansuffix__/XSetErrorHandler.__libmansuffix__
libX11-1.7.5/man/XPutImage.man 0000644 0001750 0001750 00000024113 14222353101 012612 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XPutImage __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XPutImage, XGetImage, XGetSubImage \- transfer images
.SH SYNTAX
.HP
int XPutImage\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC \fIgc\fP\^,
XImage *\fIimage\fP\^, int \fIsrc_x\fP\^, int \fIsrc_y\fP\^, int
\fIdest_x\fP\^, int \fIdest_y\fP\^, unsigned int \fIwidth\fP\^, unsigned int
\fIheight\fP\^);
.HP
XImage *XGetImage\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, int
\fIx\fP\^, int \fIy\fP\^, unsigned int \fIwidth\fP\^, unsigned int
\fIheight\fP\^, unsigned long \fIplane_mask\fP\^, int \fIformat\fP\^);
.HP
XImage *XGetSubImage\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, int
\fIx\fP\^, int \fIy\fP\^, unsigned int \fIwidth\fP\^, unsigned int
\fIheight\fP\^, unsigned long \fIplane_mask\fP\^, int \fIformat\fP\^, XImage
*\fIdest_image\fP\^, int \fIdest_x\fP\^, \fIdest_y\fP\^);
.SH ARGUMENTS
.IP \fId\fP 1i
Specifies the drawable.
.IP \fIdest_image\fP 1i
Specifies the destination image.
.ds Dx
.IP \fIdest_x\fP 1i
.br
.ns
.IP \fIdest_y\fP 1i
Specify the x and y coordinates, which are relative to the origin of the drawable
and are the coordinates of the subimage
or which are relative to the origin of the destination rectangle,
specify its upper-left corner, and determine where the subimage
is placed in the destination image.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIformat\fP 1i
Specifies the format for the image.
You can pass
.B XYPixmap
or
.BR ZPixmap .
.IP \fIgc\fP 1i
Specifies the GC.
.IP \fIimage\fP 1i
Specifies the image you want combined with the rectangle.
.IP \fIplane_mask\fP 1i
Specifies the plane mask.
.\" *** JIM: NEED MORE INFO FOR THIS. ***
.IP \fIsrc_x\fP 1i
Specifies the offset in X from the left edge of the image defined
by the
.B XImage
structure.
.IP \fIsrc_y\fP 1i
Specifies the offset in Y from the top edge of the image defined
by the
.B XImage
structure.
.IP \fIwidth\fP 1i
.br
.ns
.IP \fIheight\fP 1i
Specify the width and height of the subimage, which define
the dimensions of the rectangle.
.IP \fIx\fP 1i
.br
.ns
.IP \fIy\fP 1i
Specify the x and y coordinates, which are relative to the origin of the drawable
and define the upper-left corner of the rectangle.
.SH DESCRIPTION
The
.B XPutImage
function
combines an image with a rectangle of the specified drawable.
The section of the image defined by the src_x, src_y, width, and height
arguments is drawn on the specified part of the drawable.
If
.B XYBitmap
format is used, the depth of the image must be one,
or a
.B BadMatch
error results.
The foreground pixel in the GC defines the source for the one bits in the image,
and the background pixel defines the source for the zero bits.
For
.B XYPixmap
and
.BR ZPixmap ,
the depth of the image must match the depth of the drawable,
or a
.B BadMatch
error results.
.LP
If the characteristics of the image (for example, byte_order and bitmap_unit)
differ from what the server requires,
.B XPutImage
automatically makes the appropriate
conversions.
.LP
This function uses these GC components:
function, plane-mask, subwindow-mode, clip-x-origin, clip-y-origin,
and clip-mask.
It also uses these GC mode-dependent components:
foreground and background.
.LP
.B XPutImage
can generate
.BR BadDrawable ,
.BR BadGC ,
.BR BadMatch ,
and
.B BadValue
errors.
.LP
The
.B XGetImage
function returns a pointer to an
.B XImage
structure.
This structure provides you with the contents of the specified rectangle of
the drawable in the format you specify.
If the format argument is
.BR XYPixmap ,
the image contains only the bit planes you passed to the plane_mask argument.
If the plane_mask argument only requests a subset of the planes of the
display, the depth of the returned image will be the number of planes
requested.
If the format argument is
.BR ZPixmap ,
.B XGetImage
returns as zero the bits in all planes not
specified in the plane_mask argument.
The function performs no range checking on the values in plane_mask and ignores
extraneous bits.
.LP
.B XGetImage
returns the depth of the image to the depth member of the
.B XImage
structure.
The depth of the image is as specified when the drawable was created,
except when getting a subset of the planes in
.B XYPixmap
format, when the depth is given by the number of bits set to 1 in plane_mask.
.LP
If the drawable is a pixmap,
the given rectangle must be wholly contained within the pixmap,
or a
.B BadMatch
error results.
If the drawable is a window,
the window must be viewable,
and it must be the case that if there were no inferiors or overlapping windows,
the specified rectangle of the window would be fully visible on the screen
and wholly contained within the outside edges of the window,
or a
.B BadMatch
error results.
Note that the borders of the window can be included and read with
this request.
If the window has backing-store, the backing-store contents are
returned for regions of the window that are obscured by noninferior
windows.
If the window does not have backing-store,
the returned contents of such obscured regions are undefined.
The returned contents of visible regions of inferiors
of a different depth than the specified window's depth are also undefined.
The pointer cursor image is not included in the returned contents.
If a problem occurs,
.B XGetImage
returns NULL.
.LP
.B XGetImage
can generate
.BR BadDrawable ,
.BR BadMatch ,
and
.B BadValue
errors.
.LP
The
.B XGetSubImage
function updates dest_image with the specified subimage in the same manner as
.BR XGetImage .
If the format argument is
.BR XYPixmap ,
the image contains only the bit planes you passed to the plane_mask argument.
If the format argument is
.BR ZPixmap ,
.B XGetSubImage
returns as zero the bits in all planes not
specified in the plane_mask argument.
The function performs no range checking on the values in plane_mask and ignores
extraneous bits.
As a convenience,
.B XGetSubImage
returns a pointer to the same
.B XImage
structure specified by dest_image.
.LP
The depth of the destination
.B XImage
structure must be the same as that of the drawable.
If the specified subimage does not fit at the specified location
on the destination image, the right and bottom edges are clipped.
If the drawable is a pixmap,
the given rectangle must be wholly contained within the pixmap,
or a
.B BadMatch
error results.
If the drawable is a window,
the window must be viewable,
and it must be the case that if there were no inferiors or overlapping windows,
the specified rectangle of the window would be fully visible on the screen
and wholly contained within the outside edges of the window,
or a
.B BadMatch
error results.
If the window has backing-store,
then the backing-store contents are returned for regions of the window
that are obscured by noninferior windows.
If the window does not have backing-store,
the returned contents of such obscured regions are undefined.
The returned contents of visible regions of inferiors
of a different depth than the specified window's depth are also undefined.
If a problem occurs,
.B XGetSubImage
returns NULL.
.LP
.B XGetSubImage
can generate
.BR BadDrawable ,
.BR BadGC ,
.BR BadMatch ,
and
.B BadValue
errors.
.SH DIAGNOSTICS
.TP 1i
.B BadDrawable
A value for a Drawable argument does not name a defined Window or Pixmap.
.TP 1i
.B BadGC
A value for a GContext argument does not name a defined GContext.
.TP 1i
.B BadMatch
An
.B InputOnly
window is used as a Drawable.
.TP 1i
.B BadMatch
Some argument or pair of arguments has the correct type and range but fails
to match in some other way required by the request.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
\fI\*(xL\fP
libX11-1.7.5/man/XStringToKeysym.man 0000644 0001750 0001750 00000012040 14222353101 014046 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XStringToKeysym __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XStringToKeysym, XKeysymToString, XKeycodeToKeysym, XKeysymToKeycode, XConvertCase \- convert keysyms
.SH SYNTAX
.HP
KeySym XStringToKeysym\^(\^_Xconst char *\fIstring\fP\^);
.HP
char *XKeysymToString\^(\^KeySym \fIkeysym\fP\^);
.HP
KeySym XKeycodeToKeysym\^(\^Display *\fIdisplay\fP\^, KeyCode \fIkeycode\fP\^,
int \fIindex\fP\^);
.HP
KeyCode XKeysymToKeycode\^(\^Display *\fIdisplay\fP\^, KeySym \fIkeysym\fP\^);
.HP
void XConvertCase(\^KeySym \fIkeysym\fP\^, KeySym *\fIlower_return\fP\^,
KeySym *\fIupper_return\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIindex\fP 1i
Specifies the element of KeyCode vector.
.IP \fIkeycode\fP 1i
Specifies the KeyCode.
.IP \fIkeysym\fP 1i
Specifies the KeySym that is to be searched for or converted.
.IP \fIlower_return\fP 1i
Returns the lowercase form of keysym, or keysym.
.IP \fIstring\fP 1i
Specifies the name of the KeySym that is to be converted.
.IP \fIupper_return\fP 1i
Returns the uppercase form of keysym, or keysym.
.SH DESCRIPTION
Standard KeySym names are obtained from
.B X11/keysymdef.h
by removing the XK_ prefix from each name.
KeySyms that are not part of the Xlib standard also may be obtained
with this function.
The set of KeySyms that are available in this manner
and the mechanisms by which Xlib obtains them is implementation-dependent.
.LP
If the KeySym name is not in the Host Portable Character Encoding,
the result is implementation-dependent.
If the specified string does not match a valid KeySym,
.B XStringToKeysym
returns
.BR NoSymbol .
.LP
The returned string is in a static area and must not be modified.
The returned string is in the Host Portable Character Encoding.
If the specified KeySym is not defined,
.B XKeysymToString
returns a NULL.
.LP
The
.B XKeycodeToKeysym
function uses internal Xlib tables
and returns the KeySym defined for the specified KeyCode and
the element of the KeyCode vector.
If no symbol is defined,
.B XKeycodeToKeysym
returns
.BR NoSymbol .
.B XKeycodeToKeysym
predates the XKB extension.
If you want to lookup a KeySym while
using XKB you have to use
.BR XkbKeycodeToKeysym .
.LP
If the specified KeySym is not defined for any KeyCode,
.B XKeysymToKeycode
returns zero.
.LP
The
.B XConvertCase
function returns the uppercase and lowercase forms of the specified Keysym,
if the KeySym is subject to case conversion;
otherwise, the specified KeySym is returned to both lower_return and
upper_return.
Support for conversion of other than Latin and Cyrillic KeySyms is
implementation-dependent.
.SH "SEE ALSO"
XkbKeycodeToKeysym(__libmansuffix__),
XLookupKeysym(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XSetWMSizeHints.man 0000644 0001750 0001750 00000000071 14222353101 013734 0000000 0000000 .so man__libmansuffix__/XAllocSizeHints.__libmansuffix__
libX11-1.7.5/man/XDeleteContext.man 0000644 0001750 0001750 00000000066 14222353101 013647 0000000 0000000 .so man__libmansuffix__/XSaveContext.__libmansuffix__
libX11-1.7.5/man/XLocaleOfOM.man 0000644 0001750 0001750 00000000061 14222353101 013013 0000000 0000000 .so man__libmansuffix__/XOpenOM.__libmansuffix__
libX11-1.7.5/man/XOpenOM.man 0000644 0001750 0001750 00000014002 14222353101 012230 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
.\" Copyright \(co 2000 The XFree86 Project, Inc.
.\"
.\" 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XOpenOM __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XOpenOM, XCloseOM, XSetOMValues, XGetOMValues, XDisplayOfOM, XLocaleOfOM \- open output methods
.SH SYNTAX
.HP
XOM XOpenOM\^(\^Display *\fIdisplay\fP\^, XrmDatabase \fIdb\fP\^, char
*\fIres_name\fP\^, char *\fIres_class\fP\^);
.HP
Status XCloseOM\^(\^XOM \fIom\fP\^);
.HP
char *XSetOMValues\^(\^XOM \fIom\fP, ...\^);
.HP
char *XGetOMValues\^(\^XOM \fIom\fP, ...\^);
.HP
Display *XDisplayOfOM\^(\^XOM \fIom\fP\^);
.HP
char *XLocaleOfOM\^(\^XOM \fIom\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIdb\fP 1i
Specifies a pointer to the resource database.
.IP \fIres_name\fP 1i
Specifies the full resource name of the application.
.IP \fIres_class\fP 1i
Specifies the full class name of the application.
.IP \fIom\fP 1i
Specifies the output method.
.IP ... 1i
Specifies the variable length argument list to set or get XOM values.
.SH DESCRIPTION
The
.B XOpenOM
function opens an output method
matching the current locale and modifiers specification.
The current locale and modifiers are bound to the output method
when
.B XOpenOM
is called.
The locale associated with an output method cannot be changed.
.LP
The specific output method to which this call will be routed
is identified on the basis of the current locale and modifiers.
.B XOpenOM
will identify a default output method corresponding to the
current locale.
That default can be modified using
.B XSetLocaleModifiers
to set the output method modifier.
.LP
The db argument is the resource database to be used by the output method
for looking up resources that are private to the output method.
It is not intended that this database be used to look
up values that can be set as OC values in an output context.
If db is NULL,
no database is passed to the output method.
.LP
The res_name and res_class arguments specify the resource name
and class of the application.
They are intended to be used as prefixes by the output method
when looking up resources that are common to all output contexts
that may be created for this output method.
The characters used for resource names and classes must be in the
X Portable Character Set.
The resources looked up are not fully specified
if res_name or res_class is NULL.
.LP
The res_name and res_class arguments are not assumed to exist beyond
the call to
.BR XOpenOM .
The specified resource database is assumed to exist for the lifetime
of the output method.
.LP
.B XOpenOM
returns NULL if no output method could be opened.
.LP
The
.B XCloseOM
function closes the specified output method.
.LP
The
.B XSetOMValues
function presents a variable argument list programming interface
for setting properties or features of the specified output method.
This function returns NULL if it succeeds;
otherwise,
it returns the name of the first argument that could not be set.
Xlib does not attempt to set arguments from the supplied list that
follow the failed argument;
all arguments in the list preceding the failed argument have been set
correctly.
.LP
No standard arguments are currently defined by Xlib.
.LP
The
.B XGetOMValues
function presents a variable argument list programming interface
for querying properties or features of the specified output method.
This function returns NULL if it succeeds;
otherwise,
it returns the name of the first argument that could not be obtained.
.LP
The
.B XDisplayOfOM
function returns the display associated with the specified output method.
.LP
The
.B XLocaleOfOM
returns the locale associated with the specified output method.
.SH "SEE ALSO"
XCreateOC(__libmansuffix__),
XCreateFontSet(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XDrawString.man 0000644 0001750 0001750 00000011026 14222353101 013162 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XDrawString __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XDrawString, XDrawString16 \- draw text characters
.SH SYNTAX
.HP
int XDrawString\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
\fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, _Xconst char *\fIstring\fP\^, int
\fIlength\fP\^);
.HP
int XDrawString16\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
\fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, _Xconst XChar2b *\fIstring\fP\^, int
\fIlength\fP\^);
.SH ARGUMENTS
.IP \fId\fP 1i
Specifies the drawable.
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIgc\fP 1i
Specifies the GC.
.IP \fIlength\fP 1i
Specifies the number of characters in the string argument.
.IP \fIstring\fP 1i
Specifies the character string.
.IP \fIx\fP 1i
.br
.ns
.IP \fIy\fP 1i
Specify the x and y coordinates, which are relative to the
origin of the specified drawable
and define the origin of the first character.
.SH DESCRIPTION
Each character image, as defined by the font in the GC, is treated as an
additional mask for a fill operation on the drawable.
The drawable is modified only where the font character has a bit set to 1.
For fonts defined with 2-byte matrix indexing
and used with
.BR XDrawString16 ,
each byte is used as a byte2 with a byte1 of zero.
.LP
Both functions use these GC components:
function, plane-mask, fill-style, font, subwindow-mode, clip-x-origin,
clip-y-origin, and clip-mask.
They also use these GC mode-dependent components:
foreground, background, tile, stipple, tile-stipple-x-origin,
and tile-stipple-y-origin.
.LP
.B XDrawString
and
.B XDrawString16
can generate
.BR BadDrawable ,
.BR BadGC ,
and
.B BadMatch
errors.
.SH DIAGNOSTICS
.TP 1i
.B BadDrawable
A value for a Drawable argument does not name a defined Window or Pixmap.
.TP 1i
.B BadGC
A value for a GContext argument does not name a defined GContext.
.TP 1i
.B BadMatch
An
.B InputOnly
window is used as a Drawable.
.TP 1i
.B BadMatch
Some argument or pair of arguments has the correct type and range but fails
to match in some other way required by the request.
.SH "SEE ALSO"
XDrawImageString(__libmansuffix__),
XDrawText(__libmansuffix__),
XLoadFont(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XrmMergeDatabases.man 0000644 0001750 0001750 00000011660 14222353101 014310 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XrmMergeDatabases __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XrmMergeDatabases, XrmCombineDatabase, XrmCombineFileDatabase \- merge resource databases
.SH SYNTAX
.HP
#include
.HP
void XrmMergeDatabases(\^XrmDatabase \fIsource_db\fP, XrmDatabase
*\fItarget_db\fP\^);
.HP
void XrmCombineDatabase(\^XrmDatabase \fIsource_db\fP, XrmDatabase
*\fItarget_db\fP, Bool \fIoverride\fP\^);
.HP
Status XrmCombineFileDatabase(\^_Xconst char *\fIfilename\fP, XrmDatabase
*\fItarget_db\fP\^, Bool \fIoverride\fP);
.SH ARGUMENTS
.IP \fIsource_db\fP 1i
Specifies the resource database that is to be merged into the target database.
.IP \fItarget_db\fP 1i
Specifies the resource database into which the source
database is to be merged.
.IP \fIfilename\fP 1i
Specifies the resource database file name.
.IP \fIoverride\fP 1i
Specifies whether source entries override target ones.
.SH DESCRIPTION
Calling the
.B XrmMergeDatabases
function is equivalent to calling the
.B XrmCombineDatabase
function with an override argument of
.BR True .
.LP
The
.B XrmCombineDatabase
function merges the contents of one database into another.
If the same specifier is used for an entry in both databases,
the entry in the source_db will replace the entry in the target_db
if override is
.BR True ;
otherwise, the entry in source_db is discarded.
If target_db contains NULL,
.B XrmCombineDatabase
simply stores source_db in it.
Otherwise, source_db is destroyed by the merge, but the database pointed
to by target_db is not destroyed.
The database entries are merged without changing values or types,
regardless of the locales of the databases.
The locale of the target database is not modified.
.LP
The
.B XrmCombineFileDatabase
function merges the contents of a resource file into a database.
If the same specifier is used for an entry in both the file and
the database,
the entry in the file will replace the entry in the database
if override is
.BR True ;
otherwise, the entry in the file is discarded.
The file is parsed in the current locale.
If the file cannot be read,
a zero status is returned;
otherwise, a nonzero status is returned.
If target_db contains NULL,
.B XrmCombineFileDatabase
creates and returns a new database to it.
Otherwise, the database pointed to by target_db is not destroyed by the merge.
The database entries are merged without changing values or types,
regardless of the locale of the database.
The locale of the target database is not modified.
.SH "SEE ALSO"
XrmGetResource(__libmansuffix__),
XrmInitialize(__libmansuffix__),
XrmPutResource(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XDisplayName.man 0000644 0001750 0001750 00000000072 14222353101 013303 0000000 0000000 .so man__libmansuffix__/XSetErrorHandler.__libmansuffix__
libX11-1.7.5/man/XSetPointerMapping.man 0000644 0001750 0001750 00000011125 14222353101 014506 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSetPointerMapping __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSetPointerMapping, XGetPointerMapping \- manipulate pointer settings
.SH SYNTAX
.HP
int XSetPointerMapping\^(\^Display *\fIdisplay\fP\^, _Xconst unsigned char
\fImap\fP\^[]\^, int \fInmap\fP\^);
.HP
int XGetPointerMapping\^(\^Display *\fIdisplay\fP\^, unsigned char
\fImap_return\fP\^[]\^, int \fInmap\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fImap\fP 1i
Specifies the mapping list.
.IP \fImap_return\fP 1i
Returns the mapping list.
.IP \fInmap\fP 1i
Specifies the number of items in the mapping list.
.SH DESCRIPTION
The
.B XSetPointerMapping
function sets the mapping of the pointer.
If it succeeds, the X server generates a
.B MappingNotify
event, and
.B XSetPointerMapping
returns
.BR MappingSuccess .
Element map[i] defines the logical button number for the physical button
i+1.
The length of the list must be the same as
.B XGetPointerMapping
would return,
or a
.B BadValue
error results.
A zero element disables a button, and elements are not restricted in
value by the number of physical buttons.
However, no two elements can have the same nonzero value,
or a
.B BadValue
error results.
If any of the buttons to be altered are logically in the down state,
.B XSetPointerMapping
returns
.BR MappingBusy ,
and the mapping is not changed.
.LP
.B XSetPointerMapping
can generate a
.B BadValue
error.
.LP
The
.B XGetPointerMapping
function returns the current mapping of the pointer.
Pointer buttons are numbered starting from one.
.B XGetPointerMapping
returns the number of physical buttons actually on the pointer.
The nominal mapping for a pointer is map[i]=i+1.
The nmap argument specifies the length of the array where the pointer
mapping is returned, and only the first nmap elements are returned
in map_return.
.SH DIAGNOSTICS
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
XChangeKeyboardControl(__libmansuffix__),
XChangeKeyboardMapping(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/BitmapUnit.man 0000644 0001750 0001750 00000000070 14222353101 013017 0000000 0000000 .so man__libmansuffix__/ImageByteOrder.__libmansuffix__
libX11-1.7.5/man/IsPFKey.man 0000644 0001750 0001750 00000000065 14222353101 012221 0000000 0000000 .so man__libmansuffix__/IsCursorKey.__libmansuffix__
libX11-1.7.5/man/XSetWMIconName.man 0000644 0001750 0001750 00000012422 14222353101 013510 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSetWMIconName __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSetWMIconName, XGetWMIconName, XSetIconName, XGetIconName \- set or read a window's WM_ICON_NAME property
.SH SYNTAX
.HP
void XSetWMIconName\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
XTextProperty *\fItext_prop\fP\^);
.HP
Status XGetWMIconName\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
XTextProperty *\fItext_prop_return\fP\^);
.HP
int XSetIconName\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, _Xconst char
*\fIicon_name\fP\^);
.HP
Status XGetIconName\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, char
**\fIicon_name_return\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIicon_name\fP 1i
Specifies the icon name,
which should be a null-terminated string.
.IP \fIicon_name_return\fP 1i
Returns the window's icon name,
which is a null-terminated string.
.IP \fItext_prop\fP 1i
Specifies the
.B XTextProperty
structure to be used.
.IP \fItext_prop_return\fP 1i
Returns the
.B XTextProperty
structure.
.IP \fIw\fP 1i
Specifies the window.
.SH DESCRIPTION
The
.B XSetWMIconName
convenience function calls
.B XSetTextProperty
to set the WM_ICON_NAME property.
.LP
The
.B XGetWMIconName
convenience function calls
.B XGetTextProperty
to obtain the WM_ICON_NAME property.
It returns a nonzero status on success;
otherwise, it returns a zero status.
.LP
The
.B XSetIconName
function sets the name to be displayed in a window's icon.
.LP
.B XSetIconName
can generate
.B BadAlloc
and
.B BadWindow
errors.
.LP
The
.B XGetIconName
function returns the name to be displayed in the specified window's icon.
If it succeeds, it returns a nonzero status; otherwise,
if no icon name has been set for the window,
it returns zero.
If you never assigned a name to the window,
.B XGetIconName
sets icon_name_return to NULL.
If the data returned by the server is in the Latin Portable Character Encoding,
then the returned string is in the Host Portable Character Encoding.
Otherwise, the result is implementation-dependent.
When finished with it, a client must free
the icon name string using
.BR XFree .
.LP
.B XGetIconName
can generate a
.B BadWindow
error.
.SH PROPERTIES
.TP 1i
\s-1WM_ICON_NAME\s+1
The name to be used in an icon.
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XAllocClassHint(__libmansuffix__),
XAllocIconSize(__libmansuffix__),
XAllocSizeHints(__libmansuffix__),
XAllocWMHints(__libmansuffix__),
XFree(__libmansuffix__),
XSetCommand(__libmansuffix__),
XSetTransientForHint(__libmansuffix__),
XSetTextProperty(__libmansuffix__),
XSetWMClientMachine(__libmansuffix__),
XSetWMColormapWindows(__libmansuffix__),
XSetWMName(__libmansuffix__),
XSetWMProperties(__libmansuffix__),
XSetWMProtocols(__libmansuffix__),
XStringListToTextProperty(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XwcDrawText.man 0000644 0001750 0001750 00000000065 14222353101 013173 0000000 0000000 .so man__libmansuffix__/XmbDrawText.__libmansuffix__
libX11-1.7.5/man/XcmsFreeCCC.man 0000644 0001750 0001750 00000000067 14222353101 012776 0000000 0000000 .so man__libmansuffix__/XcmsCreateCCC.__libmansuffix__
libX11-1.7.5/man/XQueryBestSize.man 0000644 0001750 0001750 00000013714 14222353101 013662 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XQueryBestSize __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XQueryBestSize, XQueryBestTile, XQueryBestStipple \- determine efficient sizes
.SH SYNTAX
.HP
Status XQueryBestSize\^(\^Display *\fIdisplay\fP\^, int \fIclass\fP\^,
Drawable \fIwhich_screen\fP\^, unsigned int \fIwidth\fP, unsigned int
\fIheight\fP\^, unsigned int *\fIwidth_return\fP, unsigned int
*\fIheight_return\fP\^);
.HP
Status XQueryBestTile\^(\^Display *\fIdisplay\fP\^, Drawable
\fIwhich_screen\fP\^, unsigned int \fIwidth\fP, unsigned int \fIheight\fP\^,
unsigned int *\fIwidth_return\fP, unsigned int *\fIheight_return\fP\^);
.HP
Status XQueryBestStipple\^(\^Display *\fIdisplay\fP\^, Drawable
\fIwhich_screen\fP\^, unsigned int \fIwidth\fP, unsigned int \fIheight\fP\^,
unsigned int *\fIwidth_return\fP, unsigned int *\fIheight_return\fP\^);
.SH ARGUMENTS
.IP \fIclass\fP 1i
Specifies the class that you are interested in.
You can pass
.BR TileShape ,
.BR CursorShape ,
or
.BR StippleShape .
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIwidth\fP 1i
.br
.ns
.IP \fIheight\fP 1i
Specify the width and height.
.IP \fIwhich_screen\fP 1i
Specifies any drawable on the screen.
.IP \fIwidth_return\fP 1i
.br
.ns
.IP \fIheight_return\fP 1i
Return the width and height of the object best supported
by the display hardware.
.SH DESCRIPTION
The
.B XQueryBestSize
function returns the best or closest size to the specified size.
For
.BR CursorShape ,
this is the largest size that can be fully displayed on the screen specified by
which_screen.
For
.BR TileShape ,
this is the size that can be tiled fastest.
For
.BR StippleShape ,
this is the size that can be stippled fastest.
For
.BR CursorShape ,
the drawable indicates the desired screen.
For
.B TileShape
and
.BR StippleShape ,
the drawable indicates the screen and possibly the window class and depth.
An
.B InputOnly
window cannot be used as the drawable for
.B TileShape
or
.BR StippleShape ,
or a
.B BadMatch
error results.
.LP
.B XQueryBestSize
can generate
.BR BadDrawable ,
.BR BadMatch ,
and
.B BadValue
errors.
.LP
The
.B XQueryBestTile
function returns the best or closest size, that is, the size that can be
tiled fastest on the screen specified by which_screen.
The drawable indicates the screen and possibly the window class and depth.
If an
.B InputOnly
window is used as the drawable, a
.B BadMatch
error results.
.LP
.B XQueryBestTile
can generate
.B BadDrawable
and
.B BadMatch
errors.
.LP
The
.B XQueryBestStipple
function returns the best or closest size, that is, the size that can be
stippled fastest on the screen specified by which_screen.
The drawable indicates the screen and possibly the window class and depth.
If an
.B InputOnly
window is used as the drawable, a
.B BadMatch
error results.
.LP
.B XQueryBestStipple
can generate
.B BadDrawable
and
.B BadMatch
errors.
.SH DIAGNOSTICS
.TP 1i
.B BadMatch
An
.B InputOnly
window is used as a Drawable.
.TP 1i
.B BadDrawable
A value for a Drawable argument does not name a defined Window or Pixmap.
.TP 1i
.B BadMatch
The values do not exist for an
.B InputOnly
window.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
XCreateGC(__libmansuffix__),
XSetArcMode(__libmansuffix__),
XSetClipOrigin(__libmansuffix__),
XSetFillStyle(__libmansuffix__),
XSetFont(__libmansuffix__),
XSetLineAttributes(__libmansuffix__),
XSetState(__libmansuffix__),
XSetTile(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XSetWMHints.man 0000644 0001750 0001750 00000000067 14222353101 013106 0000000 0000000 .so man__libmansuffix__/XAllocWMHints.__libmansuffix__
libX11-1.7.5/man/XNewModifiermap.man 0000644 0001750 0001750 00000000100 14222353101 013773 0000000 0000000 .so man__libmansuffix__/XChangeKeyboardMapping.__libmansuffix__
libX11-1.7.5/man/XFillArc.man 0000644 0001750 0001750 00000000070 14222353101 012407 0000000 0000000 .so man__libmansuffix__/XFillRectangle.__libmansuffix__
libX11-1.7.5/man/XcmsStoreColor.man 0000644 0001750 0001750 00000015541 14222353101 013702 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XcmsStoreColor __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XcmsStoreColor, XcmsStoreColors \- set colors
.SH SYNTAX
.HP
Status XcmsStoreColor\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^,
XcmsColor *\fIcolor\fP\^);
.HP
Status XcmsStoreColors\^(\^Display *\fIdisplay\fP\^,
Colormap \fIcolormap\fP\^,
XcmsColor *\fIcolors\fP\^,
unsigned \fIncolors\fP\^,
Bool *\fIcompression_flags_return\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIcolor\fP 1i
Specifies the color cell and the color to store.
Values specified in this
.B XcmsColor
structure remain unchanged on return.
.IP \fIcolors\fP 1i
Specifies the color specification array of
.B XcmsColor
structures, each specifying a color cell and the color to store in that
cell.
Values specified in the array remain unchanged upon return.
.IP \fIcolormap\fP 1i
Specifies the colormap.
.IP \fIcompression_flags_return\fP 1i
Returns an array of Boolean values indicating compression status.
If a non-NULL pointer is supplied,
each element of the array is set to
.B True
if the corresponding color was compressed and
.B False
otherwise.
Pass NULL if the compression status is not useful.
.IP \fIncolors\fP 1i
Specifies the number of
.B XcmsColor
structures in the color-specification array.
.SH DESCRIPTION
The
.B XcmsStoreColor
function converts the color specified in the
.B XcmsColor
structure into RGB values.
It then uses this RGB specification in an
.B XColor
structure, whose three flags
.RB ( DoRed ,
.BR DoGreen ,
and
.BR DoBlue )
are set, in a call to
.B XStoreColor
to change the color cell specified by the pixel member of the
.B XcmsColor
structure.
This pixel value must be a valid index for the specified colormap,
and the color cell specified by the pixel value must be a read/write cell.
If the pixel value is not a valid index, a
.B BadValue
error results.
If the color cell is unallocated or is allocated read-only, a
.B BadAccess
error results.
If the colormap is an installed map for its screen,
the changes are visible immediately.
.LP
Note that
.B XStoreColor
has no return value; therefore, an
.B XcmsSuccess
return value from this function indicates that the conversion
to RGB succeeded and the call to
.B XStoreColor
was made.
To obtain the actual color stored, use
.BR XcmsQueryColor .
Because of the screen's hardware limitations or gamut compression,
the color stored in the colormap may not be identical
to the color specified.
.LP
.B XcmsStoreColor
can generate
.BR BadAccess ,
.BR BadColor ,
and
.B BadValue
errors.
.LP
The
.B XcmsStoreColors
function converts the colors specified in the array of
.B XcmsColor
structures into RGB values and then uses these RGB specifications in
.B XColor
structures, whose three flags
.RB ( DoRed ,
.BR DoGreen ,
and
.BR DoBlue )
are set, in a call to
.B XStoreColors
to change the color cells specified by the pixel member of the corresponding
.B XcmsColor
structure.
Each pixel value must be a valid index for the specified colormap,
and the color cell specified by each pixel value must be a read/write cell.
If a pixel value is not a valid index, a
.B BadValue
error results.
If a color cell is unallocated or is allocated read-only, a
.B BadAccess
error results.
If more than one pixel is in error,
the one that gets reported is arbitrary.
If the colormap is an installed map for its screen,
the changes are visible immediately.
.LP
Note that
.B XStoreColors
has no return value; therefore, an
.B XcmsSuccess
return value from this function indicates that conversions
to RGB succeeded and the call to
.B XStoreColors
was made.
To obtain the actual colors stored, use
.BR XcmsQueryColors .
Because of the screen's hardware limitations or gamut compression,
the colors stored in the colormap may not be identical
to the colors specified.
.LP
.LP
.B XcmsStoreColors
can generate
.BR BadAccess ,
.BR BadColor ,
and
.B BadValue
errors.
.SH DIAGNOSTICS
.TP 1i
.B BadAccess
A client attempted
to free a color map entry that it did not already allocate.
.TP 1i
.B BadAccess
A client attempted
to store into a read-only color map entry.
.TP 1i
.B BadColor
A value for a Colormap argument does not name a defined Colormap.
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.SH "SEE ALSO"
XcmsAllocColor(__libmansuffix__),
XcmsQueryColor(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XResetScreenSaver.man 0000644 0001750 0001750 00000000071 14222353101 014317 0000000 0000000 .so man__libmansuffix__/XSetScreenSaver.__libmansuffix__
libX11-1.7.5/man/XGrabKeyboard.man 0000644 0001750 0001750 00000015417 14222353101 013442 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XGrabKeyboard __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XGrabKeyboard, XUngrabKeyboard \- grab the keyboard
.SH SYNTAX
.HP
int XGrabKeyboard\^(\^Display *\fIdisplay\fP\^, Window \fIgrab_window\fP\^,
Bool \fIowner_events\fP\^, int \fIpointer_mode\fP\^, int
\fIkeyboard_mode\fP\^, Time \fItime\fP\^);
.HP
int XUngrabKeyboard\^(\^Display *\fIdisplay\fP\^, Time \fItime\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIgrab_window\fP 1i
Specifies the grab window.
.IP \fIkeyboard_mode\fP 1i
Specifies further processing of keyboard events.
You can pass
.B GrabModeSync
or
.BR GrabModeAsync .
.IP \fIowner_events\fP 1i
Specifies a Boolean value that indicates whether the keyboard events
are to be reported as usual.
.IP \fIpointer_mode\fP 1i
Specifies further processing of pointer events.
You can pass
.B GrabModeSync
or
.BR GrabModeAsync .
.IP \fItime\fP 1i
Specifies the time.
You can pass either a timestamp or
.BR CurrentTime .
.SH DESCRIPTION
The
.B XGrabKeyboard
function actively grabs control of the keyboard and generates
.B FocusIn
and
.B FocusOut
events.
Further key events are reported only to the
grabbing client.
.B XGrabKeyboard
overrides any active keyboard grab by this client.
If owner_events is
.BR False ,
all generated key events are reported with
respect to grab_window.
If owner_events is
.B True
and if a generated
key event would normally be reported to this client, it is reported
normally; otherwise, the event is reported with respect to the
grab_window.
Both
.B KeyPress
and
.B KeyRelease
events are always reported,
independent of any event selection made by the client.
.LP
If the keyboard_mode argument is
.BR GrabModeAsync ,
keyboard event processing continues
as usual.
If the keyboard is currently frozen by this client,
then processing of keyboard events is resumed.
If the keyboard_mode argument is
.BR GrabModeSync ,
the state of the keyboard (as seen by client applications) appears to freeze,
and the X server generates no further keyboard events until the
grabbing client issues a releasing
.B XAllowEvents
call or until the keyboard grab is released.
Actual keyboard changes are not lost while the keyboard is frozen;
they are simply queued in the server for later processing.
.LP
If pointer_mode is
.BR GrabModeAsync ,
pointer event processing is unaffected
by activation of the grab.
If pointer_mode is
.BR GrabModeSync ,
the state of the pointer (as seen by client applications) appears to freeze,
and the X server generates no further pointer events
until the grabbing client issues a releasing
.B XAllowEvents
call or until the keyboard grab is released.
Actual pointer changes are not lost while the pointer is frozen;
they are simply queued in the server for later processing.
.LP
If the keyboard is actively grabbed by some other client,
.B XGrabKeyboard
fails and returns
.BR AlreadyGrabbed .
If grab_window is not viewable,
it fails and returns
.BR GrabNotViewable .
If the keyboard is frozen by an active grab of another client,
it fails and returns
.BR GrabFrozen .
If the specified time is earlier than the last-keyboard-grab time
or later than the current X server time,
it fails and returns
.BR GrabInvalidTime .
Otherwise, the last-keyboard-grab time is set to the specified time
.RB ( CurrentTime
is replaced by the current X server time).
.LP
.B XGrabKeyboard
can generate
.B BadValue
and
.B BadWindow
errors.
.LP
The
.B XUngrabKeyboard
function
releases the keyboard and any queued events if this client has it actively grabbed from
either
.B XGrabKeyboard
or
.BR XGrabKey .
.B XUngrabKeyboard
does not release the keyboard and any queued events
if the specified time is earlier than
the last-keyboard-grab time or is later than the current X server time.
It also generates
.B FocusIn
and
.B FocusOut
events.
The X server automatically performs an
.B UngrabKeyboard
request if the event window for an
active keyboard grab becomes not viewable.
.SH DIAGNOSTICS
.TP 1i
.B BadValue
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted.
Any argument defined as a set of
alternatives can generate this error.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XAllowEvents(__libmansuffix__),
XGrabButton(__libmansuffix__),
XGrabKey(__libmansuffix__),
XGrabPointer(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XVisibilityEvent.man 0000644 0001750 0001750 00000013426 14222353101 014235 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XVisibilityEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XVisibilityEvent \- VisibilityNotify event structure
.SH STRUCTURES
The structure for
.B VisibilityNotify
events contains:
.LP
.EX
typedef struct {
int type; /\&* VisibilityNotify */
unsigned long serial; /\&* # of last request processed by server */
Bool send_event; /\&* true if this came from a SendEvent request */
Display *display; /\&* Display the event was read from */
Window window;
int state;
} XVisibilityEvent;
.EE
.LP
When you receive this event,
the structure members are set as follows.
.LP
The type member is set to the event type constant name that uniquely identifies
it.
For example, when the X server reports a
.B GraphicsExpose
event to a client application, it sends an
.B XGraphicsExposeEvent
structure with the type member set to
.BR GraphicsExpose .
The display member is set to a pointer to the display the event was read on.
The send_event member is set to
.B True
if the event came from a
.B SendEvent
protocol request.
The serial member is set from the serial number reported in the protocol
but expanded from the 16-bit least-significant bits to a full 32-bit value.
The window member is set to the window that is most useful to toolkit
dispatchers.
.LP
The window member is set to the window whose visibility state changes.
The state member is set to the state of the window's visibility and can be
.BR VisibilityUnobscured ,
.BR VisibilityPartiallyObscured ,
or
.BR VisibilityFullyObscured .
The X server ignores all of a window's subwindows
when determining the visibility state of the window and processes
.B VisibilityNotify
events according to the following:
.IP \(bu 5
When the window changes state from partially obscured, fully obscured,
or not viewable to viewable and completely unobscured,
the X server generates the event with the state member of the
.B XVisibilityEvent
structure set to
.BR VisibilityUnobscured .
.IP \(bu 5
When the window changes state from viewable and completely unobscured or
not viewable to viewable and partially obscured,
the X server generates the event with the state member of the
.B XVisibilityEvent
structure set to
.BR VisibilityPartiallyObscured .
.IP \(bu 5
When the window changes state from viewable and completely unobscured,
viewable and partially obscured, or not viewable to viewable and
fully obscured,
the X server generates the event with the state member of the
.B XVisibilityEvent
structure set to
.BR VisibilityFullyObscured .
.SH "SEE ALSO"
XAnyEvent(__libmansuffix__),
XButtonEvent(__libmansuffix__),
XCreateWindowEvent(__libmansuffix__),
XCirculateEvent(__libmansuffix__),
XCirculateRequestEvent(__libmansuffix__),
XColormapEvent(__libmansuffix__),
XConfigureEvent(__libmansuffix__),
XConfigureRequestEvent(__libmansuffix__),
XCrossingEvent(__libmansuffix__),
XDestroyWindowEvent(__libmansuffix__),
XErrorEvent(__libmansuffix__),
XExposeEvent(__libmansuffix__),
XFocusChangeEvent(__libmansuffix__),
XGraphicsExposeEvent(__libmansuffix__),
XGravityEvent(__libmansuffix__),
XKeymapEvent(__libmansuffix__),
XMapEvent(__libmansuffix__),
XMapRequestEvent(__libmansuffix__),
XPropertyEvent(__libmansuffix__),
XReparentEvent(__libmansuffix__),
XResizeRequestEvent(__libmansuffix__),
XSelectionClearEvent(__libmansuffix__),
XSelectionEvent(__libmansuffix__),
XSelectionRequestEvent(__libmansuffix__),
XUnmapEvent(__libmansuffix__),
.br
\fI\*(xL\fP
libX11-1.7.5/man/XwcTextPropertyToTextList.man 0000644 0001750 0001750 00000000103 14222353101 016117 0000000 0000000 .so man__libmansuffix__/XmbTextListToTextProperty.__libmansuffix__
libX11-1.7.5/man/XrmPutLineResource.man 0000644 0001750 0001750 00000000070 14222353101 014522 0000000 0000000 .so man__libmansuffix__/XrmPutResource.__libmansuffix__
libX11-1.7.5/man/XSetTransientForHint.man 0000644 0001750 0001750 00000010556 14222353101 015022 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XSetTransientForHint __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XSetTransientForHint, XGetTransientForHint \- set or read a window's WM_TRANSIENT_FOR property
.SH SYNTAX
.HP
int XSetTransientForHint\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
Window \fIprop_window\fP\^);
.HP
Status XGetTransientForHint\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
Window *\fIprop_window_return\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIw\fP 1i
Specifies the window.
.IP \fIprop_window\fP 1i
Specifies the window that the WM_TRANSIENT_FOR property is to be set to.
.IP \fIprop_window_return\fP 1i
Returns the WM_TRANSIENT_FOR property of the specified window.
.SH DESCRIPTION
The
.B XSetTransientForHint
function sets the WM_TRANSIENT_FOR property of the specified window to the
specified prop_window.
.LP
.B XSetTransientForHint
can generate
.B BadAlloc
and
.B BadWindow
errors.
.LP
The
.B XGetTransientForHint
function returns the WM_TRANSIENT_FOR property for the specified window.
It returns a nonzero status on success;
otherwise, it returns a zero status.
.LP
.B XGetTransientForHint
can generate a
.B BadWindow
error.
.SH PROPERTIES
.TP 1i
\s-1WM_TRANSIENT_FOR\s+1
Set by application programs to indicate to the window manager that a transient
top-level window, such as a dialog box.
.SH DIAGNOSTICS
.TP 1i
.B BadAlloc
The server failed to allocate the requested resource or server memory.
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XAllocClassHint(__libmansuffix__),
XAllocIconSize(__libmansuffix__),
XAllocSizeHints(__libmansuffix__),
XAllocWMHints(__libmansuffix__),
XSetCommand(__libmansuffix__),
XSetTextProperty(__libmansuffix__),
XSetWMClientMachine(__libmansuffix__),
XSetWMColormapWindows(__libmansuffix__),
XSetWMIconName(__libmansuffix__),
XSetWMName(__libmansuffix__),
XSetWMProperties(__libmansuffix__),
XSetWMProtocols(__libmansuffix__),
XStringListToTextProperty(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/Xutf8LookupString.man 0000644 0001750 0001750 00000000071 14222353101 014343 0000000 0000000 .so man__libmansuffix__/XmbLookupString.__libmansuffix__
libX11-1.7.5/man/XListProperties.man 0000644 0001750 0001750 00000000074 14222353101 014067 0000000 0000000 .so man__libmansuffix__/XGetWindowProperty.__libmansuffix__
libX11-1.7.5/man/XFreeGC.man 0000644 0001750 0001750 00000000063 14222353101 012170 0000000 0000000 .so man__libmansuffix__/XCreateGC.__libmansuffix__
libX11-1.7.5/man/XWindowAttributes.man 0000644 0001750 0001750 00000000076 14222353101 014417 0000000 0000000 .so man__libmansuffix__/XGetWindowAttributes.__libmansuffix__
libX11-1.7.5/man/XSetFunction.man 0000644 0001750 0001750 00000000063 14222353101 013336 0000000 0000000 .so man__libmansuffix__/XSetState.__libmansuffix__
libX11-1.7.5/man/XReparentWindow.man 0000644 0001750 0001750 00000011011 14222353101 014040 0000000 0000000 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
.\" Digital Equipment Corporation
.\"
.\" Portions Copyright \(co 1990, 1991 by
.\" Tektronix, Inc.
.\"
.\" Permission to use, copy, modify and distribute this documentation for
.\" any purpose and without fee is hereby granted, provided that the above
.\" copyright notice appears in all copies and that both that copyright notice
.\" and this permission notice appear in all copies, and that the names of
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
.\" to this documentation without specific, written prior permission.
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided "as is" without express or implied warranty.
.\"
.\"
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.TH XReparentWindow __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
.SH NAME
XReparentWindow \- reparent windows
.SH SYNTAX
.HP
int XReparentWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Window
\fIparent\fP\^, int \fIx\fP\^, int \fIy\fP\^);
.SH ARGUMENTS
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIparent\fP 1i
Specifies the parent window.
.IP \fIw\fP 1i
Specifies the window.
.IP \fIx\fP 1i
.br
.ns
.IP \fIy\fP 1i
Specify the x and y coordinates of the position in the new parent window.
.SH DESCRIPTION
If the specified window is mapped,
.B XReparentWindow
automatically performs an
.B UnmapWindow
request on it, removes it from its current position in the hierarchy,
and inserts it as the child of the specified parent.
The window is placed in the stacking order on top with respect to
sibling windows.
.LP
After reparenting the specified window,
.B XReparentWindow
causes the X server to generate a
.B ReparentNotify
event.
The override_redirect member returned in this event is
set to the window's corresponding attribute.
Window manager clients usually should ignore this window if this member
is set to
.BR True .
Finally, if the specified window was originally mapped,
the X server automatically performs a
.B MapWindow
request on it.
.LP
The X server performs normal exposure processing on formerly obscured
windows.
The X server might not generate
.B Expose
events for regions from the initial
.B UnmapWindow
request that are immediately obscured by the final
.B MapWindow
request.
A
.B BadMatch
error results if:
.IP \(bu 5
The new parent window is not on the same screen as
the old parent window.
.IP \(bu 5
The new parent window is the specified window or an inferior of the
specified window.
.IP \(bu 5
The new parent is
.BR InputOnly ,
and the window is not.
.IP \(bu 5
The specified window has a
.B ParentRelative
background, and the new parent window is not the same depth as the
specified window.
.LP
.B XReparentWindow
can generate
.B BadMatch
and
.B BadWindow
errors.
.SH DIAGNOSTICS
.TP 1i
.B BadWindow
A value for a Window argument does not name a defined Window.
.SH "SEE ALSO"
XChangeSaveSet(__libmansuffix__)
.br
\fI\*(xL\fP
libX11-1.7.5/man/XcmsQueryBlue.man 0000644 0001750 0001750 00000000070 14222353101 013513 0000000 0000000 .so man__libmansuffix__/XcmsQueryBlack.__libmansuffix__
libX11-1.7.5/man/XCheckIfEvent.man 0000644 0001750 0001750 00000000062 14222353101 013372 0000000 0000000 .so man__libmansuffix__/XIfEvent.__libmansuffix__
libX11-1.7.5/man/XGetWMProtocols.man 0000644 0001750 0001750 00000000071 14222353101 013764 0000000 0000000 .so man__libmansuffix__/XSetWMProtocols.__libmansuffix__
libX11-1.7.5/man/xkb/ 0000755 0001750 0001750 00000000000 14222353116 011123 5 0000000 0000000 libX11-1.7.5/man/xkb/XkbKeyGroupWidth.man 0000644 0001750 0001750 00000004733 14222353101 014753 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbKeyGroupWidth __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbKeyGroupWidth \- Computes the width of the type associated with the group
.I grp
for the key corresponding to
.I keycode
.SH SYNOPSIS
.HP
.B int XkbKeyGroupWidth
.BI "(\^XkbDescPtr " "xkb" "\^,"
.BI "KeyCode " "keycode" "\^,"
.BI "int " "grp" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- xkb
Xkb description of interest
.TP
.I \- keycode
keycode of interest
.TP
.I \- grp
group of interest
.SH DESCRIPTION
.LP
The key width and number of groups associated with a key are used to form a
small two-dimensional array of KeySyms for a key. This array may be different
sizes for different keys. The array for a single key is stored as a linear list,
in row-major order. The arrays for all of the keys are stored in the
.I syms
field of the client map. There is one row for each group associated with a key
and one column for each level. The index corresponding to a given group and
shift level is computed as:
.nf
idx = group_index * key_width + shift_level
.fi
The
.I offset
field of the
.I key_sym_map
entry for a key is used to access the beginning of the array.
.I XkbKeyGroupWidth
computes the width of the type associated with the group
.I grp
for the key corresponding to
.I keycode.
libX11-1.7.5/man/xkb/XkbSetNamedDeviceIndicator.man 0000644 0001750 0001750 00000000076 14222353101 016657 0000000 0000000 .so man__libmansuffix__/XkbSetNamedIndicator.__libmansuffix__
libX11-1.7.5/man/xkb/XkbSetAutoResetControls.man 0000644 0001750 0001750 00000006446 14222353101 016324 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbSetAutoResetControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbSetAutoResetControls \- Changes the current values of the AutoReset control
attributes
.SH SYNOPSIS
.HP
.B Bool XkbSetAutoResetControls
.BI "(\^Display *" "dpy" "\^,"
.BI "unsigned int " "changes" "\^,"
.BI "unsigned int *" "auto_ctrls" "\^,"
.BI "unsigned int *" "auto_values" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- dpy
connection to X server
.TP
.I \- changes
controls for which to change auto-reset values
.TP
.I \- auto_ctrls
controls from changes that should auto reset
.TP
.I \- auto_values
1 bit => auto-reset on
.SH DESCRIPTION
.LP
.I XkbSetAutoResetControls
changes the auto-reset status and associated auto-reset values for the controls
selected by
.I changes.
For any control selected by
.I changes,
if the corresponding bit is set in
.I auto_ctrls,
the control is configured to auto-reset when the client exits. If the
corresponding bit in
.I auto_values
is on, the control is turned on when the client exits; if zero, the control is
turned off when the client exits. For any control selected by
.I changes,
if the corresponding bit is not set in
.I auto_ctrls,
the control is configured to not reset when the client exits.
For example:
.nf
To leave the auto-reset controls for StickyKeys the way they are:
ok = XkbSetAutoResetControls(dpy, 0, 0, 0);
To change the auto-reset controls so that StickyKeys are unaffected when the
client exits:
ok = XkbSetAutoResetControls(dpy, XkbStickyKeysMask, 0, 0);
To change the auto-reset controls so that StickyKeys are turned off when the
client exits:
ok = XkbSetAutoResetControls(dpy, XkbStickyKeysMask, XkbStickyKeysMask, 0);
To change the auto-reset controls so that StickyKeys are turned on when the
client exits:
ok = XkbSetAutoResetControls(dpy, XkbStickyKeysMask, XkbStickyKeysMask,
XkbStickyKeysMask);
.fi
.I XkbSetAutoResetControls
backfills
.I auto_ctrls
and
.I auto_values
with the auto-reset controls for this particular client. Note that all of the
bits are valid in the returned values, not just the ones selected in the
.I changes
mask.
libX11-1.7.5/man/xkb/XkbKeycodeToKeysym.man 0000644 0001750 0001750 00000004022 14222353101 015265 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbKeycodeToKeysym __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbKeycodeToKeysym \- Finds the keysym bound to a particular key at a specified
group and shift level
.SH SYNOPSIS
.HP
.B KeySym XkbKeycodeToKeysym
.BI "(\^Display *" "dpy" "\^,"
.BI "KeyCode " "kc" "\^,"
.BI "unsigned int " "group" "\^,"
.BI "unsigned int " "level" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- dpy
connection to X server
.TP
.I \- kc
key of interest
.TP
.I \- group
group of interest
.TP
.I \- level
shift level of interest
.SH DESCRIPTION
.LP
.I XkbKeycodeToKeysym
returns the keysym bound to a particular group and shift level for a particular
key on the core keyboard. If
.I kc
is not a legal keycode for the core keyboard, or if
.I group
or
.I level
are out of range for the specified key,
.I XkbKeycodeToKeysym
returns NoSymbol.
libX11-1.7.5/man/xkb/XkbSetXlibControls.man 0000644 0001750 0001750 00000005600 14222353101 015276 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbSetXlibControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbSetXlibControls \- Changes the state of the Library Controls
.SH SYNOPSIS
.HP
.B unsigned int XkbSetXlibControls
.BI "(\^Display *" "display" "\^,"
.BI "unsigned long " "bits_to_change" "\^,"
.BI "unsigned long " "values_for_bits" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- display
connection to X server
.TP
.I \- bits_to_change
selects controls to be modified
.TP
.I \- values_for_bits
turns selected controls on (1) or off (0)
.SH DESCRIPTION
.LP
.I XkbSetXlibControls
modifies the state of the controls selected by
.I bits_to_change;
only the controls selected by
.I bits_to_change
are modified. If the bit corresponding to a control is on in
.I bits_to_change
and also on in
.I values_for_bits,
the control is enabled. If the bit corresponding to a control is on in
.I bits_to_change
but off in
.I values_for_bits,
the control is disabled.
.I bits_to_change
should be an inclusive OR of bits from Table 1.
.TS
c s
l l
l l.
Table 1 Library Control Masks
_
Library Control Mask Value
_
XkbLC_ForceLatin1Lookup (1 << 0)
XkbLC_ConsumeLookupMods (1 << 1)
XkbLC_AlwaysConsumeShiftAndLock (1 << 2)
XkbLC_IgnoreNewKeyboards (1 << 3)
XkbLC_ConsumeKeysOnComposeFail (1 << 29)
XkbLC_ComposeLED (1 << 30)
XkbLC_BeepOnComposeFail (1 << 31)
XkbLC_AllControls (0xc0000007)
.TE
.SH "RETURN VALUES"
.TP 15
(1 << 0)
XkbLC_ForceLatin1Lookup
.TP 15
(1 << 1)
XkbLC_ConsumeLookupMods
.TP 15
(1 << 2)
XkbLC_AlwaysConsumeShiftAndLock
.TP 15
(1 << 3)
XkbLC_IgnoreNewKeyboards
.TP 15
(1 << 29)
XkbLC_ConsumeKeysOnComposeFail
.TP 15
(1 << 30)
XkbLC_ComposeLED
.TP 15
(1 << 31)
XkbLC_BeepOnComposeFail
.TP 15
(0xc0000007)
XkbLC_AllControls
libX11-1.7.5/man/xkb/XkbGetControlsChanges.man 0000644 0001750 0001750 00000017070 14222353101 015740 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbGetControlsChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetControlsChanges \- Updates a local copy of a keyboard description with the
changes previously noted by one or more calls to XkbNoteControlsChanges
.SH SYNOPSIS
.HP
XkbGetControlsChanges
.BI "(\^Display *" "dpy" "\^,"
.BI "XkbDescPtr " "xkb" "\^,"
.BI "XkbNameChangesPtr " "changes" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- dpy
connection to X server
.TP
.I \- xkb
xkb->ctrls will be updated
.TP
.I \- changes
indicates which parts of xkb->ctrls to update
.SH DESCRIPTION
.LP
Whenever a field in the controls structure changes in the server's keyboard
description, the server sends an XkbControlsNotify event to all interested
clients.To receive XkbControlsNotify events under all possible conditions, use
.I XkbSelectEvents
and pass XkbControlsNotifyMask in both
.I bits_to_change
and
.I values_for_bits.
To receive XkbControlsNotify events only under certain conditions, use
.I XkbSelectEventDetails
using XkbControlsNotify as the
.I event_type
and specifying the desired state changes in
.I bits_to_change
and
.I values_for_bits
using mask bits from Table 1.
Table 1 shows the actual values for the individual mask bits used to select
controls for
modification and to enable and disable the control. Note that the same mask bit
is used to
specify general modifications to the parameters used to configure the control
(which), and to
enable and disable the control (enabled_ctrls). The anomalies in the table (no
"ok" in column)
are for controls that have no configurable attributes; and for controls that are
not boolean
controls and therefore cannot be enabled or disabled.
.TS
c s s s
l l l l
l l l l
l l l l.
Table 1 Controls Mask Bits
_
Mask Bit which or enabled Value
changed_ctrls _ctrls
_
XkbRepeatKeysMask ok ok (1L<<0)
XkbSlowKeysMask ok ok (1L<<1)
XkbBounceKeysMask ok ok (1L<<2)
XkbStickyKeysMask ok ok (1L<<3)
XkbMouseKeysMask ok ok (1L<<4)
XkbMouseKeysAccelMask ok ok (1L<<5)
XkbAccessXKeysMask ok ok (1L<<6)
XkbAccessXTimeoutMask ok ok (1L<<7)
XkbAccessXFeedbackMask ok ok (1L<<8)
XkbAudibleBellMask ok (1L<<9)
XkbOverlay1Mask ok (1L<<10)
XkbOverlay2Mask ok (1L<<11)
XkbIgnoreGroupLockMask ok (1L<<12)
XkbGroupsWrapMask ok (1L<<27)
XkbInternalModsMask ok (1L<<28)
XkbIgnoreLockModsMask ok (1L<<29)
XkbPerKeyRepeatMask ok (1L<<30)
XkbControlsEnabledMask ok (1L<<31)
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
XkbAccessXFeedbackMask)
XkbAllBooleanCtrlsMask ok (0x00001FFF)
XkbAllControlsMask ok (0xF8001FFF)
.TE
The
.I changed_ctrls
field specifies the controls components that have changed and consists of bits
taken from the masks defined in Table 10.7 with "ok" in the
.I changed_ctrls
column.
The controls currently enabled in the server are reported in the
.I enabled_ctrls
field. If any controls were just enabled or disabled (that is, the contents of
the
.I enabled_ctrls
field changed), they are flagged in the
.I enabled_ctrl_changes
field. The valid bits for these fields are the masks listed in Table 10.7 with
"ok" in the
.I enabled_ctrls
column. The
.I num_groups
field reports the number of groups bound to the key belonging to the most number
of groups and is automatically updated when the keyboard mapping changes.
If the change was caused by a request from a client, the
.I keycode
and
.I event_type
fields are set to zero and the
.I req_major
and
.I req_minor
fields identify the request. The
.I req_major value is the same as the major extension opcode. Otherwise,
.I event_type
is set to the type of event that caused the change (one of KeyPress, KeyRelease,
DeviceKeyPress, DeviceKeyRelease, ButtonPress or ButtonRelease), and
.I req_major
and
.I req_minor
are undefined. If
.I event_type
is KeyPress, KeyRelease, DeviceKeyPress, or DeviceKeyRelease, the
.I keycode
field is set to the key that caused the change. If
.I event_type
is ButtonPress or ButtonRelease,
.I keycode
contains the button number.
When a client receives an XkbControlsNotify event, it can note the changes in a
changes structure using
.I XkbNoteControlsChanges.
.I XkbGetControlsChanges
examines the
.I changes
parameter, queries the server for the necessary information, and copies the
results into the
.I xkb->ctrls
keyboard description. If the
.I ctrls
field of
.I xkb
is NULL,
.I XkbGetControlsChanges
allocates and initializes it. To free the
.I ctrls
field, use
XkbFreeControls.
.I XkbGetControlsChanges
returns Success if successful and can generate BadAlloc, BadImplementation, and
BadMatch errors.
.SH "RETURN VALUES"
.TP 15
Success
The
.I XkbGetControlsChanges
function returns Success if the query of the server was successful.
.SH STRUCTURES
.LP
.nf
The structure for the XkbControlsNotify event is defined as follows:
typedef struct {
int type; /\&* Xkb extension base event code */
unsigned long serial; /\&* X server serial number for event */
Bool send_event; /\&* True => synthetically generated */
Display * display; /\&* server connection where event generated */
Time time; /\&* server time when event generated */
int xkb_type; /\&* XkbCompatMapNotify */
int device; /\&* Xkb device ID, will not be XkbUseCoreKbd */
unsigned int changed_ctrls; /\&* bits indicating which controls data have changed*/
unsigned int enabled_ctrls; /\&* controls currently enabled in server */
unsigned int enabled_ctrl_changes; /\&* bits indicating enabled/disabled controls */
int num_groups; /\&* current number of keyboard groups */
KeyCode keycode; /\&* != 0 => keycode of key causing change */
char event_type; /\&* Type of event causing change */
char req_major; /\&* major event code of event causing change */
char req_minor; /\&* minor event code of event causing change */
} XkbControlsNotifyEvent;
.fi
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadImplementation
Invalid reply from server
.TP 15
.B BadMatch
A compatible version of Xkb was not available in the server or an argument has
correct type and range, but is otherwise invalid
.SH "SEE ALSO"
.BR XkbFreeControls (__libmansuffix__),
.BR XkbNoteControlsChanges (__libmansuffix__),
.BR XkbSelectEventDetails (__libmansuffix__),
.BR XkbSelectEvents (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbGetKeyboardByName.man 0000644 0001750 0001750 00000033032 14222353101 015474 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbGetKeyboardByName __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetKeyboardByName \- Build a new keyboard description from a set of named
components, and to optionally have the server use the resulting description to
replace an active one
.SH SYNOPSIS
.HP
.B XkbDescPtr XkbGetKeyboardByName
.BI "(\^Display *" "dpy" "\^,"
.BI "unsigned int " "device_spec" "\^,"
.BI "XkbComponentNamesPtr " "names" "\^,"
.BI "unsigned int " "want" "\^,"
.BI "unsigned int " "need" "\^,"
.BI "Bool " "load" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- dpy
connection to X server
.TP
.I \- device_spec
device ID, or XkbUseCoreKbd
.TP
.I \- names
names of components to fetch
.TP
.I \- want
desired structures in returned record
.TP
.I \- need
mandatory structures in returned record
.TP
.I \- load
True => load into
.I device_spec
.SH DESCRIPTION
.LP
A client may request that the server fetch one or more components from its
database and use those components to build a new server keyboard description.
The new keyboard description may be built from scratch, or it may be built
starting with the current keyboard description for a particular device. Once the
keyboard description is built, all or part of it may be returned to the client.
The parts returned to the client need not include all of the parts used to build
the description. At the time it requests the server to build a new keyboard
description, a client may also request that the server use the new description
internally to replace the current keyboard description for a specific device, in
which case the behavior of the device changes accordingly.
To build a new keyboard description from a set of named components, and to
optionally have the server use the resulting description to replace an active
one, use
.I XkbGetKeyboardByName.
.I names
contains a set of expressions describing the keyboard components the
server should use to build the new keyboard description.
.I want
and
.I need
are bit fields describing the parts of the resulting keyboard description that
should be present in the returned XkbDescRec.
The individual fields in
.I names
are
.I component expressions
composed of keyboard component names (no wildcarding as may be used in
.I XkbListComponents),
the special component name symbol `%', and the special operator characters `+'
and `|'. A component expression is parsed left to right, as follows:
.IP \(bu 5
The special component name "computed" may be used in keycodes component
expressions and refers to a component consisting of a set of keycodes computed
automatically by the server as needed.
.IP \(bu 5
The special component name "canonical" may be used in types component
expressions and refers to a partial component defining the four standard key
types: ALPHABETIC, ONE_LEVEL, TWO_LEVEL, and KEYPAD.
.IP \(bu 5
The special component name `%' refers to the keyboard description for the device
specified in device_spec or the keymap names component. If a keymap names
component is specified that does not begin with `+' or `|' and does not contain
`%', then `%' refers to the description generated by the keymap names component.
Otherwise, it refers to the keyboard description for device_spec.
.IP \(bu 5
The `+' operator specifies that the following component should override the
currently assembled description; any definitions that are present in both
components are taken from the second.
.IP \(bu 5
The `|' operator specifies that the next specified component should augment the
currently assembled description; any definitions that are present in both
components are taken from the first.
.IP \(bu 5
If the component expression begins with an operator, a leading `%' is implied.
.IP \(bu 5
If any unknown or illegal characters appear anywhere in the expression, the
entire expression is invalid and is ignored.
For example, if
.I names->symbols
contained the expression "+de", it specifies that
the default member of the "de" class of symbols should be applied to the current
keyboard mapping, overriding any existing definitions (it could also be written
"+de(default)").
Here is a slightly more involved example: the expression
"acme(ascii)+de(basic)|iso9995-3" constructs a German (de) mapping for the ASCII
keyboard supplied by the "acme" vendor. The new definition begins with the
symbols for the ASCII keyboard for Acme
.I (acme(ascii)),
overrides them with definitions for the basic German keyboard
.I (de(basic)),
and then applies the definitions from the default iso9995-3 keyboard
.I (iso9995-3)
to any undefined keys or groups of keys (part three of the iso9995 standard
defines a common set of bindings for the secondary group, but allows national
layouts to override those definitions where necessary).
.B NOTE
The interpretation of the above expression components (acme, ascii, de, basic,
iso9995-3) is not defined by Xkb; only the operations and their ordering are.
Note that the presence of a keymap
.I names
component that does not contain `%' (either explicit or implied by virtue of an
expression starting with an operator) indicates a description that is
independent of the keyboard description for the device specified in
.I device_spec.
The same is true of requests in which the keymap names component is empty and
all five other names components contain expressions void of references to `%'.
Requests of this form allow you to deal with keyboard definitions independent of
any actual device.
The server parses all non-NULL fields in
.I names
and uses them to build a keyboard description. However, before parsing the
expressions in
.I names,
the server ORs the bits in
.I want
and
.I need
together and examines the result in relationship to the expressions in
.I names.
Table 1 identifies the components that are required for each of the possible
bits in
.I want
or
.I need.
If a required component has not been specified in the
.I names structure (the corresponding field is NULL), the server substitutes the
expression "%", resulting in the component values being taken from
.I device_spec.
In addition, if
.I load
is True, the server modifies
.I names
if necessary (again using a "%" entry) to ensure all of the following fields are
non-NULL:
.I types, keycodes, symbols,
and
.I compat.
.bp
.TS
c s s
l l l.
Table 1 Want and Need Mask Bits and Required Names Components
_
want or need mask bit Required names Components value
_
XkbGBN_TypesMask Types (1L<<0)
XkbGBN_CompatMapMask Compat (1L<<1)
XkbGBN_ClientSymbolsMask Types + Symbols + Keycodes (1L<<2)
XkbGBN_ServerSymbolsMask Types + Symbols + Keycodes (1L<<3)
XkbGBN_SymbolsMask Symbols (1L<<1)
XkbGBN_IndicatorMapMask Compat (1L<<4)
XkbGBN_KeyNamesMask Keycodes (1L<<5)
XkbGBN_GeometryMask Geometry (1L<<6)
XkbGBN_OtherNamesMask Types + Symbols + Keycodes + Compat + Geometry (1L<<7)
XkbGBN_AllComponentsMask (0xff)
.TE
.I need
specifies a set of keyboard components that the server must be able to
resolve in order for
.I XkbGetKeyboardByName
to succeed; if any of the components specified in
.I need
cannot be successfully resolved,
.I XkbGetKeyboardByName
fails.
.I want
specifies a set of keyboard components that the server should attempt to
resolve, but that are not mandatory. If the server is unable to resolve any of
these components,
.I XkbGetKeyboardByName
still succeeds. Bits specified in
.I want
that are also specified in
.I need
have no effect in the context of
.I want.
If
.I load
is True, the server updates its keyboard description for
.I device_spec
to match the result of the keyboard description just built. If load is False,
the
server's description for device
.I device_spec
is not updated. In all cases, the parts specified by
.I want
and
.I need
from the just-built keyboard description are returned.
The
.I names
structure in an XkbDescRec keyboard description record contains one field for
each of the five component types used to build a keyboard description. When a
keyboard description is built from a set of database components, the
corresponding fields in this
.I names
structure are set to match the expressions used to build the component.
Building a New Keyboard Description from the Server Database
The information returned to the client in the XkbDescRec is essentially the
result of a series of calls to extract information from a fictitious device
whose description matches the one just built. The calls corresponding to each of
the mask bits are summarized in Table 2, together with the XkbDescRec
components that are filled in.
.TS
c s s
l l l.
Table 2 XkbDescRec Components Returned for Values of Want & Needs
_
Request (want+need) Fills in Xkb components Equivalent Function Call
_
XkbGBN_TypesMask map.types XkbGetUpdatedMap(dpy, XkbTypesMask, Xkb)
XkbGBN_ServerSymbolsMask server XkbGetUpdatedMap(dpy,
XkbAllClientInfoMask, Xkb)
XkbGBN_ClientSymbolsMask map, including map.types
XkbGetUpdatedMap(dpy, XkbAllServerInfoMask, Xkb)
XkbGBN_IndicatorMaps indicators XkbGetIndicatorMap(dpy,
XkbAllIndicators, Xkb)
XkbGBN_CompatMapMask compat XkbGetCompatMap(dpy, XkbAllCompatMask, Xkb)
XkbGBN_GeometryMask geom XkbGetGeometry(dpy, Xkb)
XkbGBN_KeyNamesMask names.keys XkbGetNames(dpy, XkbKeyNamesMask |
names.key_aliases XkbKeyAliasesMask, Xkb)
XkbGBN_OtherNamesMask names.keycodes XkbGetNames(dpy, XkbAllNamesMask &
names.geometry ~(XkbKeyNamesMask | XkbKeyAliasesMask),
names.symbols Xkb)
names.types
map.types[*].lvl_names[*]
names.compat
names.vmods
names.indicators
names.groups
names.radio_groups
names.phys_symbols
.TE
There is no way to determine which components specified in
.I want
(but not in
.I need)
were actually fetched, other than breaking the call into successive calls to
.I XkbGetKeyboardByName
and specifying individual components.
.I XkbGetKeyboardByName
always sets
.I min_key_code
and
.I max_key_code
in the returned XkbDescRec structure.
.I XkbGetKeyboardByName
is synchronous; it sends the request to the server to build a new keyboard
description and waits for the reply. If successful, the return value is
non-NULL.
.I XkbGetKeyboardByName
generates a BadMatch protocol error if errors are encountered when building the
keyboard description.
.SH STRUCTURES
.LP
The complete description of an Xkb keyboard is given by an XkbDescRec. The
component
structures in the XkbDescRec represent the major Xkb components outlined in
Figure 1.1.
.nf
typedef struct {
struct _XDisplay * display; /\&* connection to X server */
unsigned short flags; /\&* private to Xkb, do not modify */
unsigned short device_spec; /\&* device of interest */
KeyCode min_key_code; /\&* minimum keycode for device */
KeyCode max_key_code; /\&* maximum keycode for device */
XkbControlsPtr ctrls; /\&* controls */
XkbServerMapPtr server; /\&* server keymap */
XkbClientMapPtr map; /\&* client keymap */
XkbIndicatorPtr indicators; /\&* indicator map */
XkbNamesPtr names; /\&* names for all components */
XkbCompatMapPtr compat; /\&* compatibility map */
XkbGeometryPtr geom; /\&* physical geometry of keyboard */
} XkbDescRec, *XkbDescPtr;
.fi
The
.I display
field points to an X display structure. The
.I flags field is private to the library: modifying
.I flags
may yield unpredictable results. The
.I device_spec
field specifies the device identifier of the keyboard input device, or
XkbUseCoreKeyboard, which specifies the core keyboard device. The
.I min_key_code
and
.I max_key_code
fields specify the least and greatest keycode that can be returned by the
keyboard.
Each structure component has a corresponding mask bit that is used in function
calls to
indicate that the structure should be manipulated in some manner, such as
allocating it
or freeing it. These masks and their relationships to the fields in the
XkbDescRec are
shown in Table 3.
.TS
c s s
l l l
l l l.
Table 3 Mask Bits for XkbDescRec
_
Mask Bit XkbDescRec Field Value
_
XkbControlsMask ctrls (1L<<0)
XkbServerMapMask server (1L<<1)
XkbIClientMapMask map (1L<<2)
XkbIndicatorMapMask indicators (1L<<3)
XkbNamesMask names (1L<<4)
XkbCompatMapMask compat (1L<<5)
XkbGeometryMask geom (1L<<6)
XkbAllComponentsMask All Fields (0x7f)
.TE
.SH DIAGNOSTICS
.TP 15
.B BadMatch
A compatible version of Xkb was not available in the server or an argument has
correct type and range, but is otherwise invalid
.SH "SEE ALSO"
.BR XkbListComponents (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbChangeControls.man 0000644 0001750 0001750 00000017701 14222353101 015116 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbChangeControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbChangeControls \- Provides a flexible method for updating the controls in a
server to match those in the changed keyboard description
.SH SYNOPSIS
.HP
.B Bool XkbChangeControls
.BI "(\^Display *" "dpy" "\^,"
.BI "XkbDescPtr " "xkb" "\^,"
.BI "XkbControlsChangesPtr " "changes" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I dpy
connection to X server
.TP
.I xkb
keyboard description with changed xkb->ctrls
.TP
.I changes
which parts of xkb->ctrls have changed
.SH DESCRIPTION
The XkbControlsChangesRec structure allows applications to track modifications
to an XkbControlsRec structure and thereby reduce the amount of traffic sent
to the server. The same XkbControlsChangesRec structure may be used in several
successive modifications to the same XkbControlsRec structure, then subsequently
used to cause all of the changes, and only the changes, to be propagated to the server.
The
.I changed_ctrls
field is a mask specifying which logical sets of data in the controls structure
have been modified. In this context, modified means
.IR set ,
that is, if a value is set to the same value it previously contained, it has
still been modified, and is noted as changed. Valid values for
.I changed_ctrls
are any combination of the masks listed in Table 1 that have "ok" in the
.I changed_ctrls
column. Setting a bit implies the corresponding data fields from the "Relevant
XkbControlsRec Data Fields" column in Table 1 have been modified. The
.I enabled_ctrls_changes
field specifies which bits in the
.I enabled_ctrls
field have changed. If the number of keyboard groups has changed, the
.I num_groups_changed
field is set to True.
Table 1 shows the actual values for the individual mask bits used to select
controls for
modification and to enable and disable the control. Note that the same mask bit
is used to
specify general modifications to the parameters used to configure the control
(which), and to
enable and disable the control (enabled_ctrls). The anomalies in the table (no
"ok" in column)
are for controls that have no configurable attributes; and for controls that are
not boolean
controls and therefore cannot be enabled or disabled.
.TS
c s s s s
l l l l l
l l l l l
l l l l l
l l l l l
lw(1.5i) lw(1.5i) l lw(1.5i) l.
Table 1 Xkb Controls
_
Control Control
Selection Relevant
Mask (which XkbControlsRec Boolean Control
parameter) DataFields enabled_ctrls bit Section
_
T{
AccessXFeedback
T} T{
XkbAccessX\%FeedbackMask
T} T{
ax_options:
XkbAX_*FBMask
T} T{
XkbAccessX\%FeedbackMask
T} 10.6.3
T{
AccessXKeys
T} T{
XkbAccessX\%Keys\%Mask
T} 10.6.1
T{
AccessX\%Timeout
T} T{
XkbAccessX\%Timeout\%Mask
T} T{
ax_timeout
axt_opts_mask
axt_opts_values
axt_ctrls_mask
axt_ctrls_values
T} T{
XkbAccessX\%Timeout\%Mask
T} 10.6.2
T{
AudibleBell
T} T{
XkbAudible\%Bell\%Mask
T} 9.2
T{
AutoReset
T} 10.1.2
T{
BounceKeys
T} T{
XkbBounce\%KeysMask
T} debounce_delay T{
XkbBounce\%KeysMask
T} 10.6.7
T{
Detectable-
T} 10.3.3
T{
Autorepeat
T}
T{
EnabledControls
T} T{
XkbControls\%EnabledMask
T} enabled_ctrls T{
Non-Boolean \%Control
T} 10.1.1
T{
GroupsWrap
T} T{
XkbGroups\%Wrap\%Mask
T} groups_wrap T{
Non-Boolean \%Control
T} 10.7.1
T{
IgnoreGroupLock
T} T{
XkbIgnore\%GroupLock\%Mask
T} 10.7.3
T{
IgnoreLockMods
T} T{
XkbIgnore\%LockMods\%Mask
T} ignore_lock T{
Non-Boolean \%Control
T} 5.1
T{
InternalMods
T} T{
XkbInternal\%Mods\%Mask
T} internal T{
Non-Boolean \%Control
T} 5.1
T{
MouseKeys
T} T{
XkbMouseKeysMask
T} mk_dflt_btn T{
XkbMouseKeysMask
T} 10.5.1
T{
MouseKeysAccel
T} T{
XkbMouseKeys\%Accel\%Mask
T} T{
mk_delay
mk_interval
mk_time_to_max
mk_max_speed
mk_curve
T} T{
XkbMouseKeys\%Accel\%Mask
T} 10.5.2
T{
Overlay1
T} T{
XkbOverlay1Mask
T} 10.4
T{
Overlay2
T} T{
XkbOverlay2Mask
T} 10.4
T{
PerKeyRepeat
T} T{
XkbPerKey\%Repeat\%Mask
T} per_key_repeat T{
Non-Boolean \%Control
T} 10.3.1
T{
RepeatKeys
T} T{
Xkb\%Repeat\%Keys\%Mask
T} repeat_delay T{
Xkb\%Repeat\%Keys\%Mask
T} 10.3
repeat_interval
T{
SlowKeys
T} T{
Xkb\%Slow\%Keys\%Mask
T} slow_keys_delay T{
Xkb\%Slow\%Keys\%Mask
T} 10.6.6
T{
StickyKeys
T} T{
Xkb\%Sticky\%Keys\%Mask
T} T{
ax_options:
XkbAX_TwoKeysMask
XkbAX_LatchToLockMask
T} T{
Xkb\%Sticky\%Keys\%Mask
T} 10.6.8
.TE
Table 2 shows the actual values for the individual mask bits used to select
controls for modification and to enable and disable the control. Note that
the same mask bit is used to specify general modifications to the parameters
used to configure the control (which), and to enable and disable the control
(enabled_ctrls). The anomalies in the table (no "ok" in column)
are for controls that have no configurable attributes; and for controls that are
not boolean controls and therefore cannot be enabled or disabled.
.TS
c s s s
l l l l
l l l l
l l l l.
Table 2 Controls Mask Bits
_
Mask Bit which or Value
changed enabled
_ctrls _ctrls
_
XkbRepeatKeysMask ok ok (1L<<0)
XkbSlowKeysMask ok ok (1L<<1)
XkbBounceKeysMask ok ok (1L<<2)
XkbStickyKeysMask ok ok (1L<<3)
XkbMouseKeysMask ok ok (1L<<4)
XkbMouseKeysAccelMask ok ok (1L<<5)
XkbAccessXKeysMask ok ok (1L<<6)
XkbAccessXTimeoutMask ok ok (1L<<7)
XkbAccessXFeedbackMask ok ok (1L<<8)
XkbAudibleBellMask ok (1L<<9)
XkbOverlay1Mask ok (1L<<10)
XkbOverlay2Mask ok (1L<<11)
XkbIgnoreGroupLockMask ok (1L<<12)
XkbGroupsWrapMask ok (1L<<27)
XkbInternalModsMask ok (1L<<28)
XkbIgnoreLockModsMask ok (1L<<29)
XkbPerKeyRepeatMask ok (1L<<30)
XkbControlsEnabledMask ok (1L<<31)
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
XkbAccessXFeedbackMask)
XkbAllBooleanCtrlsMask ok (0x00001FFF)
XkbAllControlsMask ok (0xF8001FFF)
.TE
If you have an Xkb description with controls that have been modified and an
XkbControlsChangesRec that describes the changes that have been made, the
.I XkbChangeControls
function provides a flexible method for updating the controls in a server to
match those in the changed keyboard description.
.I XkbChangeControls
copies any controls fields specified by
.I changes
from the keyboard description controls structure,
.IR xkb->ctrls ,
to the server specified by
.IR dpy .
.SH STRUCTURES
The XkbControlsChangesRec structure is defined as follows:
.nf
typedef struct _XkbControlsChanges {
unsigned int changed_ctrls; /\&* bits indicating changed control data */
unsigned int enabled_ctrls_changes; /\&* bits indicating enabled/disabled controls */
Bool num_groups_changed; /\&* True if number of keyboard groups changed */
} XkbControlsChangesRec,*XkbControlsChangesPtr;
.fi
.SH "SEE ALSO"
XkbChangeControls(__libmansuffix__),
XkbChangeDeviceInfo(__libmansuffix__),
XkbChangeEnabledControls(__libmansuffix__),
XkbChangeIndicators(__libmansuffix__),
XkbChangeMap(__libmansuffix__),
XkbChangeNames(__libmansuffix__),
XkbChangeTypesOfKey(__libmansuffix__)
libX11-1.7.5/man/xkb/XkbComputeShapeBounds.man 0000644 0001750 0001750 00000006775 14222353101 015766 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbComputeShapeBounds __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbComputeShapeBounds \- Updates the bounding box of a shape
.SH SYNOPSIS
.HP
.B Bool XkbComputeShapeBounds
.BI "(\^XkbShapePtr " "shape" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- shape
shape to be examined
.SH DESCRIPTION
.LP
Xkb provides a number of convenience functions to help use a keyboard geometry. These include
functions to return the bounding box of a shape's top surface and to update the bounding box
of a shape row or section.
A shape is made up of a number of outlines. Each outline is a polygon made up of a number of
points. The bounding box of a shape is a rectangle that contains all the outlines of that
shape.
A ShapeRec contains a BoundsRec that describes the bounds of the shape. If you add or delete
an outline to or from a shape, the bounding box must be updated.
.I XkbComputeShapeBounds
updates the BoundsRec contained in the
.I shape
by examining all the outlines of the shape and setting the BoundsRec to the minimum x and
minimum y, and maximum x and maximum y values found in those outlines.
.I XkbComputeShapeBounds
returns False if
.I shape
is NULL or if there are no outlines for the shape; otherwise, it returns True.
If you add or delete a key to or from a row, or if you update the shape of one of the keys in that row, you may need to update the bounding box of that row. To update the bounding box of a row, use
.I XkbComputeRowBounds.
.SH STRUCTURES
.LP
.nf
typedef struct _XkbShape {
Atom name; /\&* shape's name */
unsigned short num_outlines; /\&* number of outlines for the shape */
unsigned short sz_outlines; /\&* size of the outlines array */
XkbOutlinePtr outlines; /\&* array of outlines for the shape */
XkbOutlinePtr approx; /\&* pointer into the array to the approximating outline */
XkbOutlinePtr primary; /\&* pointer into the array to the primary outline */
XkbBoundsRec bounds; /\&* bounding box for the shape; encompasses all outlines */
} XkbShapeRec, *XkbShapePtr;
typedef struct _XkbBounds {
short x1,y1; /\&* upper left corner of the bounds, in mm/10 */
short x2,y2; /\&* lower right corner of the bounds, in mm/10 */
} XkbBoundsRec, *XkbBoundsPtr;
.fi
.SH "SEE ALSO"
.BR XkbComputeRowBounds (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbActionCtrls.man 0000644 0001750 0001750 00000010233 14222353101 014423 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbActionCtrls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbActionCtrls \- Returns the ctrls fields of act converted to an unsigned int
.SH SYNOPSIS
.HP
.B unsigned int XkbActionCtrls
.BI "(\^XkbCtrlsAction " "act" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- act
action from which to extract controls
.SH DESCRIPTION
.LP
Actions associated with the XkbCtrlsAction structure change the state of the
boolean controls.
The
.I type
field can have any one of the values shown in Table 1.
.TS
c s
l l
l lw(4i).
Table 1 Controls Action Types
_
Type Effect
_
XkbSA_SetControls T{
A key press enables any boolean controls specified in the ctrls fields that were
not already enabled at
the time of the key press.
A key release disables any controls enabled by the key press.
This action can cause XkbControlsNotify events.
T}
XkbSA_LockControls T{
If the XkbSA_LockNoLock bit is not set in the flags field, a key press enables
any controls specified in
the ctrls fields that were not already enabled at the time of the key press.
.br
If the XkbSA_LockNoUnlock bit is not set in the flags field, a key release
disables any controls
specified in the ctrls fields that were not already disabled at the time of the
key press.
.br
This action can cause XkbControlsNotify events.
T}
.TE
The
.I flags
field is composed of the bitwise inclusive OR of the masks shown in Table 2.
.TS
c s
l l
l lw(4i).
Table 2 Control Action Flags
_
Flag Meaning
_
XkbSA_LockNoLock T{
If set, and the action type is XkbSA_LockControls, the server only disables
controls.
T}
XkbSA_LockNoUnlock T{
If set, and the action type is XkbSA_LockControls, the server only enables
controls.
T}
.TE
The XkbSA_SetControls action implements a key that enables a boolean control
when pressed and disables it
when released. The XkbSA_LockControls action is used to implement a key that
toggles the state of a
boolean control each time it is pressed and released. The XkbSA_LockNoLock and
XkbSA_LockNoUnlock flags
allow modifying the toggling behavior to only unlock or only lock the boolean
control.
The
.I ctrls0, ctrls1, ctrls2,
and
.I ctrls3
fields represent the boolean controls in the
.I enabled_ctrls
field of the controls structure. Xkb macros, to convert between the two formats.
.I XkbActionCtrls
returns the
.I ctrls
fields of
.I act
converted to an unsigned int.
.SH STRUCTURES
.LP
.nf
typedef struct _XkbCtrlsAction {
unsigned char type; /\&* XkbSA_SetControls, XkbSA_LockControls */
unsigned char flags; /\&* with type, controls enabling and disabling of controls */
unsigned char ctrls3; /\&* ctrls0 through ctrls3 represent the boolean controls */
unsigned char ctrls2; /\&* ctrls0 through ctrls3 represent the boolean controls */
unsigned char ctrls1; /\&* ctrls0 through ctrls3 represent the boolean controls */
unsigned char ctrls0; /\&* ctrls0 through ctrls3 represent the boolean controls */
} XkbCtrlsAction;
.fi
libX11-1.7.5/man/xkb/XkbFreeGeomShapes.man 0000644 0001750 0001750 00000005371 14222353101 015042 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbFreeGeomShapes __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbFreeGeomShapes \- Free geometry shapes
.SH SYNOPSIS
.HP
.B void XkbFreeGeomShapes
.BI "(\^XkbGeometryPtr " "geom" "\^,"
.BI "int " "first" "\^,"
.BI "int " "count" "\^,"
.BI "Bool " "free_all" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- geom
geometry in which shapes should be freed
.TP
.I \- first
first shape to be freed
.TP
.I \- count
number of shapes to be freed
.TP
.I \- free_all
True => all shapes are freed
.SH DESCRIPTION
.LP
Xkb provides a number of functions to allocate and free subcomponents of a
keyboard geometry. Use these functions to create or modify keyboard geometries.
Note that these functions merely allocate space for the new element(s), and it
is up to you to fill in the values explicitly in your code. These allocation
functions increase
.I sz_*
but never touch
.I num_*
(unless there is an allocation failure, in which case they reset both
.I sz_*
and
.I num_*
to zero). These functions return Success if they succeed, BadAlloc if they are
not able to allocate space, or BadValue if a parameter is not as expected.
If
.I free_all
is True, all shapes in the geometry are freed regardless of the values of
.I first
and
.I count.
Otherwise,
.I count
shapes are freed, beginning with the shape specified by
.I first.
.SH "RETURN VALUES"
.TP 15
Success
The XkbFreeGeomShapes function returns Success when there are no allocation
or argument errors.
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadValue
An argument is out of range
libX11-1.7.5/man/xkb/XkbSetDebuggingFlags.man 0000644 0001750 0001750 00000011421 14222353101 015522 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbSetDebuggingFlags __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbSetDebuggingFlags \- Change the values of any of the debug controls
.SH SYNOPSIS
.HP
.B Bool XkbSetDebuggingFlags
.BI "(\^Display *" "display" "\^,"
.BI "unsigned int " "mask" "\^,"
.BI "unsigned int " "flags" "\^,"
.BI "char *" "msg" "\^,"
.BI "unsigned int " "ctrls_mask" "\^,"
.BI "unsigned int " "ctrls" "\^,"
.BI "unsigned int *" "ret_flags" "\^,"
.BI "unsigned int *" "ret_ctrls" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- display
connection to X server
.TP
.I \- mask
mask selecting debug output flags to change
.TP
.I \- flags
values for debug output flags selected by mask
.TP
.I \- msg
message to print right now
.TP
.I \- ctrls_mask
mask selecting debug controls to change
.TP
.I \- ctrls
values for debug controls selected by ctrls_mask
.TP
.I \- ret_flags
resulting state of all debug output flags
.TP
.I \- ret_ctrls
resulting state of all debug controls
.SH DESCRIPTION
.LP
The debugging aids are intended for use primarily by Xkb implementors and are
optional in any implementation.
There are two bitmasks that may be used to control debugging. One bitmask
controls the output of debugging information, and the other controls behavior.
Both bitmasks are initially all zeros.
To change the values of any of the debug controls, use
.I XkbSetDebuggingFlags.
.I XkbSetDebuggingFlags
modifies the debug output flags as specified by
.I mask
and
flags,
modifies the debug controls flags as specified by
.I ctrls_mask
and
ctrls,
prints the message
.I msg,
and backfills
.I ret_flags
and
.I ret_ctrls
with the resulting debug output and debug controls flags.
When bits are set in the debug output masks,
.I mask
and
.I flags,
Xkb prints debug information corresponding to each bit at appropriate points
during its processing. The device to which the output is written is
implementation-dependent, but is normally the same device to which X server
error messages are directed; thus the bits that can be set in
.I mask
and
.I flags
is implementation-specific. To turn on a debug output selection, set the bit for
the output in the
.I mask
parameter and set the corresponding bit in the
.I flags
parameter. To turn off event selection for an event, set the bit for the output
in the
.I mask
parameter and do not set the corresponding bit in the
.I flags
parameter.
When bits are set in the debug controls masks,
.I ctrls_mask
and
.I ctrls,
Xkb modifies its behavior according to each controls bit.
.I ctrls_mask
and
ctrls
are related in the same way that
.I mask
and
.I flags
are. The valid controls bits are defined in Table 1.
.TS
c s s
l l l.
Table 1 Debug Control Masks
_
Debug Control Mask Value Meaning
_
XkbDF_DisableLocks (1 << 0) Disable actions that lock modifiers
.TE
.I XkbSetDebuggingFlags
returns True if successful and False otherwise. The only protocol error it may
generate is BadAlloc, if for some reason it is unable to allocate storage.
.I XkbSetDebuggingFlags
is intended for developer use and may be disabled in production X servers. If it
is disabled,
.I XkbSetDebuggingFlags
has no effect and does not generate any protocol errors.
The message in
.I msg
is written immediately. The device to which it is written is implementation
dependent but is normally the same device where X server error messages are
directed.
.SH "RETURN VALUES"
.TP 15
True
The
.I XkbSetDebuggingFlags
function returns True when successful.
.TP 15
False
The
.I XkbSetDebuggingFlags
function returns False when not successful.
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
libX11-1.7.5/man/xkb/XkbAllocGeomKeys.man 0000644 0001750 0001750 00000004663 14222353101 014706 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbAllocGeomKeys __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbAllocGeomKeys \- Allocate space for an arbitrary number of keys to a row
.SH SYNOPSIS
.HP
.B Status XkbAllocGeomKeys
.BI "(\^XkbRowPtr " "row" "\^,"
.BI "int " "num_needed" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- row
row to which keys should be allocated
.TP
.I \- num_needed
number of new keys required
.SH DESCRIPTION
.LP
Xkb provides a number of functions to allocate and free subcomponents of a
keyboard geometry. Use these functions to create or modify keyboard geometries.
Note that these functions merely allocate space for the new element(s), and it
is up to you to fill in the values explicitly in your code. These allocation
functions increase
.I sz_*
but never touch
.I num_*
(unless there is an allocation failure, in which case they reset both
.I sz_*
and
.I num_*
to zero). These functions return Success if they succeed, BadAlloc if they are
not able to allocate space, or BadValue if a parameter is not as expected.
.I XkbAllocGeomKeys
allocates
.I num_needed
keys and adds them to the
.I row.
No initialization of the keys is done.
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadValue
An argument is out of range
libX11-1.7.5/man/xkb/XkbFreeGeomDoodads.man 0000644 0001750 0001750 00000005137 14222353101 015174 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbFreeGeomDoodads __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbFreeGeomDoodads \- Free geometry doodads
.SH SYNOPSIS
.HP
.B void XkbFreeGeomDoodads
.BI "(\^XkbDoodadPtr " "doodads" "\^,"
.BI "int " "count" "\^,"
.BI "Bool " "free_all" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- doodads
doodads to be freed
.TP
.I \- count
number of doodads to be freed
.TP
.I \- free_all
True => all doodads are freed
.SH DESCRIPTION
.LP
Xkb provides a number of functions to allocate and free subcomponents of a
keyboard geometry. Use these functions to create or modify keyboard geometries.
Note that these functions merely allocate space for the new element(s), and it
is up to you to fill in the values explicitly in your code. These allocation
functions increase
.I sz_*
but never touch
.I num_*
(unless there is an allocation failure, in which case they reset both
.I sz_*
and
.I num_*
to zero). These functions return Success if they succeed, BadAlloc if they are
not able to allocate space, or BadValue if a parameter is not as expected.
If
.I free_all
is True, all doodads in the array are freed, regardless of the value of
.I count.
Otherwise,
.I count
doodads are freed.
.SH "RETURN VALUES"
.TP 15
Success
The XkbFreeGeomDoodads function returns Success if there are no allocation
errors.
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadValue
An argument is out of range
libX11-1.7.5/man/xkb/XkbGetSlowKeysDelay.man 0000644 0001750 0001750 00000015044 14222353101 015402 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbGetSlowKeysDelay __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetSlowKeysDelay \- Gets the SlowKeys acceptance delay for a keyboard device
.SH SYNOPSIS
.HP
.B Bool XkbGetSlowKeysDelay
.BI "(\^Display *" "display" "\^,"
.BI "unsigned int " "device_spec" "\^,"
.BI "unsigned int *" "delay_rtrn" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- display
connection to X server
.TP
.I \- device_spec
device ID, or XkbUseCoreKbd
.TP
.I \- delay_rtrn
backfilled with SlowKeys delay, ms
.SH DESCRIPTION
.LP
Some users may accidentally bump keys while moving a hand or typing stick toward
the key they want. Usually, the keys that are accidentally bumped are just hit
for a very short period of time. The SlowKeys control helps filter these
accidental bumps by telling the server to wait a specified period, called the
.I SlowKeys acceptance delay,
before delivering key events. If the key is released before this period elapses,
no key events are generated. Users can then bump any number of keys on their way
to the one they want without accidentally getting those characters. Once they
have reached the key they want, they can then hold the desired key long enough
for the computer to accept it. SlowKeys is a boolean control with one
configurable attribute.
When the SlowKeys control is active, the server reports the initial key press,
subsequent acceptance or rejection, and release of any key to interested clients
by sending an appropriate AccessXNotify event (see section 10.6.4).
The server can generate XkbAccessXNotify events for some of the global keyboard
controls.
The detail field describes what AccessX event just occurred and can be any of
the values in
Table 1.
The server can generate XkbAccessXNotify events for some of the global keyboard
controls.
The detail field describes what AccessX event just occurred and can be any of
the values in
Table 1.
.TS
c s
l l
l lw(4i).
Table 1 AccessXNotify Events
_
detail Reason
_
XkbAXN_SKPress T{
A key was pressed when SlowKeys was enabled.
T}
XkbAXN_SKAccept T{
A key was accepted (held longer than the SlowKeys delay).
T}
XkbAXN_SKRelease T{
An accepted SlowKeys key was released.
T}
XkbAXN_SKReject T{
A key was rejected (released before the SlowKeys delay expired).
T}
XkbAXN_BKAccept T{
A key was accepted by BounceKeys.
T}
XkbAXN_BKReject T{
A key was rejected (pressed before the BounceKeys delay expired).
T}
XkbAXN_AXKWarning T{
AccessXKeys is about to turn on/off StickyKeys or BounceKeys.
T}
.TE
The
.I keycode
field reports the keycode of the key for which the event occurred. If the action
is related to
.I SlowKeys,
the
.I slowKeysDelay
field contains the current SlowKeys acceptance delay. If the action is related
to BounceKeys,
the
.I debounceDelay
field contains the current BounceKeys debounce delay.
Selecting for AccessX Events
To receive XkbAccessXNotify events under all possible conditions, use
.I XkbSelectEvents
and pass XkbAccesXNotifyMask in both
.I bits_to_change
and
.I values_for_bits.
To receive XkbStateNotify events only under certain conditions, use
.I XkbSelectEventDetails
using XkbAccessXNotify as the
.I event_type
and specifying the desired state changes in
.I bits_to_change
and
.I values_for_bits
using mask bits from Table 2.
.TS
c s s
l l l
l l lw(3i).
Table 2 AccessXNotify Event Details
_
XkbAccessXNotify Event Details Value Circumstances
_
XkbAXN_SKPressMask (1<<0) T{
Slow key press notification wanted
T}
XkbAXN_SKAcceptMask (1<<1) T{
Slow key accept notification wanted
T}
XkbAXN_SKRejectMask (1<<2) T{
Slow key reject notification wanted
T}
XkbAXN_SKReleaseMask (1<<3) T{
Slow key release notification wanted
T}
XkbAXN_BKAcceptMask (1<<4) T{
Bounce key accept notification wanted
T}
XkbAXN_BKRejectMask (1<<5) T{
Bounce key reject notification wanted
T}
XkbAXN_AXKWarningMask (1<<6) T{
AccessX warning notification wanted
T}
XkbAllAccessXEventsMask (0x7f) T{
All AccessX features notifications wanted
T}
.TE
.I XkbGetSlowKeysDelay
requests the attributes of the SlowKeys control from the server, waits for a
reply and backfills
.I delay_rtrn
with the SlowKeys delay attribute.
.I XkbGetSlowKeysDelay
returns True if successful; ,
.I XkbGetSlowKeysDelay
returns False.
.SH "RETURN VALUES"
.TP 15
True
The
.I XkbGetSlowKeysDelay
function returns True if the request of the Slowkeys control from the server was
successful.
.I
.TP 15
False
The
.I XkbGetSlowKeysDelay
function returns False if a compatible version of the Xkb extension is not
available in the server.
.SH STRUCTURES
.LP
The structure for the XkbAccessXNotify event type is as follows:
.nf
typedef struct {
int type; /\&* Xkb extension base event code */
unsigned long serial; /\&* X server serial number for event */
Bool send_event; /\&* True => synthetically generated */
Display * display; /\&* server connection where event generated */
Time time; /\&* server time when event generated */
int xkb_type; /\&* XkbAccessXNotify */
int device; /\&* Xkb device ID, will not be XkbUseCoreKbd */
int detail; /\&* XkbAXN_* */
KeyCode keycode; /\&* key of event */
int slowKeysDelay; /\&* current SlowKeys delay */
int debounceDelay; /\&* current debounce delay */
} XkbAccessXNotifyEvent;
.fi
libX11-1.7.5/man/xkb/XkbSetDeviceInfo.man 0000644 0001750 0001750 00000022477 14222353101 014702 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbSetDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbSetDeviceInfo \- Modify some or all of the characteristics of an X Input
Extension device
.SH SYNOPSIS
.HP
.B Bool XkbSetDeviceInfo
.BI "(\^Display *" "dpy" "\^,"
.BI "unsigned int " "which" "\^,"
.BI "XkbDeviceInfoPtr " "device_info" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- dpy
connection to X server
.TP
.I \- which
mask indicating characteristics to modify
.TP
.I \- device_info
structure defining the device and modifications
.SH DESCRIPTION
.LP
To change characteristics of an X Input Extension device in the server, first
modify a local copy of the device structure and then use either
.I XkbSetDeviceInfo,
or, to save network traffic, use an XkbDeviceChangesRec structure and call
.I XkbChangeDeviceInfo
to download the changes to the server.
.I XkbSetDeviceInfo
sends a request to the server to modify the characteristics of the device
specified in the
.I device_info
structure. The particular characteristics modified are identified by the bits
set in
.I which
and take their values from the relevant fields in
device_info (see Table 1). XkbSetDeviceInfo returns True if the request was
successfully sent to the server. If the X server implementation does not allow
interaction between the X input extension and the Xkb Extension, the function
does nothing and returns False.
.bp
.nf
Table 1 XkbDeviceInfoRec Mask Bits
____________________________________________________________________________________
Name XkbDeviceInfoRec Value Capability If Set
Fields Effected
____________________________________________________________________________________
XkbXI_KeyboardsMask (1L <<0) Clients can use all
Xkb requests and events
with KeyClass devices
supported by the input
device extension.
XkbXI_ButtonActionsMask num_btns (1L <<1) Clients can assign key
btn_acts actions to buttons
non-KeyClass input
extension devices.
XkbXI_IndicatorNamesMask leds->names (1L <<2) Clients can assign
names to indicators on
non-KeyClass input
extension devices.
XkbXI_IndicatorMapsMask leds->maps (1L <<3) Clients can assign
indicator maps to
indicators on
non-KeyClass input
extension devices.
XkbXI_IndicatorStateMask leds->state (1L <<4) Clients can request
the status of indicators
on non-KeyClass input
extension devices.
XkbXI_IndicatorsMask sz_leds (0x1c) XkbXI_IndicatorNamesMask |
num_leds XkbXI_IndicatorMapsMask |
leds->* XkbXI_IndicatorStateMask
XkbXI_UnsupportedFeaturesMask unsupported (1L <<15)
XkbXI_AllDeviceFeaturesMask Those selected (0x1e) XkbXI_IndicatorsMask |
by Value Column XkbSI_ButtonActionsMask
masks
XkbXI_AllFeaturesMask Those selected (0x1f) XkbSI_AllDeviceFeaturesMask |
by Value Column XkbSI_KeyboardsMask
masks
XkbXI_AllDetailsMask Those selected (0x801f) XkbXI_AllFeaturesMask |
by Value column XkbXI_UnsupportedFeaturesMask
masks
.fi
The
.I which
parameter specifies which aspects of the device should be changed and is a
bitmask composed of an inclusive OR or one or more of the following bits:
XkbXI_ButtonActionsMask, XkbXI_IndicatorNamesMask, XkbXI_IndicatorMapsMask. If
the features requested to be manipulated in
.I which
are valid for the device, but the server does not support assignment of one or
more of them, that particular portion of the request is ignored.
If the device specified in
.I device_info->device_spec
does not contain buttons and a request affecting buttons is made, or the device
does not contain indicators and a request affecting indicators is made, a
BadMatch protocol error results.
If the XkbXI_ButtonActionsMask bit is set in the
.I supported
mask returned by
.I XkbGetDeviceInfo,
the Xkb extension allows applications to assign key actions to buttons on input
extension devices other than the core keyboard device. If the
XkbXI_ButtonActionsMask is set in
.I which,
the actions for all buttons specified in
.I device_info
are set to the XkbActions specified in
.I device_info->btn_acts.
If the number of buttons requested to be updated is not valid for the device,
.I XkbSetDeviceInfo
returns False and a BadValue protocol error results.
If the XkbXI_IndicatorMaps and / or XkbXI_IndicatorNamesMask bit is set in the
.I supported
mask returned by
.I XkbGetDeviceInfo,
the Xkb extension allows applications to assign maps and / or names to the
indicators of nonkeyboard extension devices. If supported, maps and / or names
can be assigned to all extension device indicators, whether they are part of a
keyboard feedback or part of an indicator feedback.
If the XkbXI_IndicatorMapsMask and / or XkbXI_IndicatorNamesMask flag is set in
.I which,
the indicator maps and / or names for all
.I device_info->num_leds
indicator devices specified in
.I device_info->leds
are set to the maps and / or names specified in
.I device_info->leds. device_info->leds->led_class
and
.I led_id
specify the input extension class and device ID for each indicator device to
modify; if they have invalid values, a BadValue protocol error results and
.I XkbSetDeviceInfo
returns False. If they have legal values but do not specify a keyboard or
indicator class feedback for the device in question, a BadMatch error results.
If any of the values in
.I device_info->leds->names
are not a valid Atom or None, a BadAtom protocol error results.
.SH "RETURN VALUES"
.TP 15
True
The
.I XkbSetDeviceInfo
function returns True if the request was successfully sent to the server.
.TP 15
False
The
.I XkbSetDeviceInfo
function returns False if the X server implementation does not allow interaction
between the X input extension and the Xkb Extension.
.SH STRUCTURES
.LP
Changes to an Xkb extension device may be tracked by listening to
XkbDeviceExtensionNotify events and accumulating the changes in an
XkbDeviceChangesRec structure. The changes noted in the structure may then be
used in subsequent operations to update either a server configuration or a local
copy of an Xkb extension device configuration. The changes structure is defined
as follows:
.nf
typedef struct _XkbDeviceChanges {
unsigned int changed; /\&* bits indicating what has changed */
unsigned short first_btn; /\&* number of first button which changed, if any */
unsigned short num_btns; /\&* number of buttons that have changed */
XkbDeviceLedChangesRec leds;
} XkbDeviceChangesRec,*XkbDeviceChangesPtr;
.fi
.SH DIAGNOSTICS
.TP 15
.B BadAtom
A name is neither a valid Atom or None
.TP 15
.B BadMatch
A compatible version of Xkb was not available in the server or an argument has
correct type and range, but is otherwise invalid
.TP 15
.B BadValue
An argument is out of range
.SH "SEE ALSO"
.BR XkbChangeDeviceInfo (__libmansuffix__),
.BR XkbGetDeviceInfo (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbFreeComponentList.man 0000644 0001750 0001750 00000003322 14222353101 015577 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbFreeComponentList __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbFreeComponentList \- Free the structure returned by
.I XkbListComponents
.SH SYNOPSIS
.HP
.B void XkbFreeComponentList
.BI "(\^XkbComponentListPtr " "list" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- list
pointer to XkbComponentListRec to free
.SH DESCRIPTION
.LP
When you are done using the structure returned by
.I XkbListComponents,
free it using
.I XkbFreeComponentList.
.SH "SEE ALSO"
.BR XkbListComponents (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbInitCanonicalKeyTypes.man 0000644 0001750 0001750 00000005617 14222353101 016421 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbInitCanonicalKeyTypes __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbInitCanonicalKeyTypes \- Set the definitions of the canonical key types in a
client map to their default values
.SH SYNOPSIS
.HP
.B Status XkbInitCanonicalKeyTypes
.BI "(\^XkbDescPtr " "xkb" "\^,"
.BI "unsigned int " "which" "\^,"
.BI "int " "keypadVMod" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- xkb
keyboard description containing client map to initialize
.TP
.I \- which
mask of types to initialize
.TP
.I \- keypadVMod
index of NumLock virtual modifier
.SH DESCRIPTION
.LP
.I XkbInitCanonicalKeyTypes
initializes the first XkbNumRequiredTypes key types of the keyboard specified by
the
.I xkb
parameter to their default values. The
.I which
parameter specifies what canonical key types to initialize and is a bitwise
inclusive OR of the following masks: XkbOneLevelMask, XkbTwoLevelMask,
XkbAlphabeticMask, and XkbKeypadMask. Only those canonical types specified by
the
.I which
mask are initialized.
If XkbKeypadMask is set in the
.I which
parameter,
.I XkbInitCanonicalKeyTypes
looks up the NumLock named virtual modifier to determine which virtual modifier
to use when initializing the KEYPAD key type. If the NumLock virtual modifier
does not exist,
.I XkbInitCanonicalKeyTypes
creates it.
.I XkbInitCanonicalKeyTypes
normally returns Success. It returns BadAccess if the Xkb extension has not been
properly initialized, and BadAccess if the
xkb parameter is not valid.
.SH "RETURN VALUES"
.TP 15
Success
The
.I XkbInitCanonicalKeyTypes
function return Success if the Xkb extension has been properly initialized and
the xkb parameter is valid.
.SH DIAGNOSTICS
.TP 15
.B BadAccess
The Xkb extension has not been properly initialized
libX11-1.7.5/man/xkb/XkbAllocGeomSections.man 0000644 0001750 0001750 00000005077 14222353101 015562 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbAllocGeomSections __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbAllocGeomSections \- Allocate geometry sections
.SH SYNOPSIS
.HP
.B Status XkbAllocGeomSections
.BI "(\^XkbGeometryPtr " "geom" "\^,"
.BI "int " "num_needed" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- geom
geometry for which sections should be allocated
.TP
.I \- num_needed
number of new sections required
.SH DESCRIPTION
.LP
Xkb provides a number of functions to allocate and free subcomponents of a
keyboard geometry. Use these functions to create or modify keyboard geometries.
Note that these functions merely allocate space for the new element(s), and it
is up to you to fill in the values explicitly in your code. These allocation
functions increase
.I sz_*
but never touch
.I num_*
(unless there is an allocation failure, in which case they reset both
.I sz_*
and
.I num_*
to zero). These functions return Success if they succeed, BadAlloc if they are
not able to allocate space, or BadValue if a parameter is not as expected.
.I XkbAllocGeomSections
allocates
.I num_needed
sections and adds them to the geometry
.I geom.
No initialization of the sections is done.
To free geometry sections, use
.I XkbFreeGeomSections.
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadValue
An argument is out of range
.SH "SEE ALSO"
.BR XkbFreeGeomSections (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbSetPtrActionY.man 0000644 0001750 0001750 00000007454 14222353101 014721 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbSetPtrActionY __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbSetPtrActionY \- Sets the high_YYY and low_YYY fields of act from the signed
integer value y
.SH SYNOPSIS
.HP
.B void XkbSetPtrActionY
.BI "(\^XkbPtrAction " "act" "\^,"
.BI "int " "y" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- act
action in which to set Y
.TP
.I \- y
new value to set
.SH DESCRIPTION
.LP
Actions associated with the XkbPtrAction structure move the pointer when keys
are pressed and released.
If the MouseKeys control is not enabled, KeyPress and KeyRelease events are
treated as though the action is XkbSA_NoAction.
If the MouseKeys control is enabled, a server action of type XkbSA_MovePtr
instructs the server to generate core pointer MotionNotify events rather than
the usual KeyPress event, and the corresponding KeyRelease event disables any
mouse keys timers that were created as a result of handling the XkbSA_MovePtr
action.
The
.I type
field of the XkbPtrAction structure is always XkbSA_MovePtr.
The
.I flags
field is a bitwise inclusive OR of the masks shown in Table 1.
.TS
c s
l l
l lw(4i).
Table 1 Pointer Action Types
_
Action Type Meaning
_
XkbSA_NoAcceleration T{
If not set, and the MouseKeysAccel control is enabled, the KeyPress initiates a
mouse keys timer for this key; every time the timer expires, the cursor moves.
T}
XkbSA_MoveAbsoluteX T{
If set, the X portion of the structure specifies the new pointer X coordinate.
Otherwise, the X portion is added to the current pointer X coordinate to
determine the new pointer X coordinate.
T}
XkbSA_MoveAbsoluteY T{
If set, the Y portion of the structure specifies the new pointer Y coordinate.
Otherwise, the Y portion is added to the current pointer Y coordinate to
determine the new pointer Y coordinate.
T}
.TE
Each of the X and Y coordinates of the XkbPtrAction structure is composed of
two signed 16-bit values, that is, the X coordinate is composed of
.I high_XXX
and
.I low_XXX,
and similarly for the Y coordinate. Xkb provides the following macros, to
convert between a signed integer and two signed 16-bit values in XkbPtrAction
structures.
.SH STRUCTURES
.LP
.nf
typedef struct _XkbPtrAction {
unsigned char type; /\&* XkbSA_MovePtr */
unsigned char flags; /\&* determines type of pointer motion */
unsigned char high_XXX; /\&* x coordinate, high bits*/
unsigned char low_XXX; /\&* y coordinate, low bits */
unsigned char high_YYY; /\&* x coordinate, high bits */
unsigned char low_YYY; /\&* y coordinate, low bits */
} XkbPtrAction;
.fi
libX11-1.7.5/man/xkb/XkbChangeNames.man 0000644 0001750 0001750 00000014511 14222353101 014352 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbChangeNames __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbChangeNames \- _summary-line_
.SH SYNOPSIS
.HP
.B Bool XkbChangeNames
.BI "(\^Display *" "dpy" "\^,"
.BI "unsigned int " "which" "\^,"
.BI "XkbDescPtr " "Xkb" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- dpy
connection to the X server
.TP
.I \- which
mask of names or map components to be updated
.TP
.I \- Xkb
keyboard description to be updated
.SH DESCRIPTION
.LP
.I XkbChangeNames
provides a more flexible method for changing symbolic names than
.I XkbSetNames
and requires the use of an XkbNameChangesRec structure.
.I XkbChangeNames
copies any names specified by
.I changes
from the keyboard description,
.I xkb,
to the X server specified by
.I dpy. XkbChangeNames
aborts and returns False if any illegal type names or type shift level names are
specified by changes.
To change the symbolic names in the server, first modify a local copy of the
keyboard description and then use either
.I XkbSetNames,
or, to save network traffic, use a XkbNameChangesRec structure and call
.I XkbChangeNames
to download the changes to the server.
.I XkbSetNames
and
.I XkbChangeNames
can generate BadAlloc, BadAtom, BadLength, BadMatch, and BadImplementation
errors.
.SH STRUCTURES
.LP
The XkbNameChangesRec allows applications to identify small modifications to the
symbolic names and
effectively reduces the amount of traffic sent to the server:
.nf
typedef struct _XkbNameChanges {
unsigned int changed; /\&* name components that have changed */
unsigned char first_type; /\&* first key type with a new name */
unsigned char num_types; /\&* number of types with new names */
unsigned char first_lvl; /\&* first key type with new level names */
unsigned char num_lvls; /\&* number of key types with new level names */
unsigned char num_aliases; /\&* if key aliases changed, total number of key aliases */
unsigned char num_rg; /\&* if radio groups changed, total number of radio groups */
unsigned char first_key; /\&* first key with a new name */
unsigned char num_keys; /\&* number of keys with new names */
unsigned short changed_vmods; /\&* mask of virtual modifiers for which names have changed */
unsigned long changed_indicators; /\&* mask of indicators for which names were changed */
unsigned char changed_groups; /\&* mask of groups for which names were changed */
} XkbNameChangesRec, *XkbNameChangesPtr
.fi
The
.I changed
field specifies the name components that have changed and is the bitwise
inclusive OR of the valid names
mask bits defined in Table 1. The rest of the fields in the structure specify
the ranges that have changed
for the various kinds of symbolic names, as shown in Table 2.
Xkb provides several functions that work with symbolic names. Each of these
functions uses a mask to
specify individual fields of the structures described above. These masks and
their relationships to the
fields in a keyboard description are shown in Table 1.
.TS
c s s s
l l l l.
Table 1 Symbolic Names Masks
_
Mask Bit Value Keyboard Field
Component
_
XkbKeycodesNameMask (1<<0) Xkb->names keycodes
XkbGeometryNameMask (1<<1) Xkb->names geometry
XkbSymbolsNameMask (1<<2) Xkb->names symbols
XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols
XkbTypesNameMask (1<<4) Xkb->names type
XkbCompatNameMask (1<<5) Xkb->names compat
XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name
XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*]
XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*]
XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys
XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases
XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*]
XkbGroupNamesMask (1<<12) Xkb->names groups[*]
XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg
XkbComponentNamesMask (0x3f) Xkb->names keycodes,
geometry,
symbols,
physical symbols,
types, and
compatibility map
XkbAllNamesMask (0x3fff) Xkb->names all name components
.TE
.TS
c s s s
l l l l.
Table 2 XkbNameChanges Fields
_
Mask Fields Component Field
_
XkbKeyTypeNamesMask first_type, Xkb->map type[*].name
num_types
XkbKTLevelNamesMask first_lvl, Xkb->map type[*].lvl_names[*]
num_lvls
XkbKeyAliasesMask num_aliases Xkb->names key_aliases[*]
XkbRGNamesMask num_rg Xkb->names radio_groups[*]
XkbKeyNamesMask first_key, Xkb->names keys[*]
num_keys
XkbVirtualModNamesMask changed_vmods Xkb->names vmods[*]
XkbIndicatorNamesMask changed_indicators Xkb->names indicators[*]
XkbGroupNamesMask changed_groups Xkb->names groups[*]
.TE
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadAtom
A name is neither a valid Atom or None
.TP 15
.B BadImplementation
Invalid reply from server
.TP 15
.B BadLength
The length of a request is shorter or longer than that required to minimally
contain the arguments
.TP 15
.B BadMatch
A compatible version of Xkb was not available in the server or an argument has
correct type and range, but is otherwise invalid
.SH "SEE ALSO"
.BR XkbSetNames (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbGetCompatMap.man 0000644 0001750 0001750 00000007443 14222353101 014530 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbGetCompatMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetCompatMap \- Fetch any combination of the current compatibility map
components from the server
.SH SYNOPSIS
.HP
.B Status XkbGetCompatMap
.BI "(\^Display *" "display" "\^,"
.BI "unsigned int " "which" "\^,"
.BI "XkbDescRec *" "xkb" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- display
connection to server
.TP
.I \- which
mask of compatibility map components to fetch
.TP
.I \- xkb
keyboard description where results placed
.SH DESCRIPTION
.LP
When another client modifies the compatibility map, you are notified if you have
selected for XkbCompatMapNotify events.
.I XkbGetCompatMap
is particularly useful when you receive an event of this type, as it allows you
to update your program's version of the compatibility map to match the modified
version now in the server. If your program is dealing with multiple servers and
needs to configure them all in a similar manner, the updated compatibility map
may be used to reconfigure other servers.
.I XkbGetCompatMap
fetches the components of the compatibility map specified in
.I which
from the server specified by
.I display
and places them in the
.I compat
structure of the keyboard description
.I xkb.
Valid values for
.I which
are an inclusive OR of the values shown in Table 1.
.TS
c s s
l l l
l l l.
Table 1 Compatibility Map Component Masks
_
Mask Value Affecting
_
XkbSymInterpMask (1<<0) Symbol interpretations
XkbGroupCompatMask (1<<1) Group maps
XkbAllCompatMask (0x3) All compatibility map components
.TE
If no compatibility map structure is allocated in
.I xkb
upon entry,
.I XkbGetCompatMap
allocates one. If one already exists, its contents are overwritten with the
returned results.
.I XkbGetCompatMap
fetches compatibility map information for the device specified by the
.I device_spec
field of
.I xkb.
Unless you have specifically modified this field, it is the default keyboard
device.
.I XkbGetCompatMap
returns Success if successful, BadAlloc if it is unable to obtain necessary
storage for either the return values or work space, BadMatch if the
.I dpy
field of the
.I xkb
argument is non-NULL and does not match the
.I display
argument, and BadLength under certain conditions caused by server or Xkb
implementation errors.
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadLength
The length of a request is shorter or longer than that required to minimally contain the arguments
.TP 15
.B BadMatch
A compatible version of Xkb was not available in the server or an argument has
correct type and range, but is otherwise invalid
libX11-1.7.5/man/xkb/XkbGetNames.man 0000644 0001750 0001750 00000010044 14222353101 013701 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbGetNames __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetNames \- Obtain symbolic names from the server
.SH SYNOPSIS
.HP
.B Status XkbGetNames
.BI "(\^Display *" "dpy" "\^,"
.BI "unsigned int " "which" "\^,"
.BI "XkbDescPtr " "Xkb" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- dpy
connection to the X server
.TP
.I \- which
mask of names or map components to be updated
.TP
.I \- Xkb
keyboard description to be updated
.SH DESCRIPTION
.LP
.I XkbGetNames
retrieves symbolic names for the components of the keyboard extension from the X server. The
.I which
parameter specifies the name components to be updated in the
.I xkb
parameter, and is the bitwise inclusive OR of the valid names mask bits defined in Table 1.
.TS
c s s s
l l l l.
Table 1 Symbolic Names Masks
_
Mask Bit Value Keyboard Field
Component
_
XkbKeycodesNameMask (1<<0) Xkb->names keycodes
XkbGeometryNameMask (1<<1) Xkb->names geometry
XkbSymbolsNameMask (1<<2) Xkb->names symbols
XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols
XkbTypesNameMask (1<<4) Xkb->names type
XkbCompatNameMask (1<<5) Xkb->names compat
XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name
XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*]
XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*]
XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys
XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases
XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*]
XkbGroupNamesMask (1<<12) Xkb->names groups[*]
XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg
XkbComponentNamesMask (0x3f) Xkb->names keycodes,
geometry,
symbols,
physical symbols,
types, and
compatibility map
XkbAllNamesMask (0x3fff) Xkb->names all name components
.TE
If the
.I names
field of the keyboard description
.I xkb
is NULL,
.I XkbGetNames
allocates and initializes the
.I names
component of the keyboard description before obtaining the values specified by
.I which.
If the
.I names field of
.I xkb
is not NULL,
.I XkbGetNames
obtains the values specified by
.I which
and copies them into the keyboard description
.I Xkb.
If the
.I map
component of the
.I xkb
parameter is NULL,
.I XkbGetNames
does not retrieve type or shift level names, even if XkbKeyTypeNamesMask or XkbKTLevelNamesMask are set in
.I which.
.I XkbGetNames
can return Success, or BadAlloc, BadLength, BadMatch, and BadImplementation errors.
To free symbolic names, use
.I XkbFreeNames.
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadImplementation
Invalid reply from server
.TP 15
.B BadLength
The length of a request is shorter or longer than that required to minimally contain the arguments
.TP 15
.B BadMatch
A compatible version of Xkb was not available in the server or an argument has correct type and range, but
is otherwise invalid
.SH "SEE ALSO"
.BR XkbFreeNames (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbKeyTypeIndex.man 0000644 0001750 0001750 00000003425 14222353101 014565 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbKeyTypeIndex __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbKeyTypeIndex \- Obtain the index of a key type or the pointer to a key type
.SH SYNOPSIS
.HP
.B int XkbKeyTypeIndex
.BI "(\^XkbDescPtr " "xkb" "\^,"
.BI "KeyCode " "keycode" "\^,"
.BI "int " "group" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- xkb
Xkb description of interest
.TP
.I \- keycode
keycode of interest
.TP
.I \- group
group index
.SH DESCRIPTION
.LP
.I XkbKeyTypeIndex
computes an index into the
.I types
vector of the client map in
.I xkb
from the given
.I keycode
and
.I group
index.
libX11-1.7.5/man/xkb/XkbFreeGeomOverlays.man 0000644 0001750 0001750 00000005470 14222353101 015423 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbFreeGeomOverlays __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbFreeGeomOverlays \- Free rows in a section
.SH SYNOPSIS
.HP
.B void XkbFreeGeomOverlays
.BI "(\^XkbSectionPtr " "section" "\^,"
.BI "int " "first" "\^,"
.BI "int " "count" "\^,"
.BI "Bool " "free_all" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- section
section in which overlays should be freed
.TP
.I \- first
first overlay to be freed
.TP
.I \- count
number of overlays to be freed
.TP
.I \- free_all
True => all overlays are freed
.SH DESCRIPTION
.LP
Xkb provides a number of functions to allocate and free subcomponents of a
keyboard geometry. Use these functions to create or modify keyboard geometries.
Note that these functions merely allocate space for the new element(s), and it
is up to you to fill in the values explicitly in your code. These allocation
functions increase
.I sz_*
but never touch
.I num_*
(unless there is an allocation failure, in which case they reset both
.I sz_*
and
.I num_*
to zero). These functions return Success if they succeed, BadAlloc if they are
not able to allocate space, or BadValue if a parameter is not as expected.
If
.I free_all
is True, all overlays are freed regardless of the value of
.I first
and
.I count.
Otherwise, the number of overlays specified by
.I count
are freed, beginning with the overlay specified by
.I first
in the specified section.
.SH "RETURN VALUES"
.TP 15
Success
The XkbFreeGeomOverlays functions returns Success if there are no allocation or
argument errors.
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadValue
An argument is out of range
libX11-1.7.5/man/xkb/XkbGetNamedIndicator.man 0000644 0001750 0001750 00000011103 14222353101 015514 0000000 0000000 .\" Copyright 1999, 2017, 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.
.\"
.TH XkbGetNamedIndicator __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetNamedIndicator \- Look up the indicator map and other information for an
indicator by name
.SH SYNOPSIS
.HP
.B Bool XkbGetNamedDeviceIndicator
.BI "(\^Display *" "dpy" "\^,"
.BI "unsigned int " "dev_spec" "\^,"
.BI "unsigned int " "led_class" "\^,"
.BI "unsigned int " "led_id" "\^,"
.BI "Atom " "name" "\^,"
.BI "int *" "ndx_rtrn" "\^,"
.BI "Bool *" "state_rtrn" "\^,"
.BI "XkbIndicatorMapPtr " "map_rtrn" "\^,"
.BI "Bool *" "real_rtrn" "\^);"
.HP
.B Bool XkbGetNamedIndicator
.BI "(\^Display *" "dpy" "\^,"
.BI "Atom " "name" "\^,"
.BI "int *" "ndx_rtrn" "\^,"
.BI "Bool *" "state_rtrn" "\^,"
.BI "XkbIndicatorMapPtr " "map_rtrn" "\^,"
.BI "Bool *" "real_rtrn" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- dpy
connection to the X server
.TP
.I \- dev_spec
keyboard device ID, or XkbUseCoreKbd
.TP
.I \- led_class
feedback class, or XkbDfltXIClass
.TP
.I \- led_id
feedback ID, or XkbDfltXIId
.TP
.I \- name
name of the indicator to be retrieved
.TP
.I \- ndx_rtrn
backfilled with the index of the retrieved indicator
.TP
.I \- state_rtrn
backfilled with the current state of the retrieved indicator
.TP
.I \- map_rtrn
backfilled with the mapping for the retrieved indicator
.TP
.I \- real_rtrn
backfilled with True if the named indicator is real (physical)
.SH DESCRIPTION
.LP
Xkb also allows applications to refer to indicators by name. Use
.I XkbGetNames
to get the indicator names. Using names eliminates the need for hard-coding
bitmask values for particular keyboards. For example, instead of using
vendor-specific constants such as WSKBLed_ScrollLock mask on Digital
workstations or XLED_SCROLL_LOCK on Sun workstations, you can instead use
.I XkbGetNamedDeviceIndicator
to look up information on the indicator named "Scroll Lock."
If the device specified by
.I device_spec
has an indicator named
.IR name ", " XkbGetNamedDeviceIndicator
returns True and populates the rest of the parameters with information about the
indicator. Otherwise,
.I XkbGetNamedDeviceIndicator
returns False.
The
.I ndx_rtrn
field returns the zero-based index of the named indicator. This index is the bit
position to use in any function call that requires a mask of indicator bits, as
well as the indicator's index into the XkbIndicatorRec array of indicator maps.
.I state_rtrn
returns the current state of the named indicator (True = on, False = off).
.I map_rtrn
returns the indicator map for the named indicator. In addition, if the indicator
is mapped to a physical LED, the
.I real_rtrn
parameter is set to True.
Each of the "
.I _rtrn
" arguments is optional; you can pass NULL for any unneeded "
.I _rtrn
" arguments.
.LP
.I XkbGetNamedIndicator
is a convenience function that calls
.I XkbGetNamedDeviceIndicator
with a
.I device_spec
of
.BR XkbUseCoreKbd ,
a
.I led_class
of
.BR XkbDfltXIClass ,
and a
.I led_id
of
.BR XkbDfltXIId .
It returns the return value from
.IR XkbGetNamedDeviceIndicator .
.SH "RETURN VALUES"
.TP 15
True
The
.IR XkbGetNamedIndicator " and " XkbGetNamedDeviceIndicator
functions return True if the device specified by
.I device_spec
has an indicator named
.IR name .
.TP 15
False
The
.IR XkbGetNamedIndicator " and " XkbGetNamedDeviceIndicator
functions return False if the device specified by
.I device_spec
does not have an indicator named
.IR name .
.SH "SEE ALSO"
.BR XkbGetNames (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbSelectEvents.man 0000644 0001750 0001750 00000014433 14222353101 014610 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbSelectEvents __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbSelectEvents \- Selects and / or deselects for delivery of one or more Xkb
events and has them delivered under all conditions
.SH SYNOPSIS
.HP
.B Bool XkbSelectEvents
.BI "(\^Display *" "display" "\^,"
.BI "unsigned int " "device_spec" "\^,"
.BI "unsigned long int " "bits_to_change" "\^,"
.BI "unsigned long int " "values_for_bits" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I display
connection to the X server
.TP
.I device_spec
device ID, or XkbUseCoreKbd
.TP
.I bits_to_change
determines events to be selected / deselected
.TP
.I values_for_bits
1=>select, 0->deselect; for events in bits_to_change
.SH DESCRIPTION
.LP
Xkb events are selected using an event mask, much the same as normal core X
events are selected. However, unlike selecting core X events, where you must
specify the selection status (on or off) for all possible event types whenever
you wish to change the selection criteria for any one event, Xkb allows you to
restrict the specification to only the event types you wish to change. This
means that you do not need to remember the event selection values for all
possible types each time you want to change one of them.
Many Xkb event types are generated under several different circumstances. When
selecting to receive an Xkb event, you may specify either that you want it
delivered under all circumstances, or that you want it delivered only for a
subset of the possible circumstances.
You can also deselect an event type that was previously selected for, using the
same granularity.
Xkb provides two functions to select and deselect delivery of Xkb events.
.I XkbSelectEvents
allows you to select or deselect delivery of more than one Xkb
event type at once. Events selected using
.I XkbSelectEvents
are delivered to your program under all circumstances that generate the events.
To restrict delivery of an event to a subset of the conditions under which it
occurs, use
.I XkbSelectEventDetails. XkbSelectEventDetails
only allows you to change the selection conditions for a single event at a time,
but it provides a means of fine-tuning the conditions under which the event is
delivered.
This request changes the Xkb event selection mask for the keyboard specified by
.I device_spec.
Each Xkb event that can be selected is represented by a bit in the
.I bits_to_change
and
.I values_for_bits
masks. Only the event selection bits specified by the
.I bits_to_change
parameter are affected; any unspecified bits are left unchanged. To turn on
event selection for an event, set the bit for the event in the
.I bits_to_change
parameter and set the corresponding bit in the
.I values_for_bits
parameter. To turn off event selection for an event, set the bit for the event
in the
.I bits_to_change
parameter and do not set the corresponding bit in the
.I values_for_bits
parameter. The valid values for both of these parameters are an inclusive
bitwise OR of the masks shown in Table 1. There is no interface to return your
client's current event selection mask. Clients cannot set other clients' event
selection masks.
The X server reports the events defined by Xkb to your client application only
if you have requested them via a call to
.I XkbSelectEvents
or
.I XkbSelectEventDetails.
Specify the event types in which you are interested in a mask.
Table 1 lists the event mask constants that can be specified with the
.I XkbSelectEvents
request and the circumstances in which the mask should be specified.
.TS
c s s
l l l
l l l.
Table 1 XkbSelectEvents Mask Constants
_
Event Mask Value Notification Wanted
_
XkbNewKeyboardNotifyMask (1L<<0) Keyboard geometry change
XkbMapNotifyMask (1L<<1) Keyboard mapping change
XkbStateNotifyMask (1L<<2) Keyboard state change
XkbControlsNotifyMask (1L<<3) Keyboard control change
XkbIndicatorStateNotifyMask (1L<<4) Keyboard indicator state change
XkbIndicatorMapNotifyMask (1L<<5) Keyboard indicator map change
XkbNamesNotifyMask (1L<<6) Keyboard name change
XkbCompatMapNotifyMask (1L<<7) Keyboard compat map change
XkbBellNotifyMask (1L<<8) Bell
XkbActionMessageMask (1L<<9) Action message
XkbAccessXNotifyMask (1L<<10) AccessX features
XkbExtensionDeviceNotifyMask (1L<<11) Extension device
XkbAllEventsMask (0xFFF) All Xkb events
.TE
If a bit is not set in the
.I bits_to_change
parameter, but the corresponding bit is set in the
.I values_for_bits
parameter, a BadMatch protocol error results. If an undefined bit is set in
either the
.I bits_to_change
or the
.I values_for_bits
parameter, a BadValue protocol error results.
All event selection bits are initially zero for clients using the Xkb extension.
Once you set some bits, they remain set for your client until you clear them via
another call to
.I XkbSelectEvents.
.I XkbSelectEvents
returns False if the Xkb extension has not been initialized and True
otherwise.
.SH "RETURN VALUES"
.TP 15
True
The
.I XkbSelectEvents
function returns True if the Xkb extension has been initialized.
.TP 15
False
The
.I XkbSelectEvents
function returns False if the Xkb extension has not been initialized.
.SH "SEE ALSO"
.BR XkbSelectEventDetails (__libmansuffix__),
.BR XkbUseCoreKbd (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbFreeDeviceInfo.man 0000644 0001750 0001750 00000017712 14222353101 015024 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbFreeDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbFreeDeviceInfo \- Free an XkbDeviceInfoRec structure
.SH SYNOPSIS
.HP
.B void XkbFreeDeviceInfo
.BI "(\^XkbDeviceInfoPtr " "device_info" "\^,"
.BI "unsigned int " "which" "\^,"
.BI "Bool " "free_all" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- device_info
pointer to XkbDeviceInfoRec in which to free items
.TP
.I \- which
mask of components of device_info to free
.TP
.I \- free_all
True => free everything, including device_info
.SH DESCRIPTION
.LP
If
.I free_all
is True, the
.I XkbFreeDeviceInfo
frees all components of
.I device_info
and the XkbDeviceInfoRec structure pointed to by
.I device_info
itself. If
.I free_all
is False, the value of
.I which
determines which subcomponents are freed.
.I which
is an inclusive OR of one or more of the values from Table 1. If
.I which
contains XkbXI_ButtonActionsMask, all button actions associated with
.I device_info
are freed,
.I device_info->btn_acts
is set to NULL, and
.I device_info->num_btns
is set to zero. If
.I which
contains all bits in XkbXI_IndicatorsMask, all XkbDeviceLedInfoRec structures associated with
.I device_info
are freed,
.I device_info->leds
is set to NULL, and
.I device_info->sz_leds
and
.I device_info->num_leds
are set to zero. If
.I which
contains XkbXI_IndicatorMapsMask, all indicator maps associated with
.I device_info
are cleared, but the number of LEDs and the leds structures themselves is preserved. If
.I which
contains XkbXI_IndicatorNamesMask, all indicator names associated with
.I device_info
are cleared, but the number of LEDs and the leds structures themselves is preserved. If
.I which
contains XkbXI_IndicatorStateMask, the indicator state associated with the
.I device_info
leds are set to zeros but the number of LEDs and the leds structures themselves is preserved.
.bp
.nf
Table 1 XkbDeviceInfoRec Mask Bits
____________________________________________________________________________________
Name XkbDeviceInfoRec Value Capability If Set
Fields Effected
____________________________________________________________________________________
XkbXI_KeyboardsMask (1L <<0) Clients can use all
Xkb requests and events
with KeyClass devices
supported by the input
device extension.
XkbXI_ButtonActionsMask num_btns (1L <<1) Clients can assign key
btn_acts actions to buttons
non-KeyClass input
extension devices.
XkbXI_IndicatorNamesMask leds->names (1L <<2) Clients can assign
names to indicators on
non-KeyClass input
extension devices.
XkbXI_IndicatorMapsMask leds->maps (1L <<3) Clients can assign
indicator maps to
indicators on
non-KeyClass input
extension devices.
XkbXI_IndicatorStateMask leds->state (1L <<4) Clients can request
the status of indicators
on non-KeyClass input
extension devices.
XkbXI_IndicatorsMask sz_leds (0x1c) XkbXI_IndicatorNamesMask |
num_leds XkbXI_IndicatorMapsMask |
leds->* XkbXI_IndicatorStateMask
XkbXI_UnsupportedFeaturesMask unsupported (1L <<15)
XkbXI_AllDeviceFeaturesMask Those selected (0x1e) XkbXI_IndicatorsMask |
by Value Column XkbSI_ButtonActionsMask
masks
XkbXI_AllFeaturesMask Those selected (0x1f) XkbSI_AllDeviceFeaturesMask |
by Value Column XkbSI_KeyboardsMask
masks
XkbXI_AllDetailsMask Those selected (0x801f) XkbXI_AllFeaturesMask |
by Value column XkbXI_UnsupportedFeaturesMask
masks
.fi
.SH STRUCTURES
.LP
Information about X Input Extension devices is transferred between a client program and the Xkb
extension in an XkbDeviceInfoRec structure:
.nf
typedef struct {
char * name; /\&* name for device */
Atom type; /\&* name for class of devices */
unsigned short device_spec; /\&* device of interest */
Bool has_own_state; /\&* True=>this device has its own state */
unsigned short supported; /\&* bits indicating supported capabilities */
unsigned short unsupported; /\&* bits indicating unsupported capabilities */
unsigned short num_btns; /\&* number of entries in btn_acts */
XkbAction * btn_acts; /\&* button actions */
unsigned short sz_leds; /\&* total number of entries in LEDs vector */
unsigned short num_leds; /\&* number of valid entries in LEDs vector */
unsigned short dflt_kbd_fb; /\&* input extension ID of default (core kbd) indicator */
unsigned short dflt_led_fb; /\&* input extension ID of default indicator feedback */
XkbDeviceLedInfoPtr leds; /\&* LED descriptions */
} XkbDeviceInfoRec, *XkbDeviceInfoPtr;
typedef struct {
unsigned short led_class; /\&* class for this LED device*/
unsigned short led_id; /\&* ID for this LED device */
unsigned int phys_indicators; /\&* bits for which LEDs physically present */
unsigned int maps_present; /\&* bits for which LEDs have maps in maps */
unsigned int names_present; /\&* bits for which LEDs are in names */
unsigned int state; /\&* 1 bit => corresponding LED is on */
Atom names[XkbNumIndicators]; /\&* names for LEDs */
XkbIndicatorMapRec maps; /\&* indicator maps for each LED */
} XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr;
.fi
libX11-1.7.5/man/xkb/XkbGetDetectableAutoRepeat.man 0000644 0001750 0001750 00000007745 14222353101 016702 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbGetDetectableAutoRepeat __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetDetectableAutoRepeat \- Determines whether or not the server supports
DetectableAutoRepeat
.SH SYNOPSIS
.HP
.B Bool XkbGetDetectableAutoRepeat
.BI "(\^Display *" "display" "\^,"
.BI "Bool *" "supported_rtrn" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- display
connection to X server
.TP
.I \- supported_rtrn
backfilled True if DetectableAutoRepeat supported
.SH DESCRIPTION
.LP
Auto-repeat is the generation of multiple key events by a keyboard when the user
presses a key and holds it down. Keyboard hardware and device-dependent X server
software often implement auto-repeat by generating multiple KeyPress events with no
intervening KeyRelease event. The standard behavior of the X server is to generate
a KeyRelease event for every KeyPress event. If the keyboard hardware and
device-dependent software of the X server implement auto-repeat by generating
multiple KeyPress events, the device-independent part of the X server by default
synthetically generates a KeyRelease event after each KeyPress event. This provides
predictable behavior for X clients, but does not allow those clients to detect the
fact that a key is auto-repeating.
Xkb allows clients to request
.I detectable auto-repeat.
If a client requests and the server supports DetectableAutoRepeat, Xkb generates
KeyRelease events only when the key is physically released. If DetectableAutoRepeat
is not supported or has not been requested, the server synthesizes a KeyRelease
event for each repeating KeyPress event it generates.
DetectableAutoRepeat, unlike other controls, is not contained in the XkbControlsRec
structure, nor can it be enabled or disabled via the EnabledControls control.
Instead, query and set DetectableAutoRepeat using
.I XkbGetDetectableAutoRepeat
and
.I XkbSetDetectableAutoRepeat.
DetectableAutoRepeat is a condition that applies to all keyboard devices for a
client's connection to a given X server; it cannot be selectively set for some
devices and not for others. For this reason, none of the Xkb library functions
involving DetectableAutoRepeat involve a device specifier.
.I XkbGetDetectableAutoRepeat
queries the server for the current state of DetectableAutoRepeat and waits for a
reply. If
.I supported_rtrn
is not NULL, it backfills
.I supported_rtrn
with True if the server supports DetectableAutoRepeat, and False otherwise.
.I XkbGetDetectableAutoRepeat
returns the current state of DetectableAutoRepeat for the requesting client:
True if DetectableAutoRepeat is set, and False otherwise.
.SH "RETURN VALUES"
.TP 15
True
The
.I XkbGetDetectableAutoRepeat
function returns True if the server supports DetectableAutoRepeat.
.TP 15
False
The
.I XkbGetDetectableAutoRepeat
function returns False if the server does not support DetectableAutoRepeat.
libX11-1.7.5/man/xkb/XkbSAPtrDfltValue.man 0000644 0001750 0001750 00000006645 14222353101 015012 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbSAPtrDfltValue __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbSAPtrDfltValue \- Returns the valueXXX field of act converted to a signed int
.SH SYNOPSIS
.HP
.B int XkbSAPtrDfltValue
.BI "(\^XkbAction " "act" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- act
action from which to extract group
.SH DESCRIPTION
.LP
Actions associated with the XkbPtrDfltAction structure change the mk_dflt_btn
attribute of the MouseKeys control.
If the MouseKeys control is not enabled, KeyPress and KeyRelease events are
treated as though the action is XkbSA_NoAction. Otherwise, this action changes
the
.I mk_dflt_btn
attribute of the MouseKeys control.
The
.I type
field of the XkbPtrDfltAction structure should always be XkbSA_SetPtrDflt.
The
.I flags
field is composed of the bitwise inclusive OR of the values shown in Table 1
(currently there is only one value defined).
.TS
c s
l l
l lw(4i).
Table 1 Pointer Default Flags
_
Flag Meaning
_
XkbSA_DfltBtnAbsolute T{
If set, the value field represents an absolute pointer button. Otherwise, the
value field represents the amount to be added to the current default button.
T}
.TE
The
.I affect
field specifies what changes as a result of this action. The only valid value
for the
.I affect
field is XkbSA_AffectDfltBtn.
The
.I valueXXX
field is a signed character that represents the new button value for the
.I mk_dflt_btn
attribute of the MouseKeys control. If XkbSA_DfltBtnAbsolute is set in
.I flags, valueXXX
specifies the button to be used; otherwise,
.I valueXXX
specifies the amount to be added to the current default button. In either case,
illegal button choices are wrapped back around into range. Xkb provides macros,
to convert between the integer and signed character values in XkbPtrDfltAction
structures.
.I XkbSAPtrDfltValue
returns the
.I valueXXX
field of
.I act
converted to a signed int.
.SH STRUCTURES
.LP
.nf
typedef struct _XkbPtrDfltAction {
unsigned char type; /\&* XkbSA_SetPtrDflt */
unsigned char flags; /\&* controls the pointer button number */
unsigned char affect; /\&* XkbSA_AffectDfltBtn */
char valueXXX; /\&* new default button member */
} XkbPtrDfltAction;
.fi
libX11-1.7.5/man/xkb/XkbGetIndicatorChanges.man 0000644 0001750 0001750 00000012523 14222353101 016047 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbGetIndicatorChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetIndicatorChanges \- Updates a local copy of the keyboard description with
the actual values of one or more calls to XkbNoteIndicatorChanges
.SH SYNOPSIS
.HP
.B Status XkbGetIndicatorChanges
.BI "(\^Display *" "dpy" "\^,"
.BI "XkbDescPtr " "xkb" "\^,"
.BI "XkbIndicatorChangesPtr " "changes" "\^,"
.BI "unsigned int " "state" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- dpy
connection to the X server
.TP
.I \- xkb
keyboard description to hold the new values
.TP
.I \- changes
indicator maps/state to be obtained from the server
.TP
.I \- state
backfilled with the state of the indicators
.SH DESCRIPTION
.LP
Whenever an indicator changes state, the server sends XkbIndicatorStateNotify events to all
interested clients. Similarly, whenever an indicator's map changes, the server sends
XkbIndicatorMapNotify events to all interested clients.
To receive XkbIndicatorStateNotify events, use
.I XkbSelectEvents
with both the
.I bits_to_change
and
.I values_for_bits
parameters containing XkbIndicatorStateNotifyMask. To receive XkbIndicatorMapNotify events,
use
.I XkbSelectEvents
with XkbIndicatorMapNotifyMask.
To receive events for only specific indicators, use
.I XkbSelectEventDetails.
Set the
.I event_type
parameter to XkbIndicatorStateNotify or XkbIndicatorMapNotify, and set both the
.I bits_to_change
and
.I values_for_bits
detail parameters to a mask where each bit specifies one indicator, turning on those bits that
specify the indicators for which you want to receive events.
Both types of indicator events use the same structure:
.nf
typedef struct _XkbIndicatorNotify {
int type; /\&* Xkb extension base event code */
unsigned long serial; /\&* X server serial number for event */
Bool send_event; /\&* True => synthetically generated */
Display * display; /\&* server connection where event generated */
Time time; /\&* server time when event generated */
int xkb_type; /\&* specifies state or map notify */
int device; /\&* Xkb device ID, will not be XkbUseCoreKbd */
unsigned int changed; /\&* mask of indicators with new state or map */
unsigned int state; /\&* current state of all indicators */
} XkbIndicatorNotifyEvent;
.fi
.I xkb_type
is either XkbIndicatorStateNotify or XkbIndicatorMapNotify, depending on whether the event is
a kbIndicatorStateNotify event or kbIndicatorMapNotify event.
The
.I changed
parameter is a mask that is the bitwise inclusive OR of the indicators that have changed. If
the event is of type XkbIndicatorMapNotify,
.I changed
reports the maps that changed. If the event is of type XkbIndicatorStateNotify,
.I changed
reports the indicators that have changed state.
.I state
is a mask that specifies the current state of all indicators, whether they have changed or
not, for both XkbIndicatorStateNotify and IndicatorMapNotify events.
When your client application receives either a XkbIndicatorStateNotify event or
XkbIndicatorMapNotify event, you can note the changes in a changes structure by calling
.I XkbNoteIndicatorChanges.
.I XkbGetIndicatorChanges
examines the
.I changes
parameter, pulls over the necessary information from the server, and copies the
results into the
.I xkb
keyboard description. If any bits are set in the
.I state_changes
field of
.I changes, XkbGetIndicatorChanges
also places the state of those indicators in
.I state.
If the
.I indicators
field of
.I xkb
is NULL,
.I XkbGetIndicatorChanges
allocates and initializes it. To free the
.I indicators
field, use
.I XkbFreeIndicators.
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadImplementation
Invalid reply from server
.TP 15
.B BadMatch
A compatible version of Xkb was not available in the server or an argument has
correct type and range, but is otherwise invalid
.SH "SEE ALSO"
.BR XkbFreeIndicators (__libmansuffix__),
.BR XkbGetIndicatorChanges (__libmansuffix__),
.BR XkbNoteIndicatorChanges (__libmansuffix__),
.BR XkbSelectEvents (__libmansuffix__),
.BR XkbSelectEventDetail (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbSetControls.man 0000644 0001750 0001750 00000012667 14222353101 014472 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbSetControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbSetControls \- Copies changes to the X server based on a modified ctrls
structure in a local copy of the keyboard description
.SH SYNOPSIS
.HP
.B Bool XkbSetControls
.BI "(\^Display *" "display" "\^,"
.BI "unsigned long " "which" "\^,"
.BI "XkbDescPtr " "xkb" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- display
connection to X server
.TP
.I \- which
mask of controls requested
.TP
.I \- xkb
keyboard description for controls information
.SH DESCRIPTION
.LP
For each bit that is set in the
.I which
parameter,
.I XkbSetControls
sends the corresponding values from the
.I xkb->ctrls
field to the server. Valid values for
.I which
are any combination of the masks listed in Table 1 that have "ok" in the
.I which
column.
Table 1 shows the actual values for the individual mask bits used to select
controls for
modification and to enable and disable the control. Note that the same mask bit
is used to
specify general modifications to the parameters used to configure the control
(which), and to
enable and disable the control (enabled_ctrls). The anomalies in the table (no
"ok" in column)
are for controls that have no configurable attributes; and for controls that are
not boolean
controls and therefore cannot be enabled or disabled.
.TS
c s s s
l l l l
l l l l
l l l l.
Table 1 Controls Mask Bits
_
Mask Bit which or enabled Value
changed_ctrls _ctrls
_
XkbRepeatKeysMask ok ok (1L<<0)
XkbSlowKeysMask ok ok (1L<<1)
XkbBounceKeysMask ok ok (1L<<2)
XkbStickyKeysMask ok ok (1L<<3)
XkbMouseKeysMask ok ok (1L<<4)
XkbMouseKeysAccelMask ok ok (1L<<5)
XkbAccessXKeysMask ok ok (1L<<6)
XkbAccessXTimeoutMask ok ok (1L<<7)
XkbAccessXFeedbackMask ok ok (1L<<8)
XkbAudibleBellMask ok (1L<<9)
XkbOverlay1Mask ok (1L<<10)
XkbOverlay2Mask ok (1L<<11)
XkbIgnoreGroupLockMask ok (1L<<12)
XkbGroupsWrapMask ok (1L<<27)
XkbInternalModsMask ok (1L<<28)
XkbIgnoreLockModsMask ok (1L<<29)
XkbPerKeyRepeatMask ok (1L<<30)
XkbControlsEnabledMask ok (1L<<31)
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
XkbAccessXFeedbackMask)
XkbAllBooleanCtrlsMask ok (0x00001FFF)
XkbAllControlsMask ok (0xF8001FFF)
.TE
If
.I xkb->ctrls
is NULL, the server does not support a compatible version of Xkb, or the Xkb
extension has not been properly initialized,
.I XkbSetControls
returns False. Otherwise, it sends the request to the X server and returns True.
Note that changes to attributes of controls in the XkbControlsRec structure are
apparent only when the associated control is enabled, although the corresponding
values are still updated in the X server. For example, the
.I repeat_delay
and
.I repeat_interval
fields are ignored unless the RepeatKeys control is enabled (that is, the X
server's equivalent of
.I xkb->ctrls
has XkbRepeatKeyMask set in
.I enabled_ctrls).
It is permissible to modify the attributes of a control in one call to
.I XkbSetControls
and enable the control in a subsequent call. See
.I XkbChangeEnabledControls
for more information on enabling and disabling controls.
Note that the
.I enabled_ctrls
field is itself a control - the EnabledControls control. As such, to set a
specific configuration of enabled and disabled boolean controls, you must set
.I enabled_ctrls
to the appropriate bits to enable only the controls you want and disable all
others, then specify the XkbControlsEnabledMask in a call to
.I XkbSetControls.
Because this is somewhat awkward if all you want to do is enable and disable
controls, and not modify any of their attributes, a convenience function is also
provided for this purpose,
.I XkbChangeEnabledControls.
.SH "RETURN VALUES"
.TP 15
True
The
.I XkbSetControls
function returns True when it sends the request to the X server.
.TP 15
False
The
.I XkbSetControls
function returns False when
.I xkb->ctrls
is NULL, the server does not support a compatible version of Xkb, or the Xkb
extension has not been properly initialized.
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadMatch
A compatible version of Xkb was not available in the server or an argument has
correct type and range, but is otherwise invalid
.SH "SEE ALSO"
.BR XkbChangeEnabledControls (__libmansuffix__),
.BR XkbFreeControls (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbGetKeyTypes.man 0000644 0001750 0001750 00000005140 14222353101 014414 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbGetKeyTypes __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetKeyTypes \- Obtain the list of available key types in the server's
keyboard mapping
.SH SYNOPSIS
.HP
.B Status XkbGetKeyTypes
.BI "(\^Display *" "dpy" "\^,"
.BI "unsigned int " "first" "\^,"
.BI "unsigned int " "num" "\^,"
.BI "XkbDescPtr " "xkb" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- dpy
connection to X server
.TP
.I \- first
index to first type to get, 0 => 1st type
.TP
.I \- num
number of key types to be returned
.TP
.I \- xkb
keyboard description containing client map to update
.SH DESCRIPTION
.LP
.I XkbGetKeyTypes
queries the server for the desired types, waits for a reply, and returns the
desired types in the
.I xkb->map->types.
If successful, it returns Success.
.I XkbGetKeyTypes
returns BadAccess if the Xkb extension has not been properly initialized and
BadValue if the combination of
.I first
and
.I num
results in numbers out of valid range.
.B NOTE:
.I XkbGetKeyTypes
is used to obtain descriptions of the key types themselves, not the key types
bound to individual keys. To obtain the key types bound to an individual key,
refer to the
.I key_sym_map
field of the client map.
.SH DIAGNOSTICS
.TP 15
.B BadAccess
The Xkb extension has not been properly initialized
.TP 15
.B BadValue
An argument is out of range
.SH "SEE ALSO"
.BR XkbKeyType (__libmansuffix__),
.BR XkbKeyTypeIndex (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbFreeKeyboard.man 0000644 0001750 0001750 00000004430 14222353101 014542 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbFreeKeyboard __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbFreeKeyboard \- Destroys either an entire XkbDescRec or just some of its
members
.SH SYNOPSIS
.HP
.B void XkbFreeKeyboard
.BI "(\^XkbDescPtr " "xkb" "\^,"
.BI "unsigned int " "which" "\^,"
.BI "Bool " "free_all" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I xkb
keyboard description with components to free
.TP
.I which
mask selecting components to free
.TP
.I free_all
True => free all components and
.I xkb
.SH DESCRIPTION
.LP
.I XkbFreeKeyboard
frees the components of
.I xkb
specified by
.I which
and sets the corresponding values to NULL. If
.I
free_all
is True,
.I XkbFreeKeyboard
frees every non-NULL component of
.I xkb
and then frees the
.I xkb
structure itself.
If kbd is NULL, no operation is performed.
.SH "SEE ALSO"
.BR XkbFreeClientMap (__libmansuffix__),
.BR XkbFreeServerMap (__libmansuffix__),
.BR XkbFreeCompatMap (__libmansuffix__),
.BR XkbFreeIndicatorMaps (__libmansuffix__),
.BR XkbFreeNames (__libmansuffix__),
.BR XkbFreeGeometry (__libmansuffix__),
.BR XkbFreeControls (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbSetMap.man 0000644 0001750 0001750 00000025311 14222353101 013372 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbSetMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbSetMap \- Send a complete new set of values for entire components to the
server.
.SH SYNOPSIS
.HP
.B Bool XkbSetMap
.BI "(\^Display *" "dpy" "\^,"
.BI "unsigned int " "which" "\^,"
.BI "XkbDescPtr " "xkb" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I dpy
connection to X server
.TP
.I which
mask selecting subcomponents to update
.TP
.I xkb
description from which new values are taken
.SH DESCRIPTION
.LP
There are two ways to make changes to map components: either change a local copy
of the keyboard map and call
.I XkbSetMap
to send the modified map to the server, or, to reduce network traffic, use an
XkbMapChangesRec structure and call
.I XkbChangeMap.
Use
.I XkbSetMap
to send a complete new set of values for entire components (for example, all
symbols, all actions, and so on) to the server. The
.I which
parameter specifies the components to be sent to the server, and is a bitwise
inclusive OR of the masks listed in Table 1. The
.I xkb
parameter is a pointer to an XkbDescRec structure and contains the information
to be copied to the server. For each bit set in the
.I which
parameter,
.I XkbSetMap
takes the corresponding structure values from the
.I xkb
parameter and sends it to the server specified by
.IR dpy .
If any components specified by
.I which
are not present in the
.I xkb
parameter,
.I XkbSetMap
returns False. Otherwise, it sends the update request to the server and returns
True.
.I XkbSetMap
can generate BadAlloc, BadLength, and BadValue protocol errors.
Key types, symbol maps, and actions are all interrelated; changes in one require
changes in the others. Xkb provides functions to make it easier to edit these
components and handle the interdependencies. Table 1
lists these helper functions and provides a pointer to where they are defined.
.TS
c s s s s
c s s s s
l l l l l
l l l l l
lw(2i) l l lw(1i) lw(3i).
Table 1 Xkb Mapping Component Masks
and Convenience Functions
_
Mask Value Map Fields Convenience
Functions
_
T{
XkbKeyTypesMask
T} (1<<0) client T{
types
.br
size_types
.br
num_types
T} T{
XkbGetKeyTypes
.br
XkbResizeKeyType
.br
XkbCopyKeyType
.br
XkbCopyKeyTypes
T}
T{
XkbKeySymsMask
T} (1<<1) client T{
syms
.br
size_syms
.br
num_syms
.br
key_sym_map
T} T{
XkbGetKeySyms
.br
XkbResizeKeySyms
.br
XkbChangeTypesOfKey
T}
T{
XkbModifierMapMask
T} (1<<2) client modmap T{
XkbGetKeyModifierMap
T}
T{
XkbExplicitComponentsMask
T} (1<<3) server T{
explicit
T} T{
XkbGetKeyExplicitComponents
T}
T{
XkbKeyActionsMask
T} (1<<4) server T{
key_acts
.br
acts
.br
num_acts
.br
size_acts
T} T{
XkbGetKeyActions
.br
XkbResizeKeyActions
T}
T{
XkbKeyBehaviorsMask
T} (1<<5) server T{
behaviors
T} T{
XkbGetKeyBehaviors
T}
T{
XkbVirtualModsMask
T} (1<<6) server T{
vmods
T} T{
XkbGetVirtualMods
T}
T{
XkbVirtualModMapMask
T} (1<<7) server T{
vmodmap
T} T{
XkbGetVirtualModMap
T}
.TE
The
.I changed
field identifies the map components that have changed in an XkbDescRec structure
and may contain any of the
bits in Table 1, which are also shown in Table 2. Every 1 bit in
.I changed
also identifies which other fields in the XkbMapChangesRec structure contain
valid values, as indicated in
Table 2. The
.I min_key_code
and
.I max_key_code
fields are for reference only; they are ignored on any requests sent to the
server and are always updated
by the server whenever it returns the data for an XkbMapChangesRec.
.bp
.TS
c s s
l l l
l l l
l l l
l lw(2i) lw(3i).
Table 2 XkbMapChangesRec Masks
_
Valid
Mask XkbMapChangesRec XkbDescRec Field Containing
Fields Changed Data
_
XkbKeyTypesMask first_type, map->type[first_type] ..
num_types map->type[first_type + num_types - 1]
.sp
XkbKeySymsMask first_key_sym, map->key_sym_map[first_key_sym] ..
num_key_syms map->key_sym_map[first_key_sym +
num_key_syms - 1]
.sp
XkbModifierMapMask first_modmap_key, map->modmap[first_modmap_key] ..
num_modmap_keys map->modmap[first_modmap_key +
num_modmap_keys - 1]
.sp
XkbExplicitComponentsMask first_key_explicit, server->explicit[first_key_explicit] ..
num_key_explicit server->explicit[first_key_explicit +
num_key_explicit - 1]
.sp
XkbKeyActionsMask first_key_act, server->key_acts[first_key_act] ..
num_key_acts server->key_acts[first_key_act +
num_key_acts - 1]
.sp
XkbKeyBehaviorsMask first_key_behavior, server->behaviors[first_key_behavior] ..
num_key_behaviors server->behaviors[first_key_behavior +
num_key_behaviors - 1]
.sp
XkbVirtualModsMask vmods server->vmods[*]
.sp
XkbVirtualModMapMask first_vmodmap_key, server->vmodmap[first_vmodmap_key] ..
num_vmodmap_keys server->vmodmap[first_vmodmap_key +
num_vmodmap_keys - 1]
.TE
.SH "RETURN VALUES"
.TP 15
True
The
.I XkbSetMap
function returns True all components specified by
.I which
are present in the
.I xkb
parameter.
.TP 15
False
The
.I XkbSetMap
function returns False if any component specified by
.I which
is not present in the
.I xkb
parameter.
.SH STRUCTURES
Use the XkbMapChangesRec structure to identify and track partial modifications
to the mapping components
and to reduce the amount of traffic between the server and clients.
.nf
typedef struct _XkbMapChanges {
unsigned short changed; /\&* identifies valid components in structure */
KeyCode min_key_code; /\&* lowest numbered keycode for device */
KeyCode max_key_code; /\&* highest numbered keycode for device */
unsigned char first_type; /\&* index of first key type modified */
unsigned char num_types; /\&* # types modified */
KeyCode first_key_sym; /\&* first key whose key_sym_map changed */
unsigned char num_key_syms; /\&* # key_sym_map entries changed */
KeyCode first_key_act; /\&* first key whose key_acts entry changed */
unsigned char num_key_acts; /\&* # key_acts entries changed */
KeyCode first_key_behavior; /\&* first key whose behaviors changed */
unsigned char num_key_behaviors; /\&* # behaviors entries changed */
KeyCode first_key_explicit; /\&* first key whose explicit entry changed */
unsigned char num_key_explicit; /\&* # explicit entries changed */
KeyCode first_modmap_key; /\&* first key whose modmap entry changed */
unsigned char num_modmap_keys; /\&* # modmap entries changed */
KeyCode first_vmodmap_key; /\&* first key whose vmodmap changed */
unsigned char num_vmodmap_keys; /\&* # vmodmap entries changed */
unsigned char pad1; /\&* reserved */
unsigned short vmods; /\&* mask indicating which vmods changed */
} XkbMapChangesRec,*XkbMapChangesPtr;
.fi
The complete description of an Xkb keyboard is given by an XkbDescRec. The
component
structures in the XkbDescRec represent the major Xkb components.
.nf
typedef struct {
struct _XDisplay * display; /\&* connection to X server */
unsigned short flags; /\&* private to Xkb, do not modify */
unsigned short device_spec; /\&* device of interest */
KeyCode min_key_code; /\&* minimum keycode for device */
KeyCode max_key_code; /\&* maximum keycode for device */
XkbControlsPtr ctrls; /\&* controls */
XkbServerMapPtr server; /\&* server keymap */
XkbClientMapPtr map; /\&* client keymap */
XkbIndicatorPtr indicators; /\&* indicator map */
XkbNamesPtr names; /\&* names for all components */
XkbCompatMapPtr compat; /\&* compatibility map */
XkbGeometryPtr geom; /\&* physical geometry of keyboard */
} XkbDescRec, *XkbDescPtr;
.fi
The
.I display
field points to an X display structure. The
.I flags field is private to the library: modifying
.I flags
may yield unpredictable results. The
.I device_spec
field specifies the device identifier of the keyboard input device, or
XkbUseCoreKeyboard, which specifies the core keyboard device. The
.I min_key_code
and
.I max_key_code
fields specify the least and greatest keycode that can be returned by the
keyboard.
Each structure component has a corresponding mask bit that is used in function
calls to indicate that the structure should be manipulated in some manner, such as
allocating it or freeing it. These masks and their relationships to the fields in the
XkbDescRec are shown in Table 3.
.bp
.TS
c s s
l l l
l l l.
Table 3 Mask Bits for XkbDescRec
_
Mask Bit XkbDescRec Field Value
_
XkbControlsMask ctrls (1L<<0)
XkbServerMapMask server (1L<<1)
XkbIClientMapMask map (1L<<2)
XkbIndicatorMapMask indicators (1L<<3)
XkbNamesMask names (1L<<4)
XkbCompatMapMask compat (1L<<5)
XkbGeometryMask geom (1L<<6)
XkbAllComponentsMask All Fields (0x7f)
.TE
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadLength
The length of a request is shorter or longer than that required to minimally
contain the arguments
.TP 15
.B BadValue
An argument is out of range
.SH "SEE ALSO"
.BR XkbChangeMap (__libmansuffix__),
.BR XkbChangeTypesOfKey (__libmansuffix__),
.BR XkbCopyKeyType (__libmansuffix__),
.BR XkbCopyKeyTypes (__libmansuffix__),
.BR XkbGetKeyActions (__libmansuffix__),
.BR XkbGetKeyBehaviors (__libmansuffix__),
.BR XkbGetKeyExplicitComponents (__libmansuffix__),
.BR XkbGetKeyModifierMap (__libmansuffix__),
.BR XkbGetKeySyms (__libmansuffix__),
.BR XkbGetKeyTypes (__libmansuffix__),
.BR XkbResizeKeyActions (__libmansuffix__),
.BR XkbResizeKeySyms (__libmansuffix__),
.BR XkbResizeKeyType (__libmansuffix__),
.BR XkbGetVirtualModMap (__libmansuffix__),
.BR XkbGetVirtualMods (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbFreeGeomPoints.man 0000644 0001750 0001750 00000005445 14222353101 015075 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbFreeGeomPoints __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbFreeGeomPoints \- Free points in a outline
.SH SYNOPSIS
.HP
.B void XkbFreeGeomPoints
.BI "(\^XkbOutlinePtr " "outline" "\^,"
.BI "int " "first" "\^,"
.BI "int " "count" "\^,"
.BI "Bool " "free_all" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- outline
outline in which points should be freed
.TP
.I \- first
first point to be freed
.TP
.I \- count
number of points to be freed
.TP
.I \- free_all
True => all points are freed
.SH DESCRIPTION
.LP
Xkb provides a number of functions to allocate and free subcomponents of a
keyboard geometry. Use these functions to create or modify keyboard geometries.
Note that these functions merely allocate space for the new element(s), and it
is up to you to fill in the values explicitly in your code. These allocation
functions increase
.I sz_*
but never touch
.I num_*
(unless there is an allocation failure, in which case they reset both
.I sz_*
and
.I num_*
to zero). These functions return Success if they succeed, BadAlloc if they are
not able to allocate space, or BadValue if a parameter is not as expected.
If
.I free_all
is True, all points are freed regardless of the value of
>i first
and
.I count.
Otherwise, the number of points specified by
.I count
are freed, beginning with the point specified by
.I first
in the specified outline.
.SH "RETURN VALUES"
.TP 15
Success
The XkbFreeGeomPoints function returns Success when there are no allocation or
argument errors.
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadValue
An argument is out of range
libX11-1.7.5/man/xkb/XkbAllocGeomColors.man 0000644 0001750 0001750 00000005155 14222353101 015231 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbAllocGeomColors __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbAllocGeomColors \- Allocate geometry colors
.SH SYNOPSIS
.HP
.B Status XkbAllocGeomColors
.BI "(\^XkbGeometryPtr " "geom" "\^,"
.BI "int " "num_needed" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- geom
geometry for which colors should be allocated
.TP
.I \- num_needed
number of new colors required
.SH DESCRIPTION
.LP
Xkb provides a number of functions to allocate and free subcomponents of a
keyboard geometry. Use these functions to create or modify keyboard geometries.
Note that these functions merely allocate space for the new element(s), and it
is up to you to fill in the values explicitly in your code. These allocation
functions increase
.I sz_*
but never touch
.I num_*
(unless there is an allocation failure, in which case they reset both
.I sz_*
and
.I num_*
to zero). These functions return Success if they succeed, BadAlloc if they are
not able to allocate space, or BadValue if a parameter is not as expected.
.I XkbAllocGeomColors
allocates space for
.I num_needed
colors and adds them to the specified geometry
.I geom.
A color name is a string whose interpretation is not specified by Xkb. All other
geometry data structures refer to colors using their indices in this global list
or pointers to colors in this list.
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadValue
An argument is out of range
libX11-1.7.5/man/xkb/XkbSelectEventDetails.man 0000644 0001750 0001750 00000012616 14222353101 015734 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbSelectEventDetails __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbSelectEventDetails \- Selects or deselects for a specific Xkb event and
optionally places conditions on when events of that type are reported to your
client
.SH SYNOPSIS
.HP
.B Bool XkbSelectEventDetails
.BI "(\^Display *" "display" "\^,"
.BI "unsigned int " "device_spec" "\^,"
.BI "unsigned int " "event_type" "\^,"
.BI "unsigned long int " "bits_to_change" "\^,"
.BI "unsigned long int " "values_for_bits" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I display
connection to the X server
.TP
.I device_spec
device ID, or XkbUseCoreKbd
.TP
.I event_type
Xkb event type of interest
.TP
.I bits_to_change
determines events to be selected / deselected
.TP
.I values_for_bits
1=>select, 0->deselect; for events in bits_to_change
.SH DESCRIPTION
.LP
Xkb events are selected using an event mask, much the same as normal core X
events are selected. However, unlike selecting core X events, where you must
specify the selection status (on or off) for all possible event types whenever
you wish to change the selection criteria for any one event, Xkb allows you to
restrict the specification to only the event types you wish to change. This
means that you do not need to remember the event selection values for all
possible types each time you want to change one of them.
Many Xkb event types are generated under several different circumstances. When
selecting to receive an Xkb event, you may specify either that you want it
delivered under all circumstances, or that you want it delivered only for a
subset of the possible circumstances.
You can also deselect an event type that was previously selected for, using the
same granularity.
Xkb provides two functions to select and deselect delivery of Xkb events.
.I XkbSelectEvents
allows you to select or deselect delivery of more than one Xkb event type at
once. Events selected using
.I XkbSelectEvents
are delivered to your program under all circumstances that generate the events.
To restrict delivery of an event to a subset of the conditions under which it
occurs, use
.I XkbSelectEventDetails. XkbSelectEventDetails
only allows you to change the selection conditions for a single event at a time,
but it provides a means of fine-tuning the conditions under which the event is
delivered.
To select or deselect for a specific Xkb event and optionally place conditions
on when events of that type are reported to your client, use
.I XkbSelectEventDetails.
This allows you to exercise a finer granularity of
control over delivery of Xkb events with
.I XkbSelectEvents.
While
.I XkbSelectEvents
allows multiple events to be selected,
.I XkbSelectEventDetails
changes the selection criteria for a single type of Xkb
event. The interpretation of the
.I bits_to_change
and
.I values_for_bits
masks depends on the event type in question.
.I XkbSelectEventDetails
changes the Xkb event selection mask for the keyboard
specified by
.I device_spec
and the Xkb event specified by
.I event_type.
To turn on event selection for an event detail, set the bit for the
detail in the
.I bits_to_change
parameter and set the corresponding bit in the
.I values_for_bits
parameter. To turn off event detail selection for a detail, set
the bit for the detail in the
.I bits_to_change
parameter and do not set the corresponding bit in the
.I values_for_bits
parameter.
If an invalid event type is specified, a BadValue protocol error results. If a
bit is not set in the
.I bits_to_change
parameter, but the corresponding bit is set in the
.I values_for_bits
parameter, a BadMatch protocol error results. If an undefined
bit is set in either the
.I bits_to_change
or the
.I values_for_bits
parameter, a BadValue protocol error results.
For each type of Xkb event, the legal event details that you can specify in the
.I XkbSelectEventDetails
request are listed in the chapters that describe each event in detail.
.SH DIAGNOSTICS
.TP 15
.SM BadMatch
A compatible version of Xkb was not available in the server or an argument has
correct type and range, but is otherwise invalid
.TP 15
.SM BadValue
An argument is out of range
.SH "SEE ALSO"
.BR XkbSelectEvents (__libmansuffix__),
.BR XkbUseCoreKbd (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbFreeGeomKeyAliases.man 0000644 0001750 0001750 00000005501 14222353101 015644 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbFreeGeomKeyAliases __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbFreeGeomKeyAliases \- Free geometry key aliases
.SH SYNOPSIS
.HP
.B void XkbFreeGeomKeyAliases
.BI "(\^XkbGeometryPtr " "geom" "\^,"
.BI "int " "first" "\^,"
.BI "int " "count" "\^,"
.BI "Bool " "free_all" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- geom
geometry in which key aliases should be freed
.TP
.I \- first
first key alias to be freed
.TP
.I \- count
number of key aliases to be freed
.TP
.I \- free_all
True => all key aliases are freed
.SH DESCRIPTION
.LP
Xkb provides a number of functions to allocate and free subcomponents of a
keyboard geometry. Use these functions to create or modify keyboard geometries.
Note that these functions merely allocate space for the new element(s), and it
is up to you to fill in the values explicitly in your code. These allocation
functions increase
.I sz_*
but never touch
.I num_*
(unless there is an allocation failure, in which case they reset both
.I sz_*
and
.I num_*
to zero). These functions return Success if they succeed, BadAlloc if they are
not able to allocate space, or BadValue if a parameter is not as expected.
If
.I free_all
is True, all aliases in the top level of the specified geometry
.I geom
are freed regardless of the value of
.I first
or
.I count.
Otherwise,
.I count
aliases in
.I geom
are freed beginning with the one specified by
.I first.
.SH "RETURN VALUES"
.TP 15
Success
The XkbFreeGeomKeyAliases function returns Success if there are no allocation
errors.
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadValue
An argument is out of range
libX11-1.7.5/man/xkb/XkbChangeTypesOfKey.man 0000644 0001750 0001750 00000014223 14222353101 015351 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbChangeTypesOfKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbChangeTypesOfKey \- Change the number of groups and the types bound to a key
.SH SYNOPSIS
.HP
.B Status XkbChangeTypesOfKey
.BI "(\^XkbDescPtr " "xkb" "\^,"
.BI "int " "key" "\^,"
.BI "int " "n_groups" "\^,"
.BI "unsigned int " "groups" "\^,"
.BI "int *" "new_types_in" "\^,"
.BI "XkbMapChangesPtr " "p_changes" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- xkb
keyboard description to be changed
.TP
.I \- key
keycode for key of interest
.TP
.I \- n_groups
new number of groups for key
.TP
.I \- groups
mask indicating groups to change
.TP
.I \- new_types_in
indices for new groups specified in groups
.TP
.I \- p_changes
notes changes made to xkb
.SH DESCRIPTION
.LP
.I XkbChangeTypesOfKey
reallocates the symbols and actions bound to the key, if necessary, and
initializes any new symbols
or actions to NoSymbol or NoAction, as appropriate. If the p_changes parameter
is not NULL,
.I XkbChangeTypesOfKey
adds the XkbKeySymsMask to the changes field of
.I p_changes
and modifies the
.I first_key_sym
and
.I num_key_syms
fields of
.I p_changes
to include the
.I key
that was changed. See STRUCTURE for more information on the XkbMapChangesPtr
structure. If
successful,
.I XkbChangeTypesOfKey
returns Success.
The
.I n_groups
parameter specifies the new number of groups for the key. The
.I groups
parameter is a mask specifying the groups for which new types are supplied and
is a bitwise
inclusive OR of the following masks: XkbGroup1Mask, XkbGroup2Mask,
XkbGroup3Mask, and XkbGroup4Mask.
The
.I new_types_in
parameter is an integer array of length
.I n_groups.
Each entry represents the type to use for the associated group and is an index
into
.I xkb->map->types.
The
.I new_types_in
array is indexed by group index; if
.I n_groups
is four and
.I groups
only has Group1Mask and Group3Mask set,
.I new_types_in
looks like this:
.nf
new_types_in[0] = type for Group1
new_types_in[1] = ignored
new_types_in[2] = type for Group3
new_types_in[3] = ignored
.fi
For convenience, Xkb provides the following constants to use as indices to the
groups:
.TS
c s
l l
l l.
Table 1 Group Index Constants
_
Constant Name Value
_
XkbGroup1Index 0
XkbGroup2Index 1
XkbGroup3Index 2
XkbGroup4Index 3
.TE
If the Xkb extension has not been properly initialized,
.I XkbChangeTypesOfKey
returns BadAccess. If the
.I xkb
parameter it not valid (that is, it is NULL or it does not contain a valid
client map),
.I XkbChangeTypesOfKey
returns BadMatch. If the
.I key
is not a valid keycode,
.I n_groups
is greater than XkbNumKbdGroups, or the
.I groups
mask does not contain any of the valid group mask bits,
.I XkbChangeTypesOfKey
returns BadValue. If it is necessary to resize the key symbols or key actions
arrays and any
allocation errors occur,
.I XkbChangeTypesOfKey
returns BadAlloc.
.SH STRUCTURES
.LP
Use the XkbMapChangesRec structure to identify and track partial modifications
to the mapping
components and to reduce the amount of traffic between the server and clients.
.nf
typedef struct _XkbMapChanges {
unsigned short changed; /\&* identifies valid components in structure */
KeyCode min_key_code; /\&* lowest numbered keycode for device */
KeyCode max_key_code; /\&* highest numbered keycode for device */
unsigned char first_type; /\&* index of first key type modified */
unsigned char num_types; /\&* # types modified */
KeyCode first_key_sym; /\&* first key whose key_sym_map changed */
unsigned char num_key_syms; /\&* # key_sym_map entries changed */
KeyCode first_key_act; /\&* first key whose key_acts entry changed */
unsigned char num_key_acts; /\&* # key_acts entries changed */
KeyCode first_key_behavior; /\&* first key whose behaviors changed */
unsigned char num_key_behaviors; /\&* # behaviors entries changed */
KeyCode first_key_explicit; /\&* first key whose explicit entry changed */
unsigned char num_key_explicit; /\&* # explicit entries changed */
KeyCode first_modmap_key; /\&* first key whose modmap entry changed */
unsigned char num_modmap_keys; /\&* # modmap entries changed */
KeyCode first_vmodmap_key; /\&* first key whose vmodmap changed */
unsigned char num_vmodmap_keys; /\&* # vmodmap entries changed */
unsigned char pad1; /\&* reserved */
unsigned short vmods; /\&* mask indicating which vmods changed */
} XkbMapChangesRec,*XkbMapChangesPtr;
.fi
.SH DIAGNOSTICS
.TP 15
.B BadAccess
The Xkb extension has not been properly initialized
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadMatch
A compatible version of Xkb was not available in the server or an argument has
correct type and
range, but is otherwise invalid
.TP 15
.B BadValue
An argument is out of range
libX11-1.7.5/man/xkb/XkbKeyNumSyms.man 0000644 0001750 0001750 00000004535 14222353101 014272 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbKeyNumSyms __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbKeyNumSyms \- Returns the total number of keysyms for the key corresponding
to
.I keycode
.SH SYNOPSIS
.HP
.B int XkbKeyNumSyms
.BI "(\^XkbDescPtr " "xkb" "\^,"
.BI "KeyCode " "keycode" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- xkb
Xkb description of interest
.TP
.I \- keycode
keycode of interest
.SH DESCRIPTION
.LP
The key width and number of groups associated with a key are used to form a
small two-dimensional array of KeySyms for a key. This array may be different
sizes for different keys. The array for a single key is stored as a linear list,
in row-major order. The arrays for all of the keys are stored in the
.I syms
field of the client map. There is one row for each group associated with a key
and one column for each level. The index corresponding to a given group and
shift level is computed as:
.nf
idx = group_index * key_width + shift_level
.fi
The
.I offset
field of the
.I key_sym_map
entry for a key is used to access the beginning of the array.
.I XkbKeyNumSyms
returns the total number of keysyms for the key corresponding to
.I keycode.
libX11-1.7.5/man/xkb/XkbGetIndicatorMap.man 0000644 0001750 0001750 00000006120 14222353101 015210 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbGetIndicatorMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetIndicatorMap \- Gets the map for one or more indicators, using a mask to
specify the indicators
.SH SYNOPSIS
.HP
.B Status XkbGetIndicatorMap
.BI "(\^Display *" "dpy" "\^,"
.BI "unsigned int " "which" "\^,"
.BI "XkbDescPtr " "desc" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- dpy
connection to the X server
.TP
.I \- which
mask of indicators for which maps should be returned
.TP
.I \- desc
keyboard description to be updated
.SH DESCRIPTION
.LP
Xkb allows applications to obtain information about indicators using two
different methods. The first method, which is similar to the core X
implementation, uses a mask to specify the indicators. The second method, which
is more suitable for applications concerned with interoperability, uses
indicator names. The correspondence between the indicator name and the bit
position in masks is as follows: one of the parameters returned from
.I XkbGetNamedIndicators
is an index that is the bit position to use in any function call that requires a
mask of indicator bits, as well as the indicator's index into the
XkbIndicatorRec array of indicator maps.
.I XkbGetIndicatorMap
obtains the maps from the server for only those indicators specified by the
.I which
mask and copies the values into the keyboard description specified by
.I desc.
If the
.I indicators
field of the
.I desc
parameter is NULL,
.I XkbGetIndicatorMap
allocates and initializes it.
To free the indicator maps, use
.I XkbFreeIndicatorMaps.
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadMatch
A compatible version of Xkb was not available in the server or an argument has
correct type and range, but is otherwise invalid
.TP 15
.B BadImplementation
Invalid reply from server
.SH "SEE ALSO"
.BR XkbFreeIndicatorMaps (__libmansuffix__),
.BR XkbGetNamedIndicators (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbFreeCompatMap.man 0000644 0001750 0001750 00000012614 14222353101 014666 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbFreeCompatMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbFreeCompatMap \- Free an entire compatibility map or selected portions of one
.SH SYNOPSIS
.HP
.B void XkbFreeCompatMap
.BI "(\^XkbDescPtr " "xkb" "\^,"
.BI "unsigned int " "which" "\^,"
.BI "Bool " "free_map" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- xkb
Xkb description in which to free compatibility map
.TP
.I \- which
mask of compatibility map components to free
.TP
.I \- free_map
True => free XkbCompatMap structure itself
.SH DESCRIPTION
.LP
.I which
specifies the compatibility map components to be freed (see XkbGetCompatMap).
.I which
is an inclusive OR of the bits shown in Table 1.
.TS
c s s
l l l.
Table 1 Compatibility Map Component Masks
_
Mask Value Affecting
_
XkbSymInterpMask (1<<0) Symbol interpretations
XkbGroupCompatMask (1<<1) Group maps
XkbAllCompatMask (0x3) All compatibility map components
.TE
.I free_map
indicates whether the XkbCompatMap structure itself should be freed. If
.I free_map
is True,
.I which
is ignored, all non-NULL compatibility map components are freed, and the
.I compat
field in the XkbDescRec referenced by
.I xkb
is set to NULL.
.SH STRUCTURES
.LP
.nf
typedef struct _XkbCompatMapRec {
XkbSymInterpretPtr sym_interpret; /\&* symbol based key semantics*/
XkbModsRec groups[XkbNumKbdGroups]; /\&* group => modifier map */
unsigned short num_si; /\&* # structures used in sym_interpret */
unsigned short size_si; /\&* # structures allocated in sym_interpret */
} XkbCompatMapRec, *XkbCompatMapPtr;
.fi
The complete description of an Xkb keyboard is given by an XkbDescRec. The component
structures in the XkbDescRec represent the major Xkb components outlined in Figure 1.1.
.nf
typedef struct {
struct _XDisplay * display; /\&* connection to X server */
unsigned short flags; /\&* private to Xkb, do not modify */
unsigned short device_spec; /\&* device of interest */
KeyCode min_key_code; /\&* minimum keycode for device */
KeyCode max_key_code; /\&* maximum keycode for device */
XkbControlsPtr ctrls; /\&* controls */
XkbServerMapPtr server; /\&* server keymap */
XkbClientMapPtr map; /\&* client keymap */
XkbIndicatorPtr indicators; /\&* indicator map */
XkbNamesPtr names; /\&* names for all components */
XkbCompatMapPtr compat; /\&* compatibility map */
XkbGeometryPtr geom; /\&* physical geometry of keyboard */
} XkbDescRec, *XkbDescPtr;
.fi
The
.I display
field points to an X display structure. The
.I flags field is private to the library: modifying
.I flags
may yield unpredictable results. The
.I device_spec
field specifies the device identifier of the keyboard input device, or
XkbUseCoreKeyboard, which specifies the core keyboard device. The
.I min_key_code
and
.I max_key_code
fields specify the least and greatest keycode that can be returned by the keyboard.
The other fields specify structure components of the keyboard description and are
described in detail in other sections of this document. Table 2 identifies the
subsequent sections of this document that discuss the individual components of the
XkbDescRec.
.TS
c s
l l
l l.
Table 2 XkbDescRec Component References
_
XkbDescRec Field For more info
_
ctrls Chapter 10
server Chapter 16
map Chapter 15
indicators Chapter 8
names Chapter 18
compat Chapter 17
geom Chapter 13
.TE
Each structure component has a corresponding mask bit that is used in function calls to
indicate that the structure should be manipulated in some manner, such as allocating it
or freeing it. These masks and their relationships to the fields in the XkbDescRec are
shown in Table 3.
.TS
c s s
l l l
l l l.
Table 3 Mask Bits for XkbDescRec
_
Mask Bit XkbDescRec Field Value
_
XkbControlsMask ctrls (1L<<0)
XkbServerMapMask server (1L<<1)
XkbIClientMapMask map (1L<<2)
XkbIndicatorMapMask indicators (1L<<3)
XkbNamesMask names (1L<<4)
XkbCompatMapMask compat (1L<<5)
XkbGeometryMask geom (1L<<6)
XkbAllComponentsMask All Fields (0x7f)
.TE
.SH "SEE ALSO"
.BR XkbGetCompatMap (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbKeySymsOffset.man 0000644 0001750 0001750 00000004630 14222353101 014755 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbKeySymsOffset __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbKeySymsOffset \- Returns the offset of the two-dimensional array of keysyms
for the key corresponding to
.I keycode
.SH SYNOPSIS
.HP
.B int XkbKeySymsOffset
.BI "(\^XkbDescPtr " "xkb" "\^,"
.BI "KeyCode " "keycode" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- xkb
Xkb description of interest
.TP
.I \- keycode
keycode of interest
.SH DESCRIPTION
.LP
The key width and number of groups associated with a key are used to form a
small two-dimensional array of KeySyms for a key. This array may be different
sizes for different keys. The array for a single key is stored as a linear list,
in row-major order. The arrays for all of the keys are stored in the
.I syms
field of the client map. There is one row for each group associated with a key
and one column for each level. The index corresponding to a given group and
shift level is computed as:
.nf
idx = group_index * key_width + shift_level
.fi
The
.I offset
field of the
.I key_sym_map
entry for a key is used to access the beginning of the array.
.I XkbKeySymsOffset
returns the offset of the two-dimensional array of keysyms for the key
corresponding to
.I keycode.
libX11-1.7.5/man/xkb/XkbAllocControls.man 0000644 0001750 0001750 00000010576 14222353101 014766 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbAllocControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbAllocControls \- Allocates an XkbControlsRec structure in the XkbDescRec
.SH SYNOPSIS
.HP
.B Status XkbAllocControls
.BI "(\^XkbDescPtr " "xkb" "\^,"
.BI "unsigned int " "which" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- xkb
Xkb description in which to allocate ctrls rec
.TP
.I \- which
mask of components of ctrls to allocate
.SH DESCRIPTION
.LP
The need to allocate an XkbControlsRec structure seldom arises; Xkb creates one
when an application calls
.I XkbGetControls
or a related function. For those situations where there is not an XkbControlsRec
structure allocated in the XkbDescRec, allocate one by calling
.I XkbAllocControls.
.I XkbAllocControls
allocates the
.I ctrls
field of the
.I xkb
parameter, initializes all fields to zero, and returns Success. If the
.I ctrls
field is not NULL,
.I XkbAllocControls
simply returns Success. If
.I xkb
is NULL,
.I XkbAllocControls
reports a BadMatch error. If the
.I ctrls
field could not be allocated, it reports a BadAlloc error.
The
.I which
mask specifies the individual fields of the
.I ctrls
structure to be allocated and can contain any of the valid masks defined in
Table 1.
(SHOULD THIS COMMENT BE LEFT IN????)
Because none of the currently existing controls have any structures associated
with them, which is currently of little practical value in this call.
Table 1 shows the actual values for the individual mask bits used to select
controls for
modification and to enable and disable the control. Note that the same mask bit
is used to
specify general modifications to the parameters used to configure the control
(which), and to
enable and disable the control (enabled_ctrls). The anomalies in the table (no
"ok" in column)
are for controls that have no configurable attributes; and for controls that are
not boolean
controls and therefore cannot be enabled or disabled.
.TS
c s s s
l l l l
l l l l
l l l l.
Table 1 Controls Mask Bits
_
Mask Bit which or enabled Value
changed_ctrls _ctrls
_
XkbRepeatKeysMask ok ok (1L<<0)
XkbSlowKeysMask ok ok (1L<<1)
XkbBounceKeysMask ok ok (1L<<2)
XkbStickyKeysMask ok ok (1L<<3)
XkbMouseKeysMask ok ok (1L<<4)
XkbMouseKeysAccelMask ok ok (1L<<5)
XkbAccessXKeysMask ok ok (1L<<6)
XkbAccessXTimeoutMask ok ok (1L<<7)
XkbAccessXFeedbackMask ok ok (1L<<8)
XkbAudibleBellMask ok (1L<<9)
XkbOverlay1Mask ok (1L<<10)
XkbOverlay2Mask ok (1L<<11)
XkbIgnoreGroupLockMask ok (1L<<12)
XkbGroupsWrapMask ok (1L<<27)
XkbInternalModsMask ok (1L<<28)
XkbIgnoreLockModsMask ok (1L<<29)
XkbPerKeyRepeatMask ok (1L<<30)
XkbControlsEnabledMask ok (1L<<31)
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
XkbAccessXFeedbackMask)
XkbAllBooleanCtrlsMask ok (0x00001FFF)
XkbAllControlsMask ok (0xF8001FFF)
.TE
.nh
.SH "RETURN VALUES"
.TP 15
SUCCESS
allocates the ctrls field of the xkb parameter, initializes all fields to zero
.sp
.in 20
the ctrls field is not NULL
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadMatch
A compatible version of Xkb was not available in the server or an argument has
correct type and range, but is otherwise invalid
.SH "SEE ALSO"
.BR XkbGetControls (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbFindOverlayForKey.man 0000644 0001750 0001750 00000003760 14222353101 015547 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbFindOverlayForKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbFindOverlayForKey \- Find the alternate name by using the primary name for a
key that is part of an overlay
.SH SYNOPSIS
.HP
.B char * XkbFindOverlayForKey
.BI "(\^XkbGeometryPtr " "geom" "\^,"
.BI "XkbSectionPtr " "section" "\^,"
.BI "char *" "under" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- geom
geometry that contains the section
.TP
.I \- section
section to be searched for matching keys
.TP
.I \- under
primary name of the key to be considered
.SH DESCRIPTION
.LP
Keys that can generate multiple keycodes may be associated with multiple names.
Such keys have a primary name and an alternate name.
.I XkbFindOverlayForKey
uses the primary name of the key,
.I under,
to look up the alternate name, which it returns.
libX11-1.7.5/man/xkb/XkbAddGeomOverlayKey.man 0000644 0001750 0001750 00000005606 14222353101 015521 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbAddGeomOverlayKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbAddGeomOverlayKey \- Add a key to an existing overlay row
.SH SYNOPSIS
.HP
.B XkbOverlayKeyPtr XkbAddGeomOverlayKey
.BI "(\^XkbOverlayPtr " "overlay" "\^,"
.BI "XkbRowPtr " "row" "\^,"
.BI "char *" "under" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- overlay
overlay to be updated
.TP
.I \- row
row in overlay to be updated
.TP
.I \- under
primary name of the key to be considered
.SH DESCRIPTION
.LP
Xkb provides functions to add a single new element to the top-level keyboard
geometry. In each case the
.I num_ *
fields of the corresponding structure is incremented by 1. These functions do
not change
.I sz_*
unless there is no more room in the array. Some of these functions fill in the
values of the element's structure from the arguments. For other functions, you
must explicitly write code to fill the structure's elements.
The top-level geometry description includes a list of
.I geometry properties.
A geometry property associates an arbitrary string with an equally arbitrary
name. Programs that display images of keyboards can use geometry properties as
hints, but they are not interpreted by Xkb. No other geometry structures refer
to geometry properties.
.I XkbAddGeomOverlayKey
adds one key to the
.I row
in the
.I overlay.
If there is no key named
.I under
in the row of the underlying section,
.I XkbAddGeomOverlayKey
returns NULL.
.SH STRUCTURES
.LP
.nf
typedef struct _XkbOverlayKey {
XkbKeyNameRec over; /\&* name of this overlay key */
XkbKeyNameRec under; /\&* name of the key under this overlay key */
} XkbOverlayKeyRec,*XkbOverlayKeyPtr;
.fi
libX11-1.7.5/man/xkb/XkbFreeGeomOverlayRows.man 0000644 0001750 0001750 00000005447 14222353101 016117 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbFreeGeomOverlayRows __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbFreeGeomOverlayRows \- Free rows in an overlay
.SH SYNOPSIS
.HP
.B void XkbFreeGeomOverlayRows
.BI "(\^XkbSectionPtr " "overlay" "\^,"
.BI "int " "first" "\^,"
.BI "int " "count" "\^,"
.BI "Bool " "free_all" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- overlay
section in which rows should be freed
.TP
.I \- first
first row to be freed
.TP
.I \- count
number of rows to be freed
.TP
.I \- free_all
True => all rows are freed
.SH DESCRIPTION
.LP
Xkb provides a number of functions to allocate and free subcomponents of a
keyboard geometry. Use these functions to create or modify keyboard geometries.
Note that these functions merely allocate space for the new element(s), and it
is up to you to fill in the values explicitly in your code. These allocation
functions increase
.I sz_*
but never touch
.I num_*
(unless there is an allocation failure, in which case they reset both
.I sz_*
and
.I num_*
to zero). These functions return Success if they succeed, BadAlloc if they are
not able to allocate space, or BadValue if a parameter is not as expected.
If
.I free_all
is True, all rows are freed regardless of the value of
.I first
and
.I count.
Otherwise, the number of rows specified by
.I count
are freed, beginning with the row specified by
.I first
in the specified overlay.
.SH "RETURN VALUES"
.TP 15
Success
The XkbFreeGeomOverlayRows function returns Success if there are no allocation
or argument errors.
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadValue
An argument is out of range
libX11-1.7.5/man/xkb/XkbResizeKeyActions.man 0000644 0001750 0001750 00000006676 14222353101 015451 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbResizeKeyActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbResizeKeyActions \- Change the number of actions bound to a key
.SH SYNOPSIS
.HP
.B XkbAction * XkbResizeKeyActions
.BI "(\^XkbDescRec *" "xkb" "\^,"
.BI "int " "key" "\^,"
.BI "int " "needed" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- xkb
keyboard description to change
.TP
.I \- key
keycode of key to change
.TP
.I \- needed
new number of actions required
.SH DESCRIPTION
.LP
The
.I xkb
parameter points to the keyboard description containing the
.I key
whose number of actions is to be changed. The
.I key
parameter is the keycode of the key to change, and needed specifies the new
number of actions required for the key.
.I XkbResizeKeyActions
reserves the space needed for the actions and returns a pointer to the beginning
of the new array that holds the actions. It can change the
.I acts, num_acts,
and
.I size_acts
fields of
.I xkb->server
if it is necessary to reallocate the
.I acts
array.
If
.I needed
is greater than the current number of keysyms for the key,
.I XkbResizeKeyActions
initializes all new actions in the array to NoAction.
Because the number of actions needed by a key is normally computed as width *
number of groups, and
.I XkbResizeKeyActions
does not modify either the width or number of groups for the key, a discrepancy
exists on return from
.I XkbResizeKeyActions
between the space allocated for the actions and the number required. The unused
entries in the list of actions returned by
.I XkbResizeKeyActions
are not preserved across future calls to any of the map editing functions, so
you must update the key actions (which updates the width and number of groups
for the key) before calling another allocator function. A call to
.I XkbChangeTypesOfKey
updates these.
If any allocation errors occur while resizing the number of actions bound to the
key,
.I XkbResizeKeyActions
returns NULL.
.SH "SEE ALSO"
.BR XkbChangeTypesOfKey (__libmansuffix__),
.BR XkbResizeKeySyms (__libmansuffix__)
.SH NOTES
.LP
A change to the number of actions bound to a key should be accompanied by a
change in the number of symbols bound to a key. Refer to
.I XkbResizeKeySyms
for more information on changing the number of symbols bound to a key.
libX11-1.7.5/man/xkb/XkbKeysymToModifiers.man 0000644 0001750 0001750 00000004015 14222353101 015625 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbKeysymToModifiers __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbKeysymToModifiers \- Finds the set of modifiers bound to a particular keysym
on the core keyboard
.SH SYNOPSIS
.HP
.B unsigned int XkbKeysymToModifiers
.BI "(\^Display *" "dpy" "\^,"
.BI "KeySym " "ks" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- dpy
connection to X server
.TP
.I \- ks
keysym of interest
.SH DESCRIPTION
.LP
.I XkbKeysymToModifiers
finds the set of modifiers currently bound to the keysym
.I ks
on the core keyboard. The value returned is the mask of modifiers bound to the
keysym
.I ks.
If no modifiers are bound to the keysym,
.I XkbKeysymToModifiers
returns zero; otherwise, it returns the inclusive OR of zero or more of the
following: ShiftMask, ControlMask, LockMask, Mod1Mask, Mod2Mask, Mod3Mask,
Mod4Mask, and Mod5Mask.
libX11-1.7.5/man/xkb/XkbDeviceBell.man 0000644 0001750 0001750 00000025461 14222353101 014205 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbDeviceBell __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbDeviceBell \- Rings the bell on an X input extension device or the default keyboard
.SH SYNOPSIS
.HP
.B Bool XkbDeviceBell
.BI "(\^Display *" "display" "\^,"
.BI "Window " "window" "\^,"
.BI "unsigned int " "device_spec" "\^,"
.BI "unsigned int " "bell_class" "\^,"
.BI "unsigned int " "bell_id" "\^,"
.BI "int " "percent" "\^,"
.BI "Atom " "name" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- display
connection to the X server
.TP
.I \- window
window for which the bell is generated, or None
.TP
.I \- device_spec
device ID, or XkbUseCoreKbd
.TP
.I \- bell_class
X input extension bell class of the bell to be rung
.TP
.I \- bell_id
X input extension bell ID of the bell to be rung
.TP
.I \- percent
bell volume, from -100 to 100 inclusive
.TP
.I \- name
a name for the bell, or NULL
.SH DESCRIPTION
.LP
The core X protocol allows only applications to explicitly sound the system bell with a
given duration, pitch, and volume. Xkb extends this capability by allowing clients to
attach symbolic names to bells, disable audible bells, and receive an event whenever the
keyboard bell is rung. For the purposes of this document, the
.I audible
bell is defined to be the system bell, or the default keyboard bell, as opposed to any
other audible sound generated elsewhere in the system.
You can ask to receive XkbBellNotify events when any client rings any one of the
following:
.IP \(bu 5
The default bell
.IP \(bu 5
Any bell on an input device that can be specified by a bell_class and bell_id pair
.IP \(bu 5
Any bell specified only by an arbitrary name. (This is, from the server's point of view,
merely a name, and not connected with any physical sound-generating device. Some client
application must generate the sound, or visual feedback, if any, that is associated with
the name.)
You can also ask to receive XkbBellNotify events when the server rings the default bell
or if any client has requested events only (without the bell sounding) for any of the
bell types previously listed.
You can disable audible bells on a global basis. For example, a client that replaces the
keyboard bell with some other audible cue might want to turn off the AudibleBell control
to prevent the server from also generating a sound and avoid cacophony. If you disable
audible bells and request to receive XkbBellNotify events, you can generate feedback
different from the default bell.
You can, however, override the AudibleBell control by calling one of the functions that
force the ringing of a bell in spite of the setting of the AudibleBell control -
.I XkbForceDeviceBell
or
.I XkbForceBell.
In this case the server does not generate a bell event.
Just as some keyboards can produce keyclicks to indicate when a key is pressed or
repeating, Xkb can provide feedback for the controls by using special beep codes. The
AccessXFeedback control is used to configure the specific types of operations that
generate feedback.
Bell Names
You can associate a name to an act of ringing a bell by converting the name to an Atom
and then using this name when you call the functions listed in this chapter. If an event
is generated as a result, the name is then passed to all other clients interested in
receiving XkbBellNotify events. Note that these are arbitrary names and that there is no
binding to any sounds. Any sounds or other effects (such as visual bells on the screen)
must be generated by a client application upon receipt of the bell event containing the
name. There is no default name for the default keyboard bell. The server does generate
some predefined bells for the AccessX controls. These named bells are shown in the Table 1
; the name is included in any bell event sent to clients that have requested to
receive XkbBellNotify events.
.TS
c s
l l
lW(4i) l.
Table 1 Predefined Bells
_
Action Named Bell
_
Indicator turned on AX_IndicatorOn
Indicator turned off AX_IndicatorOff
More than one indicator changed state AX_IndicatorChange
Control turned on AX_FeatureOn
Control turned off AX_FeatureOff
More than one control changed state AX_FeatureChange
T{
SlowKeys and BounceKeys about to be turned on or off
T} AX_SlowKeysWarning
SlowKeys key pressed AX_SlowKeyPress
SlowKeys key accepted AX_SlowKeyAccept
SlowKeys key rejected AX_SlowKeyReject
Accepted SlowKeys key released AX_SlowKeyRelease
BounceKeys key rejected AX_BounceKeyReject
StickyKeys key latched AX_StickyLatch
StickyKeys key locked AX_StickyLock
StickyKeys key unlocked AX_StickyUnlock
.TE
Audible Bells
Using Xkb you can generate bell events that do not necessarily ring the system bell. This
is useful if you need to use an audio server instead of the system beep. For example,
when an audio client starts, it could disable the audible bell (the system bell) and then
listen for XkbBellNotify events. When it receives a XkbBellNotify event, the audio client
could then send a request to an audio server to play a sound.
You can control the audible bells feature by passing the XkbAudibleBellMask to
.I XkbChangeEnabledControls.
If you set XkbAudibleBellMask on, the server rings the system bell when a bell event
occurs. This is the default. If you set XkbAudibleBellMask off and a bell event occurs,
the server does not ring the system bell unless you call
.I XkbForceDeviceBell
or
.I XkbForceBell.
Audible bells are also part of the per-client auto-reset controls.
Bell Functions
Use the functions described in this section to ring bells and to generate bell events.
The input extension has two types of feedbacks that can generate bells - bell feedback
and keyboard feedback. Some of the functions in this section have
.I bell_class
and
.I bell_id
parameters; set them as follows: Set
.I bell_class
to BellFeedbackClass or KbdFeedbackClass. A device can have more than one feedback of
each type; set
.I bell_id
to the particular bell feedback of
.I bell_class
type.
The Table 2 shows the conditions that cause a bell to sound or an XkbBellNotifyEvent
to be generated when a bell function is called.
.TS
c s s s
l l l l
l l l l.
Table 2 Bell Sounding and Bell Event Generating
_
Function called AudibleBell Server sounds a bell Server sends an
XkbBellNotifyEvent
_
XkbDeviceBell On Yes Yes
XkbDeviceBell Off No Yes
XkbBell On Yes Yes
XkbBell Off No Yes
XkbDeviceBellEvent On or Off No Yes
XkbBellEvent On or Off No Yes
XkbDeviceForceBell On or Off Yes No
XkbForceBell On or Off Yes No
.TE
Set
.I percent
to be the volume relative to the base volume for the keyboard as described for .I XBell.
Note that
.I bell_class
and
.I bell_id
indicate the bell to physically ring.
.I name
is simply an arbitrary moniker for the client application's use.
To determine the current feedback settings of an extension input device, use
.I XGetFeedbackControl.
See the X input extension documentation for more information on
.I XGetFeedbackControl
and related data structures.
If a compatible keyboard extension is not present in the X server,
.I XkbDeviceBell
immediately returns False. Otherwise,
.I XkbDeviceBell
rings the bell as specified for the display and keyboard device and returns True. If you have disabled the audible bell, the server does not ring the system bell, although it does generate a
.I XkbBellNotify
event.
You can call
.I XkbDeviceBell
without first initializing the keyboard extension.
.SH STRUCTURES
Xkb generates XkbBellNotify events for all bells except for those resulting from calls to
.I XkbForceDeviceBell
and
.I XkbForceBell.
To receive XkbBellNotify events under all possible conditions, pass XkbBellNotifyMask in
both the
.I bits_to_change
and
.I values_for_bits
parameters to
.I XkbSelectEvents.
The XkbBellNotify event has no event details. It is either selected or it is not.
However, you can call
.I XkbSelectEventDetails
using XkbBellNotify as the
.I event_type
and specifying XkbAllBellEventsMask in
.I bits_to_change
and
.I values_for_bits.
This has the same effect as a call to
.I XkbSelectEvents.
The structure for the XkbBellNotify event type contains:
.nf
typedef struct _XkbBellNotify {
int type; /\&* Xkb extension base event code */
unsigned long serial; /\&* X server serial number for event */
Bool send_event; /\&* True => synthetically generated */
Display * display; /\&* server connection where event generated */
Time time; /\&* server time when event generated */
int xkb_type; /\&* XkbBellNotify */
unsigned int device; /\&* Xkb device ID, will not be XkbUseCoreKbd */
int percent; /\&* requested volume as % of max */
int pitch; /\&* requested pitch in Hz */
int duration; /\&* requested duration in microseconds */
unsigned int bell_class; /\&* X input extension feedback class */
unsigned int bell_id; /\&* X input extension feedback ID */
Atom name; /\&* "name" of requested bell */
Window window; /\&* window associated with event */
Bool event_only; /\&* False -> the server did not produce a beep */
} XkbBellNotifyEvent;
.fi
If your application needs to generate visual bell feedback on the screen when it receives
a bell event, use the window ID in the XkbBellNotifyEvent, if present.
.SH "SEE ALSO"
.BR XBell (__libmansuffix__),
.BR XkbBellNotify (__libmansuffix__),
.BR XkbChangeEnabledControls (__libmansuffix__),
.BR XkbDeviceBell (__libmansuffix__),
.BR XkbForceBell (__libmansuffix__),
.BR XkbForceDeviceBell (__libmansuffix__),
.BR XGetFeedbackControl (__libmansuffix__),
.BR XkbSelectEvents (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbVirtualModsToReal.man 0000644 0001750 0001750 00000010724 14222353101 015563 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbVirtualModsToReal __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbVirtualModsToReal \- Determines the mapping of virtual modifiers to core X
protocol modifiers
.SH SYNOPSIS
.HP
.B Bool XkbVirtualModsToReal
.BI "(\^XkbDescPtr " "xkb" "\^,"
.BI "unsigned int " "virtual_mask" "\^,"
.BI "unsigned int *" "mask_rtrn" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- xkb
keyboard description for input device
.TP
.I \- virtual_mask
virtual modifier mask to translate
.TP
.I \- mask_rtrn
backfilled with real modifiers
.SH DESCRIPTION
.LP
Xkb maintains a
.I virtual modifier mapping,
which lists the virtual modifiers associated with, or bound to, each key. The
real modifiers bound to a virtual modifier always include all of the modifiers
bound to any of the keys that specify that virtual modifier in their virtual
modifier mapping. The
.I server.vmodmap
array indicates which virtual modifiers are bound to each key; each entry is a
bitmask for the virtual modifier bits. The
.I server.vmodmap
array is indexed by keycode.
The
.I vmodmap
and
.I vmods
members of the server map are the "master" virtual modifier definitions. Xkb
automatically propagates any changes to these fields to all other fields that
use virtual modifier mappings.
For example, if Mod3 is bound to the Num_Lock key by the core protocol modifier
mapping, and the NumLock virtual modifier is bound to they Num_Lock key by the
virtual modifier mapping, Mod3 is added to the set of modifiers associated with
NumLock.
The virtual modifier mapping is normally updated whenever actions are
automatically applied to symbols and few applications should need to change the
virtual modifier mapping explicitly.
Use
.I XkbGetMap
to get the virtual modifiers from the server or use
.I XkbGetVirtualMods
to update a local copy of the virtual modifiers bindings from the server. To set
the binding of a virtual modifier to a real modifier, use
.I XkbGetVirtualMods
If the keyboard description defined by
.I xkb
includes bindings for virtual modifiers,
.I XkbVirtualModsToReal
uses those bindings to determine the set of real modifiers that correspond to
the set of virtual modifiers specified in
.I virtual_mask.
The
.I virtual_mask
parameter is a mask specifying the virtual modifiers to translate; the i-th bit
(0 relative) of the mask represents the i-th virtual modifier. If
.I mask_rtrn
is non-NULL,
.I XkbVirtualModsToReal
backfills it with the resulting real modifier mask. If the keyboard description
in
.I xkb
does not include virtual modifier bindings,
.I XkbVirtualModsToReal
returns False; otherwise, it returns True.
.SH "RETURN VALUES"
.TP 15
True
The
.I XkbVirtualModsToReal
function returns True if the keyboard description
in
.I xkb
does include virtual modifier bindings.
.TP 15
False
The
.I XkbVirtualModsToReal
function returns False if the keyboard description
in
.I xkb
does not include virtual modifier bindings.
.SH "SEE ALSO"
.BR XkbGetMap (__libmansuffix__),
.BR XkbGetVirtualMods (__libmansuffix__)
.SH NOTES
.LP
It is possible for a local (client-side) keyboard description (the
.I xkb
parameter) to not contain any virtual modifier information (simply because the
client has not requested it) while the server's corresponding definition may
contain virtual modifier information.
libX11-1.7.5/man/xkb/XkbAllocGeomSectionDoodads.man 0000644 0001750 0001750 00000005163 14222353101 016671 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbAllocGeomSectionDoodads __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbAllocGeomSectionDoodads \- Allocate doodads that are specific to a section
.SH SYNOPSIS
.HP
.B Status XkbAllocGeomSectionDoodads
.BI "(\^XkbSectionPtr " "section" "\^,"
.BI "int " "num_needed" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- section
section for which doodads should be allocated
.TP
.I \- num_needed
number of new doodads required
.SH DESCRIPTION
.LP
Xkb provides a number of functions to allocate and free subcomponents of a
keyboard geometry. Use these functions to create or modify keyboard geometries.
Note that these functions merely allocate space for the new element(s), and it
is up to you to fill in the values explicitly in your code. These allocation
functions increase
.I sz_*
but never touch
.I num_*
(unless there is an allocation failure, in which case they reset both
.I sz_*
and
.I num_*
to zero). These functions return Success if they succeed, BadAlloc if they are
not able to allocate space, or BadValue if a parameter is not as expected.
.I XkbAllocGeomSectionDoodads
allocates
.I num_needed
doodads and adds them to the specified
.I section.
No initialization of the doodads is done.
To free geometry doodads, use
.I XkbFreeGeomDoodads.
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadValue
An argument is out of range
.SH "SEE ALSO"
.BR XkbFreeGeomDoodads (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbSetPtrActionX.man 0000644 0001750 0001750 00000007454 14222353101 014720 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbSetPtrActionX __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbSetPtrActionX \- Sets the high_XXX and low_XXX fields of act from the signed
integer value x
.SH SYNOPSIS
.HP
.B void XkbSetPtrActionX
.BI "(\^XkbPtrAction " "act" "\^,"
.BI "int " "x" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- act
action in which to set X
.TP
.I \- x
new value to set
.SH DESCRIPTION
.LP
Actions associated with the XkbPtrAction structure move the pointer when keys
are pressed and released.
If the MouseKeys control is not enabled, KeyPress and KeyRelease events are
treated as though the action is XkbSA_NoAction.
If the MouseKeys control is enabled, a server action of type XkbSA_MovePtr
instructs the server to generate core pointer MotionNotify events rather than
the usual KeyPress event, and the corresponding KeyRelease event disables any
mouse keys timers that were created as a result of handling the XkbSA_MovePtr
action.
The
.I type
field of the XkbPtrAction structure is always XkbSA_MovePtr.
The
.I flags
field is a bitwise inclusive OR of the masks shown in Table 1.
.TS
c s
l l
l lw(4i).
Table 1 Pointer Action Types
_
Action Type Meaning
_
XkbSA_NoAcceleration T{
If not set, and the MouseKeysAccel control is enabled, the KeyPress initiates a
mouse keys timer for this key; every time the timer expires, the cursor moves.
T}
XkbSA_MoveAbsoluteX T{
If set, the X portion of the structure specifies the new pointer X coordinate.
Otherwise, the X portion is added to the current pointer X coordinate to
determine the new pointer X coordinate.
T}
XkbSA_MoveAbsoluteY T{
If set, the Y portion of the structure specifies the new pointer Y coordinate.
Otherwise, the Y portion is added to the current pointer Y coordinate to
determine the new pointer Y coordinate.
T}
.TE
Each of the X and Y coordinates of the XkbPtrAction structure is composed of
two signed 16-bit values, that is, the X coordinate is composed of
.I high_XXX
and
.I low_XXX,
and similarly for the Y coordinate. Xkb provides the following macros, to
convert between a signed integer and two signed 16-bit values in XkbPtrAction
structures.
.SH STRUCTURES
.LP
.nf
typedef struct _XkbPtrAction {
unsigned char type; /\&* XkbSA_MovePtr */
unsigned char flags; /\&* determines type of pointer motion */
unsigned char high_XXX; /\&* x coordinate, high bits*/
unsigned char low_XXX; /\&* y coordinate, low bits */
unsigned char high_YYY; /\&* x coordinate, high bits */
unsigned char low_YYY; /\&* y coordinate, low bits */
} XkbPtrAction;
.fi
libX11-1.7.5/man/xkb/XkbChangeDeviceInfo.man 0000644 0001750 0001750 00000005510 14222353101 015321 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbChangeDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbChangeDeviceInfo \- Update the server's description of a device with the changes noted in an
XkbDeviceChangesRec
.SH SYNOPSIS
.HP
.B Bool XkbChangeDeviceInfo
.BI "(\^Display *" "dpy" "\^,"
.BI "XkbDeviceInfoPtr " "device_info" "\^,"
.BI "XkbDeviceChangesPtr " "changes" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- dpy
connection to X server
.TP
.I \- device_info
local copy of device state and configuration
.TP
.I \- changes
note specifying changes in device_info
.SH DESCRIPTION
.LP
.I XkbChangeDeviceInfo
updates the server's description of the device specified in
.I device_info->device_spec
with the changes specified in
.I changes
and contained in
.I device_info.
The update is made by an
.I XkbSetDeviceInfo
request.
.SH STRUCTURES
.LP
Changes to an Xkb extension device may be tracked by listening to XkbDeviceExtensionNotify events
and accumulating the changes in an XkbDeviceChangesRec structure. The changes noted in the
structure may then be used in subsequent operations to update either a server configuration or a
local copy of an Xkb extension device configuration. The changes structure is defined as follows:
.nf
typedef struct _XkbDeviceChanges {
unsigned int changed; /\&* bits indicating what has changed */
unsigned short first_btn; /\&* number of first button which changed, if any */
unsigned short num_btns; /\&* number of buttons that have changed */
XkbDeviceLedChangesRec leds;
} XkbDeviceChangesRec,*XkbDeviceChangesPtr;
.fi
.SH "SEE ALSO"
.BR XkbSetDeviceInfo (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbFreeGeometry.man 0000644 0001750 0001750 00000005773 14222353101 014610 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbFreeGeometry __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbFreeGeometry \- Free an entire geometry
.SH SYNOPSIS
.HP
.B void XkbFreeGeometry
.BI "(\^XkbGeometryPtr " "geom" "\^,"
.BI "unsigned int " "which" "\^,"
.BI "Bool " "free_all" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- geom
geometry to be freed
.TP
.I \- which
mask of geometry components to be freed
.TP
.I \- free_all
True => the entire geometry is freed
.SH DESCRIPTION
.LP
Xkb provides a number of functions to allocate and free subcomponents of a
keyboard geometry. Use these functions to create or modify keyboard geometries.
Note that these functions merely allocate space for the new element(s), and it
is up to you to fill in the values explicitly in your code. These allocation
functions increase
.I sz_*
but never touch
.I num_*
(unless there is an allocation failure, in which case they reset both
.I sz_*
and
.I num_*
to zero). These functions return Success if they succeed, BadAlloc if they are
not able to allocate space, or BadValue if a parameter is not as expected.
The values of
.I which
and
.I free_all
determine how much of the specified geometry is freed. The valid values for
.I which
are:
.nf
#define XkbGeomPropertiesMask (1<<0)
#define XkbGeomColorsMask (1<<1)
#define XkbGeomShapesMask (1<<2)
#define XkbGeomSectionsMask (1<<3)
#define XkbGeomDoodadsMask (1<<4)
#define XkbGeomKeyAliasesMask (1<<5)
#define XkbGeomAllMask (0x3f)
.fi
If
.I free_all
is True, the entire geometry is freed regardless of the value of
.I which.
Otherwise, the portions of the geometry specified by
.I which
are freed.
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadValue
An argument is out of range
libX11-1.7.5/man/xkb/XkbAddGeomKey.man 0000644 0001750 0001750 00000006034 14222353101 014153 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbAddGeomKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbAddGeomKey \- Add one key at the end of an existing row of keys
.SH SYNOPSIS
.HP
.B XkbKeyPtr XkbAddGeomKey
.BI "(\^XkbRowPtr " "row" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- row
row to be updated
.SH DESCRIPTION
.LP
Xkb provides functions to add a single new element to the top-level keyboard geometry. In each case
the
.I num_ *
fields of the corresponding structure is incremented by 1. These functions do not change
.I sz_*
unless there is no more room in the array. Some of these functions fill in the values of the
element's structure from the arguments. For other functions, you must explicitly write code to fill
the structure's elements.
The top-level geometry description includes a list of
.I geometry properties.
A geometry property associates an arbitrary string with an equally arbitrary name. Programs that
display images of keyboards can use geometry properties as hints, but they are not interpreted by
Xkb. No other geometry structures refer to geometry properties.
Keys are grouped into rows.
.I XkbAddGeomKey
adds one key to the end of the specified
.I row.
The key is allocated and zeroed.
.I XkbAddGeomKey
returns NULL if
.I row
is empty or if it was not able to allocate space for the key. To allocate space for an arbitrary
number of keys to a row, use
.I XkbAllocGeomKeys.
.SH STRUCTURES
.LP
.nf
typedef struct _XkbKey { /\&* key in a row */
XkbKeyNameRec name; /\&* key name */
short gap; /\&* gap in mm/10 from previous key in row */
unsigned char shape_ndx; /\&* index of shape for key */
unsigned char color_ndx; /\&* index of color for key body */
} XkbKeyRec, *XkbKeyPtr;
.fi
.SH "SEE ALSO"
.BR XkbAllocGeomKeys (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbKeyGroupInfo.man 0000644 0001750 0001750 00000020574 14222353101 014570 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbKeyGroupInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbKeyGroupInfo \- Returns the number of groups of symbols bound to the key
corresponding to
keycode
.SH SYNOPSIS
.HP
.B unsigned char XkbKeyGroupInfo
.BI "(\^XkbDescPtr " "xkb" "\^,"
.BI "KeyCode " "keycode" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- xkb
Xkb description of interest
.TP
.I \- keycode
keycode of interest
.SH DESCRIPTION
.LP
The
.I group_info
field of an XkbSymMapRec is an encoded value containing the number of groups of
symbols bound
to the
key as well as the specification of the treatment of out-of-range groups. It is
legal for a
key to
have zero groups, in which case it also has zero symbols and all events from
that key yield
NoSymbol.
To obtain the number of groups of symbols bound to the key, use
.I XkbKeyNumGroups.
To change the number of groups bound to a key, use
.I XkbChangeTypesOfKey.
To obtain a mask that determines the treatment of out-of-range groups, use
.I XkbKeyGroupInfo
and
.I XkbOutOfRangeGroupInfo.
The keyboard controls contain a
.I groups_wrap
field specifying the handling of illegal groups on a global basis. That is, when
the user
performs an
action causing the effective group to go out of the legal range, the
.I groups_wrap
field specifies how to normalize the effective keyboard group to a group that is
legal for the
keyboard as a whole, but there is no guarantee that the normalized group will be
within the
range of
legal groups for any individual key. The per-key
.I group_info
field specifies how a key treats a legal effective group if the key does not
have a type
specified for
the group of concern. For example, the Enter key usually has just one group
defined. If the
user
performs an action causing the global keyboard group to change to Group2, the
.I group_info
field for the Enter key describes how to handle this situation.
Out-of-range groups for individual keys are mapped to a legal group using the
same options as
are used
for the overall keyboard group. The particular type of mapping used is
controlled by the bits
set in
the
.I group_info
flag, as shown in Table 1.
.bp
.TS
c s
l l
l l.
Table 1 group_info Range Normalization
_
Bits set in group_info Normalization method
_
XkbRedirectIntoRange XkbRedirectIntoRange
XkbClampIntoRange XkbClampIntoRange
none of the above XkbWrapIntoRange
.TE
.I XkbKeyGroupInfo
returns the group_info field from the XkbSymMapRec structure associated with the
key corresponding to
.I keycode.
.SH STRUCTURES
.LP
The KeySymMapRec structure is defined as follows:
.nf
\define XkbNumKbdGroups 4
\define XkbMaxKbdGroup (XkbNumKbdGroups-1)
typedef struct { /\&* map to keysyms for a single keycode */
unsigned char kt_index[XkbNumKbdGroups]; /\&* key type index for each group */
unsigned char group_info; /\&* # of groups and out of range group handling */
unsigned char width; /\&* max # of shift levels for key */
unsigned short offset; /\&* index to keysym table in syms array */
} XkbSymMapRec, *XkbSymMapPtr;
.fi
.nf
The XkbControlsRec structure is defined as follows:
\define XkbMaxLegalKeyCode 255
\define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
typedef struct {
unsigned char mk_dflt_btn; /\&* default button for keyboard driven mouse */
unsigned char num_groups; /\&* number of keyboard groups */
unsigned char groups_wrap; /\&* how to wrap out-of-bounds groups */
XkbModsRec internal; /\&* defines server internal modifiers */
XkbModsRec ignore_lock; /\&* modifiers to ignore when checking for grab */
unsigned int enabled_ctrls; /\&* 1 bit => corresponding boolean control enabled */
unsigned short repeat_delay; /\&* ms delay until first repeat */
unsigned short repeat_interval; /\&* ms delay between repeats */
unsigned short slow_keys_delay; /\&* ms minimum time key must be down to be ok */
unsigned short debounce_delay; /\&* ms delay before key reactivated */
unsigned short mk_delay; /\&* ms delay to second mouse motion event */
unsigned short mk_interval; /\&* ms delay between repeat mouse events */
unsigned short mk_time_to_max; /\&* # intervals until constant mouse move */
unsigned short mk_max_speed; /\&* multiplier for maximum mouse speed */
short mk_curve; /\&* determines mouse move curve type */
unsigned short ax_options; /\&* 1 bit => Access X option enabled */
unsigned short ax_timeout; /\&* seconds until Access X disabled */
unsigned short axt_opts_mask; /\&* 1 bit => options to reset on Access X timeout */
unsigned short axt_opts_values; /\&* 1 bit => turn option on, 0=> off */
unsigned int axt_ctrls_mask; /\&* which bits in enabled_ctrls to modify */
unsigned int axt_ctrls_values; /\&* values for new bits in enabled_ctrls */
unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\&* per key auto repeat */
} XkbControlsRec, *XkbControlsPtr;
.fi
.nf
The XkbControlsRec structure is defined as follows:
\define XkbMaxLegalKeyCode 255
\define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
typedef struct {
unsigned char mk_dflt_btn; /\&* default button for keyboard driven mouse */
unsigned char num_groups; /\&* number of keyboard groups */
unsigned char groups_wrap; /\&* how to wrap out-of-bounds groups */
XkbModsRec internal; /\&* defines server internal modifiers */
XkbModsRec ignore_lock; /\&* modifiers to ignore when checking for grab */
unsigned int enabled_ctrls; /\&* 1 bit => corresponding boolean control enabled */
unsigned short repeat_delay; /\&* ms delay until first repeat */
unsigned short repeat_interval; /\&* ms delay between repeats */
unsigned short slow_keys_delay; /\&* ms minimum time key must be down to be ok */
unsigned short debounce_delay; /\&* ms delay before key reactivated */
unsigned short mk_delay; /\&* ms delay to second mouse motion event */
unsigned short mk_interval; /\&* ms delay between repeat mouse events */
unsigned short mk_time_to_max; /\&* # intervals until constant mouse move */
unsigned short mk_max_speed; /\&* multiplier for maximum mouse speed */
short mk_curve; /\&* determines mouse move curve type */
unsigned short ax_options; /\&* 1 bit => Access X option enabled */
unsigned short ax_timeout; /\&* seconds until Access X disabled */
unsigned short axt_opts_mask; /\&* 1 bit => options to reset on Access X timeout */
unsigned short axt_opts_values; /\&* 1 bit => turn option on, 0=> off */
unsigned int axt_ctrls_mask; /\&* which bits in enabled_ctrls to modify */
unsigned int axt_ctrls_values; /\&* values for new bits in enabled_ctrls */
unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\&* per key auto repeat */
} XkbControlsRec, *XkbControlsPtr;
.fi
.SH "SEE ALSO"
.BR XkbChangeTypesOfKey (__libmansuffix__),
.BR XkbKeyGroupInfo (__libmansuffix__),
.BR XkbOutOfRangeGroupInfo (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbAddGeomOutline.man 0000644 0001750 0001750 00000006351 14222353101 015044 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbAddGeomOutline __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbAddGeomOutline \- Add one outline to an existing shape
.SH SYNOPSIS
.HP
.B XkbOutlinePtr XkbAddGeomOutline
.BI "(\^XkbShapePtr " "shape" "\^,"
.BI "int " "sz_points" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- shape
shape to be updated
.TP
.I \- sz_points
number of points to be reserved
.SH DESCRIPTION
.LP
Xkb provides functions to add a single new element to the top-level keyboard
geometry. In each case the
.I num_ *
fields of the corresponding structure is incremented by 1. These functions do
not change
.I sz_*
unless there is no more room in the array. Some of these functions fill in the
values of the element's structure from the arguments. For other functions, you
must explicitly write code to fill the structure's elements.
The top-level geometry description includes a list of
.I geometry properties.
A geometry property associates an arbitrary string with an equally arbitrary
name. Programs that display images of keyboards can use geometry properties as
hints, but they are not interpreted by Xkb. No other geometry structures refer
to geometry properties.
An outline consists of an arbitrary number of points.
.I XkbAddGeomOutline
adds an outline to the specified
.I shape
by reserving
.I sz_points
points for it. The new outline is allocated and zeroed.
.I XkbAddGeomOutline
returns NULL if any of the parameters is empty or if it was not able to allocate
space. To allocate space for an arbitrary number of outlines to a shape, use
.I XkbAllocGeomOutlines.
.SH STRUCTURES
.LP
.nf
typedef struct _XkbOutline {
unsigned short num_points; /\&* number of points in the outline */
unsigned short sz_points; /\&* size of the points array */
unsigned short corner_radius; /\&* draw corners as circles with this radius */
XkbPointPtr points; /\&* array of points defining the outline */
} XkbOutlineRec, *XkbOutlinePtr;
.fi
.SH "SEE ALSO"
.BR XkbAllocGeomOutlines (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbLookupKeyBinding.man 0000644 0001750 0001750 00000005242 14222353101 015417 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbLookupKeyBinding __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbLookupKeyBinding \- Find the string bound to a key by XRebindKeySym
.SH SYNOPSIS
.HP
.B int XkbLookupKeyBinding
.BI "(\^Display *" "dpy" "\^,"
.BI "KeySym " "sym" "\^,"
.BI "unsigned int " "state" "\^,"
.BI "char *" "buf" "\^,"
.BI "int " "nbytes" "\^,"
.BI "int *" "extra_rtrn" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- dpy
connection to server
.TP
.I \- sym
connection to server
.TP
.I \- state
state for which string is to be looked up
.TP
.I \- buf
buffer into which returned string is written
.TP
.I \- nbytes
size of buffer in bytes
.TP
.I \- extra_rtrn
backfilled with number bytes overflow
.SH DESCRIPTION
.LP
.I XkbLookupKeyBinding
is the equivalent of the core
.I XLookupString
function.
.I XRebindKeysym
binds an ASCII string to a specified keysym, so that the string and keysym are
returned when the key is pressed and a specified list of modifiers are also
being held down.
.I XkbLookupKeyBinding
returns in
.I buf
the string associated with the keysym
.I sym
and modifier state
.I state. buf
is NULL terminated unless there's an overflow. If the string returned is larger
than
.I nbytes,
a count of bytes that does not fit into the buffer is returned in
.I extra_rtrn.
.I XkbTranslateKeySym
returns the number of bytes that it placed into
.I buf.
.SH "SEE ALSO"
.BR XkbTranslateKeySym (__libmansuffix__),
.BR XLookupString (__libmansuffix__),
.BR XRebindKeysym (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbRefreshKeyboardMapping.man 0000644 0001750 0001750 00000005267 14222353101 016604 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbRefreshKeyboardMapping __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbRefreshKeyboardMapping \- Update the keyboard description that is internal to the X
library
.SH SYNOPSIS
.HP
.B Status XkbRefreshKeyboardMapping
.BI "(\^XkbMapNotifyEvent *" "event" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- event
event initiating remapping
.SH DESCRIPTION
.LP
.I XkbRefreshKeyboardMapping
is the Xkb equivalent of the core
.I XRefreshKeyboardMapping
function. It requests that the X server send the current key mapping information to
this client. A client usually invokes
.I XkbRefreshKeyboardMapping
after receiving an XkbMapNotify event.
.I XkbRefreshKeyboardMapping
returns Success if it succeeds and BadMatch if the event is not an Xkb event.
The XkbMapNotify event can be generated when some client calls
.I XkbSetMap, XkbChangeMap, XkbGetKeyboardByName,
or any of the standard X library functions that change the keyboard mapping or modifier
mapping.
.SH "RETURN VALUES"
.TP 15
Success
The
.I XkbRefreshKeyboardMapping
function returns Success when the request that the X server send the current key mapping information to
this client is successful.
.SH DIAGNOSTICS
.TP 15
.B BadMatch
A compatible version of Xkb was not available in the server or an argument has correct
type and range, but is otherwise invalid
.SH "SEE ALSO"
.BR XkbChangeMap (__libmansuffix__),
.BR XkbGetKeyboardByName (__libmansuffix__),
.BR XkbSetMap (__libmansuffix__),
.BR XRefreshKeyboardMapping (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbGetKeyActions.man 0000644 0001750 0001750 00000005441 14222353101 014714 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbGetKeyActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetKeyActions \- Update the actions (the key_acts array) for a subset of the
keys in a keyboard description
.SH SYNOPSIS
.HP
.B Status XkbGetKeyActions
.BI "(\^Display *" "dpy" "\^,"
.BI "unsigned int " "first" "\^,"
.BI "unsigned int " "num" "\^,"
.BI "XkbDescPtr " "xkb" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- dpy
connection to X server
.TP
.I \- first
keycode of first key of interest
.TP
.I \- num
number of keys desired
.TP
.I \- xkb
pointer to keyboard description where result is stored
.SH DESCRIPTION
.LP
.I XkbGetKeyActions
sends a request to the server to obtain the actions for
.I num
keys on the keyboard starting with key
.I first.
It waits for a reply and returns the actions in the
.I server->key_acts
field of
.I xkb.
If successful,
.I XkbGetKeyActions
returns Success. The
.I xkb
parameter must be a pointer to a valid Xkb keyboard description.
If the
.I server
map, in the
.I xkb
parameter, has not been allocated,
.I XkbGetKeyActions
allocates and initializes it before obtaining the actions.
If the server does not have a compatible version of Xkb, or the Xkb extension
has not been properly initialized,
.I XkbGetKeyActions
returns BadAccess. If
.I num
is less than 1 or greater than XkbMaxKeyCount,
.I XkbGetKeyActions
returns BadValue. If any allocation errors occur,
.I XkbGetKeyActions
returns BadAlloc.
.SH DIAGNOSTICS
.TP 15
.B BadAccess
The Xkb extension has not been properly initialized
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadValue
An argument is out of range
libX11-1.7.5/man/xkb/XkbFreeGeomOutlines.man 0000644 0001750 0001750 00000003624 14222353101 015420 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbFreeGeomOutlines __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbFreeGeomOutlines \- Free geometry outlines
.SH SYNOPSIS
.HP
.B void XkbFreeGeomOutlines
.BI "(\^XkbShapePtr " "shape" "\^,"
.BI "int " "first" "\^,"
.BI "int " "count" "\^,"
.BI "Bool " "free_all" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- shape
shape in which outlines should be freed
.TP
.I \- first
first outline to be freed
.TP
.I \- count
number of outlines to be freed
.TP
.I \- free_all
True => all outlines are freed
.SH DESCRIPTION
.LP
If
.I free_all
is True, all outlines are freed regardless of the value of
.I first
or
.I count.
Otherwise,
.I count
outlines are freed beginning with the one specified by
.I first.
libX11-1.7.5/man/xkb/XkbLookupKeySym.man 0000644 0001750 0001750 00000004516 14222353101 014620 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbLookupKeySym __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbLookupKeySym \- Find the symbol associated with a key for a particular state
.SH SYNOPSIS
.HP
.B Bool XkbLookupKeySym
.BI "(\^Display *" "dpy" "\^,"
.BI "KeyCode " "key" "\^,"
.BI "unsigned int " "state" "\^,"
.BI "unsigned int *" "mods_rtrn" "\^,"
.BI "KeySym *" "sym_rtrn" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- dpy
connection to X server
.TP
.I \- key
key for which symbols are to be found
.TP
.I \- state
state for which symbol should be found
.TP
.I \- mods_rtrn
backfilled with consumed modifiers
.TP
.I \- sym_rtrn
backfilled with symbol associated with key + state
.SH DESCRIPTION
.LP
.I XkbLookupKeySym
is the equivalent of the core
.I XLookupKeySym
function. For the core keyboard, given a keycode
.I key
and an Xkb state
.I state, XkbLookupKeySym
returns the symbol associated with the key in
.I sym_rtrn
and the list of modifiers that should still be applied in
.I mods_rtrn.
The
.I state
parameter is the state from a KeyPress or KeyRelease event.
.I XkbLookupKeySym
returns True if it succeeds.
.SH "SEE ALSO"
.BR XLookupKeySym (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbGetStickyKeysOptions.man 0000644 0001750 0001750 00000012204 14222353101 016314 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbGetStickyKeysOptions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetStickyKeysOptions \- Queries the current StickyKeys attributes for a keyboard device
.SH SYNOPSIS
.HP
.B Bool XkbGetStickyKeysOptions
.BI "(\^Display *" "display" "\^,"
.BI "unsigned int " "device_spec" "\^,"
.BI "unsigned int *" "options_rtrn" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- display
connection to X server
.TP
.I \- device_spec
device ID, or XkbUseCoreKbd
.TP
.I \- options_rtrn
backfilled with StickyKeys option mask
.SH DESCRIPTION
.LP
The StickyKeys control has two options that can be accessed via the
.I ax_options
of an XkbControlsRec structure. The first option, TwoKeys, specifies whether StickyKeys should
automatically turn off when two keys are pressed at the same time. This feature is useful for
shared computers so people who do not want them do not need to turn StickyKeys off if a previous
user left StickyKeys on. The second option, LatchToLock, specifies whether or not StickyKeys
locks a modifier when pressed twice in a row.
.I XkbGetStickyKeysOptions
requests the attributes of the StickyKeys control from the server, waits for a reply, and
backfills
.I options_rtrn
with a mask indicating whether the individual StickyKeys options are on or off. Valid bits in
.I options_rtrn
are:
.nf
XkbAX_TwoKeysMask
XkbAX_LatchToLockMask
.fi
.I XkbGetStickyKeysOptions
returns True if successful; if a compatible version of the Xkb extension is not available in the
server
.I XkbGetStickyKeysOptions
returns False.
.SH "RETURN VALUES"
.TP 15
True
The
.I XkbGetStickyKeysOptions
function returns True if the request for the attributes of the StickyKeys control from the
server was successful.
.TP 15
False
The
.I XkbGetStickyKeysOptions
function returns False if a compatible version of the Xkb extension is not available in the
server.
.SH STRUCTURES
.nf
The XkbControlsRec structure is defined as follows:
#define XkbMaxLegalKeyCode 255
#define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
typedef struct {
unsigned char mk_dflt_btn; /\&* default button for keyboard driven mouse */
unsigned char num_groups; /\&* number of keyboard groups */
unsigned char groups_wrap; /\&* how to wrap out-of-bounds groups */
XkbModsRec internal; /\&* defines server internal modifiers */
XkbModsRec ignore_lock; /\&* modifiers to ignore when checking for grab */
unsigned int enabled_ctrls; /\&* 1 bit => corresponding boolean control enabled */
unsigned short repeat_delay; /\&* ms delay until first repeat */
unsigned short repeat_interval; /\&* ms delay between repeats */
unsigned short slow_keys_delay; /\&* ms minimum time key must be down to be ok */
unsigned short debounce_delay; /\&* ms delay before key reactivated */
unsigned short mk_delay; /\&* ms delay to second mouse motion event */
unsigned short mk_interval; /\&* ms delay between repeat mouse events */
unsigned short mk_time_to_max; /\&* # intervals until constant mouse move */
unsigned short mk_max_speed; /\&* multiplier for maximum mouse speed */
short mk_curve; /\&* determines mouse move curve type */
unsigned short ax_options; /\&* 1 bit => Access X option enabled */
unsigned short ax_timeout; /\&* seconds until Access X disabled */
unsigned short axt_opts_mask; /\&* 1 bit => options to reset on Access X timeout */
unsigned short axt_opts_values; /\&* 1 bit => turn option on, 0=> off */
unsigned int axt_ctrls_mask; /\&* which bits in enabled_ctrls to modify */
unsigned int axt_ctrls_values; /\&* values for new bits in enabled_ctrls */
unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\&* per key auto repeat */
} XkbControlsRec, *XkbControlsPtr;
.fi
libX11-1.7.5/man/xkb/XkbAllocDeviceLedInfo.man 0000644 0001750 0001750 00000013034 14222353101 015613 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbAllocDeviceLedInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbAllocDeviceLedInfo \- Obtain an XkbDeviceLedInfoRec structure
.SH SYNOPSIS
.HP
.B Status XkbAllocDeviceLedInfo
.BI "(\^XkbDeviceInfoPtr " "device_info" "\^,"
.BI "int " "num_needed" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- device_info
structure in which to allocate LED space
.TP
.I \- num_needed
number of indicators to allocate space for
.SH DESCRIPTION
.LP
.I XkbAllocDeviceLedInfo
allocates space for an XkbDeviceLedInfoRec and places it in
.I device_info.
If
.I num_needed
is nonzero,
.I num_needed
XkbIndicatorMapRec structures are also allocated and linked into the XkbDeviceLedInfoRec structure. If you request XkbIndicatorMapRec structures be allocated using this request, you must initialize them explicitly. All other fields are initialized to zero.
To initialize an XkbDeviceLedInfoRec structure, use
.I XkbAddDeviceLedInfo.
.SH STRUCTURES
.LP
Information about X Input Extension devices is transferred between a client program and the Xkb
extension in an XkbDeviceInfoRec structure:
.nf
typedef struct {
char * name; /\&* name for device */
Atom type; /\&* name for class of devices */
unsigned short device_spec; /\&* device of interest */
Bool has_own_state; /\&* True=>this device has its own state */
unsigned short supported; /\&* bits indicating supported capabilities */
unsigned short unsupported; /\&* bits indicating unsupported capabilities */
unsigned short num_btns; /\&* number of entries in btn_acts */
XkbAction * btn_acts; /\&* button actions */
unsigned short sz_leds; /\&* total number of entries in LEDs vector */
unsigned short num_leds; /\&* number of valid entries in LEDs vector */
unsigned short dflt_kbd_fb; /\&* input extension ID of default (core kbd) indicator */
unsigned short dflt_led_fb; /\&* input extension ID of default indicator feedback */
XkbDeviceLedInfoPtr leds; /\&* LED descriptions */
} XkbDeviceInfoRec, *XkbDeviceInfoPtr;
typedef struct {
unsigned short led_class; /\&* class for this LED device*/
unsigned short led_id; /\&* ID for this LED device */
unsigned int phys_indicators; /\&* bits for which LEDs physically present */
unsigned int maps_present; /\&* bits for which LEDs have maps in maps */
unsigned int names_present; /\&* bits for which LEDs are in names */
unsigned int state; /\&* 1 bit => corresponding LED is on */
Atom names[XkbNumIndicators]; /\&* names for LEDs */
XkbIndicatorMapRec maps; /\&* indicator maps for each LED */
} XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr;
.fi
Each indicator has its own set of attributes that specify whether clients can explicitly set its state and whether it tracks the keyboard state. The attributes of each indicator are held in the maps array, which is an array of XkbIndicatorRec structures:
.nf
typedef struct {
unsigned char flags; /\&* how the indicator can be changed */
unsigned char which_groups; /\&* match criteria for groups */
unsigned char groups; /\&* which keyboard groups the indicator watches */
unsigned char which_mods; /\&* match criteria for modifiers */
XkbModsRec mods; /\&* which modifiers the indicator watches */
unsigned int ctrls; /\&* which controls the indicator watches */
} XkbIndicatorMapRec, *XkbIndicatorMapPtr;
.fi
This indicator map specifies for each indicator:
.IP \(bu 5
The conditions under which the keyboard modifier state affects the indicator
.IP \(bu 5
The conditions under which the keyboard group state affects the indicator
.IP \(bu 5
The conditions under which the state of the boolean controls affects the indicator
.IP \(bu 5
The effect (if any) of attempts to explicitly change the state of the indicator using the functions XkbSetControls or XChangeKeyboardControl
.SH "SEE ALSO"
.BR XkbAddDeviceLedInfo (__libmansuffix__),
.BR XkbSetControls (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbSetAutoRepeatRate.man 0000644 0001750 0001750 00000006627 14222353101 015553 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbSetAutoRepeatRate __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbSetAutoRepeatRate \- Sets the attributes of the RepeatKeys control for a
keyboard device
.SH SYNOPSIS
.HP
.B Bool XkbSetAutoRepeatRate
.BI "(\^Display *" "display" "\^,"
.BI "unsigned int " "device_spec" "\^,"
.BI "unsigned int " "timeout" "\^,"
.BI "unsigned int " "interval" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- display
connection to X server
.TP
.I \- device_spec
device to configure, or XkbUseCoreKbd
.TP
.I \- timeout
initial delay, ms
.TP
.I \- interval
delay between repeats, ms
.SH DESCRIPTION
.LP
The core protocol allows only control over whether or not the entire keyboard or
individual keys should auto-repeat when held down. RepeatKeys is a boolean
control that extends this capability by adding control over the delay until a
key begins to repeat and the rate at which it repeats. RepeatKeys is coupled
with the core auto-repeat control: when RepeatKeys is enabled or disabled, the
core auto-repeat is enabled or disabled and vice versa.
Auto-repeating keys are controlled by two attributes. The first,
.I timeout,
is the delay after the initial press of an auto-repeating key and the first
generated repeat event. The second,
.I interval,
is the delay between all subsequent generated repeat events. As with all boolean
controls, configuring the attributes that determine how the control operates
does not automatically enable the control as a whole.
.I XkbSetAutoRepeatRate
sends a request to the X server to configure the AutoRepeat control attributes
to the values specified in
.I timeout
and
.I interval.
.I XkbSetAutoRepeatRate
does not wait for a reply; it normally returns True. Specifying a zero value for
either
.I timeout
or
.I interval
causes the server to generate a BadValue protocol error. If a compatible version
of the Xkb extension is not available in the server,
.I XkbSetAutoRepeatRate
returns False.
.SH "RETURN VALUES"
.TP 15
True
The
.I XkbSetAutoRepeatRate
function returns True normally.
.TP 15
False
The
.I XkbSetAutoRepeatRate
function returns False if a compatible version of the Xkb extension is not
available in the server.
.SH DIAGNOSTICS
.TP 15
.B BadValue
An argument is out of range
libX11-1.7.5/man/xkb/XkbNoteDeviceChanges.man 0000644 0001750 0001750 00000014176 14222353101 015526 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbNoteDeviceChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbNoteDeviceChanges \- Note device changes reported in an XkbExtensionDeviceNotify event
.SH SYNOPSIS
.HP
.B void XkbNoteDeviceChanges
.BI "(\^XkbDeviceChangesPtr " "old" "\^,"
.BI "XkbExtensionDeviceNotifyEvent *" "new" "\^,"
.BI "unsigned int " "wanted" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- old
structure tracking state changes
.TP
.I \- new
event indicating state changes
.TP
.I \- wanted
mask indicating changes to note
.SH DESCRIPTION
.LP
The
.I wanted
field specifies the changes that should be noted in
.I old,
and is composed of the bitwise inclusive OR of one or more of the masks from Table 1. The
.I reason
field of the event in
.I new
indicates the types of changes the event is reporting.
.I XkbNoteDeviceChanges
updates the XkbDeviceChangesRec specified by
.I old
with the changes that are both specified in
.I wanted
and contained in
.I new->reason.
.nf
Table 1 XkbDeviceInfoRec Mask Bits
____________________________________________________________________________________
Name XkbDeviceInfoRec Value Capability If Set
Fields Effected
____________________________________________________________________________________
XkbXI_KeyboardsMask (1L <<0) Clients can use all
Xkb requests and events
with KeyClass devices
supported by the input
device extension.
XkbXI_ButtonActionsMask num_btns (1L <<1) Clients can assign key
btn_acts actions to buttons
non-KeyClass input
extension devices.
XkbXI_IndicatorNamesMask leds->names (1L <<2) Clients can assign
names to indicators on
non-KeyClass input
extension devices.
XkbXI_IndicatorMapsMask leds->maps (1L <<3) Clients can assign
indicator maps to
indicators on
non-KeyClass input
extension devices.
XkbXI_IndicatorStateMask leds->state (1L <<4) Clients can request
the status of indicators
on non-KeyClass input
extension devices.
XkbXI_IndicatorsMask sz_leds (0x1c) XkbXI_IndicatorNamesMask |
num_leds XkbXI_IndicatorMapsMask |
leds->* XkbXI_IndicatorStateMask
XkbXI_UnsupportedFeaturesMask unsupported (1L <<15)
XkbXI_AllDeviceFeaturesMask Those selected (0x1e) XkbXI_IndicatorsMask |
by Value Column XkbSI_ButtonActionsMask
masks
XkbXI_AllFeaturesMask Those selected (0x1f) XkbSI_AllDeviceFeaturesMask |
by Value Column XkbSI_KeyboardsMask
masks
XkbXI_AllDetailsMask Those selected (0x801f) XkbXI_AllFeaturesMask |
by Value column XkbXI_UnsupportedFeaturesMask
masks
.fi
To update a local copy of the state and configuration of an X input extension device with the changes
previously noted in an XkbDeviceChangesRec structure, use
.I XkbGetDeviceInfoChanges.
.SH STRUCTURES
.LP
Changes to an Xkb extension device may be tracked by listening to XkbDeviceExtensionNotify events and
accumulating the changes in an XkbDeviceChangesRec structure. The changes noted in the structure may
then be used in subsequent operations to update either a server configuration or a local copy of an
Xkb extension device configuration. The changes structure is defined as follows:
.nf
typedef struct _XkbDeviceChanges {
unsigned int changed; /\&* bits indicating what has changed */
unsigned short first_btn; /\&* number of first button which changed, if any */
unsigned short num_btns; /\&* number of buttons that have changed */
XkbDeviceLedChangesRec leds;
} XkbDeviceChangesRec,*XkbDeviceChangesPtr;
.fi
.SH "SEE ALSO"
.BR XkbGetDeviceInfoChanges (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbOutOfRangeGroupNumber.man 0000644 0001750 0001750 00000021175 14222353101 016404 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbOutOfRangeGroupNumber __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbOutOfRangeGroupNumber \- Returns the out-of-range group number, represented
as a group index, from the group_info field of an XkbSymMapRec structure
.SH SYNOPSIS
.HP
.B unsigned char XkbOutOfRangeGroupNumber
.BI "(\^unsigned char " "grp_inf" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- grp_inf
Xkb description of interest
.SH DESCRIPTION
.LP
.I XkbOutOfRangeGroupNumber
returns the out-of-range group number, represented as a group index, from the
.I group_info
field of an XkbSymMapRec structure.
The
.I group_info
field of an XkbSymMapRec is an encoded value containing the number of groups of
symbols bound to the
key as well as the specification of the treatment of out-of-range groups. It is
legal for a key to
have zero groups, in which case it also has zero symbols and all events from
that key yield NoSymbol.
To obtain the number of groups of symbols bound to the key, use
.I XkbKeyNumGroups.
To change the number of groups bound to a key, use
.I XkbChangeTypesOfKey.
To obtain a mask that determines the treatment of out-of-range groups, use
.I XkbKeyGroupInfo
and
.I XkbOutOfRangeGroupInfo.
The keyboard controls contain a
.I groups_wrap
field specifying the handling of illegal groups on a global basis. That is, when
the user performs an
action causing the effective group to go out of the legal range, the
.I groups_wrap
field specifies how to normalize the effective keyboard group to a group that is
legal for the
keyboard as a whole, but there is no guarantee that the normalized group will be
within the range of
legal groups for any individual key. The per-key
.I group_info
field specifies how a key treats a legal effective group if the key does not
have a type specified for
the group of concern. For example, the Enter key usually has just one group
defined. If the user
performs an action causing the global keyboard group to change to Group2, the
.I group_info
field for the Enter key describes how to handle this situation.
Out-of-range groups for individual keys are mapped to a legal group using the
same options as are used
for the overall keyboard group. The particular type of mapping used is
controlled by the bits set in
the
.I group_info
flag, as shown in Table 1.
.TS
c s
l l
l l.
Table 1 group_info Range Normalization
_
Bits set in group_info Normalization method
_
XkbRedirectIntoRange XkbRedirectIntoRange
XkbClampIntoRange XkbClampIntoRange
none of the above XkbWrapIntoRange
.TE
.SH STRUCTURES
.LP
The KeySymMapRec structure is defined as follows:
.nf
#define XkbNumKbdGroups 4
#define XkbMaxKbdGroup (XkbNumKbdGroups-1)
typedef struct { /\&* map to keysyms for a single keycode */
unsigned char kt_index[XkbNumKbdGroups]; /\&* key type index for each group */
unsigned char group_info; /\&* # of groups and out of range group handling */
unsigned char width; /\&* max # of shift levels for key */
unsigned short offset; /\&* index to keysym table in syms array */
} XkbSymMapRec, *XkbSymMapPtr;
.fi
.nf
The XkbControlsRec structure is defined as follows:
#define XkbMaxLegalKeyCode 255
#define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
typedef struct {
unsigned char mk_dflt_btn; /\&* default button for keyboard driven mouse */
unsigned char num_groups; /\&* number of keyboard groups */
unsigned char groups_wrap; /\&* how to wrap out-of-bounds groups */
XkbModsRec internal; /\&* defines server internal modifiers */
XkbModsRec ignore_lock; /\&* modifiers to ignore when checking for grab */
unsigned int enabled_ctrls; /\&* 1 bit => corresponding boolean control enabled */
unsigned short repeat_delay; /\&* ms delay until first repeat */
unsigned short repeat_interval; /\&* ms delay between repeats */
unsigned short slow_keys_delay; /\&* ms minimum time key must be down to be ok */
unsigned short debounce_delay; /\&* ms delay before key reactivated */
unsigned short mk_delay; /\&* ms delay to second mouse motion event */
unsigned short mk_interval; /\&* ms delay between repeat mouse events */
unsigned short mk_time_to_max; /\&* # intervals until constant mouse move */
unsigned short mk_max_speed; /\&* multiplier for maximum mouse speed */
short mk_curve; /\&* determines mouse move curve type */
unsigned short ax_options; /\&* 1 bit => Access X option enabled */
unsigned short ax_timeout; /\&* seconds until Access X disabled */
unsigned short axt_opts_mask; /\&* 1 bit => options to reset on Access X timeout */
unsigned short axt_opts_values; /\&* 1 bit => turn option on, 0=> off */
unsigned int axt_ctrls_mask; /\&* which bits in enabled_ctrls to modify */
unsigned int axt_ctrls_values; /\&* values for new bits in enabled_ctrls */
unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\&* per key auto repeat */
} XkbControlsRec, *XkbControlsPtr;
.fi
.nf
The XkbControlsRec structure is defined as follows:
#define XkbMaxLegalKeyCode 255
#define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
typedef struct {
unsigned char mk_dflt_btn; /\&* default button for keyboard driven mouse */
unsigned char num_groups; /\&* number of keyboard groups */
unsigned char groups_wrap; /\&* how to wrap out-of-bounds groups */
XkbModsRec internal; /\&* defines server internal modifiers */
XkbModsRec ignore_lock; /\&* modifiers to ignore when checking for grab */
unsigned int enabled_ctrls; /\&* 1 bit => corresponding boolean control enabled */
unsigned short repeat_delay; /\&* ms delay until first repeat */
unsigned short repeat_interval; /\&* ms delay between repeats */
unsigned short slow_keys_delay; /\&* ms minimum time key must be down to be ok */
unsigned short debounce_delay; /\&* ms delay before key reactivated */
unsigned short mk_delay; /\&* ms delay to second mouse motion event */
unsigned short mk_interval; /\&* ms delay between repeat mouse events */
unsigned short mk_time_to_max; /\&* # intervals until constant mouse move */
unsigned short mk_max_speed; /\&* multiplier for maximum mouse speed */
short mk_curve; /\&* determines mouse move curve type */
unsigned short ax_options; /\&* 1 bit => Access X option enabled */
unsigned short ax_timeout; /\&* seconds until Access X disabled */
unsigned short axt_opts_mask; /\&* 1 bit => options to reset on Access X timeout */
unsigned short axt_opts_values; /\&* 1 bit => turn option on, 0=> off */
unsigned int axt_ctrls_mask; /\&* which bits in enabled_ctrls to modify */
unsigned int axt_ctrls_values; /\&* values for new bits in enabled_ctrls */
unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\&* per key auto repeat */
} XkbControlsRec, *XkbControlsPtr;
.fi
.SH "SEE ALSO"
.BR XkbChangeTypesOfKey (__libmansuffix__),
.BR XkbKeyGroupInfo (__libmansuffix__),
.BR XkbOutOfRangeGroupInfo (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbGetVirtualMods.man 0000644 0001750 0001750 00000015516 14222353101 015120 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbGetVirtualMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetVirtualMods \- Obtain a subset of the virtual modifier bindings (the vmods
array) in a keyboard description
.SH SYNOPSIS
.HP
.B Status XkbGetVirtualMods
.BI "(\^Display *" "dpy" "\^,"
.BI "unsigned int " "which" "\^,"
.BI "XkbDescPtr " "xkb" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- dpy
connection to server
.TP
.I \- which
mask indicating virtual modifier bindings to get
.TP
.I \- xkb
Xkb description where results will be placed
.SH DESCRIPTION
.LP
.I XkbGetVirtualMods
sends a request to the server to obtain the
.I vmods
entries for the virtual modifiers specified in the mask,
.I which,
and waits for a reply.
Virtual modifiers are named by converting their string name to an X Atom and storing the Atom in the
.I names.vmods
array in an XkbDescRec structure. The position of a name Atom in the
.I names.vmods
array defines the bit position used to represent the virtual modifier and also the index used when
accessing virtual modifier information in arrays: the name in the i-th (0 relative) entry of
.I names.vmods
is the i-th virtual modifier, represented by the mask (1<vmods
array of
.I xkb.
The
.I xkb
parameter must be a pointer to a valid Xkb keyboard description. If successful,
.I XkbGetVirtualMods
returns Success.
.B Virtual Modifier Names and Masks
Virtual modifiers are named by converting their string name to an X Atom and
storing the Atom in the
.I names.vmods
array in an XkbDescRec structure. The position of a name Atom in the
.I names.vmods
array defines the bit position used to represent the virtual modifier and also
the index used when accessing virtual modifier information in arrays: the name
in the i-th (0 relative) entry of
.I names.vmods
is the i-th virtual modifier, represented by the mask (1<vmods
array of
.I xkb.
.SH STRUCTURES
.LP
The complete description of an Xkb keyboard is given by an XkbDescRec. The
component
structures in the XkbDescRec represent the major Xkb components.
.nf
typedef struct {
struct _XDisplay * display; /\&* connection to X server */
unsigned short flags; /\&* private to Xkb, do not modify */
unsigned short device_spec; /\&* device of interest */
KeyCode min_key_code; /\&* minimum keycode for device */
KeyCode max_key_code; /\&* maximum keycode for device */
XkbControlsPtr ctrls; /\&* controls */
XkbServerMapPtr server; /\&* server keymap */
XkbClientMapPtr map; /\&* client keymap */
XkbIndicatorPtr indicators; /\&* indicator map */
XkbNamesPtr names; /\&* names for all components */
XkbCompatMapPtr compat; /\&* compatibility map */
XkbGeometryPtr geom; /\&* physical geometry of keyboard */
} XkbDescRec, *XkbDescPtr;
.fi
The
.I display
field points to an X display structure. The
.I flags
field is private to the library: modifying
.I flags
may yield unpredictable results. The
.I device_spec
field specifies the device identifier of the keyboard input device, or XkbUseCoreKeyboard, which
specifies the core keyboard device. The
.I min_key_code
and
.I max_key_code
fields specify the least and greatest keycode that can be returned by the keyboard.
Each structure component has a corresponding mask bit that is used in function
calls to
indicate that the structure should be manipulated in some manner, such as
allocating it
or freeing it. These masks and their relationships to the fields in the
XkbDescRec are
shown in Table 1.
.TS
c s s
l l l
l l l.
Table 1 Mask Bits for XkbDescRec
_
Mask Bit XkbDescRec Field Value
_
XkbControlsMask ctrls (1L<<0)
XkbServerMapMask server (1L<<1)
XkbIClientMapMask map (1L<<2)
XkbIndicatorMapMask indicators (1L<<3)
XkbNamesMask names (1L<<4)
XkbCompatMapMask compat (1L<<5)
XkbGeometryMask geom (1L<<6)
XkbAllComponentsMask All Fields (0x7f)
.TE
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadMatch
A compatible version of Xkb was not available in the server or an argument has
correct type and range, but is otherwise invalid
.SH "SEE ALSO"
.BR XkbGetNames (__libmansuffix__),
.BR XkbSetNames (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbGetKeyBehaviors.man 0000644 0001750 0001750 00000005417 14222353101 015241 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbGetKeyBehaviors __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetKeyBehaviors \- Obtain the behaviors (the behaviors array) for a subset of the keys in
a keyboard description from the server
.SH SYNOPSIS
.HP
.B Status XkbGetKeyBehaviors
.BI "(\^Display *" "dpy" "\^,"
.BI "unsigned int " "first" "\^,"
.BI "unsigned int " "num" "\^,"
.BI "XkbDescPtr " "xkb" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- dpy
connection to server
.TP
.I \- first
keycode of first key to get
.TP
.I \- num
number of keys for which behaviors are desired
.TP
.I \- xkb
Xkb description to contain the result
.SH DESCRIPTION
.LP
.I XkbGetKeyBehaviors
sends a request to the server to obtain the behaviors for
.I num
keys on the keyboard starting with the key whose keycode is
.I first.
It waits for a reply and returns the behaviors in the
.I server->behaviors
field of
.I xkb.
If successful,
.I XkbGetKeyBehaviors
returns Success.
If the
.I server
map in the
.I xkb
parameter has not been allocated,
.I XkbGetKeyBehaviors
allocates and initializes it before obtaining the actions.
If the server does not have a compatible version of Xkb, or the Xkb extension has not been
properly initialized,
.I XkbGetKeyBehaviors
returns BadAccess. If
.I num
is less than 1 or greater than XkbMaxKeyCount,
.I XkbGetKeyBehaviors
returns BadValue. If any allocation errors occur,
.I XkbGetKeyBehaviors
returns BadAlloc.
.SH DIAGNOSTICS
.TP 15
.B BadAccess
The Xkb extension has not been properly initialized
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadValue
An argument is out of range
libX11-1.7.5/man/xkb/XkbAllocClientMap.man 0000644 0001750 0001750 00000011415 14222353101 015030 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbAllocClientMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbAllocClientMap \- Allocate and initialize an empty client map description
record
.SH SYNOPSIS
.HP
.B Status XkbAllocClientMap
.BI "(\^XkbDescPtr " "xkb" "\^,"
.BI "unsigned int " "which" "\^,"
.BI "unsigned int " "type_count" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- xkb
keyboard description in which to allocate client map
.TP
.I \- which
mask selecting map components to allocate
.TP
.I \- type_count
value of num_types field in map to be allocated
.SH DESCRIPTION
.LP
Calling
.I XkbGetMap
should be sufficient for most applications to get client and server maps. As a
result, most applications do not need to directly allocate client and server
maps.
If you change the number of key types or construct map components without
loading the necessary components from the X server, do not allocate any map
components directly using
.I malloc
or
.I Xmalloc.
Instead, use the Xkb allocators,
.I XkbAllocClientMap,
and
.I XkbAllocServerMap.
Similarly, use the Xkb destructors,
.I XkbFreeClientMap,
and
.I XkbFreeServerMap
instead of
.I free
or
.I Xfree.
.I XkbAllocClientMap
allocates and initializes an empty client map in the
.I map
field of the keyboard description specified by
.I xkb.
The
.I which
parameter specifies the particular components of the client map structure to
allocate and is a mask composed by a bitwise inclusive OR of one or more of the
masks shown in Table 1.
.bp
.TS
c s
l l
l lw(4i).
Table 1 XkbAllocClientMap Masks
_
Mask Effect
_
XkbKeyTypesMask T{
The type_count field specifies the number of entries to preallocate for the
types field of the client map. If the type_count field is less than
XkbNumRequiredTypes returns BadValue.
T}
.sp
XkbKeySymsMask T{
The min_key_code and max_key_code fields of the xkb parameter are used to
allocate the syms and key_sym_map fields of the client map. The fields are
allocated to contain the maximum number of entries necessary for max_key_code -
min_key_code + 1 keys.
T}
.sp
XkbModifierMapMask T{
The min_key_code and max_key_code fields of the xkb parameter are used to
allocate the modmap field of the client map. The field is allocated to contain
the maximum number of entries necessary for max_key_code - min_key_code + 1
keys.
T}
.TE
NOTE: The
.I min_key_code
and
.I max_key_code
fields of the
.I xkb
parameter must be legal values if the XkbKeySymsMask or XkbModifierMapMask masks
are set in the
.I which
parameter. If they are not valid,
.I XkbAllocClientMap
returns BadValue.
If the client map of the keyboard description is not NULL, and any fields are
already allocated in the client map,
.I XkbAllocClientMap
does not overwrite the existing values; it simply ignores that part of the
request. The only exception is the
.I types
array. If
.I type_count
is greater than the current
.I num_types
field of the client map,
.I XkbAllocClientMap
resizes the
.I types
array and resets the
.I num_types
field accordingly.
If
.I XkbAllocClientMap
is successful, it returns Success. Otherwise, it can return either BadMatch,
BadAlloc, or BadValue errors.
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadMatch
A compatible version of Xkb was not available in the server or an argument has
correct type and range, but is otherwise invalid
.TP 15
.B BadValue
An argument is out of range
.SH "SEE ALSO"
.BR XkbAllocClientMap (__libmansuffix__),
.BR XkbAllocServerMap (__libmansuffix__),
.BR XkbFreeClientMap, (__libmansuffix__),
.BR XkbFreeServerMap (__libmansuffix__),
.BR XkbGetMap (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbFreeGeomProperties.man 0000644 0001750 0001750 00000005421 14222353101 015747 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbFreeGeomProperties __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbFreeGeomProperties \- Free geometry properties
.SH SYNOPSIS
.HP
.B void XkbFreeGeomProperties
.BI "(\^XkbGeometryPtr " "geom" "\^,"
.BI "int " "first" "\^,"
.BI "int " "count" "\^,"
.BI "Bool *" "free_all" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- geom
geometry in which properties should be freed
.TP
.I \- first
first property to be freed
.TP
.I \- count
number of properties to be freed
.TP
.I \- free_all
True => all properties are freed
.SH DESCRIPTION
.LP
Xkb provides a number of functions to allocate and free subcomponents of a
keyboard geometry. Use these functions to create or modify keyboard geometries.
Note that these functions merely allocate space for the new element(s), and it
is up to you to fill in the values explicitly in your code. These allocation
functions increase
.I sz_*
but never touch
.I num_*
(unless there is an allocation failure, in which case they reset both
.I sz_*
and
.I num_*
to zero). These functions return Success if they succeed, BadAlloc if they are
not able to allocate space, or BadValue if a parameter is not as expected.
If
.I free_all
is True, all properties are freed regardless of the value of
.I first
or
.I count.
Otherwise,
.I count
properties are freed beginning with the one specified by
.I first.
.SH "RETURN VALUES"
.TP 15
Success
The XkbFreeGeomProperties function returns Success when there are no allocation
or argument errors.
.SH DIAGNOSTICS
.TP 15
.B BadAlloc
Unable to allocate storage
.TP 15
.B BadValue
An argument is out of range
libX11-1.7.5/man/xkb/XkbKeyActionEntry.man 0000644 0001750 0001750 00000011224 14222353101 015107 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbKeyActionEntry __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbKeyActionEntry \- Returns a pointer to the key action corresponding to
group grp and shift level lvl from the two-dimensional table of key actions
associated with the key corresponding to
keycode
.SH SYNOPSIS
.HP
.B XkbAction * XkbKeyActionEntry
.BI "(\^XkbDescPtr " "xkb" "\^,"
.BI "KeyCode " "keycode" "\^,"
.BI "int " "shift" "\^,"
.BI "int " "grp" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- xkb
Xkb description of interest
.TP
.I \- keycode
keycode of interest
.TP
.I \- shift
shift level within group
.TP
.I \- grp
group index for group of interest
.SH DESCRIPTION
.LP
A key action defines the effect key presses and releases have on the internal
state of the server. For example,
the expected key action associated with pressing the Shift key is to set the
Shift modifier. There is zero or one
key action associated with each keysym bound to each key.
Just as the entire list of key symbols for the keyboard mapping is held in the
.I syms
field of the client map, the entire list of key actions for the keyboard mapping
is held in the
.I acts
array of the server map. The total size of
.I acts
is specified by
.I size_acts,
and the number of entries is specified by
.I num_acts.
The
.I key_acts
array, indexed by keycode, describes the actions associated with a key. The
.I key_acts
array has
.I min_key_code
unused entries at the start to allow direct indexing using a keycode. If a
.I key_acts
entry is zero, it means the key does not have any actions associated with it. If
an entry is not zero, the entry
represents an index into the
.I acts
field of the server map, much as the
.I offset
field of a KeySymMapRec structure is an index into the
.I syms
field of the client map.
The reason the
.I acts
field is a linear list of XkbActions is to reduce the memory consumption
associated with a keymap. Because Xkb
allows individual keys to have multiple shift levels and a different number of
groups per key, a single
two-dimensional array of KeySyms would potentially be very large and sparse.
Instead, Xkb provides a small
two-dimensional array of XkbActions for each key. To store all of these
individual arrays, Xkb concatenates each
array together in the
.I acts
field of the server map.
The key action structures consist only of fields of type char or unsigned char.
This is done to optimize data
transfer when the server sends bytes over the wire. If the fields are anything
but bytes, the server has to sift
through all of the actions and swap any nonbyte fields. Because they consist of
nothing but bytes, it can just
copy them out.
.I XkbKeyActionEntry
returns the key action corresponding to group
.I grp
and shift level
.I lvl
from the two-dimensional table of key actions associated with the key
corresponding to
.I keycode.
.SH STRUCTURES
.LP
The KeySymMapRec structure is defined as follows:
.nf
#define XkbNumKbdGroups 4
#define XkbMaxKbdGroup (XkbNumKbdGroups-1)
typedef struct { /\&* map to keysyms for a single keycode */
unsigned char kt_index[XkbNumKbdGroups]; /\&* key type index for each group */
unsigned char group_info; /\&* # of groups and out of range group handling */
unsigned char width; /\&* max # of shift levels for key */
unsigned short offset; /\&* index to keysym table in syms array */
} XkbSymMapRec, *XkbSymMapPtr;
.fi
libX11-1.7.5/man/xkb/XkbAddGeomColor.man 0000644 0001750 0001750 00000006523 14222353101 014504 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbAddGeomColor __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbAddGeomColor \- Add one color name to an existing keyboard geometry
description
.SH SYNOPSIS
.HP
.B XkbColorPtr XkbAddGeomColor
.BI "(\^XkbGeometryPtr " "geom" "\^,"
.BI "char *" "spec" "\^,"
.BI "unsigned int " "pixel" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- geom
geometry to be updated
.TP
.I \- spec
color to be added
.TP
.I \- pixel
color to be added
.SH DESCRIPTION
.LP
Xkb provides functions to add a single new element to the top-level keyboard
geometry. In each case the
.I num_ *
fields of the corresponding structure is incremented by 1. These functions do
not change
.I sz_*
unless there is no more room in the array. Some of these functions fill in the
values of the element's structure from the arguments. For other functions, you
must explicitly write code to fill the structure's elements.
The top-level geometry description includes a list of
.I geometry properties.
A geometry property associates an arbitrary string with an equally arbitrary
name. Programs that display images of keyboards can use geometry properties as
hints, but they are not interpreted by Xkb. No other geometry structures refer
to geometry properties.
.I XkbAddGeomColor
adds the specified color
.I name
and
.I pixel
to the specified geometry
.I geom.
The top-level geometry description includes a list of up to MaxColors (32)
.I color names.
A color
.I name
is a string whose interpretation is not specified by Xkb and neither is the
.I pixel
value's interpretation. All other geometry data structures refer to colors using
their indices in this global list or pointers to colors in this list.
.I XkbAddGeomColor
returns NULL if any of the parameters is empty or if it was not able to allocate
space for the color. To allocate space for an arbitrary number of colors to a
geometry, use the
.I XkbAllocGeomColors
function.
.SH STRUCTURES
.LP
.nf
typedef struct _XkbColor {
unsigned int pixel; /\&* color */
char * spec; /\&* color name */
} XkbColorRec,*XkbColorPtr;
.fi
.SH "SEE ALSO"
.BR XkbAllocGeomColors (__libmansuffix__)
libX11-1.7.5/man/xkb/XkbKeyTypesForCoreSymbols.man 0000644 0001750 0001750 00000017234 14222353101 016614 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbKeyTypesForCoreSymbols __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbKeyTypesForCoreSymbols \- Determine the Xkb key types appropriate for the
symbols bound to a key in a core keyboard mapping
.SH SYNOPSIS
.HP
.B int XkbKeyTypesForCoreSymbols
.BI "(\^XkbDescPtr " "xkb" "\^,"
.BI "int " "map_width" "\^,"
.BI "KeySym *" "core_syms" "\^,"
.BI "unsigned int " "protected" "\^,"
.BI "int *" "types_inout" "\^,"
.BI "KeySym *" "xkb_syms_rtrn" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- xkb
keyboard description in which to place symbols
.TP
.I \- map_width
width of core protocol keymap in xkb_syms_rtrn
.TP
.I \- core_syms
core protocol format array of KeySyms
.TP
.I \- protected
explicit key types
.TP
.I \- types_inout
backfilled with the canonical types bound to groups one and two for the key
.TP
.I \- xkb_syms_rtrn
backfilled with symbols bound to the key in the Xkb mapping
.SH DESCRIPTION
.LP
.I XkbKeyTypesForCoreSymbols
expands the symbols in
.I core_syms
and types in
.I types_inout,
then chooses canonical key types (canonical key types are
defined The Canonical Key Types) for groups 1 and 2 using the rules specified by
the Xkb protocol and places them in xkb_syms_rtrn, which will be non-NULL.
.B The Canonical Key Types
Xkb allows up to XkbMaxKeyTypes (255) key types to be defined, but requires at
least XkbNumRequiredTypes (4) predefined types to be in a key map. These
predefined key types are referred to as the canonical key types and describe the
types of keys available on most keyboards. The definitions for the canonical key
types are held in the first XkbNumRequiredTypes entries of the
.I types
field of the client map and are indexed using the following constants:
.nf
XkbOneLevelIndex
XkbTwoLevelIndex
XkbAlphabeticIndex
XkbKeypadIndex
.fi
ONE_LEVEL
The ONE_LEVEL key type describes groups that have only one symbol. The default
ONE_LEVEL key type has no map entries and does not pay attention to any
modifiers. A symbolic representation of this key type could look like the
following:
.nf
type "ONE_LEVEL" {
modifiers = None;
map[None]= Level1;
level_name[Level1]= "Any";
};
.fi
The description of the ONE_LEVEL key type is stored in the
types[XkbOneLevelIndex] entry of the client key map.
TWO_LEVEL
The TWO_LEVEL key type describes groups that consist of two symbols but are
neither alphabetic nor numeric keypad keys. The default TWO_LEVEL type uses only
the Shift modifier. It returns shift level two if Shift is set, and level one if
it is not. A symbolic representation of this key type could look like the
following:
.nf
type "TWO_LEVEL" {
modifiers = Shift;
map[Shift]= Level2;
level_name[Level1]= "Base";
level_name[Level2]= "Shift";
};
.fi
The description of the TWO_LEVEL key type is stored in the
types[XkbTwoLevelIndex] entry of the client key map.
ALPHABETIC
The ALPHABETIC key type describes groups consisting of two symbols: the
lowercase form of a symbol followed by the uppercase form of the same symbol.
The default ALPHABETIC type implements locale-sensitive "Shift cancels CapsLock"
behavior using both the Shift and Lock modifiers as follows:
.IP \(bu 5
If Shift and Lock are both set, the default ALPHABETIC type yields level one.
.IP \(bu 5
If Shift alone is set, it yields level two.
.IP \(bu 5
If Lock alone is set, it yields level one, but preserves the Lock modifier so
Xlib notices and applies the appropriate capitalization rules. The Xlib
functions are locale-sensitive and apply different capitalization rules for
different locales.
.IP \(bu 5
If neither Shift nor Lock is set, it yields level one.
A symbolic representation of this key type could look like the following:
.nf
type "ALPHABETIC" {
modifiers = Shift+Lock;
map[Shift]= Level2;
preserve[Lock]= Lock;
level_name[Level1]= "Base";
level_name[Level2]= "Caps";
};
.fi
The description of the ALPHABETIC key type is stored in the
types[XkbAlphabeticIndex] entry of the client key map.
KEYPAD
The KEYPAD key type describes groups that consist of two symbols, at least one
of which is a numeric keypad symbol. The numeric keypad symbol is assumed to
reside at level two. The default KEYPAD key type implements "Shift cancels
NumLock" behavior using the Shift modifier and the real modifier bound to the
virtual modifier named "NumLock," known as the NumLock modifier, as follows:
.IP \(bu 5
If Shift and NumLock are both set, the default KEYPAD type yields level one.
.IP \(bu 5
If Shift alone is set, it yields level two.
.IP \(bu 5
If NumLock alone is set, it yields level two.
.IP \(bu 5
If neither Shift nor NumLock is set, it yields level one.
A symbolic representation of this key type could look like the following:
.nf
type "KEYPAD" {
modifiers = Shift+NumLock;
map[None]= Level1;
map[Shift]= Level2;
map[NumLock]= Level2;
map[Shift+NumLock]= Level1;
level_name[Level1]= "Base";
level_name[Level2]= "Caps";
};
.fi
The description of the KEYPAD key type is stored in the types[XkbKeypadIndex]
entry of the client key map.
A core keymap is a two-dimensional array of keysyms. It has
.I map_width
columns and
.I max_key_code
rows.
.I XkbKeyTypesForCoreSymbols
takes a single row from a core keymap, determines the number of groups
associated with it, the type of each group, and the symbols bound to each group.
The return value is the number of groups,
.I types_inout
has the types for each group, and
.I xkb_syms_rtrn
has the symbols in Xkb order (that is, groups are contiguous, regardless of
size).
.I protected
contains the explicitly protected key types. There is one explicit override
control associated with each of the four possible groups for each Xkb key,
ExplicitKeyType1 through ExplicitKeyType4;
.I protected
is an inclusive OR of these controls.
.I map_width
is the width of the core keymap and is not dependent on any Xkb definitions.
.I types_inout
is an array of four type indices. On input,
.I types_inout
contains the indices of any types already assigned to the key, in case they are
explicitly protected from change.
Upon return,
.I types_inout
contains any automatically selected (that is, canonical) types plus any
protected types. Canonical types are assigned to all four groups if there are
enough symbols to do so. The four entries in
.I types_inout
correspond to the four groups for the key in question.
libX11-1.7.5/man/xkb/XkbGetAccessXTimeout.man 0000644 0001750 0001750 00000013334 14222353101 015543 0000000 0000000 .\" Copyright 1999 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.
.\"
.TH XkbGetAccessXTimeout __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetAccessXTimeout \- Queries the current AccessXTimeout options for a
keyboard device
.SH SYNOPSIS
.HP
.B Bool XkbGetAccessXTimeout
.BI "(\^Display *" "display" "\^,"
.BI "unsigned int " "device_spec" "\^,"
.BI "unsigned short *" "timeout_rtrn" "\^,"
.BI "unsigned int *" "ctrls_mask_rtrn" "\^,"
.BI "unsigned int *" "ctrls_values_rtrn" "\^,"
.BI "unsigned short *" "options_mask_rtrn" "\^,"
.BI "unsigned short *" "options_values_rtrn" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- display
unsigned short
.TP
.I \- device_spec
device to query, or XkbUseCoreKbd
.TP
.I \- timeout_rtrn
delay until AccessXTimeout, seconds
.TP
.I \- ctrls_mask_rtrn
backfilled with controls to modify
.TP
.I \- ctrls_values_rtrn
backfilled with on/off status for controls
.TP
.I \- options_mask_rtrn
backfilled with ax_options to modify
.TP
.I \- options_values_rtrn
backfilled with values for ax_options
.SH DESCRIPTION
.LP
In environments where computers are shared, features such as SlowKeys present a
problem: if
SlowKeys is on, the keyboard can appear to be unresponsive because keys are not
accepted
until they are held for a certain period of time. To help solve this problem,
Xkb provides
an AccessXTimeout control to automatically change the enabled/disabled state of
any boolean
controls and to change the value of the AccessXKeys and AccessXFeedback control
attributes
if the keyboard is idle for a specified period of time.
When a timeout as specified by AccessXTimeout occurs and a control is
consequently modified,
Xkb generates an XkbControlsNotify event.
.I XkbGetAccessXTimeout
sends a request to the X server to obtain the current values for the
AccessXTimeout attributes, waits for a reply, and backfills the values into the
appropriate arguments. The parameters
.I options_mask_rtrn
and
.I options_values_rtrn
are backfilled with the options to modify and the values for
.I ax_options,
which is a field in the XkbControlsRec structure.
.I XkbGetAccessXTimeout
returns True if successful; if a compatible version of the Xkb extension is not
available in the server,
.I XkbGetAccessXTimeout
returns False.
.SH "RETURN VALUES"
.TP 15
True
The
.I XkbGetAccessXTimeout
returns True when it successfully sends a request to the X server to obtain the
current values for the AccessXTimeout attributes, waits for a reply, and
backfills the values into the appropriate arguments.
.TP 15
False
The
.I XkbGetAccessXTimeout
function returns False if a compatible version of the Xkb extension is not
available in the
server.
.SH STRUCTURES
.LP
.nf
The XkbControlsRec structure is defined as follows:
\define XkbMaxLegalKeyCode 255
\define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
typedef struct {
unsigned char mk_dflt_btn; /\&* default button for keyboard driven mouse */
unsigned char num_groups; /\&* number of keyboard groups */
unsigned char groups_wrap; /\&* how to wrap out-of-bounds groups */
XkbModsRec internal; /\&* defines server internal modifiers */
XkbModsRec ignore_lock; /\&* modifiers to ignore when checking for grab */
unsigned int enabled_ctrls; /\&* 1 bit => corresponding boolean control enabled */
unsigned short repeat_delay; /\&* ms delay until first repeat */
unsigned short repeat_interval; /\&* ms delay between repeats */
unsigned short slow_keys_delay; /\&* ms minimum time key must be down to be ok */
unsigned short debounce_delay; /\&* ms delay before key reactivated */
unsigned short mk_delay; /\&* ms delay to second mouse motion event */
unsigned short mk_interval; /\&* ms delay between repeat mouse events */
unsigned short mk_time_to_max; /\&* # intervals until constant mouse move */
unsigned short mk_max_speed; /\&* multiplier for maximum mouse speed */
short mk_curve; /\&* determines mouse move curve type */
unsigned short ax_options; /\&* 1 bit => Access X option enabled */
unsigned short ax_timeout; /\&* seconds until Access X disabled */
unsigned short axt_opts_mask; /\&* 1 bit => options to reset on Access X timeout */
unsigned short axt_opts_values; /\&* 1 bit => turn option on, 0=> off */
unsigned int axt_ctrls_mask; /\&* which bits in enabled_ctrls to modify */
unsigned int axt_ctrls_values; /\&* values for new bits in enabled_ctrls */
unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\&* per key auto repeat */
} XkbControlsRec, *XkbControlsPtr;
.fi
libX11-1.7.5/man/xkb/XkbSAGroup.man 0000644 0001750 0001750 00000004070 14222353101 013520 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbSAGroup __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbSAGroup \- Returns the group_XXX field of act converted to a signed int
.SH SYNOPSIS
.HP
.B int XkbSAGroup
.BI "(\^XkbAction " "act" "\^);"
.SH ARGUMENTS
.TP
.I \- act
action from which to extract group
.SH DESCRIPTION
.LP
.I XkbSAGroup
returns the
.I group_XXX
field of
.I act
converted to a signed int.
.SH STRUCTURE
.LP
Actions associated with the XkbGroupAction structure change the current group
state when keys are
pressed and released:
.nf
.ft CW
typedef struct _XkbGroupAction {
unsigned char type; /\&* XkbSA_{Set|Latch|Lock}Group */
unsigned char flags; /\&* with type, controls the effect on groups */
char group_XXX; /\&* represents a group index or delta */
} XkbGroupAction;
.ft
.fi
.SH WARNING
.LP
This manpage seems to be incomplete
libX11-1.7.5/man/xkb/XkbSetServerInternalMods.man 0000644 0001750 0001750 00000016637 14222353101 016456 0000000 0000000 '\" t
.\" Copyright 1999 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.
.\"
.TH XkbSetServerInternalMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbSetServerInternalMods \- Sets the modifiers that are consumed by the server
before events are delivered to the client
.SH SYNOPSIS
.HP
.B Bool XkbSetServerInternalMods
.BI "(\^Display *" "display" "\^,"
.BI "unsigned int " "device_spec" "\^,"
.BI "unsigned int " "affect_real" "\^,"
.BI "unsigned int " "real_values" "\^,"
.BI "unsigned int " "affect_virtual" "\^,"
.BI "unsigned int " "virtual_values" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
.TP
.I \- display
connection to the X server
.TP
.I \- device_spec
device ID, or XkbUseCoreKbd
.TP
.I \- affect_real
mask of real modifiers affected by this call
.TP
.I \- real_values
values for affected real modifiers (1=>set, 0=>unset)
.TP
.I \- affect_virtual
mask of virtual modifiers affected by this call
.TP
.I \- virtual_values
values for affected virtual modifiers (1=>set, 0=>unset)
.SH DESCRIPTION
.LP
The core protocol does not provide any means to prevent a modifier from being
reported in events sent to clients; Xkb, however makes this possible via the
InternalMods control. It specifies modifiers that should be consumed by the
server and not reported to clients. When a key is pressed and a modifier that
has its bit set in the InternalMods control is reported to the server, the
server uses the modifier when determining the actions to apply for the key. The
server then clears the bit, so it is not actually reported to the client. In
addition, modifiers specified in the InternalMods control are not used to
determine grabs and are not used to calculate core protocol compatibility state.
Manipulate the InternalMods control via the
.I internal
field in the XkbControlsRec structure, using
.I XkbSetControls
and
.I XkbGetControls.
Alternatively, use
.I XkbSetServerInternalMods.
.I XkbSetServerInternalMods
sends a request to the server to change the internal modifiers consumed by the
server.
.I affect_real
and
.I real_values
are masks of real modifier bits indicating which real modifiers are to be added
and removed from the server's internal modifiers control. Modifiers selected by
both
.I affect_real
and
.I real_values
are added to the server's internal modifiers control; those selected by
.I affect_real
but not by
.I real_values
are removed from the server's internal modifiers mask. Valid values for
.I affect_real
and
.I real_values
consist of any combination of the eight core modifier bits: ShiftMask, LockMask,
ControlMask, Mod1Mask - Mod5Mask.
.I affect_virtual
and
.I virtual_values
are masks of virtual modifier bits indicating which virtual modifiers are to be
added and removed from the server's internal modifiers control. Modifiers
selected by both
.I affect_virtual
and
.I virtual_values
are added to the server's internal modifiers control; those selected by
.I affect_virtual
but not by
.I virtual_values
are removed from the server's internal modifiers control. See below for a
discussion of virtual modifier masks to use in
.I affect_virtual
and
.I virtual_values. XkbSetServerInternalMods
does not wait for a reply from the server. It returns True if the request was
sent and False otherwise.
Virtual modifiers are named by converting their string name to an X Atom and
storing the Atom in the
.I names.vmods
array in an XkbDescRec structure. The position of a name Atom in the
.I names.vmods
array defines the bit position used to represent the virtual modifier and also
the index used when accessing virtual modifier information in arrays: the name
in the i-th (0 relative) entry of
.I names.vmods
is the i-th virtual modifier, represented by the mask (1<