Class IMContextSimple

All Implemented Interfaces:
Proxy

@Generated("org.javagi.JavaGI") public class IMContextSimple extends IMContext

Supports compose sequences, dead keys and numeric Unicode input.

Compose sequences

GtkIMContextSimple reads compose sequences from the first of the following files that is found: ~/.config/gtk-4.0/Compose, ~/.XCompose, /usr/share/X11/locale/$locale/Compose (for locales that have a nontrivial Compose file). A subset of the file syntax described in the Compose(5) manual page is supported. Additionally, include "%L" loads GTK’s built-in table of compose sequences rather than the locale-specific one from X11.

If none of these files is found, GtkIMContextSimple uses a built-in table of compose sequences that is derived from the X11 Compose files.

Note that compose sequences typically start with the Compose_key, which is often not available as a dedicated key on keyboards. Keyboard layouts may map this keysym to other keys, such as the right Control key.

Unicode characters

GtkIMContextSimple also supports numeric entry of Unicode characters by typing Ctrl-Shift-u, followed by a hexadecimal Unicode codepoint.

For example,

Ctrl-Shift-u 1 2 3 Enter

yields U+0123 LATIN SMALL LETTER G WITH CEDILLA, i.e. ģ.

Dead keys

GtkIMContextSimple supports dead keys. For example, typing

dead_acute a

yields U+00E! LATIN SMALL LETTER_A WITH ACUTE, i.e. á. Note that this depends on the keyboard layout including dead keys.

  • Constructor Details

    • IMContextSimple

      public IMContextSimple(MemorySegment address)
      Create a IMContextSimple instance for the provided memory address.
      Parameters:
      address - the memory address of the native object
    • IMContextSimple

      public IMContextSimple()
      Create a new IMContextSimple.
  • Method Details

    • getType

      public static @Nullable Type getType()
      Get the GType of the IMContextSimple class.
      Returns:
      the GType
    • getMemoryLayout

      public static MemoryLayout getMemoryLayout()
      The memory layout of the native struct.
      Returns:
      the memory layout
    • asParent

      protected IMContextSimple asParent()
      Return this instance as if it were its parent type. Comparable to the Java super keyword, but ensures the parent typeclass is also used in native code.
      Overrides:
      asParent in class IMContext
      Returns:
      the instance as if it were its parent type
    • addComposeFile

      public void addComposeFile(String composeFile)
      Adds an additional table from the X11 compose file.
      Parameters:
      composeFile - The path of compose file
    • addTable

      @Deprecated public void addTable(@Nullable short @Nullable [] data, int maxSeqLen, int nSeqs)
      Deprecated.
      Use gtk_im_context_simple_add_compose_file()

      Adds an additional table to search to the input context. Each row of the table consists of maxSeqLen key symbols followed by two guint16 interpreted as the high and low words of a gunicode value. Tables are searched starting from the last added.

      The table must be sorted in dictionary order on the numeric value of the key symbol fields. (Values beyond the length of the sequence should be zero.)

      Parameters:
      data - the table
      maxSeqLen - Maximum length of a sequence in the table
      nSeqs - number of sequences in the table
    • builder

      public static IMContextSimple.Builder<? extends IMContextSimple.Builder> builder()
      A IMContextSimple.Builder object constructs a IMContextSimple with the specified properties. Use the various set...() methods to set properties, and finish construction with IMContextSimple.Builder.build().
      Returns:
      the builder object