all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Drew Adams" <drew.adams@oracle.com>
To: "Juri Linkov" <juri@jurta.org>, <rms@gnu.org>
Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org
Subject: RE: propose adding Icicles to Emacs
Date: Sun, 17 Jun 2007 13:39:47 -0700	[thread overview]
Message-ID: <EIENLHALHGIMHGDOLMIMGEKFDCAA.drew.adams@oracle.com> (raw)
In-Reply-To: <871wgaxw7y.fsf@jurta.org>

> >     1. As I mentioned, my `read-face-name' just shows face names in
> >     *Completions* using their own faces. IMO, that should also
> >     be done in Emacs, but it is 100% independent of the rest of Icicles.
> >
> > This could be a good idea.  Can it be done by replacing the standard
> > `read-face-name' with yours?  Would someone please look at installing
> > this?
>
> Not a good idea in fact.  Face completions displayed in different faces
> are hardly readable, and some of them which have black foreground on black
> background (e.g. cursor, mouse, border) are not readable at all.

I find it _very_ helpful. What you say is true for only a few corner cases,
in general. A WYSIWYG show/no-show option that could be toggled from the
minibuffer during completion could easily deal with that.

FWIW, with Icicles there is really no great problem, because you can easily
get help on any candidate or just show its name in the minibuffer. For
instance, even if you can't read its name in *Completions*, and you can't
guess what it is by its position in the alphabetized list, you can use
`C-M-mouse-2' or `C-M-RET' to get help on the `border' face candidate during
completion - you then see this in buffer *Help*:

 Face: border (sample) (customize this face)
 Documentation: Basic face for the frame border under X.
 Defined in `faces.el'.

          Family: unspecified
           Width: unspecified
          Height: unspecified
          Weight: unspecified
           Slant: unspecified
      Foreground: unspecified
      Background: black
       Underline: unspecified
        Overline: unspecified
  Strike-through: unspecified
             Box: unspecified
         Inverse: unspecified
         Stipple: unspecified
 Font or fontset: unspecified
         Inherit: unspecified

This is the same as what you see in Customize, and, yes, the text "sample"
here would be blacked out because the face has a black background, by
default. This help is supplied on the fly - completion continues as before.
And even without asking for help, whenever `border' is the current candidate
(e.g. by cycling) `border' appears in the minibuffer, without its face.

I'd say we shouldn't throw out the baby with the bathwater on this (he said,
hazarding comments about which is which) - the gain of showing faces far
outweighs the loss. It is a zillion times easier and quicker to pick a face
name among a long list of possibly similar names by looking for the face
appearance also, not just the name. Likewise for colors and color names. See
the effect of both here:
http://www.emacswiki.org/cgi-bin/wiki/Icicles_-_Text_Properties_in_Completio
ns.

The faces screenshot on that page shows the problem you mention for
`border', BTW (but not for `cursor', because I don't use the default black
background for it). It also demonstrates what you said about some faces
being difficult to read (e.g. light color against a light *Completions*
background). It is a representative screenshot, I think, so people can get a
good idea of both (-) the importance of the problem and (+) the value of
WYSIWYG.

For any given user color scheme and background mode, the vast majority of
faces will be quite readable on the user's *Completions* background -
otherwise, they would not be part of the scheme. What I mean is that if a
user uses a dark background, for instance, then it is likely that most of
the faces will be readable against a dark background. Of course, "most" is
not "all", and I do see your point. I suggest adding a user option and a
toggle for it in the minibuffer completion maps.

FWIW - I haven't (yet) added such an option and toggle to Icicles. I use
face-name completion all the time and I've never noticed a need for it, but
I do think it is a good thing to add. The toggle key-binding could be added
permanently or added only temporarily from the code of `read-face-name'
itself (and removed afterward). Likewise for `icicle-read-color' - a single
option and toggle command would be used for all such WYSIWYG *Completions*
displays.

