| Top |
| char * | backendName | Read |
| guint | default-group | Read |
| gpointer | display | Read / Write / Construct Only |
| XklEngineFeatures | features | Read |
| gboolean | indicators-handling | Read |
| guint | max-num-groups | Read |
| guint | num-groups | Read |
| guint | secondary-groups-mask | Read |
| void | X-config-changed | Run Last |
| void | X-new-device | Run Last |
| void | X-state-changed | Run Last |
| int | new-toplevel-window | Run Last |
| XklEnginePrivate | |
| enum | XklEngineStateChange |
| enum | XklEngineFeatures |
| XklState | |
| struct | XklEngine |
| enum | XklEngineListenModes |
XklEngine *
xkl_engine_get_instance (Display *display);
Get the instance of the XklEngine. Within a process, there is always once instance.
const gchar *
xkl_engine_get_backend_name (XklEngine *engine);
What kind of backend is used
guint
xkl_engine_get_features (XklEngine *engine);
Provides information regarding available backend features (combination of XKLF_* constants)
guint
xkl_engine_get_max_num_groups (XklEngine *engine);
Provides the information on maximum number of simultaneously supported groups (layouts)
gint xkl_engine_start_listen (XklEngine *engine,guint flags);
Starts listening for XKB-related events
gint xkl_engine_stop_listen (XklEngine *engine,guint flags);
Stops listening for XKB-related events
gint
xkl_engine_pause_listen (XklEngine *engine);
Temporary pauses listening for XKB-related events
gint
xkl_engine_resume_listen (XklEngine *engine);
Resumes listening for XKB-related events
gboolean xkl_engine_grab_key (XklEngine *engine,gint keycode,guint modifiers);
Grabs some key
gboolean xkl_engine_ungrab_key (XklEngine *engine,gint keycode,guint modifiers);
Ungrabs some key
gint xkl_engine_filter_events (XklEngine *engine,XEvent *evt);
Processes X events. Should be included into the main event cycle of an application. One of the most important functions.
void
xkl_engine_allow_one_switch_to_secondary_group
(XklEngine *engine);
Allows to switch (once) to the secondary group
XklState *
xkl_engine_get_current_state (XklEngine *engine);
gboolean xkl_engine_get_state (XklEngine *engine,Window win,XklState *state_out);
Finds the state for a given window (for its "App window").
void xkl_engine_delete_state (XklEngine *engine,Window win);
Drops the state of a given window (of its "App window").
void xkl_engine_save_state (XklEngine *engine,Window win,XklState *state);
Stores ths state for a given window
void xkl_engine_set_window_transparent (XklEngine *engine,Window win,gboolean transparent);
Sets the "transparent" flag. It means focus switching onto this window will never change the state.
gboolean xkl_engine_is_window_transparent (XklEngine *engine,Window win);
gboolean xkl_engine_is_window_from_same_toplevel_window (XklEngine *engine,Window win1,Window win2);
Checks whether 2 windows have the same topmost window
const gchar **
xkl_engine_get_groups_names (XklEngine *engine);
const gchar **
xkl_engine_get_indicators_names (XklEngine *engine);
gint
xkl_engine_get_next_group (XklEngine *engine);
Calculates next group id. Does not change the state of anything.
gint
xkl_engine_get_prev_group (XklEngine *engine);
Calculates prev group id. Does not change the state of anything.
gint
xkl_engine_get_current_window_group (XklEngine *engine);
void xkl_engine_lock_group (XklEngine *engine,gint group);
Locks the group. Can be used after xkl_GetXXXGroup functions
void xkl_engine_set_group_per_toplevel_window (XklEngine *engine,gboolean is_global);
Sets the configuration parameter: group per application
gboolean
xkl_engine_is_group_per_toplevel_window
(XklEngine *engine);
void xkl_engine_set_indicators_handling (XklEngine *engine,gboolean whether_handle);
Sets the configuration parameter: perform indicators handling
gboolean
xkl_engine_get_indicators_handling (XklEngine *engine);
void xkl_engine_set_secondary_groups_mask (XklEngine *engine,guint mask);
Sets the secondary groups (one bit per group). Secondary groups require explicit "allowance" for switching
guint
xkl_engine_get_secondary_groups_mask (XklEngine *engine);
void xkl_engine_set_default_group (XklEngine *engine,gint group);
Configures the default group set on window creation. If -1, no default group is used
gint
xkl_engine_get_default_group (XklEngine *engine);
Returns the default group set on window creation If -1, no default group is used
typedef struct {
/**
* selected group
*/
gint32 group;
/**
* set of active indicators
*/
guint32 indicators;
} XklState;
“backendName” property “backendName” char *
Backend name.
Owner: XklEngine
Flags: Read
Default value: NULL
“default-group” property “default-group” guint
Default group.
Owner: XklEngine
Flags: Read
Allowed values: <= 256
Default value: 0
“display” property “display” gpointer
X Display pointer.
Owner: XklEngine
Flags: Read / Write / Construct Only
“indicators-handling” property “indicators-handling” gboolean
Whether engine should handle indicators.
Owner: XklEngine
Flags: Read
Default value: FALSE
“max-num-groups” property “max-num-groups” guint
Max number of groups.
Owner: XklEngine
Flags: Read
Allowed values: <= 256
Default value: 0
“num-groups” property “num-groups” guint
Current number of groups.
Owner: XklEngine
Flags: Read
Allowed values: <= 256
Default value: 0
“X-config-changed” signalvoid user_function (XklEngine *xklengine, gpointer user_data)
Flags: Run Last
“X-new-device” signalvoid user_function (XklEngine *xklengine, gpointer user_data)
Flags: Run Last
“X-state-changed” signalvoid user_function (XklEngine *xklengine, XklEngineStateChange arg1, int arg2, gboolean arg3, gpointer user_data)
Flags: Run Last
“new-toplevel-window” signalint user_function (XklEngine *xklengine, glong arg1, glong arg2, gpointer user_data)
Flags: Run Last