unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Drew Adams" <drew.adams@oracle.com>
Subject: RE: follow-link in grep buffer
Date: Fri, 25 Feb 2005 08:37:36 -0800	[thread overview]
Message-ID: <FDELKNEBLPKKDCEBEJCBGEINCMAA.drew.adams@oracle.com> (raw)
In-Reply-To: <m3ll9cbw0b.fsf@kfs-l.imdomain.dk>

    If we have specific problems in certain modes, let's fix those
    modes (e.g. in grep that you have to click on the file:line
    part of a line to jump).

Just to add one more permutation to our list of contortions ;-) -

I would like to see modes like Dired and Grep and Buffer List make the
entire line, which is in fact the entire entry, clickable and
mouse-highlightable, as I think I mentioned before. The reasons are:

 - It makes it much easier to "scan" with the mouse, seeing what lines up
with what. This is like using a ruler to scan entries in a large table or
phone book.

 - It makes it easier to click an entry - just click anywhere on the line.

I've used this behavior for decades in my own Emacs, and I find it useful.

Anyway, I mention this now because of Kim's suggestion, above, which moves a
bit in the opposite direction. IOW, I don't want to see the hot zone
_reduced_ or limited in buffers like grep, I instead want to see the entire
entry (which is the entire line) become the hot zone.

Assuming that I were able to convince others about this (;-)), what would
that mean wrt mouse bindings? In buffers like these (Dired, grep, Buffer
List), the main mouse action is not to set point, but setting point is still
an important action (e.g. in Dired). I don't have a brilliant suggestion,
but I wonder if it wouldn't be reasonable, in such buffers, to reverse one
approach mentioned already:

 - mouse-1 follows the link (which, to me, should be the whole line)

 - double-click mouse-1 sets point

I don't think this would be too bad. In such buffers we do need to set point
sometimes, and we sometimes want to create a region, but we don't usually
need to double-click to select a word. We could always drag to create a
region (I do that in my Dired buffers).

Of course, there is the argument that this won't be intuitive to users, but
I think we'll be up against such an argument no matter what we choose. After
all, being able to both a) follow a link and b) set point is not that
common.

Another argument against this might be that a too-slow double-click would
mess up the user, mistakenly following the link. I think users can deal with
this. In Windows, a simple GUI dialog lets you set the double-click interval
(speed), and this setting applies to all applications. (BTW, Do we pick up
this Windows setting in Emacs, to use as our double-click delay?)

Kim's time delay is also a good approach to the mouse-1/mouse-2 problem, and
it is also standard behavior in many apps (the argument that users will
never discover it is overstated, IMO). There would be no problem in adopting
both approaches simultaneously (to set point: either double-click or hold
mouse-1 pressed a little longer). That might sound paradoxical, but it's
perhaps the easiest behavior to explain (and discover): to follow a link,
use a single short click; anything else sets point.

Whatever we choose, we have these requirements:

 - It should be at least as easy to follow a link as to set point. In
buffers that are primarily "view" buffers, as opposed to "edit", it is
tolerable if setting point is not quite as easy as following a link.

 - It shouldn't be too hard to discover or perform either action.

 - There should not be any disastrous consequences of making a mistake.

WRT having the first mouse-click set the focus (a suggestion Stefan and I
each made): Yes, that would be done only if the window didn't already have
the focus. No, it wouldn't apply if you choose to have the focus
automatically follow the mouse. I think that first-click-focuses suggestion
makes sense, regardless of what other conventions we adopt - that is, it
should be adopted even if we also choose to use double-click (or whatever)
to set point.

  parent reply	other threads:[~2005-02-25 16:37 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-21 21:08 follow-link in grep buffer Nick Roberts
2005-02-21 21:19 ` Stefan Monnier
2005-02-21 22:48   ` Nick Roberts
2005-02-22  0:08     ` Drew Adams
2005-02-22  9:48       ` Kim F. Storm
2005-02-22 13:41         ` Stefan Monnier
2005-02-22 14:24           ` Kim F. Storm
2005-02-22 14:25           ` Kim F. Storm
2005-02-22 17:33         ` Drew Adams
2005-02-22  0:48     ` Jason Rumney
2005-02-21 21:45 ` Drew Adams
2005-02-21 22:20   ` Luc Teirlinck
2005-02-21 22:36     ` Nick Roberts
2005-02-21 22:46     ` David Kastrup
2005-02-21 23:00       ` Luc Teirlinck
2005-02-21 23:05       ` Luc Teirlinck
2005-02-21 23:42         ` David Kastrup
2005-02-22  0:00           ` Drew Adams
2005-02-21 23:07       ` Luc Teirlinck
2005-02-22  0:44       ` Jason Rumney
2005-02-22  1:26         ` David Kastrup
2005-02-21 23:06     ` Drew Adams
2005-02-21 21:45 ` Lennart Borgman
2005-02-21 21:46 ` David Kastrup
2005-02-21 22:46   ` Kim F. Storm
2005-02-21 23:22     ` Luc Teirlinck
2005-02-22 18:11 ` Richard Stallman
2005-02-25  6:51   ` Nick Roberts
2005-02-25  9:46     ` David Kastrup
2005-02-25 11:12       ` Kim F. Storm
2005-02-25 12:55         ` Stefan Monnier
2005-02-25 13:25           ` Lennart Borgman
2005-02-25 13:40             ` Kim F. Storm
2005-02-25 14:20             ` Andreas Schwab
2005-02-25 13:37           ` Kim F. Storm
2005-02-25 14:10             ` David Kastrup
2005-02-26 13:53               ` Reiner Steib
2005-02-27  0:32               ` Richard Stallman
2005-02-25 16:33             ` Stefan Monnier
2005-02-25 16:47               ` David Kastrup
2005-02-25 16:59                 ` Stefan Monnier
2005-02-25 23:05                 ` Lennart Borgman
2005-02-25 16:37             ` Drew Adams [this message]
2005-02-25 18:09               ` David Kastrup
2005-02-25 19:44                 ` Drew Adams
2005-02-25 20:07                   ` Stefan Monnier
2005-02-25 20:32                     ` David Kastrup
2005-02-25 20:53                     ` Drew Adams
2005-02-25 20:27                   ` David Kastrup
2005-02-25 21:24                     ` Robert J. Chassell
2005-02-25 23:34                     ` Drew Adams
2005-02-26  0:44                       ` David Kastrup
2005-02-26  1:18                         ` Drew Adams
2005-02-25 23:35         ` Kim F. Storm
2005-02-26  2:28           ` Stefan Monnier
2005-02-26  2:50             ` David Kastrup
2005-02-26  3:32               ` Stefan Monnier
2005-02-26 22:24             ` Kim F. Storm
2005-02-27  2:00               ` Stefan Monnier
2005-02-27  8:26                 ` Lennart Borgman
2005-02-27 21:46                   ` Stefan Monnier
2005-02-27 22:09                     ` Kim F. Storm
2005-02-28  1:03                     ` Nick Roberts
2005-02-25 22:53       ` Richard Stallman
2005-02-26  0:16         ` David Kastrup
2005-02-26 22:44           ` Kim F. Storm
2005-02-25 22:52     ` 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

  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=FDELKNEBLPKKDCEBEJCBGEINCMAA.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 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).