BTW - Fonts are another candidate for this type of treatment. It is standard
on Windows, at least, to show font names in menus in their own fonts.
Likewise, for most publishing applications. It really makes choosing a font
much, much easier. Think too of `xselfont'.

> >     4. My `completion-setup-function' and `display-completion-list'
> >     - see what I wrote before (about fitting the *Completions*
> >     window to the buffer etc.). This would mean modifying the
> >     definitions of `completion-setup-function' and
> >     `display-completion-list' in ways that I think would be
> >     good anyway. For instance, my `display-completion-list' does
> >     not remove text properties from candidates, and it adjusts
> >     the number of displayed columns and their widths.
> >     I personally would prefer to see `display-completion-list' be a Lisp
> >     function, but I will survive without that. My enhancements to it are
> >     independent of the rest of Icicles, but they do matter to
> >     the Icicles
> >     experience ;-).
> >
> > I am not sure what that previous text that refers to, but someone can
> > look at these changes and think about installing them.  Would someone
> > please do?
>
> Do you mean rewriting `display-completion-list' in Lisp?

I have done that (and included the enhancements mentioned). See
icicles-fn.el for the code.

  reply	other threads:[~2007-06-17 20:39 UTC|newest]

Thread overview: 212+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-26  0:19 [drew.adams@oracle.com: RE: cannot find :enable in Elisp manual index] Richard Stallman
2007-05-26  6:05 ` Eli Zaretskii
2007-05-29  4:01   ` [drew.adams@oracle.com: RE: cannot find :enable in Elisp manualindex] Drew Adams
2007-05-29 19:12     ` Eli Zaretskii
2007-05-29 20:05       ` Stephen Berman
2007-05-29 20:58         ` Eli Zaretskii
2007-05-29 21:20           ` Stephen Berman
2007-05-29 21:25         ` [drew.adams@oracle.com: RE: cannot find :enable in Elispmanualindex] Drew Adams
2007-05-29 21:03       ` [drew.adams@oracle.com: RE: cannot find :enable in Elisp manualindex] Drew Adams
2007-05-30  3:20         ` Eli Zaretskii
2007-05-30  4:43           ` Drew Adams
2007-05-30  5:26             ` [drew.adams@oracle.com: RE: cannot find :enable in Elispmanualindex] Drew Adams
2007-05-30 15:17             ` [drew.adams@oracle.com: RE: cannot find :enable in Elisp manualindex] Johan Bockgård
2007-05-30 23:09               ` Eli Zaretskii
2007-05-30  5:23           ` David Kastrup
2007-05-30 23:01             ` Eli Zaretskii
2007-05-30 23:14               ` Eli Zaretskii
2007-06-02  2:54     ` Richard Stallman
2007-06-02  9:18       ` Jason Rumney
2007-06-02 17:29         ` Richard Stallman
2007-06-02 10:12       ` Robert J. Chassell
2007-06-02 17:29         ` Richard Stallman
2007-06-02 23:47           ` Robert J. Chassell
2007-06-03 21:27             ` Richard Stallman
2007-06-02 10:18       ` Alan Mackenzie
2007-06-02 14:36         ` [drew.adams@oracle.com: RE: cannot find :enable in Elispmanualindex] Drew Adams
2007-06-02 17:26         ` [drew.adams@oracle.com: RE: cannot find :enable in Elisp manualindex] Eli Zaretskii
2007-06-02 23:47           ` Alan Mackenzie
2007-06-02 23:48             ` Jason Rumney
2007-06-02 17:29         ` Richard Stallman
2007-06-02 18:10           ` [drew.adams@oracle.com: RE: cannot find :enable in Elispmanualindex] Drew Adams
2007-06-03 21:27             ` Richard Stallman
2007-06-04  5:30               ` [drew.adams@oracle.com: RE: cannot find :enable inElispmanualindex] Drew Adams
2007-06-02 23:01           ` [drew.adams@oracle.com: RE: cannot find :enable in Elisp manualindex] Miles Bader
2007-06-03  0:00           ` Karl Berry
2007-06-03 21:27             ` Richard Stallman
2007-06-03 22:52               ` Juri Linkov
2007-06-03 23:55                 ` [drew.adams@oracle.com: RE: cannot find :enable in Elispmanualindex] Drew Adams
2007-06-04  5:01                   ` Richard Stallman
2007-06-04  5:42                     ` [drew.adams@oracle.com: RE: cannot find :enable inElispmanualindex] Drew Adams
2007-06-04 23:20                       ` Richard Stallman
2007-06-05  0:10                         ` [drew.adams@oracle.com: RE: cannot find :enableinElispmanualindex] Drew Adams
2007-06-06  0:50                   ` [drew.adams@oracle.com: RE: cannot find :enable in Elispmanualindex] Stefan Monnier
2007-06-06  2:12                     ` Drew Adams
2007-06-06 12:26                       ` Stefan Monnier
2007-06-06 13:54                         ` Drew Adams
2007-06-06 15:06                           ` [drew.adams@oracle.com: RE: cannot find :enable inElispmanualindex] Drew Adams
2007-06-06 18:44                             ` Juri Linkov
2007-06-06 20:01                               ` Stefan Monnier
2007-06-06 20:51                                 ` Juri Linkov
2007-06-06 21:18                                   ` Stefan Monnier
2007-06-06 22:01                                     ` Juri Linkov
2007-06-06 22:24                                       ` Stefan Monnier
2007-06-06 22:40                                         ` Karl Berry
2007-06-07 12:37                                           ` Stefan Monnier
2007-06-07 22:22                                             ` Karl Berry
2007-06-08  1:00                                               ` Stefan Monnier
2007-06-08  2:28                                                 ` Karl Berry
2007-06-08  6:58                                                   ` csant
2007-06-08 15:42                                                     ` Stefan Monnier
2007-06-08  7:12                                                   ` Stefan Monnier
2007-06-08  8:34                                                   ` Juri Linkov
2007-06-06 22:04                                     ` Karl Berry
2007-06-08  7:11                               ` Richard Stallman
2007-06-08  8:32                                 ` Juri Linkov
2007-06-08 15:46                                   ` Stefan Monnier
2007-06-08 15:52                                   ` propose adding Icicles to Emacs Drew Adams
2007-06-10 13:19                                     ` Richard Stallman
2007-06-10 17:16                                       ` Drew Adams
2007-06-10 18:22                                         ` Sean O'Rourke
2007-06-11  0:09                                           ` Drew Adams
2007-06-11  9:44                                         ` Richard Stallman
2007-06-11 18:33                                           ` Drew Adams
2007-06-11 19:17                                             ` Stefan Monnier
2007-06-11 20:53                                               ` Drew Adams
2007-06-11 21:46                                                 ` Stefan Monnier
2007-06-11 23:21                                                   ` Drew Adams
2007-06-13  8:06                                                   ` Richard Stallman
2007-06-14  7:48                                                 ` Richard Stallman
2007-06-14 15:51                                                   ` Drew Adams
2007-06-14 16:07                                                     ` Stefan Monnier
2007-06-15  0:39                                                       ` Drew Adams
2007-06-15 19:22                                                         ` Richard Stallman
2007-06-15 21:04                                                           ` Drew Adams
2007-06-16 18:51                                                             ` Richard Stallman
2007-06-16 18:51                                                             ` Richard Stallman
2007-06-16 18:51                                                         ` Richard Stallman
2007-06-16 20:53                                                           ` Drew Adams
2007-06-17  8:54                                                             ` Richard Stallman
2007-06-17 18:48                                                           ` Juri Linkov
2007-06-17 20:39                                                             ` Drew Adams [this message]
2007-06-17 21:18                                                               ` Juri Linkov
2007-06-17 23:07                                                                 ` Drew Adams
2007-06-18 21:17                                                                   ` Juri Linkov
2007-06-18 23:31                                                                     ` Drew Adams
2007-06-19  8:16                                                                       ` Juri Linkov
2007-06-19 14:47                                                                         ` Drew Adams
2007-06-18 14:56                                                               ` Stefan Monnier
2007-06-19 22:26                                                                 ` Richard Stallman
2007-06-20  6:46                                                                   ` Stefan Monnier
2007-06-28  2:41                                                                   ` Stefan Monnier
2007-06-28 15:47                                                                     ` Drew Adams
2007-06-28 19:25                                                                     ` Richard Stallman
2007-06-28 20:03                                                                       ` Stefan Monnier
2007-06-29  5:10                                                                         ` Richard Stallman
2007-06-18 21:31                                                               ` Richard Stallman
2007-06-19  3:52                                                                 ` Stefan Monnier
2007-06-19 22:26                                                                   ` Richard Stallman
2007-06-19 23:11                                                                     ` Drew Adams
2007-06-20  1:19                                                                     ` Stefan Monnier
2007-06-19 22:47                                                                   ` Drew Adams
2007-06-19 23:15                                                                     ` Drew Adams
2007-06-20 14:19                                                                     ` Juri Linkov
2007-06-20 15:13                                                                       ` Drew Adams
2007-06-20 15:13                                                                       ` Stefan Monnier
2007-06-20 15:34                                                                         ` Drew Adams
2007-06-20 15:50                                                                           ` Juri Linkov
2007-06-20 16:02                                                                             ` Juanma Barranquero
2007-06-20 16:38                                                                             ` Drew Adams
2007-06-20 17:28                                                                               ` Drew Adams
2007-06-20 17:51                                                                               ` Juri Linkov
2007-06-21  1:07                                                                         ` Richard Stallman
2007-06-19 22:48                                                                 ` Drew Adams
2007-06-20 17:36                                                                   ` Richard Stallman
2007-06-16 18:51                                                         ` Richard Stallman
2007-06-16 19:58                                                           ` Drew Adams
2007-06-16 18:51                                                         ` Richard Stallman
2007-06-16 22:36                                                           ` Drew Adams
2007-06-17 21:49                                                             ` Richard Stallman
2007-06-16 18:51                                                         ` Richard Stallman
2007-06-16 22:29                                                           ` Drew Adams
2007-06-17 21:48                                                             ` Richard Stallman
2007-06-17 22:18                                                               ` Drew Adams
2007-06-18 16:15                                                                 ` Drew Adams
2007-06-25 13:19                                                                   ` Richard Stallman
2007-06-25 14:57                                                                     ` Drew Adams
2007-06-25 19:52                                                                       ` Richard Stallman
2007-06-25 21:40                                                                         ` Drew Adams
2007-06-26 16:57                                                                           ` Richard Stallman
2007-06-26 17:36                                                                             ` Drew Adams
2007-07-01 20:40                                                                               ` Richard Stallman
2007-07-01 21:54                                                                                 ` Drew Adams
2007-07-02 19:47                                                                                   ` Richard Stallman
2007-07-02 22:19                                                                                     ` Drew Adams
2007-07-03  4:24                                                                                       ` Richard Stallman
2007-07-03  7:56                                                                                         ` Drew Adams
2007-07-04  3:43                                                                                           ` Richard Stallman
2007-07-04  6:13                                                                                             ` Drew Adams
2007-06-25 20:47                                                                     ` Juri Linkov
2007-06-21 18:35                                                                 ` Davis Herring
2007-06-21 18:39                                                                   ` Lennart Borgman (gmail)
2007-06-21 20:42                                                                   ` Drew Adams
2007-06-21 22:27                                                                     ` Davis Herring
2007-06-22  0:20                                                                       ` Drew Adams
2007-06-24 14:40                                                                         ` Richard Stallman
2007-06-15  8:48                                                     ` Richard Stallman
2007-06-15 13:23                                                       ` Drew Adams
2007-06-15 22:45                                                         ` Richard Stallman
2007-06-13 16:21                                               ` Richard Stallman
2007-06-13 16:22                                             ` Richard Stallman
2007-06-13 19:00                                               ` Drew Adams
2007-06-14 16:19                                                 ` Richard Stallman
2007-06-15  1:01                                                   ` Drew Adams
2007-06-15 19:22                                                     ` Richard Stallman
2007-06-15 21:04                                                       ` Drew Adams
2007-06-16 18:50                                                         ` Richard Stallman
2007-06-17 18:46                                                     ` Juri Linkov
2007-06-17 19:35                                                       ` Drew Adams
2007-06-18 21:31                                                         ` Richard Stallman
2007-06-11  9:44                                         ` Richard Stallman
2007-06-11 17:29                                           ` Drew Adams
2007-06-11 18:10                                             ` Stefan Monnier
2007-06-13  8:07                                               ` Richard Stallman
2007-06-13 15:23                                                 ` Drew Adams
2007-06-14  7:49                                                   ` Richard Stallman
2007-06-15  0:41                                                     ` Drew Adams
2007-06-15 19:22                                                       ` Richard Stallman
2007-06-15 21:04                                                         ` Drew Adams
2007-06-16 18:51                                                           ` Richard Stallman
2007-06-16 22:30                                                             ` Drew Adams
2007-06-13  8:07                                             ` Richard Stallman
2007-06-11  3:49                                     ` Miles Bader
2007-06-11  7:24                                       ` Drew Adams
2007-06-11 16:25                                         ` Richard Stallman
2007-06-11  9:44                                       ` Richard Stallman
2007-06-11 18:41                                         ` Drew Adams
2007-06-12  0:43                                           ` Miles Bader
2007-06-12  8:08                                             ` Kim F. Storm
2007-06-12  9:18                                               ` joakim
2007-06-12 11:04                                                 ` Kim F. Storm
2007-06-12 11:16                                                   ` joakim
2007-06-12 13:30                                                     ` Drew Adams
2007-06-12 14:06                                                     ` keys that work on terminals (was: Re: propose adding Icicles to Emacs) Dan Nicolaescu
2007-06-12 14:45                                                       ` keys that work on terminals joakim
2007-06-12 13:22                                               ` propose adding Icicles to Emacs Drew Adams
2007-06-06 15:43                           ` [drew.adams@oracle.com: RE: cannot find :enable in Elispmanualindex] Stefan Monnier
2007-06-04  5:01                 ` [drew.adams@oracle.com: RE: cannot find :enable in Elisp manualindex] Richard Stallman
2007-06-04 23:51                   ` Juri Linkov
2007-06-05  3:55                     ` Miles Bader
2007-06-05 16:29                       ` Juri Linkov
2007-06-05 17:12                         ` [drew.adams@oracle.com: RE: cannot find :enable in Elispmanualindex] Drew Adams
2007-06-05 19:17                       ` [drew.adams@oracle.com: RE: cannot find :enable in Elisp manualindex] Richard Stallman
2007-06-05 22:32                     ` Richard Stallman
2007-06-06  0:32                       ` Karl Berry
2007-06-06 22:10                         ` Richard Stallman
2007-06-06 22:21                           ` Karl Berry
2007-06-02 22:34       ` Juri Linkov
2007-06-02 22:42     ` Juri Linkov
2007-06-03  3:07       ` Eli Zaretskii
2007-06-03  9:34         ` Juri Linkov
2007-06-03 21:23           ` Karl Berry
2007-06-03 21:27           ` Richard Stallman

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

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

  git send-email \
    --in-reply-to=EIENLHALHGIMHGDOLMIMGEKFDCAA.drew.adams@oracle.com \
    --to=drew.adams@oracle.com \
    --cc=emacs-devel@gnu.org \
    --cc=juri@jurta.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=rms@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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.