## GtkIMMulticontext GtkIMMulticontext — An input method context supporting multiple, loadable input methods |

## Synopsis

    #include <gtk/gtk.h>

                        GtkIMMulticontext;
    GtkIMContext *      gtk_im_multicontext_new             (void);
    void                gtk_im_multicontext_append_menuitems
                                                            (GtkIMMulticontext *context,
                                                             GtkMenuShell *menushell);
    const char *        gtk_im_multicontext_get_context_id  (GtkIMMulticontext *context);
    void                gtk_im_multicontext_set_context_id  (GtkIMMulticontext *context,
                                                             const char *context_id);

## Object Hierarchy

      GObject
       +----GtkIMContext
             +----GtkIMMulticontext

## Description

## Details

### GtkIMMulticontext

    typedef struct _GtkIMMulticontext GtkIMMulticontext;

### gtk_im_multicontext_new ()

    GtkIMContext *      gtk_im_multicontext_new             (void);

Creates a new GtkIMMulticontext.

Returns : | a new GtkIMMulticontext.

### gtk_im_multicontext_append_menuitems ()

    void                gtk_im_multicontext_append_menuitems
                                                            (GtkIMMulticontext *context,
                                                             GtkMenuShell *menushell);

Add menuitems for various available input methods to a menu; the menuitems, when selected, will switch the input method for the context and the global default input method.

`context` : | a GtkIMMulticontext
`menushell` : | a GtkMenuShell

### gtk_im_multicontext_get_context_id ()

    const char *        gtk_im_multicontext_get_context_id  (GtkIMMulticontext *context);

Gets the id of the currently active slave of the `context`.

`context` : | a GtkIMMulticontext
Returns : | the id of the currently active slave

Since 2.16

### gtk_im_multicontext_set_context_id ()

    void                gtk_im_multicontext_set_context_id  (GtkIMMulticontext *context,
                                                             const char *context_id);

Sets the context id for `context`.

This causes the currently active slave of `context` to be replaced by the slave corresponding to the new context id.

`context` : | a GtkIMMulticontext
`context_id` : | the id to use

Since 2.16