unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Ergus <spacibba@aol.com>
To: Andrii Kolomoiets <andreyk.mad@gmail.com>
Cc: emacs-devel@gnu.org
Subject: Re: [PATCH] Support "\n" in icomplete-separator
Date: Fri, 6 Nov 2020 16:15:41 +0100	[thread overview]
Message-ID: <20201106151541.dpgep7borlja25su@Ergus> (raw)
In-Reply-To: <m2y2je7jcx.fsf@gmail.com>

On Fri, Nov 06, 2020 at 02:36:14PM +0200, Andrii Kolomoiets wrote:
>Ergus <spacibba@aol.com> writes:
>
>> What you do in the patch is basically the same that is in the branch,
>
>IMO the key differece is that the patch doesn't do any calculation of
>completions count based on line height, count of "\n" in separator etc.
>I propose use the 'icomplete-prospects-height' value as the count of
>completions that must be shown.
>
>Let's see how the patch deals with mentioned user requests:
>
Yes, I understand that; actually the height calculation was made because
of this:

```
(setq icomplete-show-matches-on-no-input t)
(icomplete-mode 1)
(setq icomplete-separator "\n")

(defface vmacs-minibuffer-font
  `((t :inherit default :height 1.3))
  "The default font for minibuffer buffer.
Monospaced font whihc is fixed idth and height is recommended."
  :group 'minibuffer)

