Function: hmouse-window-at-absolute-pixel-position
hmouse-window-at-absolute-pixel-position is an interactive and
byte-compiled function defined in hmouse-drv.el.
Signature
(hmouse-window-at-absolute-pixel-position &optional POSITION RELEASE-FLAG)
Documentation
Return the top-most Emacs window at optional POSITION.
POSTION is ((x . y) in absolute pixels. If POSITION is nil, use mouse position if last input event was a mouse event, otherwise, use the position of point in the selected window.
If the position used is not in a window, return nil. Considers all windows on the same display as the selected frame.
If optional RELEASE-FLAG is non-nil, this is part of a Smart Key release computation, so optimize window selection based on the depress window already computed.
If the selected frame is a graphical macOS window and
hmouse-verify-release-window-flag is non-nil, then return the
top-most Emacs window only if it is the top-most application window at
the position (not below another application's window).
Key Bindings
Source Code
;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hmouse-drv.el
(defun hmouse-window-at-absolute-pixel-position (&optional position release-flag)
"Return the top-most Emacs window at optional POSITION.
POSTION is ((x . y) in absolute pixels. If POSITION is nil, use
mouse position if last input event was a mouse event, otherwise,
use the position of point in the selected window.
If the position used is not in a window, return nil. Considers all windows on
the same display as the selected frame.
If optional RELEASE-FLAG is non-nil, this is part of a Smart Key
release computation, so optimize window selection based on the depress
window already computed.
If the selected frame is a graphical macOS window and
`hmouse-verify-release-window-flag' is non-nil, then return the
top-most Emacs window only if it is the top-most application window at
the position (not below another application's window)."
(interactive)
(setq position (or position
(if (mouse-event-p last-input-event)
(mouse-absolute-pixel-position)
(hkey-absolute-pixel-position))))
;; Proper top-to-bottom listing of frames is available only in Emacs
;; 26 and above. For prior versions, the ordering of the frames
;; returned is not guaranteed, so the frame whose window is returned
;; may not be the uppermost.
(let* ((top-to-bottom-frames (frame-list-z-order))
(pos-x (car position))
(pos-y (cdr position))
edges left top right bottom
frame
in-frame
window)
;; First find top-most frame containing position.
(while (and (not in-frame) top-to-bottom-frames)
(setq frame (car top-to-bottom-frames)
top-to-bottom-frames (cdr top-to-bottom-frames))
;; Check that in-frame is valid with frame-live-p since under macOS
;; when position is outside a frame, in-frame could be invalid and
;; frame-visible-p would trigger an error in that case.
(when (and (frame-live-p frame) (frame-visible-p frame))
(setq edges (frame-edges frame)
left (nth 0 edges)
top (nth 1 edges)
right (nth 2 edges)
bottom (nth 3 edges))
(when (and (>= pos-x left) (<= pos-x right)
(>= pos-y top) (<= pos-y bottom))
(setq in-frame frame))))
;; If in-frame is found, find which of its windows contains
;; position and return that. The window-at call below requires
;; character coordinates relative to in-frame, so compute them.
(when in-frame
(let ((depress-position (and release-flag (if assist-flag
assist-key-depress-position
action-key-depress-position)))
(depress-window (and release-flag (if assist-flag
assist-key-depress-window
action-key-depress-window))))
(if (and release-flag depress-window (equal position depress-position))
;; This was a click, so we know that the frame of the click
;; is topmost on screen or the mouse events would not have
;; been routed to Emacs. Reuse saved window of depress rather
;; then running possibly expensive computation to find the
;; topmost application window.
(setq window depress-window)
(let ((char-x (/ (- pos-x left) (frame-char-width in-frame)))
(line-y (/ (- pos-y top) (+ (frame-char-height in-frame)
(hmouse-vertical-line-spacing in-frame)))))
(setq window (window-at char-x line-y in-frame)))
;;
;; Otherwise, even if in-frame is found, under click-to-focus external window
;; managers, Emacs may have received the drag release event when
;; in-frame was covered by an external application's window.
;; Emacs presently has no way to handle this. However, for the
;; macOS window system only, Hyperbole has a Python script, topwin.py, which
;; computes the application of the topmost window at the point of release.
;; If that is Emacs, then we have the right window and nothing need be
;; done; otherwise, set window to nil and return.
;;
(when (and hmouse-verify-release-window-flag
window (eq (window-system) 'ns))
;; If depress and release windows are the same and frame has
;; an auto-raise property, then we know this window was
;; uppermost at the point of release and can skip this computation.
(unless (and (eq depress-window window) (frame-parameter nil 'auto-raise))
(let ((topwin (expand-file-name "topwin.py" hyperb:dir))
(case-fold-search t)
topmost-app)
(when (and topwin (file-executable-p topwin))
(setq topmost-app (shell-command-to-string
(format "%s %d %d" topwin pos-x pos-y)))
(cond ((string-match "emacs" topmost-app)) ; In an Emacs frame, do nothing.
((or (equal topmost-app "")
;; Any non-Emacs app window
(string-match "\\`\\[" topmost-app))
;; Outside of any Emacs frame
(setq window nil))
(t ;; topwin error message
;; Setup of the topwin script is somewhat complicated,
;; so don't trigger an error just because of it. But
;; display a message so the user knows something happened
;; when topwin encounters an error.
(message "(Hyperbole): topwin.py Python script error: %s" topmost-app))))))))))
(when (called-interactively-p 'interactive)
(message "%s at absolute pixel position %s"
(or window "No Emacs window") position))
window))