การประยุกต์ใช้โฟกัสของเฟรม emacsclient


10

ฉันใช้ emacs24 และฉันมักจะเริ่ม emacs เป็น daemon เมื่อเริ่มต้นแล้วใช้เฟรม emacsclient

แต่ฉันพบปัญหา: หลังจากฉันสร้างเฟรมแรกจากนั้นเมื่อใดก็ตามที่ฉันสร้างเฟรมใหม่ (หลังจากปิดเฟรมแรก) จะมีข้อความของระบบ"emacs24@myusername" is readyโผล่ออกมาเพื่อให้เฟรมใหม่สูญเสียโฟกัส (โฟกัสอยู่ ข้อความ) ซึ่งค่อนข้างน่ารำคาญ ดูเหมือนว่าเป็นเพราะแม้ว่าฉันจะปิดเฟรมทั้งหมดแล้วบัฟเฟอร์บางส่วนยังคงเปิดอยู่ (เช่นScratchและMessages ) ฉันแค่สงสัยว่ามีวิธีที่จะป้องกันไม่ให้ข้อความระบบโผล่ออกมา?

ขอบคุณ!

แก้ไข: ลืมพูดถึงว่าฉันใช้ Gnome 3

คำตอบ:


9

นี่คือสิ่งที่ฉันทำ:

(server-start)
(defun px-raise-frame-and-give-focus ()
  (when window-system
    (raise-frame)
    (x-focus-frame (selected-frame))
    (set-mouse-pixel-position (selected-frame) 4 4)
    ))
(add-hook 'server-switch-hook 'px-raise-frame-and-give-focus)

2
ขอบคุณ! นี่ทำให้ฉันรำคาญใน Ubuntu 16.04 และฉันแก้ไขมันด้วย/usr/bin/emacsclient -c -e "(progn (raise-frame) (x-focus-frame (selected-frame)))"
Marduk
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.