unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Miles Bader <miles@lsi.nec.co.jp>
Cc: storm@cua.dk (Kim F. Storm),
	"Stefan Monnier" <monnier+gnu/emacs@rum.cs.yale.edu>,
	rms@gnu.org, emacs-devel@gnu.org
Subject: Re: Assignment of misc packages for emacs
Date: 20 May 2002 15:38:01 +0900	[thread overview]
Message-ID: <buon0uv1fzq.fsf@mcspd15.ucom.lsi.nec.co.jp> (raw)
In-Reply-To: <200205191441.g4JEfMg23080@rum.cs.yale.edu>

Ok, now that I've updated from CVS, I tried out hierarkey menus.  While
idea seems cool, the visual presentation is currently quite confusing.

Part of this is the one-line-at-a-time thing, which I guess is a
historical misfeature, and can just be fixed.

Part of it is that the way the menus are presented is just wierd,
e.g. using my previous example:

  (progn
    (defvar menu-map)
    (setq menu-map (make-sparse-keymap "This is a prompt"))
    (local-set-key "&" menu-map)
    (define-key menu-map "1" '(menu-item "Insert 1" (lambda () (interactive) (insert "1"))))
    (define-key menu-map "2" '(menu-item "Insert 2" (lambda () (interactive) (insert "2"))))
    (define-key menu-map "f" '(menu-item "foo" (lambda () (interactive) (insert "foo"))))
    (define-key menu-map "b" '(menu-item "Bar" (lambda () (interactive) (insert "Bar"))))
    )

I get the following two lines if I type `&':

  This is a prompt: Bar  (& b), foo  (& f), 2 = Insert 2  (& 2)...
  This is a prompt: 1 = Insert 1  (& 1)

The output is really `busy,' and hard to read.

I see the following problems:

  * The main question people are probably asking when they see this
    menu displayed is `what key do I hit to get my function'.

    With the current display format, it's not at all obvious.  Not only
    is the key to hit listed _after_ the description, which makes it
    harder to find, but I think Kim was right -- including the prefix
    key (`&' in this case) is not just superfluous, but actually makes
    it harder to understand the menu.

  * For keys where the selection key isn't the first letter of the menu
    entry string, it actually lists the binding _twice_ (but for those
    where it's not, it's only listed once).  Again, this sort of
    inconsistency makes it hard to see the answer to the main
    question, `what do I hit'.

I would suggest changing the formatting to remove these problems, by

(1) listing the `key to hit' _before_ each entry, and making it
    visually noticable,
(2) Only listing it once for each entry, and
(3) Not including the menu prefix, which is both unnecessary and confusing.

So the above example menu might become [alternative 1]:

  This is a prompt: b = Bar,  f = foo,  2 = Insert 2
  This is a prompt: 1 = Insert 1

Here's an another alternative that acts a bit more clever if the menu
string begins with the same letter as the associated binding
[altnernative 2]:

  This is a prompt: (B)ar,  (f)oo,  (2) Insert 2
  This is a prompt: (1) Insert 1

I find this style even easier to understand; this is the one I prefer.

What do people think?


Here's a real world example -- the `d' (diff) menu from pcl-cvs:

Current look:
   Diff: vendor  (d v), head  (d h), backup  (d b), diff  (=)
   Diff: 2 = other  (d 2), e = idiff  (d e), E = imerge  (d E)

[alternative 1]:
   Diff: v = vendor,  h = head,  b = backup,  = = diff
   Diff: 2 = other,  e = idiff,  E = imerge

[alternative 2]:
   Diff: (v)endor,  (h)ead,  (b)ackup,  (=) diff
   Diff: (2) other,  (e) idiff,  (E) imerge

-Miles
-- 
`Life is a boundless sea of bitterness'

  parent reply	other threads:[~2002-05-20  6:38 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <200205050534.g455YfF01634@aztec.santafe.edu>
2002-05-05 22:02 ` Assignment of misc packages for emacs Kim F. Storm
2002-05-06 23:07   ` Alex Schroeder
2002-05-08  1:16     ` Miles Bader
2002-05-08  1:47       ` Stefan Monnier
2002-05-09  2:45       ` Richard Stallman
2002-05-07 14:08   ` Kai Großjohann
2002-05-08 13:58     ` Richard Stallman
2002-05-08  1:31   ` Miles Bader
2002-05-08  6:23     ` Thien-Thi Nguyen
2002-05-14 19:41   ` Richard Stallman
2002-05-14 19:41   ` Richard Stallman
2002-05-14 23:44     ` Kim F. Storm
2002-05-15  1:08       ` Miles Bader
2002-05-15 21:37         ` Kim F. Storm
2002-05-16  1:19           ` Miles Bader
2002-05-17 19:29           ` Richard Stallman
2002-05-17 21:42             ` Kim F. Storm
2002-05-17 19:29           ` Richard Stallman
2002-05-17 21:31             ` Kim F. Storm
2002-05-16  7:22         ` Richard Stallman
2002-05-16 23:41           ` Kim F. Storm
2002-05-15  4:51       ` Eli Zaretskii
2002-05-15  8:41         ` Andreas Schwab
2002-05-15 10:20           ` Eli Zaretskii
2002-05-15 11:08             ` Andreas Schwab
2002-05-15 21:41         ` Kim F. Storm
2002-05-15 19:27       ` Stefan Monnier
2002-05-15 20:37         ` Andreas Schwab
2002-05-16 23:39         ` Kim F. Storm
2002-05-16 22:49           ` Stefan Monnier
2002-05-17  6:27             ` Eli Zaretskii
2002-05-17  7:10               ` Miles Bader
2002-05-17  9:21                 ` Andreas Schwab
2002-05-17 11:13                   ` Miles Bader
2002-05-17  9:40                 ` Eli Zaretskii
2002-05-17 11:15                   ` Miles Bader
2002-05-17 10:47             ` Kim F. Storm
2002-05-17 10:08               ` Stefan Monnier
2002-05-17 11:20                 ` Miles Bader
2002-05-17 12:07                 ` Kim F. Storm
2002-05-17 11:28                   ` Miles Bader
2002-05-18 18:48             ` Richard Stallman
2002-05-18 21:39               ` Kim F. Storm
2002-05-19 19:40                 ` Richard Stallman
2002-05-18 22:37               ` Stefan Monnier
2002-05-19 19:40                 ` Richard Stallman
2002-05-16 23:07           ` Miles Bader
2002-05-18 18:48             ` Richard Stallman
2002-05-19 11:57             ` Miles Bader
2002-05-19 14:41               ` Stefan Monnier
2002-05-19 15:12                 ` Miles Bader
2002-05-20  6:38                 ` Miles Bader [this message]
2002-05-20  9:57                   ` Alex Schroeder
2002-05-20 10:06                   ` Kai Großjohann
2002-05-20 21:34                   ` Richard Stallman
2002-05-21  9:54                     ` Mario Lang
2002-05-21 10:23                       ` Miles Bader
2002-05-22 22:29                       ` Richard Stallman
2002-05-21 10:20                     ` Miles Bader
2002-05-22 22:27                       ` Richard Stallman
2002-05-23  7:08                         ` Miles Bader
2002-05-23 16:49                           ` Mario Lang
2002-05-23 22:21                             ` Miles Bader
2002-06-04 17:27                         ` Miles Bader
2002-06-05 14:42                           ` Stefan Monnier
2002-06-06  1:07                             ` Miles Bader
2002-06-06  1:37                               ` Stefan Monnier
2002-06-06  1:46                                 ` Miles Bader
2002-06-06  7:57                                 ` Miles Bader
2002-06-07  0:45                                   ` Richard Stallman
2002-06-07  0:45                               ` Richard Stallman
2002-06-05 23:10                           ` Kim F. Storm
2002-06-06  1:09                             ` Miles Bader
2002-06-06  1:24                           ` Miles Bader
2002-06-07  0:45                             ` Richard Stallman
2002-06-07 23:26                               ` Kim F. Storm
2002-06-08  1:09                                 ` Miles Bader
2002-06-08 19:15                                 ` Richard Stallman
2002-06-06 12:04                           ` Richard Stallman
2002-06-06 12:41                             ` Miles Bader
2002-06-06 13:37                               ` Stefan Monnier
2002-06-06 13:45                                 ` Miles Bader
2002-06-07 23:23                               ` Richard Stallman
2002-06-08  4:06                                 ` Miles Bader
2002-06-09 15:19                                   ` Richard Stallman
2002-06-10 14:35                                   ` Stefan Monnier
2002-06-11 19:25                                     ` Richard Stallman
2002-07-07 22:46                           ` What happened to the key-menu patch? Kim F. Storm
2002-07-09  7:00                             ` Miles Bader
2002-07-09 13:58                               ` Stefan Monnier
2002-07-10  2:43                                 ` Miles Bader
2002-07-10 18:12                                   ` Stefan Monnier
2002-07-10 10:43                                 ` Richard Stallman
2002-07-11 17:13                                   ` Stefan Monnier
2002-07-12 17:37                                     ` Richard Stallman
2002-07-12 18:07                                       ` Stefan Monnier
2002-07-13 14:20                                         ` Richard Stallman
2002-07-13 17:37                                           ` Stefan Monnier
2002-07-15  1:09                                             ` Richard Stallman
2002-07-09 18:51                               ` Richard Stallman
2002-07-10  2:45                                 ` Miles Bader
2002-07-10 19:20                                   ` Richard Stallman
2002-05-20 14:48               ` Assignment of misc packages for emacs Richard Stallman
2002-05-18 18:48           ` Richard Stallman
2002-05-18 20:07             ` Kim F. Storm
2002-05-19 19:40               ` Richard Stallman
2002-05-16  7:21       ` Richard Stallman
2002-05-16  7:21       ` Richard Stallman
2002-05-15  7:44     ` D. Goel

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=buon0uv1fzq.fsf@mcspd15.ucom.lsi.nec.co.jp \
    --to=miles@lsi.nec.co.jp \
    --cc=emacs-devel@gnu.org \
    --cc=miles@gnu.org \
    --cc=monnier+gnu/emacs@rum.cs.yale.edu \
    --cc=rms@gnu.org \
    --cc=storm@cua.dk \
    /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).