Discussion:
[VM] Key bindings - minor reorganization
Uday Reddy
2011-05-24 20:00:17 UTC
Permalink
I have finally gathered up enough courage to do something about VM key
bindings. VM uses up almost all keys that can be typed easily and
assigns them to some function or other. These keys get documented in
the manual and become standardized, blocking future expansion and user
customization. So, the first step seems to be to remove some of the
inessential key bindings from the standard VM set-up and let users bind
them as they wish. There will be a function `vm-optional-keys' which
will reinstall all the key bindings that will be removed. It can be
easily invoked from the vm-preferences-file so that users can retain the
old bindings if they wish.

My general principles behind the decisions are:

- It is desirable for a package to bind as few keys as possible so that
the users will have the option of binding them or not, as they see fit.

- Commands and key bindings that are not documented in the manual will
become optional.

- Commands that are used infrequently will be made optional.

- Multiple key bindings for the same commands will become optional.

With this underlying rationale, here is the list of key bindings I have
come up with for moving to the optional category:

< beginning-of-message Not documented
end-of-message Not documented
b vm-scroll-backward Duplicate key binding
= vm-summarize Redundant, `h' serves the purpose
i vm-iconify-frame Redundant, C-x C-z serves the purpose
! shell-command Redundant, M-! serves the purpose
e vm-edit-message Infrequent, and also mildly dangerous
L vm-load-init-file Infrequent
M-l vm-edit-init-file Infrequent and redundant
% vm-change-folder-type Infrequent
* vm-burst-digest Infrequent for most users
a vm-set-message-attributes Infrequent for most users
w vm-save-message-sans-headers Infrequent for most users
M-g vm-goto-message Duplicate key binding

Please let me know if you seriously disagree with any of these decisions.

Cheers,
Uday
Goran Uddeborg
2011-05-24 20:00:17 UTC
Permalink
Post by Uday Reddy
I have finally gathered up enough courage to do something about VM key
bindings.
I can easily imagine it took some time to gather that much courage!
It's probably a very good way to, eh, start a discussion! :-)
Post by Uday Reddy
There will be a function `vm-optional-keys' which
will reinstall all the key bindings that will be removed.
Maybe it should have a name that more clearly marks it as a
compatibility feature? Something like vm-compatibility-bindings or
vm-legacy-keybindings or something like that?
Post by Uday Reddy
e vm-edit-message Infrequent, and also mildly dangerous
This is actually not too infrequent for me. The most common reason I
use it is to correct the MIME encoding information. It is
unfortunately still the case too often that sending programs omit this
information, or insert the wrong information.
Post by Uday Reddy
Please let me know if you seriously disagree with any of these decisions.
I don't think I'd say I "seriously disagree". I know my way around in
elisp well enough to add that, and only that, binding back. Or maybe
I will just change my habit and do M-x instead.

But I wanted to let you know that there is at least one user for which
that binding is used more often than "infrequently".
Uday Reddy
2011-05-24 20:00:18 UTC
Permalink
Post by Goran Uddeborg
Maybe it should have a name that more clearly marks it as a
compatibility feature? Something like vm-compatibility-bindings or
vm-legacy-keybindings or something like that?
Thanks for that. I like the "legacy" word!
Post by Goran Uddeborg
But I wanted to let you know that there is at least one user for which
that binding is used more often than "infrequently".
I agree that having a key binding for edit-current-message is useful. I
admit to using it myself occasionally. But it looks like "e" is a bad
key for it. It is too easy to type it accidentally and find yourself in
a strange situation. A novice user would be completely perplexed. If
you have a suggestion for another key for it, I would be glad to add it
to the current bindings. (We could have used C-x C-q, if it didn't
already have a different purpose in VM.)

Cheers,
Uday
Goran Uddeborg
2011-05-24 20:00:22 UTC
Permalink
Post by Uday Reddy
I agree that having a key binding for edit-current-message is useful. I
admit to using it myself occasionally. But it looks like "e" is a bad
key for it. It is too easy to type it accidentally and find yourself in
a strange situation.
Point taken.
Post by Uday Reddy
If
you have a suggestion for another key for it, I would be glad to add it
to the current bindings.
Hm, according to "Major Mode Conventions in the elisp manual

* The key sequences bound in a major mode keymap should usually
start with `C-c', followed by a control character, a digit, or `{',
`}', `<', `>', `:' or `;'.

