Voglio impedire che il "primo" clic su un fotogramma in una finestra X inattiva abbia alcun effetto, se non quello di rendere attivo il fotogramma. In particolare, non voglio che si riposiziona punto.
Il problema è che non riesco a rilevare che il frame era inattivo quando ricevo il clic del mouse. Quindi il seguente codice mostra sempre"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)
Come posso rilevare che il frame era precedentemente inattivo?
Oppure qualcuno ha già realizzato ciò che sto cercando di fare altrove?
Nota: sto chiedendo qualcosa di diverso rispetto a questa altra domanda , che riguarda le finestre inattive, non i frame inattivi.
mouse-set-point
e creare la tua funzione per fare quello che vuoi. Fai ilC-h k
clic del mouse e vedi le due (2) funzioni che sono elencate lì.