ฉันต้องการป้องกันการคลิก "ครั้งแรก" บนเฟรมในหน้าต่าง X ที่ไม่ใช้งานไม่ให้มีผลกระทบใด ๆ นอกจากจะทำให้เฟรมใช้งานได้ โดยเฉพาะฉันไม่ต้องการให้เปลี่ยนตำแหน่ง
ปัญหาคือว่าฉันไม่สามารถดูเหมือนจะตรวจสอบว่าเขากรอบก็ไม่ได้ใช้งานเมื่อฉันได้รับการคลิกเมาส์ ดังนั้นรหัสต่อไปนี้จะแสดง"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)
ฉันจะตรวจสอบได้อย่างไรว่าเฟรมไม่ได้ใช้งานมาก่อน
หรือมีใครบางคนประสบความสำเร็จในสิ่งที่ฉันพยายามจะทำที่อื่น?
หมายเหตุ:ฉันกำลังถามหาสิ่งที่แตกต่างจากคำถามอื่นซึ่งเกี่ยวกับหน้าต่างที่ไม่ได้ใช้งานไม่ใช่เฟรมที่ไม่ได้ใช้งาน
mouse-set-point
และสร้างฟังก์ชันของคุณเองเพื่อทำสิ่งที่คุณต้องการ ทำC-h k
สิ่งที่คลิกเมาส์และดูสองฟังก์ชั่น (2)ที่ระบุไว้ที่นั่น