(defun vmacs-minibuffer-hook()
  (set (make-local-variable 'buffer-face-mode-face) 'vmacs-minibuffer-font)
  (buffer-face-mode t))

(add-hook 'minibuffer-setup-hook #'vmacs-minibuffer-hook)

(setq max-mini-window-height 10)   ;; add  this line
```
in here: https://lists.gnu.org/archive/html/emacs-devel/2020-09/msg01578.html

Up to some months ago the pixel calculation was required because showing
more candidates than fit in the minibuffer hided the prompt. There were
long discussions related with that.

Up to now there is a fix in the display engine, but I don't really know
if we could totally ignore the max-height with that. Probably we could
relax it a bit, but not totally.

>> multiple \n in the separator
>
>(setq icomplete-hide-common-prefix nil)
>(setq icomplete-separator "\n----------\n")
>(setq icomplete-prospects-height 3)
>(completing-read "prompt: " '("completion1" "completion2" "completion3"))
>
>Doesn't matter how many \n is in the separator.  Just show 3
>completions.
>See multiple-n.png attached.
>
This of course is supposed to work. But try with more candidates like 10
or so. In the branch I basically take the min between the
icomplete-prospects-height and the number of candidates that fit in
max-mini-window-height.

>> using a different font size in the minibuffer
>
>Still show 3 completions, some text may doesn't fit in case the font
>size will be too big.
>
I think that with the Eli fix probably we could relax at least this part
a bit. 

>> display the completions in window-only frames like in mapple
>
>Thats actually why the patch was implemented.  See,
>maple-minibuffer-mode uses fixed frame height so the branch is show some
>completions that fits based on frame-pixel-height.  But mini-frame-mode,
>which I use, uses resizeable minibuffer-only frame to show the
>minibuffer content and the branch doesn't show any completions.
>I mention this issue earlier:
>https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00124.html
>
>In this usecase the patch behave better.
>
I can't reproduce the issue, that's why I didn't reply; sorry. In your
use case I suppose it works "better" because the patch totally ignores
the window height to fit; which, as I mention before, I am not sure is
something we can do in the general case due to the prompt issue.

If the prompt issue is totally away, we could; but I will need some
confirmation from Eli or Stefan; but last time I tried it was still
there.

In any case if in your case it is broken, then we probably need another
considerations.

>> having a first candidate longer than a single line/occupying multiple
>> lines
>
>Still show 3 completions, but minibuffer window may occupy more than 3
>lines.
>See long-completions.png attached.
>
>Oh, link to mini-frame-mode if needed:
>https://raw.githubusercontent.com/muffinmad/emacs-mini-frame/master/mini-frame.el
>
Best,
Ergus




  reply	other threads:[~2020-11-06 15:15 UTC|newest]

Thread overview: 126+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-05 23:10 [PATCH] Support "\n" in icomplete-separator Andrii Kolomoiets
2020-11-05 23:29 ` Stefan Monnier
2020-11-06  0:04   ` Ergus
2020-11-06  2:44     ` Stefan Monnier
2020-11-06  8:42     ` Gregory Heytings via Emacs development discussions.
2020-11-06 10:26   ` Andrii Kolomoiets
2020-11-05 23:57 ` Ergus
2020-11-06  8:43   ` Gregory Heytings via Emacs development discussions.
2020-11-06 12:36   ` Andrii Kolomoiets
2020-11-06 15:15     ` Ergus [this message]
2020-11-08 20:14       ` Andrii Kolomoiets
2020-11-08 20:30         ` Gregory Heytings via Emacs development discussions.
2020-11-08 20:36           ` Andrii Kolomoiets
2020-11-09  3:28         ` Eli Zaretskii
2020-11-09 21:04           ` Andrii Kolomoiets
2020-11-10 15:13             ` Eli Zaretskii
2020-11-10 17:18               ` Andrii Kolomoiets
2020-11-10 18:18                 ` Gregory Heytings via Emacs development discussions.
2020-11-11  9:41                   ` Andrii Kolomoiets
2020-11-10 18:23                 ` Eli Zaretskii
2020-11-10 19:17                   ` Gregory Heytings via Emacs development discussions.
2020-11-10 19:27                     ` Eli Zaretskii
2020-11-10 20:00                       ` Gregory Heytings via Emacs development discussions.
2020-11-10 21:09                   ` Andrii Kolomoiets
2020-11-11  8:27                     ` martin rudalics
2020-11-11  9:07                       ` Gregory Heytings via Emacs development discussions.
2020-11-11 15:57                         ` Jean Louis
2020-11-11  9:38                       ` Andrii Kolomoiets
2020-11-11 10:01                         ` martin rudalics
2020-11-11 10:21                           ` Gregory Heytings via Emacs development discussions.
2020-11-11 10:53                             ` martin rudalics
2020-11-11 11:22                               ` Gregory Heytings via Emacs development discussions.
2020-11-11 15:49                                 ` martin rudalics
2020-11-11 15:57                                   ` Eli Zaretskii
2020-11-11 16:16                                     ` Jean Louis
2020-11-11 17:06                                     ` martin rudalics
2020-11-11 17:28                                       ` Gregory Heytings via Emacs development discussions.
2020-11-11 16:05                                   ` Gregory Heytings via Emacs development discussions.
2020-11-11 17:06                                     ` martin rudalics
2020-11-11 17:26                                     ` Stefan Monnier
2020-11-11 17:37                                       ` Gregory Heytings via Emacs development discussions.
2020-11-11 15:32                             ` Jean Louis
2020-11-11 15:26                           ` Jean Louis
2020-11-11 16:06                           ` Eli Zaretskii
2020-11-11 17:12                             ` Gregory Heytings via Emacs development discussions.
2020-11-11 17:19                               ` Alfred M. Szmidt
2020-11-11 17:44                                 ` Gregory Heytings via Emacs development discussions.
2020-11-11 17:50                                   ` Alfred M. Szmidt
2020-11-11 18:14                                     ` Eli Zaretskii
2020-11-11 18:09                               ` Eli Zaretskii
2020-11-11 18:39                                 ` Gregory Heytings via Emacs development discussions.
2020-11-11 20:21                                   ` Eli Zaretskii
2020-11-11 20:37                                     ` Gregory Heytings via Emacs development discussions.
2020-11-11 21:55                                       ` Ergus
2020-11-11 22:26                                         ` Jean Louis
2020-11-11 22:59                                         ` Stefan Monnier
2020-11-12  3:28                                       ` Eli Zaretskii
2020-11-12  8:50                                         ` Gregory Heytings via Emacs development discussions.
2020-11-12  9:13                                           ` on helm substantial differences - " Jean Louis
2020-11-12  9:20                                             ` Gregory Heytings via Emacs development discussions.
2020-11-12 10:25                                               ` Jean Louis
2020-11-12 10:54                                                 ` Gregory Heytings via Emacs development discussions.
2020-11-12 11:33                                                   ` Jean Louis
2020-11-12 14:40                                                     ` Gregory Heytings via Emacs development discussions.
2020-11-12 17:46                                                       ` Jean Louis
2020-11-12 14:41                                             ` Eli Zaretskii
2020-11-12 17:49                                               ` Jean Louis
2020-11-12 17:58                                                 ` Eli Zaretskii
2020-11-12 14:36                                           ` Eli Zaretskii
2020-11-12 15:05                                             ` Gregory Heytings via Emacs development discussions.
2020-11-12 15:36                                               ` Eli Zaretskii
2020-11-12 16:10                                                 ` Gregory Heytings via Emacs development discussions.
2020-11-12 17:50                                                   ` Eli Zaretskii
2020-11-13 12:40                                                     ` Gregory Heytings via Emacs development discussions.
2020-11-13 12:59                                                       ` Eli Zaretskii
2020-11-13 13:36                                                         ` Gregory Heytings via Emacs development discussions.
2020-11-13 13:52                                                           ` Eli Zaretskii
2020-11-13 15:09                                                             ` Stephen Berman
2020-11-13 16:05                                                               ` Eli Zaretskii
2020-11-13 17:31                                                                 ` Stephen Berman
2020-11-16 10:24                                                             ` Gregory Heytings via Emacs development discussions.
2020-11-16 17:44                                                               ` Eli Zaretskii
2020-11-17 11:51                                                                 ` Gregory Heytings via Emacs development discussions.
2020-11-12  7:58                                     ` martin rudalics
2020-11-12  8:52                                       ` Gregory Heytings via Emacs development discussions.
2020-11-12 14:37                                         ` Eli Zaretskii
2020-11-12 12:39                                       ` Dmitry Gutov
2020-11-12 19:31                                         ` Howard Melman
2020-11-12 20:02                                           ` ivy-posframe review - " Jean Louis
2020-11-11 14:09                         ` Jean Louis
2020-11-11 15:51                           ` Eli Zaretskii
2020-11-11 16:05                             ` Jean Louis
2020-11-11 18:52                       ` Drew Adams
2020-11-11 19:10                         ` martin rudalics
2020-11-11 19:49                           ` Drew Adams
2020-11-12  7:58                             ` martin rudalics
2020-11-11 19:51                           ` Drew Adams
2020-11-11 16:30                     ` Eli Zaretskii
2020-11-12 22:51                       ` Andrii Kolomoiets
2020-11-13  8:39                         ` Eli Zaretskii
2020-11-13 12:56                           ` Gregory Heytings via Emacs development discussions.
2020-11-13 13:02                             ` Eli Zaretskii
2020-11-13 13:44                               ` Gregory Heytings via Emacs development discussions.
2020-11-13 13:55                                 ` Eli Zaretskii
2020-11-16 10:25                                   ` Gregory Heytings via Emacs development discussions.
2020-11-16 17:40                                     ` Eli Zaretskii
2020-11-16 17:41                                     ` Stefan Monnier
2020-11-16 18:24                                       ` Eli Zaretskii
2020-11-17 11:51                                       ` Gregory Heytings via Emacs development discussions.
2020-11-17 14:05                                         ` Stefan Monnier
2020-11-13 19:27                             ` Andrii Kolomoiets
2020-11-17  8:59                               ` Gregory Heytings via Emacs development discussions.
2020-11-13 20:18                           ` Andrii Kolomoiets
2020-11-14  6:17                             ` Ergus
2020-11-14 20:36                               ` Andrii Kolomoiets
2020-11-15  2:39                                 ` Ergus
2020-11-15 19:32                                   ` Andrii Kolomoiets
2020-11-10 20:01                 ` Stefan Monnier
2020-11-06  5:52 ` Jean Louis
2020-11-06 12:40   ` Andrii Kolomoiets
2020-11-06 12:59     ` Jean Louis
2020-11-08 20:28       ` Andrii Kolomoiets
2020-11-08 20:50         ` Jean Louis
  -- strict thread matches above, loose matches on Subject: below --
2020-11-06 16:30 Drew Adams
     [not found] <<m2a6vv8ko3.fsf@gmail.com>
     [not found] ` <<20201105235735.oxouuek66ehu5o45@Ergus>
     [not found]   ` <<m2y2je7jcx.fsf@gmail.com>
     [not found]     ` <<20201106151541.dpgep7borlja25su@Ergus>
     [not found]       ` <<m2d00n7gj4.fsf@gmail.com>
     [not found]         ` <<837dqv5huk.fsf@gnu.org>
     [not found]           ` <<m24klys0n2.fsf@gmail.com>
     [not found]             ` <<83mtzp2qj0.fsf@gnu.org>
     [not found]               ` <<m2imad6sh1.fsf@gmail.com>
     [not found]                 ` <<83r1p11369.fsf@gnu.org>
     [not found]                   ` <<m2a6vo7wcw.fsf@gmail.com>
     [not found]                     ` <<ca240036-8493-968d-2204-620f430334b9@gmx.at>
     [not found]                       ` <<m2sg9g5j2p.fsf@gmail.com>
     [not found]                         ` <<fe70158f-d55a-010a-74ba-2f81d1bb7663@gmx.at>
     [not found]                           ` <<837dqr27zs.fsf@gnu.org>
2020-11-11 19:03                             ` Drew Adams
     [not found]                             ` <<alpine.NEB.2.22.394.2011111803220453.17489@sdf.lonestar.org>
     [not found]                               ` <<83361f22ah.fsf@gnu.org>
     [not found]                                 ` <<alpine.NEB.2.22.394.2011111926450453.27530@sdf.lonestar.org>
     [not found]                                   ` <<83sg9fzlto.fsf@gnu.org>
     [not found]                                     ` <<alpine.NEB.2.22.394.2011112128400453.4149@sdf.lonestar.org>
     [not found]                                       ` <<83r1ozz22j.fsf@gnu.org>
     [not found]                                         ` <<alpine.NEB.2.22.394.2011120932160453.28737@sdf.lonestar.org>
     [not found]                                           ` <<83d00izloj.fsf@gnu.org>
     [not found]                                             ` <<alpine.NEB.2.22.394.2011121544550453.26984@sdf.lonestar.org>
     [not found]                                               ` <<83361ezix2.fsf@gnu.org>
2020-11-12 17:42                                                 ` Drew Adams

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=20201106151541.dpgep7borlja25su@Ergus \
    --to=spacibba@aol.com \
    --cc=andreyk.mad@gmail.com \
    --cc=emacs-devel@gnu.org \
    /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).