[MonoDevelop] Implemented Configurable Key Bindings

Jeffrey Stedfast fejj at novell.com
Wed Jul 11 13:19:58 EDT 2007

On Wed, 2007-07-11 at 22:17 +0530, Balaji Rao wrote:
> On Fri, Jul 06, 2007 at 01:06:44PM +0200, Lluis Sanchez wrote:
> > Hey, it looks like a good start ;)
> > The only comment I can make now is that you should use Stetic instead of
> > Glade for new windows.
> > 
> > Lluis.
> > 
> Hello, included as attachment is a patch whch implements conf key
> bindings. I have used stetic for it. and now its almost stable. I
> have fixed some bugs.
> One question is that, should commands, which by default dont have a
> shortcut, be allowed be assigned a shortcut?

yes, absolutely.

Also, you should know I'm working on some key binding stuff as well -
allowing emacs-like multi-state key bindings (should be relatively easy
to get working with your code - and I'll probably be the one to make the
adjustments if needed, so don't worry too much about that).

I've also got some additional ideas for your key binding UI stuff:

1. the key-binding editor UI should probably allow setting of multiple
shortcuts for each command

(I'll probably have to modify the Command class to allow this?)

2. if the user tries to register a key binding for a command that
conflicts with some other commands' key binding, then you should warn
the user, allowing them to continue with the overriding (which would
remove that binding from the other command) - or allow them to cancel.

3. Once I finish with my current code to allow for multi-state key
bindings (hopefully by the end of the week I'll have some code
committed), we'll need to adjust your UI a bit to allow setting of those

4. It would be really nice if we had some sort of drop-down combo-box
toward the top of the OptionPanel allowing the user to select from some
pre-configured key-binding "profiles": Default, VisualStudio.Net,
SharpDevelop, Emacs, (Eclipse?) ... etc

5. Even once the user selects a key-binding profile, it would be nice to
allow them to simply use that profile as a 'base' and then adjust things
as they see fit

Lemme know what ya think


More information about the Monodevelop-list mailing list