[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: finger-pointer curser as default for mouse-face text

From: Kim F. Storm
Subject: Re: finger-pointer curser as default for mouse-face text
Date: Tue, 19 Oct 2004 11:04:40 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/21.3.50 (gnu/linux)

"Drew Adams" <address@hidden> writes:

> I see what you're saying. You've made it possible to follow links (and click
> buttons) using mouse-1 (in addition to using mouse-2).
> I really must not have made myself clear. RMS had the same misunderstanding
> as you.

Well, common user interface practice is that clicking mouse-1 on a
link follows that link.

> My point was not that using mouse-2 is not good. I think mouse-2 should
> remain the way to click links and buttons in Emacs, don't you? 

While I find this discussion of which pointer to use "amusing", IMO
using mouse-2 is a serious flaw in the emacs user interface. 

For example, on my notebook, the touchpad doesn't have mouse-2, so
I'm forced to click two mouse buttons which are really not designed to
support that (it's scary EVERY time I need to do so).

>                                                                We want to be
> able to use mouse-1 to select text inside a link, without accidentally
> clicking the link.

Most other applications manage just fine to allow a user to use
mouse-1 for both setting the point, marking a region, and following a

My patch to mouse-drag-region-1 was a sample of how to do use mouse-1
in addition to mouse-2 to following links in emacs too.

The only real problem is how to mark text in the middle of a link -- 
but IMO that's a much less frequent operation that following the link.

And with my patch, you can actually still DRAG to mark, it's only the
single click that doesn't just set the mark, but follows the link as
well.  I don't see ANY problem with that.

At least, we could make it a user option:

(defcustom mouse-1-click-follows-link nil
  "Non-nil means that clicking mouse-1 on a link follows the link.
If value is `always', follow implicit links too (this means that
mouse-2 has a specific binding in the current buffer).
Otherwise, only follow links which have the mouse-face property.

To set point in a link, either drag the mouse (which sets the region),
or double-click in the link."
  :type '(choice ...))

[Of course, my patch need more work to do this, but it is still a
proof of concept].

> My point was that the pointer graphic is a hand with a pointing index finger
> (finger-1), and that it would be good to change this default pointer
> graphic. That's all.

I see your point, but I disagree the hand pointer is a bad choice -- it clearly
identifies the link as a link.

> I'd prefer to see a graphic that doesn't point with finger-1, because that
> pointer is commonly used in Web browsers (and some other applications) where
> you use mouse-1 to click links. The mental association between that pointer
> and mouse-1 is pretty strong by now (at least for me): the pointer makes me
> want to click mouse-1 (which is incorrect).

Why is that incorrect?  My point is that your perception is correct -- it 
is emacs that's too restrictive here.

>> *** mouse.el 17 Oct 2004 00:11:15 +0200      1.250
>> --- mouse.el 18 Oct 2004 13:16:54 +0200
>> ***************
>> *** 864,869 ****
>> --- 864,874 ----
>>                       (or end-point
>>                           (= (window-start start-window)
>>                              start-window-start)))
>> +            (if (and (eq fun 'mouse-set-point)
>> +                     (not end-point)
>> +                     (consp event)
>> +                     (get-char-property start-point 'mouse-face))
>> +                (setcar event 'mouse-2))
>>              (setq unread-command-events
>>                    (cons event unread-command-events)))))
>>      (delete-overlay mouse-drag-overlay)))))

Kim F. Storm <address@hidden> http://www.cua.dk

reply via email to

[Prev in Thread] Current Thread [Next in Thread]