all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Steve Yegge <stevey@google.com>
To: "Stephen J. Turnbull" <stephen@xemacs.org>
Cc: Drew Adams <drew.adams@oracle.com>, emacs-devel@gnu.org
Subject: Re: supporting mouse-entered, mouse-left
Date: Fri, 31 Jul 2009 23:04:45 -0700	[thread overview]
Message-ID: <9c768dc60907312304i5ec1eae3tf267b1d002cb00cc@mail.gmail.com> (raw)
In-Reply-To: <87vdl8ch3v.fsf@uwakimon.sk.tsukuba.ac.jp>

[-- Attachment #1: Type: text/plain, Size: 3048 bytes --]

On Fri, Jul 31, 2009 at 9:07 PM, Stephen J. Turnbull <stephen@xemacs.org>wrote:

> Steve Yegge writes:
>
>  > The mode decorates the source with various text properties to
>  > facilitate navigation, outlining, folding, etc.  My goal is to link
>  > together all the references to each local variable,
>
> Are you being imprecise here?  Surely you have already done this
> "linking" for other reasons?
>

I appear to have inadvertently omitted the word "visually".  I meant:

"My goal is to link together _visually_ all the references to each local
variable,"

But you knew *exactly* what I meant already, based on your first
reply.  You're just being coy, and it's charming, but it's not fooling us.


>
>  > so they light up when you mouse over any of them.
>
> Ie, the only problem you are asking about here is to get the motion
> event, and run a hook on that?
>

Aye.


>
>  > I can't use track-mouse,
>
> *sigh*
>

+1


>
>  > or at least I don't think I can, since this feature needs to
>  > trigger automatically as you move the mouse (from the idle loop).
>
> Well, even if track-mouse doesn't do exactly what you want, it's not
> clear to me that it's unusable.  I can think of two interfaces that
> might serve:
>
> (1) a minor mode where a click toggles the highlighting corresponding
>    to the js2-mode text properties at the point of the click (no
>    motion tracking needed), and
>
> (2) a minor mode which is activated by a click (or popup menu
>    selection), after which you can explicitly use track-mouse until
>    the next non-motion event or something like that.  I don't think
>    this kind of mouse-tracking would require huge amounts of code for
>    what you've described, although there are few enough mouse clicks
>    that you may already be using them all.
>

No clicks.  It's gotta work in unselected windows.  Clicks are a
deal-breaker.  Hell, I've already got it working when point enters
an identifier.  So clicking the mouse *already works*.

No clicks!


>
> I think you do want some kind of activation, otherwise if any mouse
> motion enables the effect we'd have to coin a term "apoplectic fruit
> salad".
>

I'm fine with that term.  We can even name the hook after it, for
all I care.  But this isn't about what I want.  It's my users.  They *love*
this feature in my browser-based code navigation tool.  They drool
over it.  They demand it in Emacs... and who am I to deny them?
I'm afraid I don't have that kind of authority.  My hands are tied here.

So we're just gonna have to implement it.


>
> If you want to test the "any motion" interface now, XEmacs has
> `mode-motion-hook'


XEmacs... that's that VIM clone, isn't it?  Or was it SlickEdit?

In all seriousness, I'd love to go look, but if I'm going to implement
this feature in Emacs, I worry that I don't understand any of the
legal ramifications of not clean-rooming it.

If someone with the initials "rms" OKs it, then I'll look.  Otherwise,
I'll just take your word for it.  At least you've validated the idea
that it's useful.

-steve

[-- Attachment #2: Type: text/html, Size: 4681 bytes --]

  reply	other threads:[~2009-08-01  6:04 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-31  7:13 supporting mouse-entered, mouse-left Steve Yegge
2009-07-31 15:38 ` Drew Adams
2009-07-31 15:48   ` Steve Yegge
2009-07-31 16:48   ` Stephen J. Turnbull
2009-07-31 16:42     ` Drew Adams
2009-07-31 20:23       ` Drew Adams
2009-07-31 20:57         ` Steve Yegge
2009-08-01  0:56           ` Drew Adams
2009-08-01  5:52             ` Steve Yegge
2009-08-01  7:26               ` Drew Adams
2009-08-01  4:07           ` Stephen J. Turnbull
2009-08-01  6:04             ` Steve Yegge [this message]
2009-08-01  7:18               ` Stephen J. Turnbull
2009-07-31 19:16 ` Stefan Monnier
2009-07-31 22:05   ` Johan Bockgård

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=9c768dc60907312304i5ec1eae3tf267b1d002cb00cc@mail.gmail.com \
    --to=stevey@google.com \
    --cc=drew.adams@oracle.com \
    --cc=emacs-devel@gnu.org \
    --cc=stephen@xemacs.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.