char **lang = NULL;
const char * const sys_langs[] = { "el_gr", "fi_fi", "pt_br", NULL };
const char * const *sys_lang = NULL;
- char *x11_compose_file_dir = get_x11_compose_file_dir ();
path = g_build_filename (g_get_user_config_dir (), "gtk-4.0", "Compose", NULL);
if (g_file_test (path, G_FILE_TEST_EXISTS))
{
if (g_ascii_strncasecmp (*lang, *sys_lang, strlen (*sys_lang)) == 0)
{
+ char *x11_compose_file_dir = get_x11_compose_file_dir ();
path = g_build_filename (x11_compose_file_dir, *lang, "Compose", NULL);
+ g_free (x11_compose_file_dir);
break;
}
}
g_clear_pointer (&path, g_free);
}
- g_free (x11_compose_file_dir);
g_strfreev (langs);
if (path != NULL &&
/**
* gtk_im_context_simple_new:
- *
+ *
* Creates a new `GtkIMContextSimple`.
*
* Returns: a new `GtkIMContextSimple`
priv->tentative_match_len = 0;
str = g_string_new (NULL);
-
+
i = 0;
while (i < n_compose)
{
gunichar ch;
-
+
ch = gdk_keyval_to_unicode (priv->compose_buffer[i]);
-
+
if (ch == 0)
return FALSE;
buf[g_unichar_to_utf8 (ch, buf)] = '\0';
g_string_append (str, buf);
-
+
++i;
}
g_string_append_unichar (priv->tentative_match, n);
priv->tentative_match_len = n_compose;
}
-
+
return TRUE;
}
FALSE,
&translated,
&translated);
-
+
gtk_im_context_filter_keypress (context, tmp_event);
gdk_event_unref (tmp_event);
}
g_signal_emit_by_name (context, "preedit-end");
return TRUE;
}
-
+
keyval = gdk_key_event_get_keyval (event);
ch = gdk_keyval_to_unicode (keyval);
if (ch != 0 && !g_unichar_iscntrl (ch))
}
g_free (keyvals);
-
+
if (keyval)
return keyval;
else
if (!priv->in_hex_sequence)
g_signal_emit_by_name (context_simple, "preedit-end");
-
+
return TRUE;
}
priv->compose_buffer[0] = 0;
}
}
-
+
/* Check for hex sequence start */
if (!priv->in_hex_sequence && have_hex_mods && is_hex_start)
{
g_signal_emit_by_name (context_simple, "preedit-start");
g_signal_emit_by_name (context_simple, "preedit-changed");
-
+
return TRUE;
}