From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Ergus Newsgroups: gmane.emacs.devel Subject: Re: vertical fido-mode Date: Thu, 18 Jun 2020 10:19:32 +0000 (UTC) Message-ID: <738801972.57184.1592475572083@mail.yahoo.com> References: <1704199899.1577092.1591806438580.ref@mail.yahoo.com> <1704199899.1577092.1591806438580@mail.yahoo.com> <13ec44ed-4b54-8d43-590f-709bd813fd01@yandex.ru> <795146083.1708851.1591826041689@mail.yahoo.com> <87y2ouldrr.fsf@mail.linkov.net> <52efa3bf-1efc-81d5-9c2d-4aefbfa5db5d@yandex.ru> <20200611132234.nbluayofcxh23cwg@ergus> <877dw5cqgb.fsf@mail.linkov.net> <4967aca0-5827-1ab9-dd13-65c50b060f05@yandex.ru> <878sgkzsuv.fsf@gmail.com> Reply-To: Ergus Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_57183_610924336.1592475572080" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="38585"; mail-complaints-to="usenet@ciao.gmane.io" Cc: "emacs-devel@gnu.org" , "monnier@iro.umontreal.ca" , "juri@linkov.net" To: "kevin.legouguec@gmail.com" , "dgutov@yandex.ru" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Jun 18 12:20:20 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jlrec-0009rm-8U for ged-emacs-devel@m.gmane-mx.org; Thu, 18 Jun 2020 12:20:18 +0200 Original-Received: from localhost ([::1]:34398 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jlreb-0004fb-6z for ged-emacs-devel@m.gmane-mx.org; Thu, 18 Jun 2020 06:20:17 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:37984) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jlrdx-0004Ea-AA for emacs-devel@gnu.org; Thu, 18 Jun 2020 06:19:37 -0400 Original-Received: from sonic307-1.consmr.mail.bf2.yahoo.com ([74.6.134.40]:43705) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jlrdu-00041c-Ie for emacs-devel@gnu.org; Thu, 18 Jun 2020 06:19:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1592475572; bh=V+a4TcGkj84QSnC+oFK8j7hdvkQZfd5fWduHQe1RUSo=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:From:Subject; b=konvrZZfz02IHHg2tOSkiuorhe43Izw7zzZs/o6Ir2wM9PNCRwsmVTGNvvXHqSqzd1tUtAD1/MP73dv9GiMCZixjin50vgnXZb6r2MnHSDS5WDsWElfIXap6PjmCDDh0TAF6v/hV1DPPeewQhtgF5fBEG/6wrItxHVBy/51JmXrP5sU290/7b8FVvooibmapim+lQycQobR0AlxFC3u8wrqqson0/xlBkVYtRkhtKFfwzYhZmhDWfwQaG8Ms3v1OuADpgS6VqLSMANoFIVVYQCXTYs2EKlgX/Ns79kinkJKRS/DV0ibMuKk6vjPWyW7GEM69mZ06iFYa7KyHs1W4Lg== X-YMail-OSG: CL.EbtoVM1kA9csC87umicvMT96RflsX.ebEw5gXW7eLPDXJqVAtKZmvi.ev8M7 6FVcGfidQOz1yLD8N31.TA26P1RtG5wf1wM4ztORMeMHUUUVKLrsh0rFwD5iUdLVvvP.DBAgGfaw NDyWRVTXNidrEkS5y74O6BfaOVxrdvFXzqdGkmKGXXYk8hTp15OQWJgPJz6t1MYzFKvKE1CeSbVZ rque8D96LmAzaRfMWVrlOOZULa4Hir1GrZyePK5eyL3ISoS.0Uky3wrbb3ySB30J_D_I8ZMUJcU2 8OMfo9oKKpVJL_j6psuHaIi4N0WQjPLHufDeuqA3ITmhaPgOssudJoLSlX7YMxH5UqR8v5Jpfj96 JAGQzzJ1HDbB.9CIEq.NEt8bOGDPHMMQvU.pqVvzcs5EpgWQ80wQY68N4c3hTjenerIqTLCHEaz4 wcfcmMwA9oByW0Zh3QJoMefKAM_M7jcaxHwbXE9MunV17ZE85WYD7iEYLeHuat5LJzUvzrhCg_lf 0fUH4752UNIiXF7BrTNp3H6QBAmm4fBKIzxsTpOKrR1siNxzJtnQ7FGVErn3F10DONezDorL1C4O _mVQ_VT8KylJQhpHviA9GIpNLXihKa1Jg7KSlNUTGaLh_dUbZUfN6WmxKaIFC7XZOFZfaxokPTor MiURundLhtq.Hha.rpgR7N7qayAj6oX18GIRbrTATBSxnPlEfwptam4LaQ0SJN6m55kDQ0bBeyUD ZSA0YNtoUsb8vD3m0_E0cskt_q7ztiWSc6.yNavEUWpcO4LN2WTvsQQEdcVtlw2eIXQdTIhBOasB GrZ2tt7lGyp5skxkHSzThauxwohEe_L2mWzizvivKc Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic307.consmr.mail.bf2.yahoo.com with HTTP; Thu, 18 Jun 2020 10:19:32 +0000 In-Reply-To: <878sgkzsuv.fsf@gmail.com> X-Mailer: WebService/1.1.16138 aolwebmail Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 Received-SPF: pass client-ip=74.6.134.40; envelope-from=spacibba@aol.com; helo=sonic307-1.consmr.mail.bf2.yahoo.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/18 06:19:32 X-ACL-Warn: Detected OS = Linux 3.1-3.10 [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:252309 Archived-At: ------=_Part_57183_610924336.1592475572080 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi I agree that this (C-p/C-n && ) is the most intuitive in vertica= l and they shouldn't apply in non-vertical mode (cause is mo= re intuitive then). C-s && C-r could do the same in both cases. For history= navegation in vertical M-p and M-n could work fine. If we want fido fully emulate ido; in the package ido-vertical there is som= ething we could also provide somehow (maybe not exactly in the same way): | (defun ido-vertical-define-keys () | | | (when ido-vertical-define-keys | | | (define-key ido-completion-map (kbd "C-n") 'ido-next-match) | | | (define-key ido-completion-map (kbd "C-p") 'ido-prev-match) | | | (define-key ido-completion-map (kbd "C-c C-t") 'ido-toggle-prefix)) | | | (when (memq ido-vertical-define-keys '(C-n-C-p-up-and-down C-n-C-p-up= -down-left-right)) | | | (define-key ido-completion-map (kbd "") 'ido-prev-match) | | | (define-key ido-completion-map (kbd "") 'ido-next-match)) | | | (when (eq ido-vertical-define-keys 'C-n-C-p-up-down-left-right) | | | (define-key ido-completion-map (kbd "") 'ido-vertical-prev-matc= h) | | | (define-key ido-completion-map (kbd "") 'ido-vertical-next-mat= ch))) | -----Original Message----- From: K=C3=A9vin Le Gouguec To: Dmitry Gutov Cc: Ergus ; emacs-devel@gnu.org ; mo= nnier@iro.umontreal.ca ; Juri Linkov Sent: Thu, Jun 18, 2020 10:22 am Subject: Re: vertical fido-mode Dmitry Gutov writes: > On 18.06.2020 00:50, Juri Linkov wrote: >> Actually the hardest question is to decide what keys to use >> to navigate completions in the vertical layout.=C2=A0 It would be >> natural to use arrow keys and M-p/n, but there keys are used >> for history navigation in the minibuffer. > > I think C-n/P-n is what users would expect. See Ivy, Helm, etc. > > Arrow keys, too. As a former Ivy user who went back to icomplete and is now following this thread with a lot of attention, my vote also goes for C-n/C-p for next/previous candidate selection, and M-n/M-p for history navigation. (Actually, I wouldn't mind C-n/C-p in regular (non-vertical) icomplete; C-. is not super-ergonomic on AZERTY.=C2=A0 I liked C-M-i, but it's been decommissioned in Emacs 27=E2=80=A6) ------=_Part_57183_610924336.1592475572080 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi

