|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Copyright (C) 2002-2006 Sergey V. Udaltsov <svu@gnome.org>
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* This library is free software; you can redistribute it and/or
|
|
Packit Service |
93d855 |
* modify it under the terms of the GNU Lesser General Public
|
|
Packit Service |
93d855 |
* License as published by the Free Software Foundation; either
|
|
Packit Service |
93d855 |
* version 2 of the License, or (at your option) any later version.
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* This library is distributed in the hope that it will be useful,
|
|
Packit Service |
93d855 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit Service |
93d855 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit Service |
93d855 |
* Lesser General Public License for more details.
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit Service |
93d855 |
* License along with this library; if not, write to the
|
|
Packit Service |
93d855 |
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
Packit Service |
93d855 |
* Boston, MA 02111-1307, USA.
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#ifndef __XKLAVIER_PRIVATE_H__
|
|
Packit Service |
93d855 |
#define __XKLAVIER_PRIVATE_H__
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#include <stdio.h>
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#include <libxml/xpath.h>
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#include <libxklavier/xklavier.h>
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
enum { WM_NAME,
|
|
Packit Service |
93d855 |
WM_STATE,
|
|
Packit Service |
93d855 |
XKLAVIER_STATE,
|
|
Packit Service |
93d855 |
XKLAVIER_TRANSPARENT,
|
|
Packit Service |
93d855 |
XKLAVIER_ALLOW_SECONDARY,
|
|
Packit Service |
93d855 |
TOTAL_ATOMS
|
|
Packit Service |
93d855 |
};
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#define XKL_NUMBER_OF_REGISTRY_DOCS 2
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/* We have 3 values in XklEngineListenModes */
|
|
Packit Service |
93d855 |
enum {
|
|
Packit Service |
93d855 |
XKLL_MANAGE_WINDOW_STATES_OFFSET = 0,
|
|
Packit Service |
93d855 |
XKLL_TRACK_KEYBOARD_STATE_OFFSET,
|
|
Packit Service |
93d855 |
XKLL_MANAGE_LAYOUTS_OFFSET,
|
|
Packit Service |
93d855 |
XKLL_NUMBER_OF_LISTEN_MODES
|
|
Packit Service |
93d855 |
};
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
struct _XklEnginePrivate {
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
gboolean group_per_toplevel_window;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
gboolean handle_indicators;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
gboolean skip_one_restore;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
gboolean skip_one_save;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
gint default_group;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Separate counter for each of XklEngineListenModes!
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
guchar listener_type_counters[XKLL_NUMBER_OF_LISTEN_MODES];
|
|
Packit Service |
93d855 |
#define xkl_engine_is_listening_for(engine, type) (xkl_engine_priv((engine), listener_type_counters)[type##_OFFSET] > 0)
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
guint secondary_groups_mask;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
Window root_window;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
Window prev_toplvl_win;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
Window curr_toplvl_win;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
XErrorHandler default_error_handler;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
Status last_error_code;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
XklState curr_state;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
gboolean critical_section;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
Atom atoms[TOTAL_ATOMS];
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
Display *display;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Backend name
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
const gchar *backend_id;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Functions supported by the backend, combination of XKLF_* constants
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
guint8 features;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Activates the configuration.
|
|
Packit Service |
93d855 |
* xkb: create proper the XkbDescRec and send it to the server
|
|
Packit Service |
93d855 |
* xmodmap: save the property, init layout #1
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
gboolean(*activate_config_rec) (XklEngine * engine,
|
|
Packit Service |
93d855 |
const XklConfigRec * data);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Background-specific initialization.
|
|
Packit Service |
93d855 |
* xkb: XkbInitAtoms - init internal xkb atoms table
|
|
Packit Service |
93d855 |
* xmodmap: void.
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
void (*init_config_registry) (XklConfigRegistry * config);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Loads the registry tree into DOM (using whatever path(s))
|
|
Packit Service |
93d855 |
* The XklVTConfigFreeRegistry is static - no virtualization necessary.
|
|
Packit Service |
93d855 |
* xkb: loads xml from XKB_BASE+"/rules/"+ruleset+".xml"
|
|
Packit Service |
93d855 |
* xmodmap: loads xml from XMODMAP_BASE+"/"+ruleset+".xml"
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
gboolean(*load_config_registry) (XklConfigRegistry * config,
|
|
Packit Service |
93d855 |
gboolean if_extras_needed);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Write the configuration into the file (binary/textual)
|
|
Packit Service |
93d855 |
* xkb: write xkb or xkm file
|
|
Packit Service |
93d855 |
* xmodmap: if text requested, just dump XklConfigRec to the
|
|
Packit Service |
93d855 |
* file - not really useful. If binary - fail (not supported)
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
gboolean(*write_config_rec_to_file) (XklEngine * engine,
|
|
Packit Service |
93d855 |
const gchar * file_name,
|
|
Packit Service |
93d855 |
const XklConfigRec * data,
|
|
Packit Service |
93d855 |
const gboolean binary);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Get the list of the group names
|
|
Packit Service |
93d855 |
* xkb: return cached list of the group names
|
|
Packit Service |
93d855 |
* xmodmap: return the list of layouts from the internal XklConfigRec
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
const gchar **(*get_groups_names) (XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Get the list of the indicators names
|
|
Packit Service |
93d855 |
* xkb: return cached list of the indicators names
|
|
Packit Service |
93d855 |
* xmodmap: return NULL
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
const gchar **(*get_indicators_names) (XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Get the maximum number of loaded groups
|
|
Packit Service |
93d855 |
* xkb: returns 1 or XkbNumKbdGroups
|
|
Packit Service |
93d855 |
* xmodmap: return 0
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
guint(*get_max_num_groups) (XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Get the number of loaded groups
|
|
Packit Service |
93d855 |
* xkb: return from the cached XkbDesc
|
|
Packit Service |
93d855 |
* xmodmap: return number of layouts from internal XklConfigRec
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
guint(*get_num_groups) (XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Switches the keyboard to the group N
|
|
Packit Service |
93d855 |
* xkb: simple one-liner to call the XKB function
|
|
Packit Service |
93d855 |
* xmodmap: changes the root window property
|
|
Packit Service |
93d855 |
* (listener invokes xmodmap with appropriate config file).
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
void (*lock_group) (XklEngine * engine, gint group);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Handles X events.
|
|
Packit Service |
93d855 |
* xkb: XkbEvent handling
|
|
Packit Service |
93d855 |
* xmodmap: keep track on the root window properties. What else can we do?
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
gint(*process_x_event) (XklEngine * engine, XEvent * xev);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Handles X errors.
|
|
Packit Service |
93d855 |
* return 0 if further processing is needed
|
|
Packit Service |
93d855 |
* 1 if error was handled
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
gint(*process_x_error) (XklEngine * engine, XErrorEvent * xerev);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Flushes the cached server config info.
|
|
Packit Service |
93d855 |
* xkb: frees XkbDesc
|
|
Packit Service |
93d855 |
* xmodmap: frees internal XklConfigRec
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
void (*free_all_info) (XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Compares the cached info with the actual one, from the server
|
|
Packit Service |
93d855 |
* xkb: Compares some parts of XkbDescPtr
|
|
Packit Service |
93d855 |
* xmodmap: returns False
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
gboolean(*if_cached_info_equals_actual) (XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Loads the configuration info from the server
|
|
Packit Service |
93d855 |
* xkb: loads XkbDesc, names, indicators
|
|
Packit Service |
93d855 |
* xmodmap: loads internal XklConfigRec from server
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
gboolean(*load_all_info) (XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Gets the current state
|
|
Packit Service |
93d855 |
* xkb: XkbGetState and XkbGetIndicatorState
|
|
Packit Service |
93d855 |
* xmodmap: check the root window property (regarding the group)
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
void (*get_server_state) (XklEngine * engine,
|
|
Packit Service |
93d855 |
XklState * current_state_out);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Stop tracking the keyboard-related events
|
|
Packit Service |
93d855 |
* xkb: XkbSelectEvents(..., 0)
|
|
Packit Service |
93d855 |
* xmodmap: Ungrab the switching shortcut.
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
gint(*pause_listen) (XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Start tracking the keyboard-related events
|
|
Packit Service |
93d855 |
* xkb: XkbSelectEvents + XkbSelectEventDetails
|
|
Packit Service |
93d855 |
* xmodmap: Grab the switching shortcut.
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
gint(*resume_listen) (XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Set the indicators state from the XklState
|
|
Packit Service |
93d855 |
* xkb: XklSetIndicator for all indicators
|
|
Packit Service |
93d855 |
* xmodmap: NULL. Not supported
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
void (*set_indicators) (XklEngine * engine,
|
|
Packit Service |
93d855 |
const XklState * window_state);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Perform the cleanup
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
void (*finalize) (XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/* all data is private - no direct access */
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* The base configuration atom.
|
|
Packit Service |
93d855 |
* xkb: _XKB_RF_NAMES_PROP_ATOM
|
|
Packit Service |
93d855 |
* xmodmap: "_XMM_NAMES"
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
Atom base_config_atom;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* The configuration backup atom
|
|
Packit Service |
93d855 |
* xkb: "_XKB_RULES_NAMES_BACKUP"
|
|
Packit Service |
93d855 |
* xmodmap: "_XMM_NAMES_BACKUP"
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
Atom backup_config_atom;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Fallback for missing model
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
const gchar *default_model;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Fallback for missing layout
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
const gchar *default_layout;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Any stuff backend might need to put in here
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
gpointer backend;
|
|
Packit Service |
93d855 |
};
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern XklEngine *xkl_get_the_engine(void);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
struct _XklConfigRegistryPrivate {
|
|
Packit Service |
93d855 |
XklEngine *engine;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
xmlDocPtr docs[XKL_NUMBER_OF_REGISTRY_DOCS];
|
|
Packit Service |
93d855 |
xmlXPathContextPtr xpath_contexts[XKL_NUMBER_OF_REGISTRY_DOCS];
|
|
Packit Service |
93d855 |
};
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_engine_ensure_vtable_inited(XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_engine_process_focus_in_evt(XklEngine * engine,
|
|
Packit Service |
93d855 |
XFocusChangeEvent * fev);
|
|
Packit Service |
93d855 |
extern void xkl_engine_process_focus_out_evt(XklEngine * engine,
|
|
Packit Service |
93d855 |
XFocusChangeEvent * fev);
|
|
Packit Service |
93d855 |
extern void xkl_engine_process_property_evt(XklEngine * engine,
|
|
Packit Service |
93d855 |
XPropertyEvent * rev);
|
|
Packit Service |
93d855 |
extern void xkl_engine_process_create_window_evt(XklEngine * engine,
|
|
Packit Service |
93d855 |
XCreateWindowEvent * cev);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern int xkl_process_error(Display * dpy, XErrorEvent * evt);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_engine_process_state_modification(XklEngine * engine,
|
|
Packit Service |
93d855 |
XklEngineStateChange
|
|
Packit Service |
93d855 |
change_type, gint group,
|
|
Packit Service |
93d855 |
unsigned inds,
|
|
Packit Service |
93d855 |
gboolean set_indicators);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern Window xkl_engine_get_registered_parent(XklEngine * engine,
|
|
Packit Service |
93d855 |
Window win);
|
|
Packit Service |
93d855 |
extern void xkl_engine_reset_all_info(XklEngine * engine, gboolean force,
|
|
Packit Service |
93d855 |
const gchar reason[]);
|
|
Packit Service |
93d855 |
extern gboolean xkl_engine_load_window_tree(XklEngine * engine);
|
|
Packit Service |
93d855 |
extern gboolean xkl_engine_load_subtree(XklEngine * engine, Window window,
|
|
Packit Service |
93d855 |
gint level, XklState * init_state);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gboolean xkl_engine_if_window_has_wm_state(XklEngine * engine,
|
|
Packit Service |
93d855 |
Window win);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/**
|
|
Packit Service |
93d855 |
* Toplevel window stuff
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
extern void xkl_engine_add_toplevel_window(XklEngine * engine, Window win,
|
|
Packit Service |
93d855 |
Window parent, gboolean force,
|
|
Packit Service |
93d855 |
XklState * init_state);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gboolean xkl_engine_find_toplevel_window_bottom_to_top(XklEngine *
|
|
Packit Service |
93d855 |
engine,
|
|
Packit Service |
93d855 |
Window win,
|
|
Packit Service |
93d855 |
Window *
|
|
Packit Service |
93d855 |
toplevel_win_out);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gboolean xkl_engine_find_toplevel_window(XklEngine * engine,
|
|
Packit Service |
93d855 |
Window win,
|
|
Packit Service |
93d855 |
Window * toplevel_win_out);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gboolean xkl_engine_is_toplevel_window_transparent(XklEngine *
|
|
Packit Service |
93d855 |
engine,
|
|
Packit Service |
93d855 |
Window
|
|
Packit Service |
93d855 |
toplevel_win);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_engine_set_toplevel_window_transparent(XklEngine * engine,
|
|
Packit Service |
93d855 |
Window toplevel_win,
|
|
Packit Service |
93d855 |
gboolean
|
|
Packit Service |
93d855 |
transparent);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gboolean xkl_engine_get_toplevel_window_state(XklEngine * engine,
|
|
Packit Service |
93d855 |
Window toplevel_win,
|
|
Packit Service |
93d855 |
XklState * state_out);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_engine_remove_toplevel_window_state(XklEngine * engine,
|
|
Packit Service |
93d855 |
Window toplevel_win);
|
|
Packit Service |
93d855 |
extern void xkl_engine_save_toplevel_window_state(XklEngine * engine,
|
|
Packit Service |
93d855 |
Window toplevel_win,
|
|
Packit Service |
93d855 |
XklState * state);
|
|
Packit Service |
93d855 |
/***/
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_engine_select_input_merging(XklEngine * engine, Window win,
|
|
Packit Service |
93d855 |
gulong mask);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gchar *xkl_get_debug_window_title(XklEngine * engine, Window win);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern Status xkl_engine_query_tree(XklEngine * engine,
|
|
Packit Service |
93d855 |
Window w,
|
|
Packit Service |
93d855 |
Window * root_out,
|
|
Packit Service |
93d855 |
Window * parent_out,
|
|
Packit Service |
93d855 |
Window ** children_out,
|
|
Packit Service |
93d855 |
guint * nchildren_out);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_engine_try_call_state_func(XklEngine * engine,
|
|
Packit Service |
93d855 |
XklEngineStateChange
|
|
Packit Service |
93d855 |
change_type,
|
|
Packit Service |
93d855 |
XklState * old_state);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gchar *xkl_engine_get_ruleset_name(XklEngine * engine,
|
|
Packit Service |
93d855 |
const gchar default_ruleset[]);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gboolean xkl_config_rec_get_full_from_server(gchar **
|
|
Packit Service |
93d855 |
rules_file_out,
|
|
Packit Service |
93d855 |
XklConfigRec * data,
|
|
Packit Service |
93d855 |
XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gchar *xkl_strings_concat_comma_separated(gchar ** array);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_strings_split_comma_separated(gchar *** array,
|
|
Packit Service |
93d855 |
const gchar * merged);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/**
|
|
Packit Service |
93d855 |
* XConfigRec
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
extern gchar *xkl_config_rec_merge_layouts(const XklConfigRec * data);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gchar *xkl_config_rec_merge_variants(const XklConfigRec * data);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gchar *xkl_config_rec_merge_options(const XklConfigRec * data);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_config_rec_split_layouts(XklConfigRec * data,
|
|
Packit Service |
93d855 |
const gchar * merged);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_config_rec_split_variants(XklConfigRec * data,
|
|
Packit Service |
93d855 |
const gchar * merged);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_config_rec_split_options(XklConfigRec * data,
|
|
Packit Service |
93d855 |
const gchar * merged);
|
|
Packit Service |
93d855 |
/***/
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_config_rec_dump(FILE * file, XklConfigRec * data);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern const gchar *xkl_event_get_name(gint type);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_engine_update_current_state(XklEngine * engine, gint group,
|
|
Packit Service |
93d855 |
unsigned indicators,
|
|
Packit Service |
93d855 |
const gchar reason[]);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gint xkl_xkb_init(XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gint xkl_xmm_init(XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gboolean
|
|
Packit Service |
93d855 |
xkl_engine_is_one_switch_to_secondary_group_allowed(XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_engine_one_switch_to_secondary_group_performed(XklEngine *
|
|
Packit Service |
93d855 |
engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gboolean xkl_config_registry_load_from_file(XklConfigRegistry *
|
|
Packit Service |
93d855 |
config,
|
|
Packit Service |
93d855 |
const gchar * file_name,
|
|
Packit Service |
93d855 |
gint docidx);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_config_registry_free(XklConfigRegistry * config);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gchar *xkl_locale_from_utf8(XklConfigRegistry * config,
|
|
Packit Service |
93d855 |
const gchar * utf8string);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gboolean xkl_config_registry_load_helper(XklConfigRegistry * config, const char
|
|
Packit Service |
93d855 |
default_ruleset[],
|
|
Packit Service |
93d855 |
const char base_dir[],
|
|
Packit Service |
93d855 |
gboolean if_extras_needed);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#define XKLAVIER_STATE_PROP_LENGTH 2
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/* taken from XFree86 maprules.c */
|
|
Packit Service |
93d855 |
#define XKB_RF_NAMES_PROP_MAXLEN 1024
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#define WINID_FORMAT "%lx"
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#define xkl_engine_priv(engine,member) (engine)->priv->member
|
|
Packit Service |
93d855 |
#define xkl_engine_backend(engine,type,member) ((type*)((engine)->priv->backend))->member
|
|
Packit Service |
93d855 |
#define xkl_engine_get_display(engine) (xkl_engine_priv(engine,display))
|
|
Packit Service |
93d855 |
#define xkl_engine_vcall(engine,func) (*(engine)->priv->func)
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#define xkl_config_registry_is_initialized(config) \
|
|
Packit Service |
93d855 |
( xkl_config_registry_priv(config,xpath_contexts[0]) != NULL )
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#define xkl_config_registry_priv(config,member) (config)->priv->member
|
|
Packit Service |
93d855 |
#define xkl_config_registry_get_engine(config) ((config)->priv->engine)
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#define XKBCR_MODEL_PATH "/xkbConfigRegistry/modelList/model"
|
|
Packit Service |
93d855 |
#define XKBCR_LAYOUT_PATH "/xkbConfigRegistry/layoutList/layout"
|
|
Packit Service |
93d855 |
#define XKBCR_VARIANT_PATH XKBCR_LAYOUT_PATH "/variantList/variant"
|
|
Packit Service |
93d855 |
#define XKBCR_GROUP_PATH "/xkbConfigRegistry/optionList/group"
|
|
Packit Service |
93d855 |
#define XKBCR_OPTION_PATH XKBCR_GROUP_PATH "/option"
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#define XML_TAG_DESCR "description"
|
|
Packit Service |
93d855 |
#define XML_TAG_SHORT_DESCR "shortDescription"
|
|
Packit Service |
93d855 |
#define XML_TAG_VENDOR "vendor"
|
|
Packit Service |
93d855 |
#define XML_TAG_COUNTRY_LIST "countryList"
|
|
Packit Service |
93d855 |
#define XML_TAG_LANGUAGE_LIST "languageList"
|
|
Packit Service |
93d855 |
#define XML_TAG_ISO3166ID "iso3166Id"
|
|
Packit Service |
93d855 |
#define XML_TAG_ISO639ID "iso639Id"
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
xkl_config_registry_foreach_in_xpath_with_param(XklConfigRegistry * config,
|
|
Packit Service |
93d855 |
const gchar * format,
|
|
Packit Service |
93d855 |
const gchar * value,
|
|
Packit Service |
93d855 |
XklConfigItemProcessFunc func,
|
|
Packit Service |
93d855 |
gpointer data);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_config_registry_foreach_in_xpath(XklConfigRegistry *
|
|
Packit Service |
93d855 |
config,
|
|
Packit Service |
93d855 |
xmlXPathCompExprPtr
|
|
Packit Service |
93d855 |
xpath_comp_expr,
|
|
Packit Service |
93d855 |
XklConfigItemProcessFunc
|
|
Packit Service |
93d855 |
func, gpointer data);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gboolean xkl_read_config_item(XklConfigRegistry * config,
|
|
Packit Service |
93d855 |
gint doc_index, xmlNodePtr iptr,
|
|
Packit Service |
93d855 |
XklConfigItem * item);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gint xkl_debug_level;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern const gchar *xkl_last_error_message;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#endif
|