EekXklLayout

## EekXklLayout EekXklLayout — Layout engine using Libxklavier configuration |

## Synopsis

    struct              EekXklLayout;
    struct              EekXklLayoutClass;
    gboolean            eek_xkl_layout_disable_option       (EekXklLayout *layout,
                                                             const gchar *option);
    gboolean            eek_xkl_layout_enable_option        (EekXklLayout *layout,
                                                             const gchar *option);
    gchar **            eek_xkl_layout_get_layouts          (EekXklLayout *layout);
    gchar *             eek_xkl_layout_get_model            (EekXklLayout *layout);
    gboolean            eek_xkl_layout_get_option           (EekXklLayout *layout,
                                                             const gchar *option);
    gchar **            eek_xkl_layout_get_options          (EekXklLayout *layout);
    gchar **            eek_xkl_layout_get_variants         (EekXklLayout *layout);
    EekLayout *         eek_xkl_layout_new                  (Display *display,
                                                             GError **error);
    gboolean            eek_xkl_layout_set_config           (EekXklLayout *layout,
                                                             XklConfigRec *config);
    gboolean            eek_xkl_layout_set_config_full      (EekXklLayout *layout,
                                                             gchar *model,
                                                             gchar **layouts,
                                                             gchar **variants,
                                                             gchar **options);
    gboolean            eek_xkl_layout_set_layouts          (EekXklLayout *layout,
                                                             gchar **layouts);
    gboolean            eek_xkl_layout_set_model            (EekXklLayout *layout,
                                                             const gchar *model);
    gboolean            eek_xkl_layout_set_options          (EekXklLayout *layout,
                                                             gchar **options);
    gboolean            eek_xkl_layout_set_variants         (EekXklLayout *layout,
                                                             gchar **variants);

## Object Hierarchy

      GObject
       +----EekLayout
             +----EekXkbLayout
                   +----EekXklLayout

## Implemented Interfaces

EekXklLayout implements GInitable.

## Properties

      "layouts"                  GStrv                 : Read / Write
      "model"                    gchar*                : Read / Write
      "options"                  GStrv                 : Read / Write
      "variants"                 GStrv                 : Read / Write

## Description

The EekXklLayout is a simple wrapper around EekXkbLayout class to use Libxklavier configuration.

## Details

### struct EekXklLayout

    struct EekXklLayout;

### struct EekXklLayoutClass

    struct EekXklLayoutClass {
    };

### eek_xkl_layout_disable_option ()

    gboolean            eek_xkl_layout_disable_option       (EekXklLayout *layout,
                                                             const gchar *option);

Unset the option of `layout` (in the Libxklavier terminology).

`layout` : | an EekXklLayout
`option` : | option name
Returns : | `TRUE` if the current layout changed, `FALSE` otherwise

### eek_xkl_layout_enable_option ()

    gboolean            eek_xkl_layout_enable_option        (EekXklLayout *layout,
                                                             const gchar *option);

Set the option of `layout` (in the Libxklavier terminology).

`layout` : | an EekXklLayout
`option` : | option name
Returns : | `TRUE` if the current layout changed, `FALSE` otherwise

### eek_xkl_layout_get_layouts ()

    gchar **            eek_xkl_layout_get_layouts          (EekXklLayout *layout);

Get the layout names of `layout` configuration (in the Libxklavier terminology).

`layout` : | an EekXklLayout

### eek_xkl_layout_get_model ()

    gchar *             eek_xkl_layout_get_model            (EekXklLayout *layout);

Get the model name of `layout` configuration (in the Libxklavier terminology).

`layout` : | an EekXklLayout

### eek_xkl_layout_get_option ()

    gboolean            eek_xkl_layout_get_option           (EekXklLayout *layout,
                                                             const gchar *option);

Tell if the option of `layout` (in the Libxklavier terminology) is set.

`layout` : | an EekXklLayout
`option` : | option name
Returns : | `TRUE` if the option is set, `FALSE` otherwise

### eek_xkl_layout_get_options ()

    gchar **            eek_xkl_layout_get_options          (EekXklLayout *layout);

Get the option names of `layout` configuration (in the Libxklavier terminology).

`layout` : | an EekXklLayout

### eek_xkl_layout_get_variants ()

    gchar **            eek_xkl_layout_get_variants         (EekXklLayout *layout);

Get the variant names of `layout` configuration (in the Libxklavier terminology).

`layout` : | an EekXklLayout

### eek_xkl_layout_new ()

    EekLayout *         eek_xkl_layout_new                  (Display *display,
                                                             GError **error);

Create a new EekXklLayout.

### eek_xkl_layout_set_config ()

    gboolean            eek_xkl_layout_set_config           (EekXklLayout *layout,
                                                             XklConfigRec *config);

Reconfigure `layout` with `config`.

`layout` : | an EekXklLayout
`config` : | Libxklavier configuration
Returns : | `TRUE` if the current layout changed, `FALSE` otherwise

### eek_xkl_layout_set_config_full ()

    gboolean            eek_xkl_layout_set_config_full      (EekXklLayout *layout,
                                                             gchar *model,
                                                             gchar **layouts,
                                                             gchar **variants,
                                                             gchar **options);

Reconfigure `layout` with `model`, `layouts`, `variants`, and `options`. This function is merely a wrapper around `eek_xkl_layout_set_config()` to avoid passing a pointer of XklConfigRec, which is not currently available in the gobject-introspection repository.

`layout` : | an EekXklLayout
`model` : | Libxklavier model name
`layouts` : | Libxklavier layouts
`variants` : | Libxklavier variants
`options` : | Libxklavier options
Returns : | `TRUE` if the current layout changed, `FALSE` otherwise

Since 0.0.2

### eek_xkl_layout_set_layouts ()

    gboolean            eek_xkl_layout_set_layouts          (EekXklLayout *layout,
                                                             gchar **layouts);

Set the layout names of `layout` (in the Libxklavier terminology).

`layout` : | an EekXklLayout
`layouts` : | layout names
Returns : | `TRUE` if the current layout changed, `FALSE` otherwise

### eek_xkl_layout_set_model ()

    gboolean            eek_xkl_layout_set_model            (EekXklLayout *layout,
                                                             const gchar *model);

Set the model name of `layout` configuration (in the Libxklavier terminology).

`layout` : | an EekXklLayout
`model` : | model name
Returns : | `TRUE` if the current layout changed, `FALSE` otherwise

### eek_xkl_layout_set_options ()

    gboolean            eek_xkl_layout_set_options          (EekXklLayout *layout,
                                                             gchar **options);

Set the option names of `layout` (in the Libxklavier terminology).

`layout` : | an EekXklLayout
`options` : | option names
Returns : | `TRUE` if the current layout changed, `FALSE` otherwise

### eek_xkl_layout_set_variants ()

    gboolean            eek_xkl_layout_set_variants         (EekXklLayout *layout,
                                                             gchar **variants);

Set the variant names of `layout` (in the Libxklavier terminology).

`layout` : | an EekXklLayout
`variants` : | variant names
Returns : | `TRUE` if the current layout changed, `FALSE` otherwise

## Property Details

### The `"layouts"` property

      "layouts"                  GStrv                 : Read / Write

The libxklavier layout names of EekXklLayout.

### The `"model"` property

      "model"                    gchar*                : Read / Write

The libxklavier model name of EekXklLayout.

Default value: NULL

### The `"options"` property

      "options"                  GStrv                 : Read / Write

The libxklavier option names of EekXklLayout.

### The `"variants"` property

      "variants"                 GStrv                 : Read / Write

The libxklavier variant names of EekXklLayout.