I agree that this (C-p/C-n && <up> <down>) is the most = intuitive in vertical and they shouldn't apply in non-vertical mode (cause = <right> <left> is more intuitive then). C-s && C-r coul= d do the same in both cases. For history navegation in vertical M-p and M-n= could work fine.

If we want fido fully emulate ido; in the package ido-vertical there is som= ething we could also provide somehow (maybe not exactly in the same way):

(defun = ido-vertical-define-keys ()
(when ido-vertical-define-keys
(define-key ido-complet= ion-map (kbd "C-n") 'ido-next-match)
(define-key ido-completion-map (kbd "= C-p"= ) 'ido-prev-match)
(define-key ido-completion-map (kbd "C-= c C-t") 'ido-toggle-prefix))
(when (memq ido-vertical-define-keys= '(C-n-C-p-up-and-down C-n-C-p-up-down-left-right))
(define-key ido-completion-map = (kbd <up>) 'ido-prev-match)
(define-key ido-completion-map ("<= /span><down>= ") 'ido-next-match))
(when (eq ido-vertical-def= ine-keys 'C-n-C-p-up-down-left-right)
(define-key ido-completion-map (<= span class=3D"pl-c1" style=3D"box-sizing: border-box; color: rgb(0, 92, 197= );">kbd = "<left>) 'ido-vertical-prev-match)
( ido-completion-map (<= span class=3D"pl-c1" style=3D"font-family: SFMono-Regular, Consolas, "= Liberation Mono", Menlo, monospace; box-sizing: border-box; color: rgb= (0, 92, 197);">kbd <= span class=3D"pl-pds" style=3D"box-sizing: border-box;">"<right&g= t;"<= span style=3D"font-family: SFMono-Regular, Consolas, "Liberation Mono&= quot;, Menlo, monospace;">) 'ido-vertical-next-match= )))

-----Original Message-----
From: K=C3=A9vin Le Gouguec <kevin.legouguec@gmail.com>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: Ergus <spacibba@aol.com>; emacs-devel@gnu.org <emacs-devel@gnu= .org>; monnier@iro.umontreal.ca <monnier@iro.umontreal.ca>; Juri L= inkov <juri@linkov.net>
Sent: Thu, Jun 18, 2020 10:22 am
Subject: Re: vertical fido-mode

Dmitry Gutov <dgutov@yandex.ru> writ= es:


> On 18.06.2020 00:50, Juri Linkov wrote:
&g= t;> Actually the hardest question is to decide what keys to use
>> to navigate completions in the vertical layout.  It= would be
>> natural to use arrow keys and M-p/n, b= ut there keys are used
>> for history navigation in= the minibuffer.
>
> I think C-n/= P-n is what users would expect. See Ivy, Helm, etc.
><= br clear=3D"none">> Arrow keys, too.


As a former Ivy user who went back to= icomplete and is now following
this thread with a lot of= attention, my vote also goes for C-n/C-p for
next/previo= us candidate selection, and M-n/M-p for history navigation.

(Actually, I wouldn't mind C-n/C-p in regular (non-ve= rtical) icomplete;
C-. is not super-ergonomic on AZERTY.&= nbsp; I liked C-M-i, but it's been
decommissioned in Emac= s 27=E2=80=A6)

------=_Part_57183_610924336.1592475572080--