## XklConfigRec XklConfigRec |

## Synopsis

                        XklConfigRec;
    XklConfigRec *      xkl_config_rec_new                  (void);
    gboolean            xkl_config_rec_activate             (const XklConfigRec *data,
                                                             XklEngine *engine);
    gboolean            xkl_config_rec_get_from_server      (XklConfigRec *data,
                                                             XklEngine *engine);
    gboolean            xkl_config_rec_get_from_backup      (XklConfigRec *data,
                                                             XklEngine *engine);
    gboolean            xkl_config_rec_write_to_file        (XklEngine *engine,
                                                             const gchar *file_name,
                                                             const XklConfigRec *data,
                                                             const gbooleanbinary );
    gboolean            xkl_config_rec_get_from_root_window_property
                                                            (XklConfigRec *config_out,
                                                             Atomrules_atom_name ,
                                                             gchar **rules_file_out,
                                                             XklEngine *engine);
    gboolean            xkl_config_rec_set_to_root_window_property
                                                            (constXklConfigRec *config,
                                                             Atomrules_atom_name ,
                                                             gchar *rules_file,
                                                             XklEngine *engine);
    gboolean            xkl_engine_backup_names_prop        (XklEngine *engine);
    gboolean            xkl_restore_names_prop              (XklEngine *engine);
    void                xkl_config_rec_reset                (XklConfigRec *data);
    gboolean            xkl_config_rec_equals               (XklConfigRec *data1,
                                                             XklConfigRec *data2);

## Object Hierarchy

      GObject
       +----XklConfigRec

## Description

## Details

### XklConfigRec

    typedef struct _XklConfigRec XklConfigRec;

### xkl_config_rec_new ()

    XklConfigRec *      xkl_config_rec_new                  (void);

Create new XklConfigRec

Returns : | new instance

### xkl_config_rec_activate ()

    gboolean            xkl_config_rec_activate             (const XklConfigRec *data,
                                                             XklEngine *engine);

Activates some XKB configuration description. Can be NULL

`data` : | valid XKB configuration
`engine` : | the engine
Returns : | TRUE on success

### xkl_config_rec_get_from_server ()

    gboolean            xkl_config_rec_get_from_server      (XklConfigRec *data,
                                                             XklEngine *engine);

Loads the current XKB configuration (from X server)

`data` : | buffer for XKB configuration
`engine` : | the engine
Returns : | TRUE on success

### xkl_config_rec_get_from_backup ()

    gboolean            xkl_config_rec_get_from_backup      (XklConfigRec *data,
                                                             XklEngine *engine);

Loads the current XKB configuration (from backup)

`data` : | buffer for XKB configuration
`engine` : | the engine
Returns : | TRUE on success

### xkl_config_rec_write_to_file ()

    gboolean            xkl_config_rec_write_to_file        (XklEngine *engine,
                                                             const gchar *file_name,
                                                             const XklConfigRec *data,
                                                             const gbooleanbinary );

Writes some XKB configuration into XKM/XKB/... file

`engine` : | the engine
`file_name` : | name of the file to create
`data` : | valid XKB configuration description. Can be NULL
`Param4` : |
Returns : | TRUE on success

### xkl_config_rec_get_from_root_window_property ()

    gboolean            xkl_config_rec_get_from_root_window_property
                                                            (XklConfigRec *config_out,
                                                             Atomrules_atom_name ,
                                                             gchar **rules_file_out,
                                                             XklEngine *engine);

Gets the XKB configuration from any root window property

`config_out` : | buffer to hold the result
`Param2` : |
`rules_file_out` : | pointer to hold the file name
`engine` : | the engine
Returns : | TRUE on success

### xkl_config_rec_set_to_root_window_property ()

    gboolean            xkl_config_rec_set_to_root_window_property
                                                            (constXklConfigRec *config,
                                                             Atomrules_atom_name ,
                                                             gchar *rules_file,
                                                             XklEngine *engine);

Saves the XKB configuration into any root window property

`config` : | configuration to save
`Param2` : |
`rules_file` : | rules file name
`engine` : | the engine
Returns : | TRUE on success

### xkl_engine_backup_names_prop ()

    gboolean            xkl_engine_backup_names_prop        (XklEngine *engine);

Backups current XKB configuration into some property - if this property is not defined yet.

`engine` : | the engine
Returns : | TRUE on success

### xkl_restore_names_prop ()

    gboolean            xkl_restore_names_prop              (XklEngine *engine);

Restores XKB from the property saved by xkl_backup_names_prop

`engine` : | the engine
Returns : | TRUE on success

### xkl_config_rec_reset ()

    void                xkl_config_rec_reset                (XklConfigRec *data);

Resets the record (equal to Destroy and Init)

`data` : | record to reset

### xkl_config_rec_equals ()

    gboolean            xkl_config_rec_equals               (XklConfigRec *data1,
                                                             XklConfigRec *data2);

Compares two records

`data1` : | record to compare
`data2` : | another record
Returns : | TRUE if records are same