From: "Drew Adams" <drew.adams@oracle.com>
Subject: RE: finger-pointer curser as default for mouse-face text
Date: Tue, 26 Oct 2004 11:55:25 -0700 [thread overview]
Message-ID: <FDELKNEBLPKKDCEBEJCBEENDCIAA.drew.adams@oracle.com> (raw)
In-Reply-To: <m3zn29oeg5.fsf@kfs-l.imdomain.dk>
1. We can no doubt find a good way to let click mouse-1 be used to follow
links and push action buttons - and still let it be used as it is now
(99.99%). We've discussed several possibilities, and we can discuss more and
settle on a good design. Already, IMO, acceptable approaches have been
discussed, but there is no reason not to scrutinize the issue more before we
make a change. David is right that whatever design we choose should not be
based only on how current code happens to be implemented; it should make
sense as a design, not just as a coding workaround.
2. Default behavior - One of the main reasons to make this fairly major
change to longstanding Emacs behavior is to bring Emacs behavior in line
with what users experience elsewhere. [This is not an argument for aligning
Emacs to every convention existing outside Emacs, but when a convention is
reasonable and fairly compatible, then it can at least be _considered_ for
possible adoption.]
This conventional behavior is especially important for _new_ Emacs users.
It makes sense, if we make this change to Emacs, to make the new behavior
the _default_ behavior. Let experienced Emacs users turn it off, if they
like, but let new Emacs users find it on by default. It would be silly to
require new users to somehow discover how to achieve this conventional
behavior. Emacs lovers often enjoy discovering not-so-obvious Emacs
features, but the standard, simple stuff should be obvious for newbies.
Sometimes we seem to be taking the view that if a candidate change is
recognized as very useful but it isn't 100% pluggable or it interferes with
current behavior or implementation a tiny bit, then the proper course of
action is to add it to Emacs, but turn it off. IMO, whether a feature should
be on or off by default should be determined first by whether or not it is
useful to most users and it might not be discovered by them if off by
default.
An argument for 100% correctness in 100% of contexts is appropriate to
consider, but as a secondary argument - it should generally not be the main
criterion for whether something is on by default. If something is _very_
broken, then it probably shouldn't be added at all. If something is, say,
1/10 broken and cannot easily be fixed, then one could argue for adding it
only as a non-default option, but if functionality and performance are close
to 100%, then the main argument for defaulting should be in terms of
usefulness.
[Yes, there are also arguments for not turning on something that will
interfere with minimal operation (e.g. -nw), and, yes, those arguments can
trump the main argument about useful service to most users. But sometimes
such minimal operation can be cantoned within, say, a command-line option,
so that the default behavior can be different in this case.]
3. Time-delay - Without having tried the time-delay implementation, my guess
is that it would be an acceptable solution. The longer delay should be used
for the less common behavior in Emacs - and for the behavior that is less
common (inexistant?) outside of Emacs.
IOW, the normal, short click behavior of mouse-1 should be to follow a link
(or to click a button); the longer "click" should set point or drag or
whatever within the link text. As far as an action button (or an active
image or image map) is concerned, I see little reason for this exceptional
mouse-1 behavior there; such behavior should be reserved for links - which
is one more reason that the long "click" should _not_ be the link-follow
action.
Again, we should be looking for the best design in the wider context of UI
conventions that have grown up around us - not looking for ways to minimize
impact on experienced Emacs users or on the current Emacs implementation.
4. Modifier-key - I still think that a keyboard modifier would be an
acceptable alternative if, for some reason (or in some contexts), the
time-delay approach had drawbacks. Someone argued that it would be hard to
remember. In that case, that is a further argument that setting point &
dragging within link text must be a rare activity: if it were common, you
would have no problem remembering the key sequence. For instance, if you use
M-mouse-1 often for secondary selection then you have no trouble remembering
it; if you use it rarely, then you might forget it.
Also (slightly off-topic), doesn't it make more sense to use modifier keys
for operations that you might want to _repeat_ by just holding down the
modifier key? What's the point of having, say, S-mouse-1 call up a
font-selection dialog box (mouse-set-font)? There are a limited number of
modifier keys - why would we "waste" them on operations that cannot be
repeated? (Yes, that can be an argument against using a modifier with
mouse-1 for selecting link text - so be it. The latter still makes more
sense to me than calling up a dialog box.)
5. Alternatives - Since we have several alternative ways to achieve the
current mouse-1 behavior within link text, I don't see a good argument for
not moving forward with the change we're discussing. These alternatives
might be slightly less convenient than just clicking mouse-1 for this
relatively rare need (selecting text within a link), but so what? If you can
accomplish this need in any of a number of ways, what's the big pb? So far,
we've considered these acceptable alternatives, the first of which already
exists:
- use the keyboard (set mark; move point)
- press mouse-1 a little longer
- click mouse-1 with a modifier (e.g. C-S-mouse-1)
Drew
next prev parent reply other threads:[~2004-10-26 18:55 UTC|newest]
Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <DNEMKBNJBGPAOPIJOOICAEKKCAAA.drew.adams@oracle.com>
2004-10-19 9:04 ` finger-pointer curser as default for mouse-face text Kim F. Storm
2004-10-19 15:31 ` Lennart Borgman
2004-10-19 16:12 ` Drew Adams
2004-10-21 13:56 ` Richard Stallman
2004-10-21 14:47 ` Kim F. Storm
2004-10-21 16:03 ` Lennart Borgman
2004-10-23 4:48 ` Richard Stallman
2004-10-24 12:42 ` Kim F. Storm
2004-10-24 12:59 ` Lennart Borgman
2004-10-24 19:40 ` Kim F. Storm
2004-10-24 20:06 ` Lennart Borgman
2004-10-25 13:13 ` Richard Stallman
2004-10-24 13:10 ` David Kastrup
2004-10-24 19:59 ` Kim F. Storm
2004-10-26 9:04 ` Richard Stallman
2004-10-26 17:05 ` Lennart Borgman
2004-10-24 22:31 ` Stefan
2004-10-25 7:22 ` David Kastrup
2004-10-25 11:47 ` Stefan
2004-10-25 12:51 ` David Kastrup
2004-10-25 13:50 ` Stefan Monnier
2004-10-25 14:52 ` Ralf Angeli
2004-10-25 15:08 ` Stefan Monnier
2004-10-25 15:18 ` David Kastrup
2004-10-25 15:35 ` Stefan Monnier
2004-10-26 9:00 ` Kim F. Storm
2004-10-26 9:25 ` David Kastrup
2004-10-26 12:23 ` Kim F. Storm
2004-10-26 18:55 ` Drew Adams [this message]
2004-10-26 21:06 ` David Kastrup
2004-10-26 21:54 ` Kim F. Storm
2004-10-27 2:15 ` Luc Teirlinck
2004-10-27 12:52 ` Kim F. Storm
2004-10-27 13:02 ` Luc Teirlinck
2004-10-27 13:16 ` David Kastrup
2004-10-27 14:51 ` feature freeze (was: finger-pointer curser as default for mouse-face text) Reiner Steib
2004-10-27 15:15 ` Kim F. Storm
2004-10-27 15:15 ` feature freeze David Kastrup
2004-10-27 17:29 ` finger-pointer curser as default for mouse-face text Drew Adams
2004-10-28 14:05 ` Kim F. Storm
2004-10-27 17:35 ` Richard Stallman
2004-11-01 14:40 ` Karl Eichwalder
2004-11-01 15:44 ` Stefan
2004-11-02 14:08 ` Richard Stallman
2004-11-02 18:08 ` Karl Eichwalder
2004-11-02 21:51 ` Miles Bader
2004-11-02 23:41 ` Drew Adams
2004-11-02 23:53 ` Stefan
2004-11-03 1:27 ` incrementor-decrementor commands and bindings (was: finger-pointer curser as default for mouse-face text) Drew Adams
2004-11-03 7:51 ` incrementor-decrementor commands and bindings (was: finger-pointercurser " Stephan Stahl
2004-11-03 15:26 ` Drew Adams
2004-11-04 9:51 ` Richard Stallman
2004-11-03 1:34 ` finger-pointer curser as default for mouse-face text Miles Bader
2004-11-03 9:31 ` Kim F. Storm
2004-11-03 9:26 ` Kim F. Storm
2004-11-03 10:20 ` David Kastrup
2004-11-03 17:04 ` Richard Stallman
2004-11-03 9:11 ` Kim F. Storm
2004-11-03 17:03 ` Richard Stallman
2004-10-27 17:34 ` Richard Stallman
2004-10-27 10:49 ` Richard Stallman
2004-10-27 12:24 ` Kim F. Storm
2004-10-27 13:03 ` Stefan Monnier
2004-10-27 13:18 ` David Kastrup
2004-10-28 2:27 ` Miles Bader
2004-10-27 7:22 ` Kai Grossjohann
2004-10-27 7:35 ` David Kastrup
2004-10-27 12:32 ` Kim F. Storm
2004-10-28 6:24 ` Richard Stallman
2004-10-27 10:47 ` Richard Stallman
2004-10-26 9:05 ` Richard Stallman
2004-10-25 8:31 ` Kim F. Storm
2004-10-25 10:01 ` David Kastrup
2004-10-25 12:32 ` Kim F. Storm
2004-10-26 9:05 ` Richard Stallman
2004-10-25 13:13 ` Richard Stallman
2004-10-21 14:09 ` David Kastrup
2004-10-21 14:42 ` Kim F. Storm
2004-10-21 15:21 ` David Kastrup
2004-10-21 19:55 ` Kim F. Storm
2004-10-21 20:09 ` Drew Adams
2004-10-21 21:45 ` Stefan Monnier
2004-10-21 22:09 ` David Kastrup
2004-10-22 9:10 ` Kim F. Storm
2004-10-22 12:45 ` David Kastrup
2004-10-22 15:03 ` Kim F. Storm
2004-10-22 15:56 ` David Kastrup
2004-10-17 19:27 Drew Adams
2004-10-18 11:19 ` Kim F. Storm
2004-10-18 13:59 ` Richard Stallman
2004-12-07 13:16 ` Per Abrahamsen
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=FDELKNEBLPKKDCEBEJCBEENDCIAA.drew.adams@oracle.com \
--to=drew.adams@oracle.com \
/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.