Re: [Gtk-osx-users] accelerator problem with GtkOSXApplication
- From: John Ralls <jralls ceridwen us>
- To: GTK+-2 OSX Users <gtk-osx-users lists sourceforge net>
- Subject: Re: [Gtk-osx-users] accelerator problem with GtkOSXApplication
- Date: Mon, 14 Feb 2011 12:23:35 -0800
On Feb 14, 2011, at 11:15 AM, Olivier Sessink wrote:
> On 02/14/2011 04:03 PM, John Ralls wrote:
>>
>> On Feb 14, 2011, at 4:14 AM, Olivier Sessink wrote:
>>
>>>> Accelerator mapping in GtkOSXApplication is handled the Gtk way, with GtkAccelMaps. This is mentioned in the GtkOSXApplication documentation.
>>>>
>>>> Option/Alt is handled a bit too generically in gdk-quartz, where it's used for i18n regardless of context and consequently ignored when used as an accelerator. Ideally this handling should only occur in the input method, but I haven't figured out how to do that yet and Kristian Reitveld doesn't think it's important enough to do anything about. If anyone knows enough about the simple input method to write a patch to fix this it would be most welcome. Post it to https://bugzilla.gnome.org/show_bug.cgi?id=617583.
>>>>
>>>
>>> so what are my options if I do not know the details about input
>>> methods? I can go back to ige-mac-integration and try to get my menu
>>> problem solved, but that seems to be a step backwards.. Are there
>>> other options? Converting the shortcuts in the application code
>>> somehow?
>>
>> Like I said, GtkAccelMaps: http://library.gnome.org/devel/gtk/stable/gtk-Accelerator-Maps.html
>>
>> There's even an example in test-integration.
>
> sorry perhaps I've not understand you correctly. GtkAccelMaps as shown
> in test-integration.c can be used to modify the accelerator for an entry
> in the menu. But from your email I understood that this will not help to
> fix the problem with the <alt> key. Is that correct or not?
>
> Futhermore, why I really would like to get the 'magic' behavior of
> ige-mac-integration: I have about 295 menu entries in Bluefish (that's
> why I really need <alt> to maximise the number of entries that have an
> accelerator). In the old ige-mac-integration code all entries were
> automatically converted from <control> to <command>. With the new
> GtkOSXApplication code it seems I need something like 600 lines of extra
> code to replace all accelerators, and I should try to keep these in
> sync. Or is this again a misunderstanding and can I get the 'magic'
> behavior with a few lines of code?
>
> forgive me for my ignorance on this subject, I'm not a fulltime gtk
> programmer and it's sometimes hard to keep track of all the
> possibilities in gtk.
>
1. No, your map has to use something other than the alt key on OSX. The example in test-integration uses one line of code to modify ALL of the accelerators. Go RTFM.
2. I'm not going back to the automatic thing. Get a accelmap file, do sed -i '' s/alt/meta/i mapfile,
and add it to your bundle. Add a call to load it somewhere (you should have that already if you've done a good job on the Gtk side). That's effectively what the automatic conversion in ige-mac-integration did.
Rest assured that your non-english-speaking users would rather have the option key for typing non-ascii text than for accelerators, but if you want to turn that off, use the local copy of gtk-osx.modules (it's installed in ~/Source/jhbuild/modulesets by gtk-osx-build-setup.sh) and comment out the keymap patches.
Aside: In what HIG does it say that you should have an accelerator for every menu item? Are you trying to compete with Emacs?
No, no forgiveness. I am absolutely not going to teach you to use Gtk -- for one thing, I'm not good enough at it myself to do any teaching. Go study the documentation.
Regards,
John Ralls
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]