Saya ingin mencegah klik "pertama" pada bingkai di jendela X tidak aktif dari efek apa pun, selain membuat bingkai aktif. Secara khusus, saya tidak ingin mereposisi titik.
Masalahnya adalah bahwa saya tidak dapat mendeteksi bahwa frame dia tidak aktif ketika saya mendapatkan klik mouse. Jadi kode berikut selalu ditampilkan "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)
Bagaimana saya mendeteksi bahwa frame itu sebelumnya tidak aktif?
Atau, sudahkah seseorang mencapai apa yang saya coba lakukan di tempat lain?
Catatan: Saya meminta sesuatu yang berbeda dari pertanyaan lain ini , yaitu tentang windows yang tidak aktif, bukan frame yang tidak aktif.
mouse-set-point
dan membuat fungsi Anda sendiri untuk melakukan apa pun yang Anda inginkan. LakukanC-h k
hal klik mouse dan lihat dua (2) fungsi yang tercantum di sana.