Etkin olmayan bir X penceresindeki bir kareye "ilk" tıklamanın, kareyi etkin kılmaktan başka bir etkiye sahip olmasını önlemek istiyorum. Özellikle, noktayı yeniden konumlandırmasını istemiyorum.
Sorun o çerçeve olduğunu tespit etmek için görünmüyor olmasıdır oldu ben klik aldığımda inaktif. Yani aşağıdaki kod her zaman gösterir "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)
Çerçevenin daha önce etkin olmadığını nasıl anlarım?
Ya da, başka bir yerde yapmaya çalıştığım biri zaten var mı?
Not: Etkin olmayan çerçevelerle değil, etkin olmayan pencerelerle ilgili bu diğer sorudan farklı bir şey istiyorum .
mouse-set-point
için kendi işlevinizi oluşturmak istiyorsunuz.C-h k
Fare tıklatma işlemini yapın ve orada listelenen iki (2) işlevi görün .