emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [External] : Re: master f6967d2 1/3: Allow for the completion buffer


From: Drew Adams
Subject: RE: [External] : Re: master f6967d2 1/3: Allow for the completion buffer to be automatically selected
Date: Thu, 23 Dec 2021 18:44:46 +0000

I hesitate to post this, in particular because
I have _not_ at all been following this thread.

[I also don't yet have access to a Emacs 28
pretest MS Windows binary, so I'm pretty far
removed from any development these days.  I
fully expect (but I hope not) that when I get
Emacs 28 the behavior of *Completions* and
the minibuffer, especially for a standalone
minibuffer frame, will be completely broken
for my use.  (That's already the case for
Emacs 27 - but I retain hope.)]
___


Just in case it helps...here are some comments
(suggestions) about key bindings, based on what
I defined for Icicles.

1. TAB should be for completing.  In particular,
   it should not be for scrolling *Completions*.

   (Vanilla Emacs long ago made it do both of
   those.  That was long before Emacs supported
   any kind of cycling.)

2. C-v and M-v in the minibuffer should scroll
   *Completions*.  Users know these keys, and
   they're a natural choice.  In *Completions*,
   a mouse wheel should scroll.

   Scrolling of *Completions* should wrap around.

   (In *Completions*, C-v and M-v also scroll,
   but they don't wrap around.  The global C-v
   and M-v bindings apply there.)

3. TAB can also be for cycling.  In Icicles, 2nd
   and subsequent TABs cycle.  TAB should cycle
   whether you're in minibuffer or *Completions*.

   Preferably, users should also have other keys,
   by default, that only cycle (do not complete).

4. Cycling should wrap around, by default.  But
   this should be controllable by a user option.

5. It should be easy to move between minibuffer
   and *Completions*.  A single key can do this.
   Icicles uses C-insert, by default.  

   When moving to *Completions*, C-insert moves
   to the current completion candidate there.
   When moving to the minibuffer, it inserts the
   candidate at point in *Completions* into the
   minibuffer, at point.

6. All such key bindings should only be defaults.
   Users should be able to change them easily,
   without needing to know anything about keymaps
   used for the minibuffer and *Completions*.

In Icicles, in practice you seldom move to
*Completions* (i.e., C-insert or mouse-1).  You
can do so at any time, but you never need to do
so.  Some users might sometimes like to do some
things there with the mouse (a direct-access
pointing device), but though you can, you never
need to.
___

HTH.
My advice is to keep it simple, and to not use a
key such as TAB for both cycling and scrolling.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]