unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: Juri Linkov <juri@linkov.net>, Philip Kaludercic <philipk@posteo.net>
Cc: "Daniel Martín" <mardani29@yahoo.es>,
	"emacs-devel@gnu.org" <emacs-devel@gnu.org>
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	[thread overview]
Message-ID: <SJ0PR10MB54886D14BC17161C53EAAE78F37E9@SJ0PR10MB5488.namprd10.prod.outlook.com> (raw)
In-Reply-To: <865yrfb5xe.fsf@mail.linkov.net>

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	other threads:[~2021-12-23 18:44 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <m1sfulwmqp.fsf.ref@yahoo.es>
2021-12-21 23:40 ` master f6967d2 1/3: Allow for the completion buffer to be automatically selected Daniel Martín
2021-12-22  8:58   ` Juri Linkov
2021-12-22  9:27     ` Po Lu
2021-12-22 11:07       ` Lars Ingebrigtsen
2021-12-22 17:59       ` Juri Linkov
2021-12-22  9:48     ` tomas
2021-12-22 13:48   ` Philip Kaludercic
2021-12-22 17:45     ` Juri Linkov
2021-12-22 20:02       ` Philip Kaludercic
2021-12-23  6:34         ` Eli Zaretskii
2021-12-23 17:23         ` Juri Linkov
2021-12-23 18:44           ` Drew Adams [this message]
2021-12-22 19:39   ` Theodor Thornhill
2021-12-22 21:18     ` Daniel Martín
2021-12-22 21:30       ` Theodor Thornhill
2021-12-22 23:04       ` Philip Kaludercic
2022-05-31 17:56         ` Juri Linkov
2022-06-03  8:57           ` Philip Kaludercic

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=SJ0PR10MB54886D14BC17161C53EAAE78F37E9@SJ0PR10MB5488.namprd10.prod.outlook.com \
    --to=drew.adams@oracle.com \
    --cc=emacs-devel@gnu.org \
    --cc=juri@linkov.net \
    --cc=mardani29@yahoo.es \
    --cc=philipk@posteo.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).