Re: [RFC PATCH 1/3] emacs: selection-menu.el

Subject: Re: [RFC PATCH 1/3] emacs: selection-menu.el

Date: Fri, 24 Feb 2012 23:36:23 +0000

To: Tomi Ollila, notmuch@notmuchmail.org

Cc: Tomi Ollila

From: Mark Walters


On Thu, 23 Feb 2012 17:10:15 +0200, Tomi Ollila <tomi.ollila@iki.fi> wrote:
> RFC/Idea for "improving" some selections made (in notmuch or elsewhere)
> In the hope that this will be useful, and to get some improvement advice.
> 
> I've found it somewhat difficult to use completing-read (i also tried ido-)
> to complete email addresses for mail recipients (not only due to the
> large selection of choises provided by nottoomuch-addresses.sh ;)
> and have tried to find alternatives.
> 
> The buffer selection systems (electric-buffer-list, bs-show, etc) have been
> pretty useful but I haven't found anything general.
> 
> After some 3 iterations I've come up with something like those but for
> arbitraty strings and so-far named that tool 'selection-menu'
> 
> This works by popping up buffer with all the choices shown in separate
> lines. arrow keys (and c-p/c-n) can be used to choose string and
> RET/SPC to select that. Any other key will abort the selection (ESC
> mentioned spesifically as it never "unreads" any events).
> 
> If requested user not choosing anything but pressing some key that
> key is "unread" so that the parent buffer will get it. I did that
> as in first tests I wanted to continue writing If I did not choose
> anything... More tests will show If really didn't want to loose that
> event).

Hi 

I have played with this and I like the feel of it: it is much more
informative than completing-read and much less cluttered than
ido-completing-read. 

I have some queries though:

In some uses the user might want to choose something that is not offered
(not relevant for this particular use, but maybe relevant for other
notmuch uses like selecting a from address). Is this a design choice?

I think I would like to be able to type in the buffer it shows,
e.g. page down to page through lots of addresses, maybe ctrl-s for
searching. Another possibility would be for the selection to narrow as
extra characters are typed. Though in fact maybe your choice of leaving
the character is exactly right: then the caller can take the extra
character and call selection-menu again. (I had something which almost
worked and it seemed quite nice).

Finally, does this solution mean there is no "history" available?

Best wishes

Mark


Thread: