mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-29 06:51:10 +00:00
656ec39c29
In gtkimcontextime.c, use gdk_win32_window_get_impl_hwnd() to get to the impl's existing native window instead of GDK_WINDOW_HWND() which implicitly ensures a native window for the widget itself. This seems to work around whatever GDK problem with native subwindows and fixes the bug. This is based on Michael Natterer's fix for gtk-2-24. |
||
---|---|---|
.. | ||
gtkimcontextime.c | ||
gtkimcontextime.h | ||
gtkimcontextmultipress.c | ||
gtkimcontextmultipress.h | ||
gtkimcontextthai.c | ||
gtkimcontextthai.h | ||
gtkimcontextxim.c | ||
gtkimcontextxim.h | ||
im-multipress.conf | ||
imam-et.c | ||
imcedilla.c | ||
imcyrillic-translit.c | ||
imime.c | ||
iminuktitut.c | ||
imipa.c | ||
imm-extra.h | ||
immultipress.c | ||
imthai.c | ||
imti-er.c | ||
imti-et.c | ||
imviqr.c | ||
imxim.c | ||
Makefile.am | ||
README.multipress | ||
thai-charprop.c | ||
thai-charprop.h |
*** Introduction This is a GTK+ input method which allows text entry via the multi-press method, as on a mobile phone. When this has been installed, you can choose the "Multipress" menu item from the "Input Methods" submenu when right-clicking in a GTK+ text entry area. For instance: - press a to get a, then wait 1 second for the character to be accepted. or - press dd to get e, then wait 1 second for the character to be accepted. or - press ad to get ad, then wait 1 second for the d character to be accepted. *** Configuration Edit the im-multipress.conf to define the keypresses needed to input particular characters. This file is in GKeyFile-format, and contains explanatory comments. *** Per-widget deactivation When the input method is active (either by choosing it from the context menu, or by defining the default language as "*" in immultipress.c), the multipress behaviour can be turned off for individual widgets, like so: g_object_set_data(G_OBJECT(yourwidget), "multipress-passthrough-flag", GINT_TO_POINTER(1)); For a C++ gtkmm project, you could make a convenience function to do this. For instance: void multipress_deactivate(Gtk::Widget& widget) { static const Glib::Quark quark ("multipress-passthrough-flag"); widget.set_data(quark, GINT_TO_POINTER(1)); } *** Contact Please contact Openismus for assistance with this input method. You can email murrayc@openismus.com Copyright 2006-2007, Openismus GmbH