GNU bug report logs - #28620
Mouse drag event records wrong window for release when crossing frames

Previous Next

Package: emacs;

Reported by: rswgnu <at> gmail.com

Date: Wed, 27 Sep 2017 15:45:01 UTC

Severity: normal

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #80 received at 28620 <at> debbugs.gnu.org (full text, mbox):

From: Robert Weiner <rsw <at> gnu.org>
To: martin rudalics <rudalics <at> gmx.at>
Cc: Eli Zaretskii <eliz <at> gnu.org>, Alan Third <alan <at> idiocy.org>,
 28620 <at> debbugs.gnu.org
Subject: Re: Interact directly on Emacs bug#28620: mouse drag event records
 wrong release window
Date: Sat, 14 Oct 2017 23:31:31 -0400
[Message part 1 (text/plain, inline)]
On Sat, Oct 14, 2017 at 2:47 PM, Robert Weiner <rsw <at> gnu.org> wrote:

> On Sat, Oct 14, 2017 at 1:16 PM, Robert Weiner <rsw <at> gnu.org> wrote:
>
>> it still leaves the issue of recognizing whether a drag release event
>> maps to an Emacs frame or not (when the frame is covered by an external
>> app's window).
>>
>
​I have written a Python script that can be used to get this answer.  (It
uses the Python-to-Objective-C bridge library that exposes the relevant Mac
APIs to Python)​.  The script  takes two arguments, X and Y screen pixel
coordinates, gets a list of all visible application windows in Z-order and
then prints the application name of the first window that intersects the
(X,Y) position, if any.  If that window is an Emacs frame, we have a match
and otherwise, we don't.

This is a short script that really needs to be recoded into an Objective-C
function that can be exposed to Emacs Lisp.  If anyone who is familiar with
macOS Objective-C code would want to work with me on this, email me and
I'll provide the Python code.  It is only about 28 lines.  -- Bob
[Message part 2 (text/html, inline)]

This bug report was last modified 4 years and 333 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.