Quero impedir que o "primeiro" clique em um quadro em uma janela X inativa tenha qualquer efeito, exceto para tornar o quadro ativo. Especificamente, não quero que ele reposicione o ponto.
O problema é que não consigo detectar que o quadro estava inativo quando clico no mouse. Portanto, o código a seguir sempre mostra "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)
Como detecto que o quadro estava inativo anteriormente?
Ou alguém já conseguiu o que estou tentando fazer em outro lugar?
Nota: Estou pedindo algo diferente do que essa outra pergunta , que é sobre janelas inativas, e não quadros inativos.
mouse-set-point
e criar sua própria função para fazer o que quiser.C-h k
Clique com o mouse e veja as duas (2) funções listadas lá.