## GnomeXkbInfo GnomeXkbInfo |

## Functions

GnomeXkbInfo * | gnome_xkb_info_new ()
GList * | gnome_xkb_info_get_all_layouts ()
GList * | gnome_xkb_info_get_languages_for_layout ()
GList * | gnome_xkb_info_get_layouts_for_country ()
GList * | gnome_xkb_info_get_layouts_for_language ()
gboolean | gnome_xkb_info_get_layout_info ()
GList * | gnome_xkb_info_get_all_option_groups ()
const gchar * | gnome_xkb_info_description_for_group ()
GList * | gnome_xkb_info_get_options_for_group ()
const gchar * | gnome_xkb_info_description_for_option ()

## Types and Values

struct | GnomeXkbInfo
struct | GnomeXkbInfoClass

## Description

## Functions

### gnome_xkb_info_new ()

    GnomeXkbInfo *
    gnome_xkb_info_new (void);

#### Returns

a new GnomeXkbInfo instance.

[transfer full]

### gnome_xkb_info_get_all_layouts ()

    GList *
    gnome_xkb_info_get_all_layouts (GnomeXkbInfo *self);

Returns a list of all layout identifiers we know about.

#### Parameters

self | a GnomeXkbInfo |

#### Returns

the list of layout names. The caller takes ownership of the GList but not of the strings themselves, those are internally allocated and must not be modified.

[transfer container][element-type utf8]

Since: 3.6

### gnome_xkb_info_get_languages_for_layout ()

    GList *
    gnome_xkb_info_get_languages_for_layout
                                   (GnomeXkbInfo *self,
                                    const gchar *layout_id);

Returns a list of all languages supported by a layout, given by `layout_id` .

#### Parameters

self | a GnomeXkbInfo |
layout_id | a layout identifier |

#### Returns

the list of ISO 639 code strings. The caller takes ownership of the GList but not of the strings themselves, those are internally allocated and must not be modified.

[transfer container][element-type utf8]

Since: 3.18

### gnome_xkb_info_get_layouts_for_country ()

    GList *
    gnome_xkb_info_get_layouts_for_country
                                   (GnomeXkbInfo *self,
                                    const gchar *country_code);

Returns a list of all layout identifiers we know about for `country_code` .

#### Parameters

self | a GnomeXkbInfo |
country_code | an ISO 3166 code string |

#### Returns

the list of layout ids. The caller takes ownership of the GList but not of the strings themselves, those are internally allocated and must not be modified.

[transfer container][element-type utf8]

Since: 3.8

### gnome_xkb_info_get_layouts_for_language ()

    GList *
    gnome_xkb_info_get_layouts_for_language
                                   (GnomeXkbInfo *self,
                                    const gchar *language_code);

Returns a list of all layout identifiers we know about for `language_code` .

#### Parameters

self | a GnomeXkbInfo |
language_code | an ISO 639 code string |

#### Returns

the list of layout ids. The caller takes ownership of the GList but not of the strings themselves, those are internally allocated and must not be modified.

[transfer container][element-type utf8]

Since: 3.8

### gnome_xkb_info_get_layout_info ()

    gboolean
    gnome_xkb_info_get_layout_info (GnomeXkbInfo *self,
                                    const gchar *id,
                                    const gchar **display_name,
                                    const gchar **short_name,
                                    const gchar **xkb_layout,
                                    const gchar **xkb_variant);

Retrieves information about a layout. Both `display_name` and `short_name` are suitable to show in UIs and might be localized if translations are available.

Some layouts don't provide a short name (2 or 3 letters) or don't specify a XKB variant, in those cases `short_name` or `xkb_variant` are empty strings, i.e. "".

If the given layout doesn't exist the return value is `FALSE` and all the (out) parameters are set to `NULL`.

#### Parameters

self | a GnomeXkbInfo |
id | layout's identifier about which to retrieve the info |
display_name | location to store the layout's display name, or `NULL`. | [out][allow-none][transfer none]
short_name | location to store the layout's short name, or `NULL`. | [out][allow-none][transfer none]
xkb_layout | location to store the layout's XKB name, or `NULL`. | [out][allow-none][transfer none]
xkb_variant | location to store the layout's XKB variant, or `NULL`. | [out][allow-none][transfer none]

#### Returns

`TRUE` if the layout exists or `FALSE` otherwise.

Since: 3.6

### gnome_xkb_info_get_all_option_groups ()

    GList *
    gnome_xkb_info_get_all_option_groups (GnomeXkbInfo *self);

Returns a list of all option group identifiers we know about.

#### Parameters

self | a GnomeXkbInfo |

#### Returns

the list of option group ids. The caller takes ownership of the GList but not of the strings themselves, those are internally allocated and must not be modified.

[transfer container][element-type utf8]

Since: 3.6

### gnome_xkb_info_description_for_group ()

    const gchar *
    gnome_xkb_info_description_for_group (GnomeXkbInfo *self,
                                          const gchar *group_id);

#### Parameters

self | a GnomeXkbInfo |
group_id | identifier for group |

#### Returns

the translated description for the group `group_id` .

Since: 3.8

### gnome_xkb_info_get_options_for_group ()

    GList *
    gnome_xkb_info_get_options_for_group (GnomeXkbInfo *self,
                                          const gchar *group_id);

Returns a list of all option identifiers we know about for group `group_id` .

#### Parameters

self | a GnomeXkbInfo |
group_id | group's identifier about which to retrieve the options |

#### Returns

the list of option ids. The caller takes ownership of the GList but not of the strings themselves, those are internally allocated and must not be modified.

[transfer container][element-type utf8]

Since: 3.6

### gnome_xkb_info_description_for_option ()

    const gchar *
    gnome_xkb_info_description_for_option (GnomeXkbInfo *self,
                                           const gchar *group_id,
                                           const gchar *id);

#### Parameters

self | a GnomeXkbInfo |
group_id | identifier for group containing the option |
id | option identifier |

#### Returns

the translated description for the option `id` .

Since: 3.6

## Types and Values

### struct GnomeXkbInfo

    struct GnomeXkbInfo {
      GObject parent_object;

      GnomeXkbInfoPrivate *priv;
    };

### struct GnomeXkbInfoClass

    struct GnomeXkbInfoClass {
      GObjectClass parent_class;
    };