On 19/01/2014, at 09:02, Andrius <andri...@yahoo.com> wrote: > John, > I do not expect that my patch will be accepted, like other patches for > 711019, so I did not submit it there. > I just wanted to show, how this particular problem of Alt+Cmd+Space not > working on gtk-osx applications can be solved. It shows how to switch > keyboard layouts manually, using Carbon framework. > If You, as maintainer of gtk-osx, will find this useful, feel free to > incorporate it in some place. > Cmd+M minimizes window, while Cmd+H hides application. As far as I know there > is special function to enable them in gtk-mac-integration, > gtkosx_application_set_use_quartz_accelerators (). There should be some code > handling them, since without executing > gtkosx_application_set_use_quartz_accelerators () they do not work on my > system. > Andrius > >
Andrius, I agree that we don’t want to load up gdkkeys-quartz with a bunch of special cases, but it seems like a lot of work for something you don’t expect to get pushed. In any case, sharing it on the bug is more effective because Kris and Mitch don’t AFAIK read this list, but they do carry a lot of weight in deciding what gets done about gtk-quartz issues. BTW, you should be doing work like that in a private git branch and using git format patch to make the patch, both to be acceptable to Gnome and to protect your sanity while developing it. With set_use_quartz_accelerators enabled, you should also see all of the other Apple-defined accelerators working properly as well: It grabs the accelerator and passes it to the Quartz responder chain. If Quartz doesn’t eat it, it passes it on to Gtk. The problem with it is that if there’s a binding overloading an accelerator, as is common with Cmd-(X|C|V), the accelerator is fired instead of the binding. This causes the owner of the menu to respond to the event rather than the widget with current keyboard focus, preventing you from e.g. cutting or pasting into dialog boxes. Yes, there probably should be code in gtkosxapplication to handle the accelerators set in create_apple_menu(). That doesn’t solve the problem, though: I don’t want to add a ton of pass-through functions to gtkosxapplication or gtk-quartz to implement the system accelerators. As I said on the bug, the right answer is to hand unused key events back to Quartz. Regards, John Ralls _______________________________________________ Gtk-osx-users-list mailing list Gtk-osx-users-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-osx-users-list