all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: "Clément Pit-Claudel" <cpitclaudel@gmail.com>, emacs-devel@gnu.org
Subject: RE: Why mouse-1/2/3 ?
Date: Mon, 27 Apr 2020 09:00:50 -0700 (PDT)	[thread overview]
Message-ID: <00cf3d7c-c742-4e5a-a3ce-6cb36f199074@default> (raw)
In-Reply-To: <e31e53a8-9fe1-f865-ca80-9d34d1714e67@gmail.com>

> Neither have you managed to convince me that mouse-1-2-3 is valuable.
> I've seen one moderately convincing point about this relating to left-
> handed mice (suggesting that buttons should really be called inner,
> middle, and outer),

Which is "inner"/"outer"?  Just as problematic, if
not more so.  Maybe use medical terminology, using
anatomical terms of location - dorsal, ventral,
proximal, distal, etc.?

YAGNI.  Not sure whether "molehill" or "rabbit hole"
is the better label for this discussion now.  But
it's interesting, if only to consider whether those
who adopted `mouse-[1|2|3]' for Emacs were thinking
at all, or were just hopelessly un-"modern".

> but I haven't seen much of an argument in support
> of 1, 2, 3 except "that's how Emacs does it.

So you would use `mouse-[left|middle|right]', not
`mouse-[1|2|3]'.  But you would continue to use
`mouse-[4|5|...]'?  Or would you try for helpful
words for those too?  Remember that 4 and 5 can be
radically different things, depending on the mouse.

How about this additional argument (which I thought
was obvious, but it might help to make explicit):

1, 2, and 3 do not suggest as strongly that what's
meant are left, middle, and right.  And that's a
plus as much as it's a minus.

[1|2|3] is a minus for the very common case of a
common mouse used by a right-hander.  Yes, in that
common case `mouse-left' etc. is easier to guess.

[1|2|3] is a plus for the general case, which is
also the case for Elisp programmers.  The coupling
in thought/language between those names and actual
button positions is looser than the coupling from
names like `left'.

And this is presumably why sometimes the Emacs
(but not the Elisp) doc says something like
"`mouse-1' (the left mouse button)".  (It should
say "`mouse-1' (typically the left mouse button)"
(or "often").  

The [1|2|3] names are more abstract.  Yes, that
presents a disadvantage as well as an advantage.

If we were designing Emacs from scratch today, so
that any arguments about legacy or backward
compatibility were mute, would we choose to use
[1|2|3]?

I would.  I think they make more sense for Emacs
and Elisp, in general, than [left|middle|right],
precisely because, even though they do serve well
enough for guessing button position in the common
case (IMO), they also suggest that such a mapping
is just that - the names are to some extent
arbitrary.

This is analogous to using x1, x2, x3,... in math.
Those names are essentially arbitrary, but an
order, i.e., some mapping, is generally suggested.

> FWIW, I've been using Emacs for 10 years, with 7 years spent almost
> exclusively inside of it, and I don't find mouse-1-2-3 natural.  Given
> how uncommonly I use the middle and right mouse buttons in Emacs, it
> actually took me years to remember whether mouse-2 was the right mouse
> button or the middle one (it didn't help that one of my mice didn't
> have a scrollwheel, so counting the buttons left to right gave the
> wrong intuition, IIRC).

I think you gave at least one reason you had so
much trouble in that regard, for "years": you
don't often use `mouse-2' or `mouse-3'.

If you had used all three in Emacs, I'm betting
you would have learned quickly, at some point
during those "years", what each name stood for.



  parent reply	other threads:[~2020-04-27 16:00 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-27 11:23 Why mouse-1/2/3 ? ndame
2020-04-27 11:31 ` tomas
2020-04-27 13:36   ` Clément Pit-Claudel
2020-04-27 13:39     ` Dmitry Gutov
2020-04-27 14:08     ` tomas
2020-04-27 14:26       ` Clément Pit-Claudel
2020-04-27 14:50         ` tomas
2020-04-27 16:00     ` Drew Adams [this message]
2020-04-27 19:04       ` chad
2020-04-28  2:51         ` Richard Stallman
2020-04-28  3:48           ` Tim Cross
2020-04-27 16:01     ` Drew Adams
  -- strict thread matches above, loose matches on Subject: below --
2020-04-27 10:50 ndame
2020-04-27 10:37 ndame
2020-04-27 10:40 ` tomas
2020-04-27 12:32   ` Ulrich Mueller
2020-04-28  2:47     ` Richard Stallman
2020-04-27 10:41 ` Andreas Schwab
2020-04-27 10:47   ` ndame
2020-04-27 11:02     ` tomas
2020-04-27 10:53   ` ndame
2020-04-27 11:11 ` Po Lu
2020-04-27 13:29   ` Clément Pit-Claudel
2020-04-27 13:14 ` Dmitry Gutov
2020-04-27 13:27   ` ndame
2020-04-27 15:08     ` Dmitry Gutov
2020-04-25 17:45 ndame
2020-04-25 18:19 ` Zach Pearson
2020-04-26  4:09   ` Po Lu
2020-04-27  9:45     ` ndame
2020-04-27  9:53       ` tomas
2020-04-27 11:10       ` Po Lu
2020-04-27 11:12         ` ndame
2020-04-27 11:46           ` Po Lu
2020-04-26  4:08 ` Po Lu
2020-04-26  6:12   ` Tim Cross
2020-04-26 16:41   ` Drew Adams
2020-04-27  9:30     ` Po Lu
2020-04-27  9:40       ` tomas
2020-04-27  9:47         ` Pip Cet
2020-04-27 15:13           ` Stefan Monnier
2020-04-28  0:40 ` Michael Welsh Duggan
2020-04-28 15:27   ` 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

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

  git send-email \
    --in-reply-to=00cf3d7c-c742-4e5a-a3ce-6cb36f199074@default \
    --to=drew.adams@oracle.com \
    --cc=cpitclaudel@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 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.