[ANN] New keymapping on SqueakMap
David Shaffer
cdshaffer at acm.org
Sun Dec 19 18:29:15 UTC 2004
It's sweeter than cake. It's shinier than nail polish. It's better
than the crappy old version I posted a while back...my most recent
development version of Keymapping is now on SqueakMap. Load it, place
your mouse over a morph, like the class name pane in a browser, press
control-k and be amazed. Be warned:
- requires Monticello (not just MczInstaller)
- not compatible with Services framework
- not compatible with older versions of Keymapping (don't load into
same image)
This is a substantial improvement over the existing Keymapping
framework. It allows keymaps for any morph. It supports "keymap
categories" so that apps can share keymaps. It support per-morph
keymaps (although there is still an issue with the lifetime of those
keymaps). It support a hackish display of keyboard shortcuts for menu
items.
I am at a crossroads with this work. In order to make this more than
just a proof-of-concept I modified all of the tools in my image (Full +
some stuff) so that they can have editable keymaps. Maintaining these
tools alone isn't prohibitive but trying to adapt more tools to use KM
is probably unrealistic unless one of two things happens:
1) we agree on an "action framework" for buttons, menu items etc, or,
2) we adopt Keymapping into the base
I don't think 2 is very realistic at the moment so I'd like to work on
1. Can people developing tools please look at my UI classes (those in
Keymapping-UI) and the way in which the employ actions so we can start a
dialog about this? I think the Services framework is a necessary part
of that dialog. Basically they way I see it is that a tool provides
(through a registration mechanism) two things:
- a list of context specific actions which can have keyboard shortcuts
- a list of global services the application can provide
What I'm proposing is that I make another pass through Keymapping to
factor out the "actions" so that applications/morphs can register
actions which can then be assigned to buttons, menu items and keyboard
shortcuts. This would give the user the ability to customize at least
the shortcuts and potentially the menus and buttons as well (like for a
toolbar).
David
More information about the Squeak-dev
mailing list
|