Я хочу, чтобы «первый» щелчок по рамке в неактивном окне X не оказывал никакого влияния, кроме как активировать рамку. В частности, я не хочу, чтобы это изменило положение.
Проблема в том, что я не могу обнаружить, что он был неактивным, когда я щелкаю мышью. Таким образом, следующий код всегда показывает "y"
:
;; detect if frame is active when clicking
(defun my/mouse-drag-region (event)
(interactive "e")
(mouse-minibuffer-check event)
(let* ((window (caadr event))
(frame (window-frame window)))
(if (eql frame (selected-frame))
(print "y")
(print "n"))))
(global-set-key [down-mouse-1] 'my/mouse-drag-region)
Как определить, что кадр был ранее неактивен?
Или кто-то уже достиг того, что я пытаюсь сделать в другом месте?
Примечание: я спрашиваю что-то другое, чем этот другой вопрос , который касается неактивных окон, а не неактивных фреймов.
mouse-set-point
и создать свою собственную функцию, чтобы делать все, что вы хотите. СделайтеC-h k
щелчок мышью и увидите две (2) функции , которые там перечислены.