So maybe C-c C-e would make sense?
Salome Södergran
2011-05-24 20:00:20 UTC
Permalink
Post by Uday Reddy
With this underlying rationale, here is the list of key bindings I
L vm-load-init-file Infrequent
This is one I use /very/ frequently right now. But this will be
over as soon as I have a working configuration up and running. So no
disagreement on my side.
salome
Robert Marshall
2011-05-24 20:00:23 UTC
Permalink
Post by Uday Reddy
I have finally gathered up enough courage to do something about VM key
bindings. VM uses up almost all keys that can be typed easily and
assigns them to some function or other. These keys get documented in
the manual and become standardized, blocking future expansion and user
customization. So, the first step seems to be to remove some of the
inessential key bindings from the standard VM set-up and let users
bind them as they wish. There will be a function `vm-optional-keys'
which will reinstall all the key bindings that will be removed. It
can be easily invoked from the vm-preferences-file so that users can
retain the old bindings if they wish.
<snip>
Please let me know if you seriously disagree with any of these decisions.
One key binding which I would like to be more inaccessible is
vm-auto-archive-messages maybe it is not so much a trap for a new user
but I have lots of things in vm-auto-folder-alist and I only want to run
auto-archive infrequently and *never* on anything other than the INBOX.

Once you accidentally hit A there's no way back.....well apart from the
hard drive backup

Robert
--
La grenouille songe..dans son château d'eau
Links and things http://rmstar.blogspot.com/
Uday Reddy
2011-05-24 20:00:23 UTC
Permalink
Post by Robert Marshall
One key binding which I would like to be more inaccessible is
vm-auto-archive-messages maybe it is not so much a trap for a new user
but I have lots of things in vm-auto-folder-alist and I only want to run
auto-archive infrequently and *never* on anything other than the INBOX.
Once you accidentally hit A there's no way back.....well apart from the
hard drive backup
Hi Rob, I am sympathetic but I am not a regular user of auto-archive.
So I don't really feel confident about the issue.

I do see that typing 'A' involves using at least two fingers (unless
CAPS LOCK is turned on :-), which is a bit less accident-prone than just
typing 'e'.

I can however add a confirmation dialogue to be gone through before the
auto-archive kicks in. (I guess I would also need a variable to
override the confirmation dialogue!)

Cheers,
Uday
Robert Marshall
2011-05-24 20:00:24 UTC
Permalink
Post by Uday Reddy
Post by Robert Marshall
One key binding which I would like to be more inaccessible is
vm-auto-archive-messages maybe it is not so much a trap for a new user
but I have lots of things in vm-auto-folder-alist and I only want to run
auto-archive infrequently and *never* on anything other than the INBOX.
Once you accidentally hit A there's no way back.....well apart from the
hard drive backup
Hi Rob, I am sympathetic but I am not a regular user of
auto-archive. So I don't really feel confident about the issue.
I do see that typing 'A' involves using at least two fingers (unless
CAPS LOCK is turned on :-), which is a bit less accident-prone than
just typing 'e'.
It is though, just within accidental catching distance (for me) of S
(save-folder) which - for me - is a frequent operation!
Post by Uday Reddy
I can however add a confirmation dialogue to be gone through before
the auto-archive kicks in. (I guess I would also need a variable to
override the confirmation dialogue!)
:-) Sounds good!

Robert
--
La grenouille songe..dans son château d'eau
Links and things http://rmstar.blogspot.com/
Simon Leinen
2011-05-24 20:00:24 UTC
Permalink
Just adding to what others said - first, thanks for the initiative!
Second, `e' (vm-edit-message) is the only one of these bindings that I
use intentionally. I'd prefer to continue having a keybinding for this,
although I wouldn't mind if it were moved to something less obvious such
as `E' or `C-c C-e'.
--
Simon.
Tim X
2011-05-24 20:00:30 UTC
Permalink
Post by Simon Leinen
Just adding to what others said - first, thanks for the initiative!
Second, `e' (vm-edit-message) is the only one of these bindings that I
use intentionally. I'd prefer to continue having a keybinding for this,
although I wouldn't mind if it were moved to something less obvious such
as `E' or `C-c C-e'.
C-c C-e would seem to fit in with other modes that also have the concept
of 'editing' something. I think it is a good choice and better than the
single 'e'.

Tim
--
tcross (at) rapttech dot com dot au
Ralf Fassel
2011-05-24 20:00:27 UTC
Permalink
* Uday Reddy <***@cs.bham.ac.uk>
| e vm-edit-message Infrequent, and also mildly dangerous

Like others I use this one to correct the MIME-headers, and sometimes to
add some notes to a message. Should be kept IMHO.

R'
Loading...