diff options
Diffstat (limited to 'libX11/man')
-rw-r--r-- | libX11/man/Compose.man | 158 | ||||
-rw-r--r-- | libX11/man/Makefile.am | 17 | ||||
-rw-r--r-- | libX11/man/Makefile.in | 62 | ||||
-rw-r--r-- | libX11/man/XLookupKeysym.man | 6 | ||||
-rw-r--r-- | libX11/man/XmbLookupString.man | 3 |
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 |