Chcę zapobiec temu, by „pierwsze” kliknięcie ramki w nieaktywnym oknie X miało jakikolwiek wpływ poza aktywowaniem ramki. W szczególności nie chcę, aby zmieniał punkt.
Problem polega na tym, że nie mogę wykryć, że ramka była nieaktywna, gdy kliknąłem myszą. Tak więc następujący kod zawsze pokazuje "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)
Jak wykryć, że ramka była wcześniej nieaktywna?
A może ktoś już osiągnął to, co próbuję zrobić gdzie indziej?
Uwaga: Proszę o coś innego niż to inne pytanie , które dotyczy nieaktywnych okien, a nie nieaktywnych ramek.
mouse-set-point
i utworzyć własną funkcję, aby robić, co chcesz. WykonajC-h k
kliknięciem myszki rzeczy i zobaczyć dwa (2) funkcje , które są wymienione tam.