Je veux empêcher le "premier" clic sur un cadre dans une fenêtre X inactive d'avoir un effet autre que de rendre le cadre actif. Plus précisément, je ne veux pas qu'il repositionne le point.
Le problème est que je n'arrive pas à détecter qu'il était inactif lorsque je clique sur la souris. Ainsi, le code suivant affiche toujours"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)
Comment puis-je détecter que le cadre était précédemment inactif?
Ou, quelqu'un a-t-il déjà réalisé ce que j'essaie de faire ailleurs?
Remarque: je demande quelque chose de différent de cette autre question , qui concerne les fenêtres inactives, pas les cadres inactifs.
mouse-set-point
et créer votre propre fonction pour faire ce que vous voulez. Faites leC-h k
clic de souris et voyez les deux (2) fonctions qui y sont répertoriées.