[Idle-dev] Re: idlefork - keybinding config / idle extensions

Stephen M. Gava elguavas@users.sourceforge.net
Thu, 6 Dec 2001 11:47:16 +1100


I quote some points from a private email to me here, with Hernan's permission:
Hernan Martinez Foffani wrote:
> agree with you that the "OS type" choice for keybindings
> is a bit "hard". I like your approach of giving a standard set
> of prepackage bindings like "MS Windows", "Emacs", or whatever
> and letting the user create and modify new and existing schemes.
>
> I agree that there's a problem there. But I've got lost on your
> propositions, besides the one regarding the "find text" extension.
>
> If you are going to provide a keybinding configuration for
> the extensions, I don't see the need to change the status of
> the standard ones. Or are you planning to do it in different
> releases?

I think my original message to idle-dev on this probably suffered from the 
problem of these being issues that I've been turning over a lot in my mind, 
and that in being too close to the matter, what I worte came out in 
somewhat of an ill-explained manner.

Really the points are these: 

1. Moving from 'platform' oriented keybindings to user oriented ones.  I must 
admit that this one is slightly more than just a 'proposal', since I've 
already implemented things this way...   8^) , so, more properly consder this 
a 'news item'.

2. It's 'one in all in'.  It really isn't possible to satisfactorily 
implement user configurable key bindings for idle 'core', while 
leaving extension's key bindings hard-coded in their modules. This problem 
with extensions needs to be addressed in some way. Now. (see point 4 also)

3. SearchBindings.py is a special case since I'm firmly convinced that the 
functions it implements are core to idle, not peripheral or optional, and so 
I think it's keybindings sould be part of the idle core keybindings and 
therefore handled by the idle core keybinding configuration mechanism, not by 
whatever additional mechanism is put in place to handle keybindings for 
extensions.

4. The practicalities of handling user configuration of extension keybindings 
are these:  
a)  extension keybindings will need to be defined in one of idle's new 
configuration files (probably most properly in the relevant sections of 
config-extensions.def), _not_ inside the extension source modules.
b)  whatever mechanism is implemented for allowing user configuration of 
extension keybindings (at the moment I have several different possible 
approaches in mind) it must allow this configuration to participate in the 
general abilty to handle and resolve potential clashes between keybindings 
that will be a part of the core keybinding config handling.  (ie. obviously 
you can't use the same keybindings more than once, in any given keybinding 
set, for core keybindings, _or_ extensions).    

> As an IDLE user, for me is more useful to have
> a way to specify keybindings in an non-OS manner but rather
> in a scheme and user configurable way (that include standard
> extensions and the ones written by me!), than to do it GUI.

For sure the 'sensible implementation' is much more important than the gui 
(and of course can and should exist happily without it ), but the goal of  
the new config implementation is to also have easy gui configuration, to make 
idle a more comfortable environment for one and all, including those who 
would never edit config files by hand. 

Regards,
Stephen.
-- 
Stephen M. Gava  <elguavas@users.sourceforge.net>
IDLEfork ( http://idlefork.sourceforge.net )  " just like IDLE, only crunchy "