Compiling simple GTK+ input methods
Now, I've tried. My google-fu has failed me. What I've got is a single .c file, containing a GTK+ input method for Eastern Ojibwe, using Canadian Aboriginal Syllabics. I based it on the GTK+ Inuktitut IM. What I want is to compile that .c file into a GTK+ input method, so I can test it, debug it, etc. I have no idea how to proceed. I beg forgiveness for my ignorance. Can anyone help me? ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Compiling simple GTK+ input methods
On Sat, Jul 28, 2007 at 04:21:54AM -0400, Kyle James Cardoza wrote: Now, I've tried. My google-fu has failed me. Googling is pointless, if you have the Gtk+ Makefile that compiles the input methods... What I've got is a single .c file, containing a GTK+ input method for Eastern Ojibwe, using Canadian Aboriginal Syllabics. I based it on the GTK+ Inuktitut IM. What I want is to compile that .c file into a GTK+ input method, so I can test it, debug it, etc. I asuume you have config.h or removed #include config.h and gtk/gtkintl.h is replaced with glib/gi18n.h (or the header copied from Gtk+ sources). (a) Manually libtool --mode=compile cc $(pkg-config --cflags gtk+-2.0) -DGETTEXT_PACKAGE=\gtk+\ -DGTK_LOCALEDIR=\$(pkg-config --variable=prefix gtk+-2.0)/share/locale\ -Wall -W -g -O2 -c iminuktitut.c libtool --mode=link cc $(pkg-config --cflags --libs gtk+-2.0) -Wall -W -g -O2 -avoid-version -module -rpath $(pkg-config --variable=libdir gtk+-2.0)/gtk+-2.0/$(pkg-config --variable=gtk_binary_version gtk+-2.0)/immodules -o iminuktitut.la iminuktitut.lo libtool --mode=install install -c iminuktitut.la $(pkg-config --variable=libdir gtk+-2.0)/gtk+-2.0/$(pkg-config --variable=gtk_binary_version gtk+-2.0)/immodules/iminuktitut.la (b) Properly Copy the relevant delcarations from Gtk+'s modules/input/Makefile.am, add the corresponding configure and it will compile. The only non-obvious trick may be finding out the Gtk+ binary version for determining the installation directory with pkg-config --variable=gtk_binary_version gtk+-2.0 (you should put all this configuration into proper configure tests of course). Yeti -- http://gwyddion.net/ ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Input methods
On Thursday at 18:30, Simos Xenitellis wrote: This works ok for most languages now, though there is some work to synch the table from upstream http://bugzilla.gnome.org/show_bug.cgi?id=321896 Not really. X Compose files allow a compose sequence to return a string of UTF-8 characters, while internal Gtk+ compose handling doesn't allow that. This is problematic for when you don't have precomposed accented letters in Unicode/ISO 10646, so you must use decomposed form. Cheers, Danilo ___ gtk-devel-list mailing list gtk-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-devel-list
Re: Input methods
On Thu, 2006-03-23 at 16:46 +, Joachim Noreiko wrote: --- Owen Taylor [EMAIL PROTECTED] wrote: I'm sorry, I have don't time to help; I think Matthias answered you on one of the lists with the correct answer, which is that we don't see that menu with the input methods appearing in a typically configured desktop; instead input method switching will be done system wide using a system such as SCIM or IIIMF. I don't understand most of what you've said. On Ubuntu Breezy, and on a virtual machine of stock GNOME 2.13.something, the Input Methods appears in the context menu of all text widgets. It has a list of items as I've detailed. These need to be documented. If nobody can satisfactorily explain what these are and how they work, may I request that they be removed from GNOME? The context menu entries you see in each textbox come from /etc/gtk-2.0/gtk.immodules which leads to /usr/lib/gtk-2.0/2.4.0/immodules (That's Ubuntu 5.10, your mileage may vary). When SCIM or IIIMF (or other) are installed, they place an IM module in the above file and the above directory. This way, you are able to choose between one or another, on an on-demand case. You may preselect for your entire session which one of these to be active by setting the variable GTK_IM_MODULE. For example, you will notice the file im-iiim.so in the directory above, for IIIMF. To preselect this, setenv GTK_IM_MODULE iiim(ok, am into tcsh :-) which is the part between im- and .so from the module name. The default Input Module is Default, that is, GTK+ handles the input method. Why would GTK+ bother here and not let X.org do all the work? Because it does not only run on Linux; it works on other systems as well. Part of this situation is that GTK+ duplicates the compose sequences table from X.org to enable to type characters with accents (either MULTI_KEY or dead keys). This works ok for most languages now, though there is some work to synch the table from upstream http://bugzilla.gnome.org/show_bug.cgi?id=321896 If you want a GTK+ application to bypass any GTK+ Input methods and work directly with X.org, you choose X Input Method, or xim. Now, for some other languages, the X.org keyboard component is not able to work with some languages, such as Ethiopic, as there are too many characters. For these, special modules in GTK+ have been written, such as the Amharic one. It might be possible to get SCIM do this work; I have no clue if it is possible or doable. In Ubuntu, when you install the Amharic locale and writing support, you can actually write Amharic, and most probably this comes from the Amharic GTK+ Input module (I cannot think of any other way...). Some of the entries here could simply get removed, such as Thai (it says Broken), however, I do not feel that it makes sense to remove the whole menu altogether. In Firefox, albeit based on GTK+, does not show you this menu. That's a deficiency in Firefox which brings about several other bugs. For example, if your keyboard layout is other than English, Ctrl-C and others do not work, because it expects the literal letter C (but I am in Greek layout!). This is being worked on, slowly. Hope this helps a bit, Simos On 3/17/06, Joachim Noreiko [EMAIL PROTECTED] wrote: Hi. I'm on the Gnome Documentation Team, currently working on the User Guide. We have a request to document the different Input Methods that are available in GNOME. (http://bugzilla.gnome.org/show_bug.cgi?id=129110) Unfortunately, I don't understand them at all. I've asked on the GTK list, and I've managed to gain a rough understanding of what they do in general, but I now need to understand the specifics about those that are in GNOME, eg 'Amharic (EZ+)', 'Cedilla', and so on. I've been pointed to you, as apparently you originally wrote these. Can you shed any light on these and on Input Methods in general? thanks in advance Joachim ___ Yahoo! Photos – NEW, now offering a quality print service from just 8p a photo http://uk.photos.yahoo.com ___ NEW Yahoo! Cars - sell your car and browse thousands of new and used cars online! http://uk.cars.yahoo.com/ ___ gnome-doc-list mailing list gnome-doc-list@gnome.org http://mail.gnome.org/mailman/listinfo/gnome-doc-list ___ gtk-devel-list mailing list gtk-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-devel-list
Re: Input methods
--- Simos Xenitellis [EMAIL PROTECTED] wrote: On Thu, 2006-03-23 at 16:46 +, Joachim Noreiko wrote: --- Owen Taylor [EMAIL PROTECTED] wrote: I'm sorry, I have don't time to help; I think Matthias answered you on one of the lists with the correct answer, which is that we don't see that menu with the input methods appearing in a typically configured desktop; instead input method switching will be done system wide using a system such as SCIM or IIIMF. I don't understand most of what you've said. On Ubuntu Breezy, and on a virtual machine of stock GNOME 2.13.something, the Input Methods appears in the context menu of all text widgets. It has a list of items as I've detailed. These need to be documented. If nobody can satisfactorily explain what these are and how they work, may I request that they be removed from GNOME? The context menu entries you see in each textbox come from /etc/gtk-2.0/gtk.immodules which leads to /usr/lib/gtk-2.0/2.4.0/immodules (That's Ubuntu 5.10, your mileage may vary). When SCIM or IIIMF (or other) are installed, they place an IM module in the above file and the above directory. This way, you are able to choose between one or another, on an on-demand case. You may preselect for your entire session which one of these to be active by setting the variable GTK_IM_MODULE. For example, you will notice the file im-iiim.so in the directory above, for IIIMF. To preselect this, setenv GTK_IM_MODULE iiim(ok, am into tcsh :-) which is the part between im- and .so from the module name. The default Input Module is Default, that is, GTK+ handles the input method. Why would GTK+ bother here and not let X.org do all the work? Because it does not only run on Linux; it works on other systems as well. Part of this situation is that GTK+ duplicates the compose sequences table from X.org to enable to type characters with accents (either MULTI_KEY or dead keys). This works ok for most languages now, though there is some work to synch the table from upstream http://bugzilla.gnome.org/show_bug.cgi?id=321896 If you want a GTK+ application to bypass any GTK+ Input methods and work directly with X.org, you choose X Input Method, or xim. Now, for some other languages, the X.org keyboard component is not able to work with some languages, such as Ethiopic, as there are too many characters. For these, special modules in GTK+ have been written, such as the Amharic one. It might be possible to get SCIM do this work; I have no clue if it is possible or doable. In Ubuntu, when you install the Amharic locale and writing support, you can actually write Amharic, and most probably this comes from the Amharic GTK+ Input module (I cannot think of any other way...). Some of the entries here could simply get removed, such as Thai (it says Broken), however, I do not feel that it makes sense to remove the whole menu altogether. In Firefox, albeit based on GTK+, does not show you this menu. That's a deficiency in Firefox which brings about several other bugs. For example, if your keyboard layout is other than English, Ctrl-C and others do not work, because it expects the literal letter C (but I am in Greek layout!). This is being worked on, slowly. Hope this helps a bit, I'm still largely baffled, I'm afraid. I'm writing documentation aimed at the user, so things like SCIM and modules... right over my head. The questions I need to answer are: * why would a user use this menu? * what happens when they use it? * in particular, how do each of the options work? How does a user, say, type in Amharic characters once they have selected the Amharic input method? Is it just like setting the keyboard language? So... correct me if I'm wrong, but is this just an alternative way of setting your keyboard language if you're running GNOME on something other than Linux and X.org, and the regular pref tool doesn't work? ___ Yahoo! Messenger - NEW crystal clear PC to PC calling worldwide with voicemail http://uk.messenger.yahoo.com ___ gtk-devel-list mailing list gtk-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-devel-list
Re: Input methods
On Thu, 2006-03-23 at 18:09 +, Joachim Noreiko wrote: --- Simos Xenitellis [EMAIL PROTECTED] wrote: On Thu, 2006-03-23 at 16:46 +, Joachim Noreiko wrote: --- Owen Taylor [EMAIL PROTECTED] wrote: I'm sorry, I have don't time to help; I think Matthias answered you on one of the lists with the correct answer, which is that we don't see that menu with the input methods appearing in a typically configured desktop; instead input method switching will be done system wide using a system such as SCIM or IIIMF. I don't understand most of what you've said. On Ubuntu Breezy, and on a virtual machine of stock GNOME 2.13.something, the Input Methods appears in the context menu of all text widgets. It has a list of items as I've detailed. These need to be documented. If nobody can satisfactorily explain what these are and how they work, may I request that they be removed from GNOME? The context menu entries you see in each textbox come from /etc/gtk-2.0/gtk.immodules which leads to /usr/lib/gtk-2.0/2.4.0/immodules (That's Ubuntu 5.10, your mileage may vary). When SCIM or IIIMF (or other) are installed, they place an IM module in the above file and the above directory. This way, you are able to choose between one or another, on an on-demand case. You may preselect for your entire session which one of these to be active by setting the variable GTK_IM_MODULE. For example, you will notice the file im-iiim.so in the directory above, for IIIMF. To preselect this, setenv GTK_IM_MODULE iiim(ok, am into tcsh :-) which is the part between im- and .so from the module name. The default Input Module is Default, that is, GTK+ handles the input method. Why would GTK+ bother here and not let X.org do all the work? Because it does not only run on Linux; it works on other systems as well. Part of this situation is that GTK+ duplicates the compose sequences table from X.org to enable to type characters with accents (either MULTI_KEY or dead keys). This works ok for most languages now, though there is some work to synch the table from upstream http://bugzilla.gnome.org/show_bug.cgi?id=321896 If you want a GTK+ application to bypass any GTK+ Input methods and work directly with X.org, you choose X Input Method, or xim. Now, for some other languages, the X.org keyboard component is not able to work with some languages, such as Ethiopic, as there are too many characters. For these, special modules in GTK+ have been written, such as the Amharic one. It might be possible to get SCIM do this work; I have no clue if it is possible or doable. In Ubuntu, when you install the Amharic locale and writing support, you can actually write Amharic, and most probably this comes from the Amharic GTK+ Input module (I cannot think of any other way...). Some of the entries here could simply get removed, such as Thai (it says Broken), however, I do not feel that it makes sense to remove the whole menu altogether. In Firefox, albeit based on GTK+, does not show you this menu. That's a deficiency in Firefox which brings about several other bugs. For example, if your keyboard layout is other than English, Ctrl-C and others do not work, because it expects the literal letter C (but I am in Greek layout!). This is being worked on, slowly. Hope this helps a bit, I'm still largely baffled, I'm afraid. I'm writing documentation aimed at the user, so things like SCIM and modules... right over my head. I had the chance to look into the GTK+ IM modules. They are located at http://cvs.gnome.org/viewcvs/gtk%2B/modules/input/ Very interesting stuff. Of course, this does not help you much :). The questions I need to answer are: * why would a user use this menu? It gives the user fine-grained functionality with the input of languages other than English. The Default input method caters for the vast majority of languages and they can be configured by the GNOME Keyboard Preferences dialog. However, there are cases that specialised input methods provided from GTK+ can extend support to more complex languages or special cases. For example, the International Phonetic Alphabet (IPA) is not a language on its own; it is the universal alphabet that one can use to write the pronunciation of words in any language and is found in dictionaries. * what happens when they use it? It allows additional functionality that the user may take advantage of. As Matthias mentioned, part of this functionality is to input individual Unicode characters based on the codepoint. 㝷㑕Ͱ That is, Ctrl-Shift B 5 produces µ. Slightly more at http://www.advogato.org/person/simosx/diary.html?start=5 * in particular, how do each of the options work? How does a user, say, type in Amharic characters once they have selected
info on Input methods needed
Hi everyone. This is your friendly neighborhood documentation writer. There's a long-standing bug on the GNOME Desktop User Guide for an explanation of GTK input methods. [1] Unfortunately, it's mostly chinese to me. (no pun intended ;) Could someone explain to me what GTK input methods are for, how to use them, and anything else a user should know, so I can write this up for the docs? [1] http://bugzilla.gnome.org/show_bug.cgi?id=129110 ___ To help you stay safe and secure online, we've developed the all new Yahoo! Security Centre. http://uk.security.yahoo.com ___ gtk-devel-list mailing list gtk-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-devel-list
Defining your own new input methods?
Inquiry: Definining your own new input methods? Over a year ago I managed to write some new Simple Composing Input Methods for GTK+, and get them installed (by piggybacking them into gtk-im-extra). I managed to get them working and selectable from within gedit, but it was all more painful than it ought to be. I'm starting to experiment with gedit and Unicode input methods again. Could some kind guru please summarize the status of Defining and Installing Your Own New Input Methods for GNOME/GTK/gedit? 1. Are documentation/tutorials now available? 2. Simple Composing Input Methods are really too simple for my needs. They allow you to specify a sequence of Key Presses that constitute an input sequence, and each input sequence must map to a _single_ Unicode character output. I need to define input methods that map a sequence of one-or-more Key Events (where Key Events includes information about which modifier keys, if any, were pressed) to one-or-more Unicode character outputs. There might be one-to-one, many-to-one, one-to-many, or many-to-many. What's the current format/API/recommendation for defining such input methods for Gnome/GTK/gedit? 3. Has the input-method installation procedure been simplified? To install a new Java Input Method, you simply copy it into the Extensions Directory of your Java installation. That makes it visible to all Java applications. When you launch a Java application, you can also using the -D command-line flag to specify a PATH (directory, or set of directories) where the applications should look for extensions (input methods). Similarly, to install a new OS X input method, you simply place it in one of several designated folders (including your own personal folder for input methods). It would be welcome news to learn that installing a new input method for GNOME/GTK/gedit was just as easy. Thanks, Ken ___ gtk-devel-list mailing list gtk-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-devel-list