unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Marshall, Simon" <simon.marshall@misys.com>
Cc: "'cyd@stupidchicken.com'" <cyd@stupidchicken.com>,
	"'rms@gnu.org'" <rms@gnu.org>,
	"'emacs-devel@gnu.org'" <emacs-devel@gnu.org>
Subject: RE: [simon.marshall@misys.com: mouse-autoselect-window needs a	de lay]
Date: Thu, 6 Jul 2006 12:43:54 +0100	[thread overview]
Message-ID: <81CCA6588E60BB42BE68BD029ED48260080E12B4@wimex2.wim.midas-kapiti.com> (raw)

> Please try the attached patch - it's based on Stefan's 
> suggestion to use `handle-select-window'.  martin.

Hi Martin, thanks, I can play with the lisp now.

One problem I see with this implementation is that it also waits for twice
the delay.  The reason can be seen in the sequence of events when the mouse
is moved to a new window:

- handle-select-window calls autoselect-window-start.

- autoselect-window-start sets autoselect-window-position to
(mouse-position).  However, this position appears to be the position
*before* the mouse movement.

- autoselect-window-start starts a timer to run autoselect-window-select
after the specified delay.

- when autoselect-window-select runs after the first timeout, it checks to
see if autoselect-window-position is equal to (mouse-position), which cannot
be true even if the mouse has not moved again.  So, window selection does
not occur, and it just sets autoselect-window-position to (mouse-position).

- when autoselect-window-select runs after the second timeout, and the mouse
has not moved, autoselect-window-position is equal to (mouse-position) and
window selection occurs.

To be honest, I'd be quite happy with the feature if it did not try to
detect for a quiescent mouse as it would still be a big improvement.  In
that case I guess the implementation would not need to use (mouse-position)
and the above problem would not occur.

If it could be made to work, it would be a bonus (though perhaps should be
an additional option, i.e., delay or delay with quiescence).  Of course, one
simple hack/workaround would be to use (/ mouse-autoselect-window 2.0) for
the timer delay, though I'd be interested to see why mouse-position returns
what it does.

Simon.

             reply	other threads:[~2006-07-06 11:43 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-06 11:43 Marshall, Simon [this message]
2006-07-07  9:35 ` [simon.marshall@misys.com: mouse-autoselect-window needs a de lay] martin rudalics
  -- strict thread matches above, loose matches on Subject: below --
2006-07-19 11:14 Marshall, Simon
2006-07-18 11:21 Marshall, Simon
2006-07-19  9:56 ` martin rudalics
2006-07-19 11:00   ` Kim F. Storm
2006-07-19 12:35     ` martin rudalics
2006-07-17 16:18 Marshall, Simon
2006-07-17 17:59 ` martin rudalics
2006-07-18 13:37 ` Richard Stallman
2006-07-19 10:05   ` martin rudalics
2006-08-28  5:57   ` martin rudalics
2006-07-17 14:07 Marshall, Simon
2006-07-17 15:52 ` martin rudalics
2006-07-04 16:17 Marshall, Simon
2006-07-05  8:26 ` martin rudalics
2006-07-05 12:19 ` martin rudalics

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=81CCA6588E60BB42BE68BD029ED48260080E12B4@wimex2.wim.midas-kapiti.com \
    --to=simon.marshall@misys.com \
    --cc=cyd@stupidchicken.com \
    --cc=emacs-devel@gnu.org \
    --cc=rms@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 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).