libxkbcommon 1.13.1
Library implementing the XKB specification for parsing keyboard descriptions and handling keyboard state
Loading...
Searching...
No Matches
Include Paths

Functions

XKB_EXPORT int xkb_context::xkb_context_include_path_append (struct xkb_context *context, const char *path)
XKB_EXPORT int xkb_context::xkb_context_include_path_append_default (struct xkb_context *context)
XKB_EXPORT int xkb_context::xkb_context_include_path_reset_defaults (struct xkb_context *context)
XKB_EXPORT void xkb_context::xkb_context_include_path_clear (struct xkb_context *context)
XKB_EXPORT unsigned int xkb_context::xkb_context_num_include_paths (struct xkb_context *context)
XKB_EXPORT const char * xkb_context::xkb_context_include_path_get (struct xkb_context *context, unsigned int index)

Detailed Description

Manipulating the include paths in a context.

The include paths are the file-system paths that are searched when an include statement is encountered during keymap compilation.

The default include paths are, in that lookup order:

  • The path $XDG_CONFIG_HOME/xkb, where $XDG_CONFIG_HOME is the value of the environment variable XDG_CONFIG_HOME, with the usual fallback to $HOME/.config/ if unset.
  • The path $HOME/.xkb, where $HOME is the value of the environment variable HOME.
  • The XKB_CONFIG_EXTRA_PATH environment variable, if defined, otherwise the system configuration directory, defined at library configuration time (usually /etc/xkb).
  • Each subdirectory of each XKB extensions directory (versioned, then unversioned if no corresponding versioned subdirectory), listed in lexicographic order. The extensions directories are defined by the environment variables XKB_CONFIG_VERSIONED_EXTENSIONS_PATH and XKB_CONFIG_UNVERSIONED_EXTENSIONS_PATH and default to the system XKB root extensions directories, defined at library configuration time (usually /usr/share/xkeyboard-config-<VERSION>.d and /usr/share/xkeyboard-config.d).
  • The XKB_CONFIG_ROOT environment variable, if defined, otherwise the system XKB root, defined at library configuration time (usually /usr/share/xkeyboard-config-<VERSION> or /usr/share/X11/xkb).

Function Documentation

◆ xkb_context_include_path_append()

XKB_EXPORT int xkb_context_include_path_append ( struct xkb_context * context,
const char * path )

Append a new entry to the context’s include path.

Returns
1 on success, or 0 if the include path could not be added or is inaccessible.

◆ xkb_context_include_path_append_default()

XKB_EXPORT int xkb_context_include_path_append_default ( struct xkb_context * context)

Append the default include paths to the context’s include path.

Returns
1 on success, or 0 if no default include path could be added.

◆ xkb_context_include_path_reset_defaults()

XKB_EXPORT int xkb_context_include_path_reset_defaults ( struct xkb_context * context)

Reset the context’s include path to the default.

Removes all entries from the context’s include path, and inserts the default paths.

Returns
1 on success, or 0 if the primary include path could not be added.

◆ xkb_context_include_path_get()

XKB_EXPORT const char * xkb_context_include_path_get ( struct xkb_context * context,
unsigned int index )

Get a specific include path from the context’s include path.

Returns
The include path at the specified index. If the index is invalid, returns NULL.