diff options
author | Sergey Udaltsov <svu@gnome.org> | 2006-03-11 00:39:26 +0000 |
---|---|---|
committer | Sergey Udaltsov <svu@gnome.org> | 2006-03-11 00:39:26 +0000 |
commit | 1ff7d5ff76a35182526663e8c2dc9862ca7cd4d1 (patch) | |
tree | 2c80e4fbbc0b45f7ba1d86b94c30b03a03f3bd7c | |
parent | 4d8ead1605ca4117fd70e36766990c28ca4a161e (diff) | |
download | libxklavier-1ff7d5ff76a35182526663e8c2dc9862ca7cd4d1.tar.gz |
gtkdocize
-rw-r--r-- | Doxyfile.in | 1165 | ||||
-rw-r--r-- | Makefile.am | 17 | ||||
-rwxr-xr-x | autogen.sh | 3 | ||||
-rw-r--r-- | configure.in | 10 | ||||
-rw-r--r-- | doc/Makefile.am | 2 | ||||
-rw-r--r-- | doc/html/.cvsignore | 1 | ||||
-rw-r--r-- | doc/html/Makefile.am | 62 | ||||
-rw-r--r-- | doc/reference/.cvsignore | 11 | ||||
-rw-r--r-- | doc/reference/Makefile.am | 78 | ||||
-rw-r--r-- | libxklavier.spec.in | 5 | ||||
-rw-r--r-- | libxklavier/xkl_config_item.h | 51 | ||||
-rw-r--r-- | libxklavier/xkl_engine.h | 339 | ||||
-rw-r--r-- | libxklavier/xklavier.h | 94 | ||||
-rw-r--r-- | libxklavier/xklavier_evt.c | 24 | ||||
-rw-r--r-- | libxklavier/xklavier_evt_xkb.c | 10 | ||||
-rw-r--r-- | libxklavier/xklavier_private.h | 48 | ||||
-rw-r--r-- | libxklavier/xklavier_private_xkb.h | 2 | ||||
-rw-r--r-- | libxklavier/xklavier_toplevel.c | 14 | ||||
-rw-r--r-- | libxklavier/xklavier_util.c | 8 |
19 files changed, 429 insertions, 1515 deletions
diff --git a/Doxyfile.in b/Doxyfile.in deleted file mode 100644 index 40e2611..0000000 --- a/Doxyfile.in +++ /dev/null @@ -1,1165 +0,0 @@ -# Doxyfile 1.3.9.1 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = @PACKAGE@ - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = @VERSION@ - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = doc - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of source -# files, where putting all generated files in the same directory would otherwise -# cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, -# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, -# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, -# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, -# Swedish, and Ukrainian. - -OUTPUT_LANGUAGE = English - -# This tag can be used to specify the encoding used in the generated output. -# The encoding is not always determined by the language that is chosen, -# but also whether or not the output is meant for Windows or non-Windows users. -# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES -# forces the Windows encoding (this is the default for the Windows binary), -# whereas setting the tag to NO uses a Unix-style encoding (the default for -# all platforms other than Windows). - -USE_WINDOWS_ENCODING = NO - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is used -# as the annotated text. Otherwise, the brief description is used as-is. If left -# blank, the following values are used ("$name" is automatically replaced with the -# name of the entity): "The $name class" "The $name widget" "The $name file" -# "is" "provides" "specifies" "contains" "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited -# members of a class in the documentation of that class as if those members were -# ordinary class members. Constructors, destructors and assignment operators of -# the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like the Qt-style comments (thus requiring an -# explicit @brief command for a brief description. - -JAVADOC_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the DETAILS_AT_TOP tag is set to YES then Doxygen -# will output the detailed description near the top, like JavaDoc. -# If set to NO, the detailed description appears after the member -# documentation. - -DETAILS_AT_TOP = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources -# only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources -# only. Doxygen will then generate output that is more tailored for Java. -# For instance, namespaces will be presented as packages, qualified scopes -# will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. - -SHOW_DIRECTORIES = YES - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. - -WARN_FORMAT = - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = libxklavier - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp -# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm - -FILE_PATTERNS = xklavier.h \ - xkl_config_item.h \ - xkl_config_rec.h \ - xkl_config_registry.h \ - xkl_engine.h - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = NO - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories -# that are symbolic links (a Unix filesystem feature) are excluded from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. - -EXCLUDE_PATTERNS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command <filter> <input-file>, where <filter> -# is the value of the INPUT_FILTER tag, and <input-file> is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES (the default) -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES (the default) -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be -# generated containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. - -GENERATE_TREEVIEW = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = NO - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = NO - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_PREDEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse the -# parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or -# super classes. Setting the tag to NO turns the diagrams off. Note that this -# option is superseded by the HAVE_DOT option below. This is only a fallback. It is -# recommended to install and use dot, since it yields more powerful graphs. - -CLASS_DIAGRAMS = YES - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will -# generate a call dependency graph for every global function or class method. -# Note that enabling this option will significantly increase the time of a run. -# So in most cases it will be better to enable call graphs for selected -# functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found on the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width -# (in pixels) of the graphs generated by dot. If a graph becomes larger than -# this value, doxygen will try to truncate the graph, so that it fits within -# the specified constraint. Beware that most browsers cannot cope with very -# large images. - -MAX_DOT_GRAPH_WIDTH = 1024 - -# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height -# (in pixels) of the graphs generated by dot. If a graph becomes larger than -# this value, doxygen will try to truncate the graph, so that it fits within -# the specified constraint. Beware that most browsers cannot cope with very -# large images. - -MAX_DOT_GRAPH_HEIGHT = 1024 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes that -# lay further from the root node will be omitted. Note that setting this option to -# 1 or 2 may greatly reduce the computation time needed for large code bases. Also -# note that a graph may be further truncated if the graph's image dimensions are -# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT). -# If 0 is used for the depth value (the default), the graph is not depth-constrained. - -MAX_DOT_GRAPH_DEPTH = 0 - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO diff --git a/Makefile.am b/Makefile.am index a8a53e5..0170b86 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4,22 +4,9 @@ config_xml_DATA = xfree86.xml config_xmldir = $(datadir)/$(PACKAGE) EXTRA_DIST = libxklavier.spec libxklavier.spec.in \ - Doxyfile Doxyfile.in autogen.sh \ - CREDITS libxklavier.pc.in \ + autogen.sh \ + CREDITS libxklavier.pc.in gtk-doc.make \ $(config_xml_DATA) pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libxklavier.pc - -doxydocs: libxklavier/xklavier.h \ - libxklavier/xkl_config_item.h \ - libxklavier/xkl_config_rec.h \ - libxklavier/xkl_config_registry.h \ - libxklavier/xkl_engine.h - if test "x$(DO_DOXYGEN)" = "xyes" ; then \ - doxygen Doxyfile; \ - fi; - -all: doxydocs - -.PHONY: doxydocs @@ -133,6 +133,9 @@ do automake --add-missing --gnu $am_opt echo "Running autoconf ..." autoconf + + echo "Running gtkdocize ..." + gtkdocize || exit 1 ) fi done diff --git a/configure.in b/configure.in index 67f9100..5bf0630 100644 --- a/configure.in +++ b/configure.in @@ -25,6 +25,7 @@ dnl AC_ARG_PROGRAM AM_PROG_LIBTOOL AM_ICONV +GTK_DOC_CHECK(1.0) dnl From Bruno Haible. dnl From gnoome-vfs @@ -101,12 +102,6 @@ AC_SUBST(xkbheaders_present) CFLAGS="$save_CFLAGS" -AC_ARG_ENABLE(doxygen, -[ --enable-doxygen Build doxygen documentation], -, enable_doxygen=no) - -AC_SUBST(DO_DOXYGEN,"${enable_doxygen}") - AC_ARG_ENABLE(xkb-support, [ --enable-xkb-support Enable XKB support], , enable_xkb_support=yes) @@ -147,9 +142,8 @@ AC_OUTPUT([ Makefile libxklavier/Makefile libxklavier.spec -Doxyfile doc/Makefile -doc/html/Makefile +doc/reference/Makefile tests/Makefile libxklavier.pc ]) diff --git a/doc/Makefile.am b/doc/Makefile.am index 38d9a77..b68c774 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1 +1 @@ -SUBDIRS=html +SUBDIRS=reference diff --git a/doc/html/.cvsignore b/doc/html/.cvsignore deleted file mode 100644 index 4414e3f..0000000 --- a/doc/html/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -Makefile Makefile.in *.html *.css *.gif *.png diff --git a/doc/html/Makefile.am b/doc/html/Makefile.am deleted file mode 100644 index ea274a8..0000000 --- a/doc/html/Makefile.am +++ /dev/null @@ -1,62 +0,0 @@ -EXTRA_WEB_FILES = doxygen.css \ - doxygen.png - -HTML_FILES = annotated.html\ - files.html\ - functions.html\ - globals.html\ - group__activation.html\ - group__callbacks.html\ - group__currents.html\ - group__debugerr.html\ - group__enum.html\ - group__lookup.html\ - group__props.html\ - group__settings.html\ - group__wininfo.html\ - group__xkbevents.html\ - group__xkbgroup.html\ - group__xkbinfo.html\ - group__xklconfig.html\ - group__xklconfiginitterm.html\ - group__xklinitterm.html\ - index.html\ - modules.html\ - struct__XklConfigItem.html\ - struct__XklConfigItem-members.html\ - struct__XklConfigRec.html\ - struct__XklConfigRec-members.html\ - structXklState.html\ - structXklState-members.html\ - xklavier_8h.html\ - xklavier_8h-source.html\ - xklavier__config_8h.html\ - xklavier__config_8h-source.html - -DOXYGEN_OUT_FILES = $(EXTRA_WEB_FILES) $(HTML_FILES) - -doc_to = $(datadir)/doc/$(PACKAGE)-$(VERSION)/html - -doc_files = $(DOXYGEN_OUT_FILES) - -EXTRA_DIST= $(doc_files) - -install: - @$(NORMAL_INSTALL) - if test "x$(DO_DOXYGEN)" = "xyes" ; then \ - $(mkinstalldirs) $(DESTDIR)$(doc_to); \ - for p in $(doc_files); do \ - $(INSTALL_DATA) $$p $(DESTDIR)$(doc_to)/$$p; \ - done; \ - fi - -uninstall: - @$(NORMAL_UNINSTALL) - if test "x$(DO_DOXYGEN)" = "xyes" ; then \ - for p in $(doc_files); do \ - rm -f $(DESTDIR)$(doc_to)/$$p; \ - done \ - fi - -MAINTAINERCLEANFILES = $(DOXYGEN_OUT_FILES) - diff --git a/doc/reference/.cvsignore b/doc/reference/.cvsignore new file mode 100644 index 0000000..10c9dba --- /dev/null +++ b/doc/reference/.cvsignore @@ -0,0 +1,11 @@ +*.txt +html +sgml +tmpl +xml +.libs +*.sgml +Makefile +Makefile.in +libxklavier.* +*.stamp diff --git a/doc/reference/Makefile.am b/doc/reference/Makefile.am new file mode 100644 index 0000000..532876b --- /dev/null +++ b/doc/reference/Makefile.am @@ -0,0 +1,78 @@ +## Process this file with automake to produce Makefile.in + +# We require automake 1.6 at least. +AUTOMAKE_OPTIONS = 1.6 + +# This is a blank Makefile.am for using gtk-doc. +# Copy this to your project's API docs directory and modify the variables to +# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples +# of using the various options. + +# The name of the module, e.g. 'glib'. +DOC_MODULE=libxklavier + +# The top-level SGML file. You can change this if you want to. +DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml + +# The directory containing the source code. Relative to $(srcdir). +# gtk-doc will search all .c & .h files beneath here for inline comments +# documenting the functions and macros. +# e.g. DOC_SOURCE_DIR=../../../gtk +DOC_SOURCE_DIR=../../libxklavier + +# Extra options to pass to gtkdoc-scangobj. Not normally needed. +SCANGOBJ_OPTIONS= + +# Extra options to supply to gtkdoc-scan. +# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED" +SCAN_OPTIONS= + +# Extra options to supply to gtkdoc-mkdb. +# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml +MKDB_OPTIONS=--sgml-mode --output-format=xml + +# Extra options to supply to gtkdoc-mktmpl +# e.g. MKTMPL_OPTIONS=--only-section-tmpl +MKTMPL_OPTIONS= + +# Extra options to supply to gtkdoc-fixref. Not normally needed. +# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html +FIXXREF_OPTIONS= + +# Used for dependencies. The docs will be rebuilt if any of these change. +# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h +# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c +HFILE_GLOB= +CFILE_GLOB= + +# Header files to ignore when scanning. +# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h +IGNORE_HFILES=xklavier_private.h xklavier_private_xkb.h xklavier_private_xmm.h xkl_engine_marshal.h + +# Images to copy into HTML directory. +# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png +HTML_IMAGES= + +# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE). +# e.g. content_files=running.sgml building.sgml changes-2.0.sgml +content_files= + +# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded +# These files must be listed here *and* in content_files +# e.g. expand_content_files=running.sgml +expand_content_files= + +# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library. +# Only needed if you are using gtkdoc-scangobj to dynamically query widget +# signals and properties. +# e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS) +# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib) +INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GLIB_CFLAGS) +GTKDOC_LIBS=$(GLIB_LIBS) -L$(top_builddir)/libxklavier -lxklavier + +# This includes the standard gtk-doc make rules, copied by gtkdocize. +include $(top_srcdir)/gtk-doc.make + +# Other files to distribute +# e.g. EXTRA_DIST += version.xml.in +EXTRA_DIST += diff --git a/libxklavier.spec.in b/libxklavier.spec.in index 547b9dc..a70895c 100644 --- a/libxklavier.spec.in +++ b/libxklavier.spec.in @@ -5,7 +5,7 @@ Release: 1 License: LGPL Group: Development/Libraries Url: http://gswitchit.sourceforge.net/ -BuildRequires: doxygen +BuildRequires: gtk-doc Source: http://gswitchit.sourceforge.net/%{name}-%{version}.tar.gz Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -27,8 +27,7 @@ Libraries, include files, etc you can use to develop libxklavier applications. %build CONFIG_FLAGS="--prefix=%{_prefix} --libdir=%{_libdir} \ - --includedir=%{_includedir} --bindir=%{_bindir} \ - --disable-doxygen" + --includedir=%{_includedir} --bindir=%{_bindir}" if [ ! -f configure ]; then CFLAGS="$RPM_OPT_FLAGS" ./autogen.sh $CONFIG_FLAGS diff --git a/libxklavier/xkl_config_item.h b/libxklavier/xkl_config_item.h index 8e35bca..bd3843e 100644 --- a/libxklavier/xkl_config_item.h +++ b/libxklavier/xkl_config_item.h @@ -1,28 +1,24 @@ -/** - * @file xkl_config_item.h - */ - #ifndef __XKL_CONFIG_ITEM_H__ #define __XKL_CONFIG_ITEM_H__ #include <glib-object.h> -/** +/* * Maximum name length, including '\'0' character */ #define XKL_MAX_CI_NAME_LENGTH 32 -/** - * Maximum short description length, including '\\0' character. - * Important: this length is in bytes, so for unicode (UTF-8 encoding in - * XML file) the actual maximum length can be smaller. +/* + * Maximum short description length, including '\\0' character + * (this length is in bytes, so for UTF-8 encoding in + * XML file the actual maximum length can be smaller) */ #define XKL_MAX_CI_SHORT_DESC_LENGTH 10 -/** - * Maximum description length, including '\\0' character. - * Important: this length is in bytes, so for unicode (UTF-8 encoding in - * XML file) the actual maximum length can be smaller. +/* + * Maximum description length, including '\\0' character + * (this length is in bytes, so for UTF-8 encoding in + * XML file the actual maximum length can be smaller) */ #define XKL_MAX_CI_DESC_LENGTH 192 @@ -78,43 +74,44 @@ extern "C" { GObjectClass parent_class; }; /** + * xkl_config_item_get_type: + * * Get type info for XklConfigItem - * @return GType for XklConfigItem + * + * Returns: GType for XklConfigItem */ extern GType xkl_config_item_get_type(void); /** + * xkl_config_item_new: + * * Create new XklConfigItem - * @return new instance + * + * Returns: new instance */ extern XklConfigItem *xkl_config_item_new(void); /** - * @defgroup enum XKB configuration elements enumeration functions - * @{ - */ - -/** + * @item: the item from registry + * @data: anything which can be stored into the pointer + * * Callback type used for enumerating keyboard models, layouts, variants, options - * @param item is the item from registry - * @param data is anything which can be stored into the pointer */ typedef void (*ConfigItemProcessFunc) (const XklConfigItem * item, gpointer data); /** + * @item: the item from registry + * @allow_multiple_selection: a flag whether this group allows multiple selection + * @data: anything which can be stored into the pointer + * * Callback type used for enumerating keyboard option groups - * @param item is the item from registry - * @param allow_multiple_selection is a flag whether this group allows multiple selection - * @param data is anything which can be stored into the pointer */ typedef void (*GroupProcessFunc) (const XklConfigItem * item, gboolean allow_multiple_selection, gpointer data); -/** @} */ - #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/libxklavier/xkl_engine.h b/libxklavier/xkl_engine.h index 9d47f46..208db55 100644 --- a/libxklavier/xkl_engine.h +++ b/libxklavier/xkl_engine.h @@ -1,7 +1,3 @@ -/** - * @file xkl_engine.h - */ - #ifndef __XKL_ENGINE_H__ #define __XKL_ENGINE_H__ @@ -13,8 +9,6 @@ extern "C" { #endif -#ifndef DOXYGEN_SHOULD_SKIP_THIS - typedef struct _XklEngine XklEngine; typedef struct _XklEnginePrivate XklEnginePrivate; typedef struct _XklEngineClass XklEngineClass; @@ -26,9 +20,6 @@ extern "C" { #define XKL_IS_ENGINE_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE ((obj), XKL_TYPE_ENGINE)) #define XKL_ENGINE_GET_CLASS (G_TYPE_INSTANCE_GET_CLASS ((obj), XKL_TYPE_ENGINE, XklEngineClass)) -#endif // DOXYGEN_SHOULD_SKIP_THIS - - typedef enum { /** * Group was changed @@ -40,27 +31,27 @@ extern "C" { INDICATORS_CHANGED } XklStateChange; -/** +/* * Backend allows to toggls indicators on/off */ #define XKLF_CAN_TOGGLE_INDICATORS 0x01 -/** +/* * Backend allows to write ascii representation of the configuration */ #define XKLF_CAN_OUTPUT_CONFIG_AS_ASCII 0x02 -/** +/* * Backend allows to write binary representation of the configuration */ #define XKLF_CAN_OUTPUT_CONFIG_AS_BINARY 0x04 -/** +/* * Backend supports multiple layouts */ #define XKLF_MULTIPLE_LAYOUTS_SUPPORTED 0x08 -/** +/* * Backend requires manual configuration, * some daemon should do * xkl_StartListen( XKLL_MANAGE_LAYOUTS ); @@ -101,190 +92,244 @@ extern "C" { GObjectClass parent_class; /** + * XklEngine::config-notify: + * @engine: the object on which the signal is emitted + * * Used for notifying application of the XKB configuration change. */ void (*config_notify) (XklEngine * engine); /** + * XklEngine::new_window_notify: + * @engine: the object on which the signal is emitted + * @win: new window + * @parent: new window's parent + * * Used for notifying application of new window creation (actually, * registration). - * @param win is a new window - * @param parent is a new window's parent - * @return the initial group id for the window (-1 to use the default value) + * + * Returns: the initial group id for the window (-1 to use the default value) */ gint(*new_window_notify) (XklEngine * engine, Window win, Window parent); /** - * Used for notifying application of the window state change. - * @param changeType is a mask of changes - * @param group is a new group - * @param restore is indicator of whether this state is restored from + * XklEngine::state_notify + * @engine: the object on which the signal is emitted + * @change_type: mask of changes + * @group: new group + * @restore: whether this state is restored from * saved state of set as new. + * + * Used for notifying application of the window state change. */ void (*state_notify) (XklEngine * engine, - XklStateChange changeType, + XklStateChange change_type, gint group, gboolean restore); }; /** + * xkl_engine_get_type: + * * Get type info for XklEngine - * @return GType for XklEngine + * + * Returns: GType for XklEngine */ extern GType xkl_engine_get_type(void); /** - * Get the instance of the XklEngine. Within a process, there is always once instance - * @return the singleton instance + * xkl_engine_get_instance: + * @display: the X display used by the application + * + * Get the instance of the XklEngine. Within a process, there is always once instance. + * + * Returns: the singleton instance */ extern XklEngine *xkl_engine_get_instance(Display * display); /** - * What kind of backend if used - * @return some string id of the backend + * xkl_engine_get_backend_name: + * @engine: the engine + * + * What kind of backend is used + * + * Returns: some string id of the backend */ extern const gchar *xkl_engine_get_backend_name(XklEngine * engine); /** + * xkl_engine_get_features: + * @engine: the engine + * * Provides information regarding available backend features * (combination of XKLF_* constants) - * @return ORed XKLF_* constants + * + * Returns: ORed XKLF_* constants */ extern guint xkl_engine_get_features(XklEngine * engine); /** + * xkl_engine_get_max_num_groups: + * @engine: the engine + * * Provides the information on maximum number of simultaneously supported * groups (layouts) - * @return maximum number of the groups in configuration, + * + * Returns: maximum number of the groups in configuration, * 0 if no restrictions. */ extern guint xkl_engine_get_max_num_groups(XklEngine * engine); -/** - * @defgroup xkbevents XKB event handling and management - * @{ - */ - -/** +/* * The listener process should handle the per-window states * and all the related activity */ #define XKLL_MANAGE_WINDOW_STATES 0x01 -/** +/* * Just track the state and pass it to the application above. */ #define XKLL_TRACK_KEYBOARD_STATE 0x02 -/** +/* * The listener process should help backend to maintain the configuration * (manually switch layouts etc). */ #define XKLL_MANAGE_LAYOUTS 0x04 /** + * xkl_engine_start_listen: + * @engine: the engine + * @flags: any combination of XKLL_* constants + * * Starts listening for XKB-related events - * @param what any combination of XKLL_* constants - * @return 0 + * + * Returns: 0 */ extern gint xkl_engine_start_listen(XklEngine * engine, - guint what); + guint flags); /** + * xkl_engine_stop_listen: + * @engine: the engine + * * Stops listening for XKB-related events - * @return 0 + * Returns: 0 */ extern gint xkl_engine_stop_listen(XklEngine * engine); /** + * xkl_engine_pause_listen: + * @engine: the engine + * * Temporary pauses listening for XKB-related events - * @return 0 + * + * Returns: 0 */ extern gint xkl_engine_pause_listen(XklEngine * engine); /** + * xkl_engine_resume_listen: + * @engine: the engine + * * Resumes listening for XKB-related events - * @return 0 + * + * Returns: 0 */ extern gint xkl_engine_resume_listen(XklEngine * engine); /** + * xkl_engine_grab_key: + * @engine: the engine + * @keycode: keycode + * @modifiers: bitmask of modifiers + * * Grabs some key - * @param keycode is a keycode - * @param modifiers is a bitmask of modifiers - * @return True on success + * + * Returns: TRUE on success */ extern gboolean xkl_engine_grab_key(XklEngine * engine, gint keycode, guint modifiers); /** + * xkl_engine_ungrab_key: + * @engine: the engine + * @keycode: keycode + * @modifiers: bitmask of modifiers + * * Ungrabs some key - * @param keycode is a keycode - * @param modifiers is a bitmask of modifiers - * @return True on success + * + * Returns: TRUE on success */ extern gboolean xkl_engine_ungrab_key(XklEngine * engine, gint keycode, guint modifiers); /** + * xkl_engine_filter_events: + * @engine: the engine + * @evt: delivered X event + * * Processes X events. Should be included into the main event cycle of an * application. One of the most important functions. - * @param evt is delivered X event - * @return 0 if the event it processed - 1 otherwise - * @see xkl_StartListen + * + * Returns: 0 if the event it processed - 1 otherwise */ extern gint xkl_engine_filter_events(XklEngine * engine, XEvent * evt); /** + * xkl_engine_allow_one_switch_to_secondary_group: + * @engine: the engine + * * Allows to switch (once) to the secondary group + * */ extern void xkl_engine_allow_one_switch_to_secondary_group(XklEngine * engine); -/** @} */ - /** - * @defgroup currents Current state of the library - * @{ - */ - -/** - * @return currently focused window + * xkl_engine_get_current_window: + * @engine: the engine + * + * Returns: currently focused window */ extern Window xkl_engine_get_current_window(XklEngine * engine); /** - * @return current state of the keyboard (in XKB terms). + * xkl_engine_get_current_state: + * @engine: the engine + * + * Returns: current state of the keyboard. * Returned value is a statically allocated buffer, should not be freed. */ extern XklState *xkl_engine_get_current_state(XklEngine * engine); -/** @} */ - -/** - * @defgroup wininfo Per-window information - * @{ - */ - /** - * @return the window title of some window or NULL. + * xkl_engine_get_window_title: + * @engine: the engine + * @win: X window + * + * Returns: the window title of some window or NULL. * If not NULL, it should be freed with XFree */ extern gchar *xkl_engine_get_window_title(XklEngine * engine, - Window w); + Window win); /** + * xkl_engine_get_state: + * @engine: the engine + * @win: window to query + * @state_out: structure to store the state + * * Finds the state for a given window (for its "App window"). - * @param win is a target window - * @param state_out is a structure to store the state - * @return True on success, otherwise False + * + * Returns: TRUE on success, otherwise FALSE * (the error message can be obtained using xkl_GetLastError). */ extern gboolean xkl_engine_get_state(XklEngine * engine, @@ -292,26 +337,34 @@ extern "C" { XklState * state_out); /** + * xkl_engine_delete_state: + * @engine: the engine + * @win: target window + * * Drops the state of a given window (of its "App window"). - * @param win is a target window */ extern void xkl_engine_delete_state(XklEngine * engine, Window win); /** + * xkl_engine_save_state: + * @engine: the engine + * @win: target window + * @state: new state of the window + * * Stores ths state for a given window - * @param win is a target window - * @param state is a new state of the window */ extern void xkl_engine_save_state(XklEngine * engine, Window win, XklState * state); /** + * xkl_engine_set_window_transparent: + * @engine: the engine + * @win: window do set the flag for. + * @transparent: if true, the windows is transparent. + * * Sets the "transparent" flag. It means focus switching onto * this window will never change the state. - * @param win is the window do set the flag for. - * @param transparent - if true, the windows is transparent. - * @see xkl_IsTranspatent */ extern void xkl_engine_set_window_transparent(XklEngine * engine, Window win, @@ -319,19 +372,25 @@ extern "C" { transparent); /** - * Returns "transparent" flag. - * @param win is the window to get the transparent flag from. - * @see xkl_SetTranspatent + * xkl_engine_is_window_transparent: + * @engine: the engine + * @win: window to get the transparent flag from. + * + * Returns: TRUE if the window is "transparent" */ extern gboolean xkl_engine_is_window_transparent(XklEngine * engine, Window win); /** + * xkl_engine_is_window_from_same_toplevel_window: + * @engine: the engine + * @win1: first window + * @win2: second window + * * Checks whether 2 windows have the same topmost window - * @param win1 is first window - * @param win2 is second window - * @return True is windows are in the same application + * + * Returns: TRUE is windows are in the same application */ extern gboolean xkl_engine_is_window_from_same_toplevel_window(XklEngine * @@ -339,21 +398,20 @@ extern "C" { Window win1, Window win2); -/** @} */ - -/** - * @defgroup xkbinfo Various XKB configuration info - * @{ - */ - /** - * @return the total number of groups in the current XKB configuration + * xkl_engine_get_num_groups: + * @engine: the engine + * + * Returns: the total number of groups in the current configuration * (keyboard) */ extern guint xkl_engine_get_num_groups(XklEngine * engine); /** - * @return the array of group names for the current XKB configuration + * xkl_engine_get_groups_names: + * @engine: the engine + * + * Returns: the array of group names for the current XKB configuration * (keyboard). * This array is static, should not be freed */ @@ -361,117 +419,138 @@ extern "C" { engine); /** - * @return the array of indicator names for the current XKB configuration + * xkl_engine_get_indicators_names: + * @engine: the engine + * + * Returns: the array of indicator names for the current XKB configuration * (keyboard). * This array is static, should not be freed */ extern const gchar **xkl_engine_get_indicators_names(XklEngine * engine); -/** @} */ - -/** - * @defgroup xkbgroup XKB group calculation and change - * @{ - */ - /** + * xkl_engine_get_next_group: + * @engine: the engine + * * Calculates next group id. Does not change the state of anything. - * @return next group id + * + * Returns: next group id */ extern gint xkl_engine_get_next_group(XklEngine * engine); /** + * xkl_engine_get_prev_group: + * @engine: the engine + * * Calculates prev group id. Does not change the state of anything. - * @return prev group id + * + * Returns: prev group id */ extern gint xkl_engine_get_prev_group(XklEngine * engine); /** - * @return saved group id of the current window. - * Does not change the state of anything. + * xkl_engine_get_current_window_group: + * @engine: the engine + * + * Returns: saved group id of the current window. */ extern gint xkl_engine_get_current_window_group(XklEngine * engine); /** + * xkl_engine_lock_group: + * @engine: the engine + * @group: group number for locking + * * Locks the group. Can be used after xkl_GetXXXGroup functions - * @param group is a group number for locking - * @see xkl_GetNextGroup - * @see xkl_GetPrevGroup - * @see xkl_GetRestoreGroup */ extern void xkl_engine_lock_group(XklEngine * engine, gint group); -/** @} */ - -/** - * @defgroup settings Settings for event processing - * @{ - */ - /** + * xkl_engine_set_group_per_toplevel_window: + * @engine: the engine + * @is_global: new parameter value + * * Sets the configuration parameter: group per application - * @param isGlobal is a new parameter value */ extern void xkl_engine_set_group_per_toplevel_window(XklEngine * engine, gboolean - isGlobal); + is_global); /** - * @return the value of the parameter: group per application + * xkl_engine_is_group_per_toplevel_window: + * @engine: the engine + * + * Returns: the value of the parameter: group per application */ extern gboolean xkl_engine_is_group_per_toplevel_window(XklEngine * engine); /** + * xkl_engine_set_indicators_handling: + * @engine: the engine + * @whether_handle: new parameter value + * * Sets the configuration parameter: perform indicators handling - * @param whetherHandle is a new parameter value */ extern void xkl_engine_set_indicators_handling(XklEngine * engine, gboolean - whetherHandle); + whether_handle); /** - * @return the value of the parameter: perform indicator handling + * xkl_engine_get_indicators_handling: + * @engine: the engine + * + * Returns: the value of the parameter: perform indicator handling */ extern gboolean xkl_engine_get_indicators_handling(XklEngine * engine); /** + * xkl_engine_set_secondary_groups_mask: + * @engine: the engine + * @mask: new group mask + * * Sets the secondary groups (one bit per group). * Secondary groups require explicit "allowance" for switching - * @param mask is a new group mask - * @see xkl_allow_one_switch_to_secondary_group */ extern void xkl_engine_set_secondary_groups_mask(XklEngine * engine, guint mask); /** - * @return the secondary group mask + * xkl_engine_get_secondary_groups_mask: + * @engine: the engine + * + * Returns: the secondary group mask */ extern guint xkl_engine_get_secondary_groups_mask(XklEngine * engine); /** + * xkl_engine_group_set_default: + * @engine: the engine + * @group: default group + * * Configures the default group set on window creation. * If -1, no default group is used - * @param group the default group */ extern void xkl_engine_group_set_default(XklEngine * engine, gint group); /** + * xkl_engine_group_get_default: + * @engine: the engine + * * Returns the default group set on window creation * If -1, no default group is used - * @return the default group + * + * Returns: the default group */ extern gint xkl_engine_group_get_default(XklEngine * engine); -/** @} */ - #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/libxklavier/xklavier.h b/libxklavier/xklavier.h index b9a6a55..5dcb8c5 100644 --- a/libxklavier/xklavier.h +++ b/libxklavier/xklavier.h @@ -1,7 +1,3 @@ -/** - * @file xklavier.h - */ - #ifndef __XKLAVIER_H__ #define __XKLAVIER_H__ @@ -21,41 +17,38 @@ extern "C" { #endif /** - * @defgroup debugerr Debugging, error processing - * @{ - */ - -/** - * @return the text message (statically allocated) of the last error + * xkl_get_last_error: + * + * Returns: the text message (statically allocated) of the last error */ extern const gchar *xkl_get_last_error(void); /** - * Output (optionally) some debug info - * @param file is the name of the source file. + * _xkl_debug: + * @file: the name of the source file. * Preprocessor symbol__FILE__ should be used here - * @param function is a name of the function + * @function: name of the function * Preprocessor symbol__func__ should be used here - * @param level is a level of the message - * @param format is a format (like in printf) - * @see xkl_debug + * @level: level of the message + * @format: is a format (like in printf) + * + * Output (optionally) some debug info */ extern void _xkl_debug(const gchar file[], const gchar function[], gint level, const gchar format[], ...); /** - * Custom log output method for _xkl_debug. This appender is NOT called if the - * level of the message is greater than currently set debug level. - * - * @param file is the name of the source file. + * XklLogAppender: + * @file: name of the source file. * Preprocessor symbol__FILE__ should be used here - * @param function is a name of the function + * @function: name of the function * Preprocessor symbol__func__ should be used here - * @param level is a level of the message - * @param format is a format (like in printf) - * @param args is the list of parameters - * @see _xkl_debug - * @see xkl_set_debug_level + * @level: level of the message + * @format: format (like in printf) + * @args: list of parameters + * + * Custom log output method for _xkl_debug. This appender is NOT called if the + * level of the message is greater than currently set debug level. */ typedef void (*XklLogAppender) (const gchar file[], const gchar function[], @@ -64,15 +57,16 @@ extern "C" { va_list args); /** - * Default log output method. Sends everything to stdout. - * - * @param file is the name of the source file. + * xkl_default_log_appender: + * @file: name of the source file. * Preprocessor symbol__FILE__ should be used here - * @param function is a name of the function + * @function: name of the function * Preprocessor symbol__func__ should be used here - * @param level is a level of the message - * @param format is a format (like in printf) - * @param args is the list of parameters + * @level: level of the message + * @format: format (like in printf) + * @args: list of parameters + * + * Default log output method. Sends everything to stdout. */ extern void xkl_default_log_appender(const gchar file[], const gchar function[], @@ -81,37 +75,39 @@ extern "C" { va_list args); /** + * xkl_set_log_appender: + * @fun: new log appender + * * Installs the custom log appender.function - * @param fun is the new log appender */ extern void xkl_set_log_appender(XklLogAppender fun); /** + * xkl_set_debug_level: + * @level: new debug level + * * Sets maximum debug level. * Message of the level more than the one set here - will be ignored - * @param level is a new debug level */ extern void xkl_set_debug_level(gint level); -/* Just to make doxygen happy - two block with/without @param format */ -#if defined(G_HAVE_GNUC_VARARGS) -/** - * Output (optionally) some debug info - * @param level is a level of the message - * @param format is a format (like in printf) - * @see _xkl_Debug - */ -#else +#ifdef G_HAVE_ISO_VARARGS /** + * xkl_debug: + * @level: level of the message + * * Output (optionally) some debug info - * @param level is a level of the message - * @see _xkl_Debug */ -#endif -#ifdef G_HAVE_ISO_VARARGS #define xkl_debug( level, ... ) \ _xkl_debug( __FILE__, __func__, level, __VA_ARGS__ ) #elif defined(G_HAVE_GNUC_VARARGS) +/** + * xkl_debug: + * @level: level of the message + * @format: format (like in printf) + * + * Output (optionally) some debug info + */ #define xkl_debug( level, format, args... ) \ _xkl_debug( __FILE__, __func__, level, format, ## args ) #else @@ -119,8 +115,6 @@ extern "C" { _xkl_debug( __FILE__, __func__, level, __VA_ARGS__ ) #endif -/** @} */ - #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/libxklavier/xklavier_evt.c b/libxklavier/xklavier_evt.c index c9801ba..a367c5d 100644 --- a/libxklavier/xklavier_evt.c +++ b/libxklavier/xklavier_evt.c @@ -65,7 +65,7 @@ xkl_engine_filter_events(XklEngine * engine, XEvent * xev) return 1; } -/** +/* * FocusIn handler */ void @@ -121,7 +121,7 @@ xkl_engine_process_focus_in_evt(XklEngine * engine, xkl_debug(150, "Leaving transparent window\n"); - /** + /* * Reload the current state from the current window. * Do not do it for transparent window - we keep the state from * the _previous_ window. @@ -195,7 +195,7 @@ xkl_engine_process_focus_in_evt(XklEngine * engine, group, selected_window_state. group); - /** + /* * For fast mouse movements - the state is probably not updated yet * (because of the group change notification being late). * so we'll enforce the update. But this should only happen in GPA mode @@ -285,7 +285,7 @@ xkl_engine_process_focus_in_evt(XklEngine * engine, } } -/** +/* * FocusOut handler */ void @@ -311,7 +311,7 @@ xkl_engine_process_focus_out_evt(XklEngine * engine, if (xkl_engine_is_window_transparent(engine, fev->window)) { xkl_debug(150, "Leaving transparent window!\n"); -/** +/* * If we are leaving the transparent window - we skip the restore operation. * This is useful for secondary groups switching from the transparent control * window. @@ -325,7 +325,7 @@ xkl_engine_process_focus_out_evt(XklEngine * engine, } } -/** +/* * PropertyChange handler * Interested in : * + for XKLL_MANAGE_WINDOW_STATES @@ -400,7 +400,7 @@ xkl_engine_process_property_evt(XklEngine * engine, XPropertyEvent * pev) } /* XKLL_MANAGE_WINDOW_STATES */ } -/** +/* * CreateNotify handler. Just interested in properties and focus events... */ void @@ -443,7 +443,7 @@ xkl_engine_process_create_window_evt(XklEngine * engine, } } -/** +/* * Just error handler - sometimes we get BadWindow error for already gone * windows, so we'll just ignore */ @@ -473,7 +473,7 @@ xkl_process_error(Display * dpy, XErrorEvent * evt) } } -/** +/* * Some common functionality for Xkb handler */ void @@ -495,7 +495,7 @@ xkl_engine_process_state_modification(XklEngine * engine, return; } - /** + /* * Only if we manage states - otherwise xkl_engine_priv(engine,curr_toplvl_win) does not make sense */ if (!xkl_engine_find_toplevel_window @@ -518,7 +518,7 @@ xkl_engine_process_state_modification(XklEngine * engine, if (focused_toplevel != xkl_engine_priv(engine, curr_toplvl_win)) { - /** + /* * If not state - we got the new window */ if (!xkl_engine_get_toplevel_window_state @@ -534,7 +534,7 @@ xkl_engine_process_state_modification(XklEngine * engine, &xkl_engine_priv(engine, curr_state)); } - /** + /* * There is state - just get the state from the window */ else { diff --git a/libxklavier/xklavier_evt_xkb.c b/libxklavier/xklavier_evt_xkb.c index 4901e79..c5b9c73 100644 --- a/libxklavier/xklavier_evt_xkb.c +++ b/libxklavier/xklavier_evt_xkb.c @@ -8,7 +8,7 @@ #include "xklavier_private.h" #include "xklavier_private_xkb.h" -/** +/* * XKB event handler */ gint @@ -30,7 +30,7 @@ xkl_xkb_process_x_event(XklEngine * engine, XEvent * xev) xkl_debug(150, "Xkb event detected\n"); switch (kev->any.xkb_type) { - /** + /* * Group is changed! */ case XkbStateNotify: @@ -63,7 +63,7 @@ xkl_xkb_process_x_event(XklEngine * engine, XEvent * xev) break; - /** + /* * Indicators are changed! */ case XkbIndicatorStateNotify: @@ -85,7 +85,7 @@ xkl_xkb_process_x_event(XklEngine * engine, XEvent * xev) 0, inds, TRUE); break; - /** + /* * The configuration is changed! */ case XkbIndicatorMapNotify: @@ -105,7 +105,7 @@ xkl_xkb_process_x_event(XklEngine * engine, XEvent * xev) "XKB event: XkbNewKeyboardNotify"); break; - /** + /* * ...Not interested... */ default: diff --git a/libxklavier/xklavier_private.h b/libxklavier/xklavier_private.h index ed1ff59..92d0182 100644 --- a/libxklavier/xklavier_private.h +++ b/libxklavier/xklavier_private.h @@ -45,17 +45,17 @@ struct _XklEnginePrivate { Display *display; - /** + /* * Backend name */ const gchar *backend_id; - /** + /* * Functions supported by the backend, combination of XKLF_* constants */ guint8 features; - /** + /* * Activates the configuration. * xkb: create proper the XkbDescRec and send it to the server * xmodmap: save the property, init layout #1 @@ -63,14 +63,14 @@ struct _XklEnginePrivate { gboolean(*activate_config_rec) (XklEngine * engine, const XklConfigRec * data); - /** + /* * Background-specific initialization. * xkb: XkbInitAtoms - init internal xkb atoms table * xmodmap: void. */ void (*init_config_registry) (XklConfigRegistry * config); - /** + /* * Loads the registry tree into DOM (using whatever path(s)) * The XklVTConfigFreeRegistry is static - no virtualization necessary. * xkb: loads xml from XKB_BASE+"/rules/"+ruleset+".xml" @@ -78,7 +78,7 @@ struct _XklEnginePrivate { */ gboolean(*load_config_registry) (XklConfigRegistry * config); - /** + /* * Write the configuration into the file (binary/textual) * xkb: write xkb or xkm file * xmodmap: if text requested, just dump XklConfigRec to the @@ -89,28 +89,28 @@ struct _XklEnginePrivate { const XklConfigRec * data, const gboolean binary); - /** + /* * Get the list of the group names * xkb: return cached list of the group names * xmodmap: return the list of layouts from the internal XklConfigRec */ const gchar **(*get_groups_names) (XklEngine * engine); - /** + /* * Get the maximum number of loaded groups * xkb: returns 1 or XkbNumKbdGroups * xmodmap: return 0 */ guint(*get_max_num_groups) (XklEngine * engine); - /** + /* * Get the number of loaded groups * xkb: return from the cached XkbDesc * xmodmap: return number of layouts from internal XklConfigRec */ guint(*get_num_groups) (XklEngine * engine); - /** + /* * Switches the keyboard to the group N * xkb: simple one-liner to call the XKB function * xmodmap: changes the root window property @@ -118,35 +118,35 @@ struct _XklEnginePrivate { */ void (*lock_group) (XklEngine * engine, gint group); - /** + /* * Handles X events. * xkb: XkbEvent handling * xmodmap: keep track on the root window properties. What else can we do? */ gint(*process_x_event) (XklEngine * engine, XEvent * xev); - /** + /* * Flushes the cached server config info. * xkb: frees XkbDesc * xmodmap: frees internal XklConfigRec */ void (*free_all_info) (XklEngine * engine); - /** + /* * Compares the cached info with the actual one, from the server * xkb: Compares some parts of XkbDescPtr * xmodmap: returns False */ gboolean(*if_cached_info_equals_actual) (XklEngine * engine); - /** + /* * Loads the configuration info from the server * xkb: loads XkbDesc, names, indicators * xmodmap: loads internal XklConfigRec from server */ gboolean(*load_all_info) (XklEngine * engine); - /** + /* * Gets the current state * xkb: XkbGetState and XkbGetIndicatorState * xmodmap: check the root window property (regarding the group) @@ -154,21 +154,21 @@ struct _XklEnginePrivate { void (*get_server_state) (XklEngine * engine, XklState * current_state_out); - /** + /* * Stop tracking the keyboard-related events * xkb: XkbSelectEvents(..., 0) * xmodmap: Ungrab the switching shortcut. */ gint(*pause_listen) (XklEngine * engine); - /** + /* * Start tracking the keyboard-related events * xkb: XkbSelectEvents + XkbSelectEventDetails * xmodmap: Grab the switching shortcut. */ gint(*resume_listen) (XklEngine * engine); - /** + /* * Set the indicators state from the XklState * xkb: XklSetIndicator for all indicators * xmodmap: NULL. Not supported @@ -176,37 +176,37 @@ struct _XklEnginePrivate { void (*set_indicators) (XklEngine * engine, const XklState * window_state); - /** + /* * Perform the cleanup */ void (*finalize) (XklEngine * engine); /* all data is private - no direct access */ - /** + /* * The base configuration atom. * xkb: _XKB_RF_NAMES_PROP_ATOM * xmodmap: "_XMM_NAMES" */ Atom base_config_atom; - /** + /* * The configuration backup atom * xkb: "_XKB_RULES_NAMES_BACKUP" * xmodmap: "_XMM_NAMES_BACKUP" */ Atom backup_config_atom; - /** + /* * Fallback for missing model */ const gchar *default_model; - /** + /* * Fallback for missing layout */ const gchar *default_layout; - /** + /* * Any stuff backend might need to put in here */ gpointer backend; diff --git a/libxklavier/xklavier_private_xkb.h b/libxklavier/xklavier_private_xkb.h index 1e1153e..0fa7d15 100644 --- a/libxklavier/xklavier_private_xkb.h +++ b/libxklavier/xklavier_private_xkb.h @@ -92,7 +92,7 @@ extern void xkl_xkb_term(XklEngine * engine); #else -/** +/* * VERY VERY BAD STYLE, some kind of 'protected' methods - * but some programs may want to hook into them. */ diff --git a/libxklavier/xklavier_toplevel.c b/libxklavier/xklavier_toplevel.c index 7cdf6df..6b19d7e 100644 --- a/libxklavier/xklavier_toplevel.c +++ b/libxklavier/xklavier_toplevel.c @@ -37,7 +37,7 @@ xkl_engine_set_toplevel_window_transparent(XklEngine * engine, } } -/** +/* * "Adds" app window to the set of managed windows. * Actually, no data structures involved. The only thing we do is save app state * and register ourselves us listeners. @@ -111,7 +111,7 @@ xkl_engine_add_toplevel_window(XklEngine * engine, Window toplevel_win, xkl_debug(150, "done\n"); } -/** +/* * Checks the window and goes up */ gboolean @@ -152,7 +152,7 @@ xkl_engine_find_toplevel_window_bottom_to_top(XklEngine * engine, toplevel_win_out); } -/** +/* * Recursively finds "App window" (window with WM_STATE) for given window. * First, checks the window itself * Then, for first level of recursion, checks childen, @@ -197,7 +197,7 @@ xkl_engine_find_toplevel_window(XklEngine * engine, Window win, return FALSE; } - /** + /* * Here we first check the children (in case win is just above some "App Window") * and then go upstairs */ @@ -228,7 +228,7 @@ xkl_engine_find_toplevel_window(XklEngine * engine, Window win, return rv; } -/** +/* * Gets the state from the window property */ gboolean @@ -285,7 +285,7 @@ xkl_engine_get_toplevel_window_state(XklEngine * engine, return ret; } -/** +/* * Deletes the state from the window properties */ void @@ -296,7 +296,7 @@ xkl_engine_remove_toplevel_window_state(XklEngine * engine, xkl_engine_priv(engine, atoms)[XKLAVIER_STATE]); } -/** +/* * Saves the state into the window properties */ void diff --git a/libxklavier/xklavier_util.c b/libxklavier/xklavier_util.c index 88a1a27..741bdc7 100644 --- a/libxklavier/xklavier_util.c +++ b/libxklavier/xklavier_util.c @@ -86,7 +86,7 @@ xkl_engine_save_state(XklEngine * engine, Window win, XklState * state) state); } -/** +/* * Prepares the name of window suitable for debugging (32characters long). */ gchar * @@ -111,7 +111,7 @@ xkl_engine_get_current_window(XklEngine * engine) return xkl_engine_priv(engine, curr_toplvl_win); } -/** +/* * Loads subtree. * All the windows with WM_STATE are added. * All the windows within level 0 are listened for focus and property @@ -181,7 +181,7 @@ xkl_engine_load_subtree(XklEngine * engine, Window window, gint level, return retval; } -/** +/* * Checks whether given window has WM_STATE property (i.e. "App window"). */ gboolean @@ -203,7 +203,7 @@ xkl_engine_if_window_has_wm_state(XklEngine * engine, Window win) return type != None; } -/** +/* * Finds out the official parent window (accortind to XQueryTree) */ Window |