2011-09-26 14 views
4

如何從Emacs外部引發新Emacs框架的焦點(例如,從emacsclientedit-server)?目前,新框架獲得輸入焦點,但不會顯示焦點,即您輸入文本,但它位於其他窗口(Windows操作系統術語)後面的某處。有一個similar question,它被標記爲回答,但沒有解決方案,但。如何專注於Windows中的新Emacs框架

Emacs 23.3。

回答

2

功能raise-frame可以將框架帶到前面。

+2

該函數給出了我描述的相同結果。該框架獲取輸入焦點,但不會被資源管理器選中。我猜想,在創建幀時默認情況下會調用「raise-frame」。 –

+0

問問[emacs devel](http://news.gmane.org/gmane.emacs.devel)這些人是否有其他的方式來做到這一點,或者它是一個錯誤。 – Tom

+0

(raise-frame)在GNU/Linux上幫助我。我不知道它是否適用於Windows,但它解決了我自己的問題:我現在用'emacsclient -ce'(raise-frame)\「'來啓動我的emacsclient。謝謝! –

1

您運行的是什麼版本的Emacs?我用放gnuserv遊鉤:

(select-frame-set-input-focus (window-frame (selected-window))) 

但使用Emacs 23,它是由server-raise-frame控制的默認值。

+0

Emacs 23.3(即使從新開始(操作系統,空的.emacs)也是如此)。我試過你的解決方案 - 問題依然存在。 'server-raise-frame'是't'。 –

-1

參見功能select-frame-set-input-focus

「選擇框架,提高它,並設置輸入焦點,如果可能的話。」

+0

-1這個複製了9月27日event_jr的評論 – tripleee