aboutsummaryrefslogtreecommitdiff
path: root/libX11/man
diff options
context:
space:
mode:
Diffstat (limited to 'libX11/man')
-rw-r--r--libX11/man/Compose.man158
-rw-r--r--libX11/man/Makefile.am17
-rw-r--r--libX11/man/Makefile.in62
-rw-r--r--libX11/man/XLookupKeysym.man6
-rw-r--r--libX11/man/XmbLookupString.man3
5 files changed, 223 insertions, 23 deletions
diff --git a/libX11/man/Compose.man b/libX11/man/Compose.man
new file mode 100644
index 000000000..213d6d44c
--- /dev/null
+++ b/libX11/man/Compose.man
@@ -0,0 +1,158 @@
+.\" Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" 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
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.\" shorthand for double quote that works everywhere.
+.ds q \N'34'
+.ds xL Xlib \- C Language X Interface
+.TH Compose __filemansuffix__ __vendorversion__
+.SH NAME
+Compose \- X client mappings for multi-key input sequences
+.SH DESCRIPTION
+The X library, libX11, provides a simple input method for characters
+beyond those represented on typical keyboards using sequences of key
+strokes that are combined to enter a single character.
+.PP
+The compose file is searched for in the following order:
+.IP -
+If the environment variable
+.B $XCOMPOSEFILE
+is set, its value is used as the name of the Compose file.
+.IP -
+If the user's home directory has a file named
+.IR .XCompose ,
+it is used as the Compose file.
+.IP -
+The system provided compose file is used by mapping the locale to a compose
+file from the list in
+.IR __xlocaledir__/compose.dir .
+.PP
+Compose files can use an
+.RB \*q include \*q
+instruction. This allows local modifications to be made to existing compose
+files without including all of the content directly. For example, the
+system's iso8859-1 compose file can be included with a line like this:
+.RS 4
+.BI "include \*q" __xlocaledir__/iso8859-1/Compose \*q
+.RE
+.PP
+There are two substitutions that can be made in the file name of the
+include instruction.
+.I %H
+expands to the user's home directory (the
+.B $HOME
+environment variable), and
+.I %L
+expands to the name of the locale specific Compose file (i.e.,
+.RI \*q __xlocaledir__/<localename>/Compose \*q).
+.PP
+For example, you can include in your compose file the default Compose file
+by using:
+.RS
+.B "include \*q%L\*q"
+.RE
+and then rewrite only the few rules that you need to change. New
+compose rules can be added, and previous ones replaced.
+.SH FILE FORMAT
+.\" Based on grammar description in modules/im/ximcp/imLcPrs.c
+Compose files are plain text files, with a separate line for each compose
+sequence. Comments begin with \fB#\fP characters. Each compose sequence
+specifies one or more events and a resulting input sequence, with an optional
+comment at the end of the line:
+.RS
+\fIEVENT\fP [\fIEVENT\fP...] \fB:\fP \fIRESULT\fP [\fB#\fP \fICOMMENT\fP]
+.RE
+.PP
+Each event consists of a specified input keysym, and optional modifier states:
+.RS
+[\fIMODIFIER_LIST\fP] \fB<\fP\fIkeysym\fP\fB>\fP
+.RE
+.PP
+Each modifier consists of a specified modifier and a state:
+.RS
+(\fB!\fP \fIMODIFIER\fP ) | \fBNone\fP
+.RE
+Modifiers may be preceded by a
+.RB \*q "~" \*q
+character to indicate that the modifier must not be present.
+.PP
+The result specifies a string, keysym, or both, that the X client receives
+as input when the sequence of events is input:
+.RS
+\fB\*q\fP\fISTRING\fP\fB\*q\fP | \fIkeysym\fP | \fB\*q\fP\fISTRING\fP\fB\*q\fP \fIkeysym\fP
+.RE
+.PP
+Keysyms are specified without the \fBXK_\fP prefix.
+.PP
+Strings may be direct text encoded in the locale for which the compose file is
+to be used, or an escaped octal or hexadecimal character code. Octal codes
+are specified as \fB\*q\\123\*q\fP and hexadecimal codes as
+\fB\*q\\0x123a\*q\fP.
+It is not necessary to specify in the right part of a rule a locale encoded
+string in addition to the keysym name. If the string is omitted, Xlib
+figures it out from the keysym according to the current locale.
+I.e., if a rule looks like:
+.RS
+\fB<dead_grave> <A> : \*q\\300\*q Agrave\fP
+.RE
+the result of the composition is always the letter with the "\\300"
+code. But if the rule is:
+.RS
+\fB<dead_grave> <A> : Agrave\fP
+.RE
+the result depends on how Agrave is mapped in the current locale.
+.SH ENVIRONMENT
+.TP
+.B XCOMPOSEFILE
+File to use for compose sequences.
+.TP
+.B XCOMPOSECACHE
+Directory to use for caching compiled compose files.
+.SH FILES
+.TP
+.I $HOME/.Xcompose
+User default compose file if XCOMPOSEFILE is not set.
+.TP
+.I __xlocaledir__/compose.dir
+File listing the compose file path to use for each locale.
+.TP
+.I __xlocaledir__/<localemapping>/Compose
+System default compose file for the locale, mapped via compose.dir.
+.TP
+.I /var/cache/libx11/compose/
+System-wide cache directory for compiled compose files.
+.TP
+.I $HOME/.compose-cache/
+Per-user cache directory for compiled compose files.
+.SH SEE ALSO
+.BR XLookupString (__libmansuffix__),
+.BR XmbLookupString (__libmansuffix__),
+.BR XwcLookupString (__libmansuffix__),
+.BR Xutf8LookupString (__libmansuffix__),
+.BR mkcomposecache (__appmansuffix__),
+.BR locale (__miscmansuffix__).
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/Makefile.am b/libX11/man/Makefile.am
index 045c7dc5b..c6aff51f5 100644
--- a/libX11/man/Makefile.am
+++ b/libX11/man/Makefile.am
@@ -194,30 +194,39 @@ libman_PRE = \
XmbTextExtents.man \
XmbTextPerCharExtents.man
+filemandir = $(FILE_MAN_DIR)
+fileman_PRE = Compose.man
+
# What we actually install
if MANPAGES
libman_DATA = $(libman_PRE:man=@LIB_MAN_SUFFIX@) \
$(all_shadows:=.@LIB_MAN_SUFFIX@)
+
+fileman_DATA = $(fileman_PRE:man=@FILE_MAN_SUFFIX@)
endif
-EXTRA_DIST = $(libman_PRE)
+EXTRA_DIST = $(libman_PRE) $(fileman_PRE)
-CLEANFILES = $(libman_DATA)
+CLEANFILES = $(libman_DATA) $(fileman_DATA)
include $(top_srcdir)/cpprules.in
-SUFFIXES += .$(LIB_MAN_SUFFIX) .man
+SUFFIXES += .$(LIB_MAN_SUFFIX) .$(FILE_MAN_SUFFIX) .man
XORGRELSTRING = @PACKAGE_STRING@
XORGMANNAME = X Version 11
MANDEFS = -D__libmansuffix__=$(LIB_MAN_SUFFIX) \
+ -D__appmansuffix__=$(APP_MAN_SUFFIX) \
+ -D__filemansuffix__=$(FILE_MAN_SUFFIX) \
+ -D__miscmansuffix__=$(MISC_MAN_SUFFIX) \
+ -D__xlocaledir__="$(X11_LOCALEDATADIR)" \
-D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\""
CPP_MAN_FLAGS = $(MANDEFS) $(EXTRAMANDEFS)
-.man.$(LIB_MAN_SUFFIX):
+.man.$(LIB_MAN_SUFFIX) .man.$(FILE_MAN_SUFFIX):
$(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(CPP_MAN_FLAGS) < $< | $(CPP_SED_MAGIC) > $@
# Generate man page shadow files (Replaces InstallManPageAliases from Imake)
diff --git a/libX11/man/Makefile.in b/libX11/man/Makefile.in
index 303f821de..2032f55bb 100644
--- a/libX11/man/Makefile.in
+++ b/libX11/man/Makefile.in
@@ -90,8 +90,8 @@ am__nobase_list = $(am__nobase_strip_setup); \
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(libmandir)"
-DATA = $(libman_DATA)
+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=) \
@@ -486,14 +486,17 @@ libman_PRE = \
XmbTextExtents.man \
XmbTextPerCharExtents.man
+filemandir = $(FILE_MAN_DIR)
+fileman_PRE = Compose.man
# What we actually install
@MANPAGES_TRUE@libman_DATA = $(libman_PRE:man=@LIB_MAN_SUFFIX@) \
@MANPAGES_TRUE@ $(all_shadows:=.@LIB_MAN_SUFFIX@)
-EXTRA_DIST = $(libman_PRE)
-CLEANFILES = $(libman_DATA)
-SUFFIXES = .pre .$(LIB_MAN_SUFFIX) .man
+@MANPAGES_TRUE@fileman_DATA = $(fileman_PRE:man=@FILE_MAN_SUFFIX@)
+EXTRA_DIST = $(libman_PRE) $(fileman_PRE)
+CLEANFILES = $(libman_DATA) $(fileman_DATA)
+SUFFIXES = .pre .$(LIB_MAN_SUFFIX) .$(FILE_MAN_SUFFIX) .man
WCHAR32_FLAGS = -DWCHAR32=@WCHAR32@
CPP_FILES_FLAGS = $(WCHAR32_FLAGS)
@@ -514,6 +517,10 @@ CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \
XORGRELSTRING = @PACKAGE_STRING@
XORGMANNAME = X Version 11
MANDEFS = -D__libmansuffix__=$(LIB_MAN_SUFFIX) \
+ -D__appmansuffix__=$(APP_MAN_SUFFIX) \
+ -D__filemansuffix__=$(FILE_MAN_SUFFIX) \
+ -D__miscmansuffix__=$(MISC_MAN_SUFFIX) \
+ -D__xlocaledir__="$(X11_LOCALEDATADIR)" \
-D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\""
CPP_MAN_FLAGS = $(MANDEFS) $(EXTRAMANDEFS)
@@ -1523,7 +1530,7 @@ XmbTextPerCharExtents_shadowmen = $(XmbTextPerCharExtents_shadows:=.@LIB_MAN_SUF
all: all-recursive
.SUFFIXES:
-.SUFFIXES: .pre .$(LIB_MAN_SUFFIX) .man
+.SUFFIXES: .pre .$(LIB_MAN_SUFFIX) .$(FILE_MAN_SUFFIX) .man
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/cpprules.in $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
@@ -1560,6 +1567,26 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
+install-filemanDATA: $(fileman_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(filemandir)" || $(MKDIR_P) "$(DESTDIR)$(filemandir)"
+ @list='$(fileman_DATA)'; test -n "$(filemandir)" || list=; \
+ 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|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(filemandir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(filemandir)" && rm -f $$files
install-libmanDATA: $(libman_DATA)
@$(NORMAL_INSTALL)
test -z "$(libmandir)" || $(MKDIR_P) "$(DESTDIR)$(libmandir)"
@@ -1779,7 +1806,7 @@ check: check-recursive
all-am: Makefile $(DATA)
installdirs: installdirs-recursive
installdirs-am:
- for dir in "$(DESTDIR)$(libmandir)"; do \
+ for dir in "$(DESTDIR)$(filemandir)" "$(DESTDIR)$(libmandir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
@@ -1828,7 +1855,7 @@ info: info-recursive
info-am:
-install-data-am: install-libmanDATA
+install-data-am: install-filemanDATA install-libmanDATA
install-dvi: install-dvi-recursive
@@ -1872,7 +1899,7 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-libmanDATA
+uninstall-am: uninstall-filemanDATA uninstall-libmanDATA
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
install-am install-strip tags-recursive
@@ -1883,20 +1910,21 @@ uninstall-am: uninstall-libmanDATA
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-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-recursive uninstall uninstall-am \
+ 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-recursive \
+ uninstall uninstall-am uninstall-filemanDATA \
uninstall-libmanDATA
.pre:
$(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@
-.man.$(LIB_MAN_SUFFIX):
+.man.$(LIB_MAN_SUFFIX) .man.$(FILE_MAN_SUFFIX):
$(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(CPP_MAN_FLAGS) < $< | $(CPP_SED_MAGIC) > $@
$(AllPlanes_shadowmen):
$(AM_V_GEN)echo ".so man$(LIB_MAN_DIR_SUFFIX)/AllPlanes.$(LIB_MAN_SUFFIX)" > $@
diff --git a/libX11/man/XLookupKeysym.man b/libX11/man/XLookupKeysym.man
index 4449f2a93..9167ea0c8 100644
--- a/libX11/man/XLookupKeysym.man
+++ b/libX11/man/XLookupKeysym.man
@@ -267,6 +267,10 @@ Note that you can rebind a KeySym that may not exist.
.SH "SEE ALSO"
XButtonEvent(__libmansuffix__),
XMapEvent(__libmansuffix__),
-XStringToKeysym(__libmansuffix__)
+XStringToKeysym(__libmansuffix__),
+XmbLookupString(__libmansuffix__),
+XwcLookupString(__libmansuffix__),
+Xutf8LookupString(__libmansuffix__),
+Compose(__filemansuffix__)
.br
\fI\*(xL\fP
diff --git a/libX11/man/XmbLookupString.man b/libX11/man/XmbLookupString.man
index c5c1ef434..ac1e73a46 100644
--- a/libX11/man/XmbLookupString.man
+++ b/libX11/man/XmbLookupString.man
@@ -306,6 +306,7 @@ release. Its presence is
indicated by the macro
.ZN X_HAVE_UTF8_STRING .
.SH "SEE ALSO"
-XLookupKeysym(__libmansuffix__)
+XLookupKeysym(__libmansuffix__),
+Compose(__filemansuffix__)
.br
\fI\*(xL\fP