ฉันต้องการป้องกันการคลิก "ครั้งแรก" บนเฟรมในหน้าต่าง 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)ที่ระบุไว้ที่นั่น