From: John R. <jr...@ce...> - 2012-04-11 14:03:55
|
On Apr 11, 2012, at 2:51 AM, Tim Lyons wrote: > > John Ralls-2 wrote >> >> It's convenient for Mac users to have standard accelerators work with the >> command key instead of the control key. For example, Mac users are >> generally used to using command-C to copy and command-V to paste. >> >> The easy way to "fix" this is to use Gtk's accelerator map feature, which >> also lets advanced users on any OS remap the keybindings *for menu >> accelerators, not widgets* as they please. Enabling reading of an accel >> map requires a simple patch: >> >> --- src/gui/grampsgui.py (revision 19290) >> +++ src/gui/grampsgui.py (working copy) >> @@ -329,4 +329,6 @@ >> gobject.threads_init() >> >> gobject.timeout_add(100, __startgramps, errors, argparser, >> priority=100) >> + if os.path.exists(os.path.join(const.DATA_DIR, "gramps.accel")): >> + gtk.accel_map_load(os.path.join(const.DATA_DIR, "gramps.accel")) >> gtk.main() >> >> which I propose to add on trunk and 3.4 (if it's not too late for 3.4; if >> it is I can just patch it at build-time). The reason I"m bringing this up >> instead of just doing it is to ask if I should protect it with "if >> constfunc.is_quartz():" or if it's OK to make this available for everyone. >> > > It would be nice if the command key mappings were available as pre-defined > mappings for all methods of building on mac, not just for the package > bundle, so something more like: > > + if constfunc.mac() and os.path.exists(os.path.join(const.DATA_DIR, > "mac_gramps.accel")) > + gtk.accel_map_load(os.path.join(const.DATA_DIR, > "mac_gramps.accel")) > > possibly with else load the general accel_map. > > (If I understand correctly, gtk either runs on top of X11 on Darwin, or runs > on Quartz on Darwin. So wouldn't the accelerators be equally applicable to > both. In which case, why is your test constfunc.is_quartz() rather than > constfunc.mac()) > > And add the "mac_gramps.accel" map file to the distribution. I think that remapping the accelerators on X11 would be unexpected for users, since X11 apps normally use <control> rather than <command>. As for the distribution (I assume that you mean the tarballs), ISTM that both the mac/ and windows/ directories should be included, but that's a separate discussion. Regards, John Ralls |