鼠毒最小化後恢復 GUI 視窗
我在跑步
ratpoison
。我是emacs
通過鍵綁定開始的(因此沒有 xterm)。然後我錯誤地按了 Ctrl-Z 並且 emacs 消失了( emacsiconify-or-deiconify-frame
)。我知道它仍然存在,因為當我離開 ratpoison 並轉到 mwm emacs 時,它又回到了前台。但是,啟動 xterm 並執行%emacs
bash 會告訴我bash: fg: %emacs: no such job
。如何在 ratpoison 中對 emacs 進行去圖示化?
(這篇文章被大量編輯)
在 subshell #1 中後台處理程序並在 subshell #2 上將其返回到前台根本不可能(如果您不使用額外的工具,例如:reptyr)。
在您的情況下,您甚至沒有從終端啟動它,並且
Ctrl+Z
如果您不在終端中,則會有不同的行為。我認為您Ctrl+Z
正在做一些其他的“魔術”,ratpoison-default-keybindings甚至沒有列出它。也許你應該弄清楚,Ctrl+Z
你的設置會綁定什麼。從Emacs 手冊編輯:
當 Emacs 直接與 X 伺服器通信並創建自己的專用 X 視窗時,Cz 具有不同的含義。暫停使用自己的 X 視窗的應用程序沒有意義或有用。相反,Cz 執行命令 iconify-or-deiconify-frame,它臨時圖示化(或“最小化”)選定的 Emacs 框架(參見 P. 框架和 X Windows 部分)。然後您可以使用視窗管理器返回到 shell 視窗。
您應該能夠
Alt+Tab
通過打開的應用程序訪問 emacs。也許在ratpoison下還有另一種方法可以恢復最小化的幀。或添加Alt-Tab
到ratpoison,編輯您的.ratpoisonrc
:definekey top M-Tab next definekey top M-ISO_Left_Tab prev
並重新啟動 rp。
Ctrl
+是用於最小化視窗Z
的 Emacs 命令(Emacs 將視窗稱為“框架”)。它在技術上與使用+在終端視窗中掛起命令無關(但 Emacs 設計者選擇了快捷方式,因為它們有些相似的操作)。Ctrl``Z
通常,視窗管理器會在某處顯示最小化視窗的列表。最初,“某處”是桌面上的一個圖示,這就是為什麼最小化也稱為圖示化的原因。許多視窗管理器提供了一些其他方式來取消最小化視窗,例如從列表中選擇。
如果您的視窗管理器不提供此功能,您可以從命令行進行。最新版本的
wmctrl
can do it withwmctrl -x -Y Emacs
. 最新版本xdotool
可以使用xdotool search --classname Emacs windowmap
.如果您啟動了 Emacs 伺服器,您可以使用
emacsclient -c '(make-frame-visible)'
.為避免將來發生意外,您可以在最小化之前添加以下行以
~/.emacs
獲得確認提示:(defadvice iconify-frame (around iconify-frame-confirm) (if (y-or-n-p "Really iconify this frame?") ad-do-it))
我不會覆蓋
C-z
綁定,因為它在終端中很有用。您可能想用其他對 Ratpoison 有用的東西來替換圖示化。還要確保啟動 Emacs 伺服器,以便您可以使用emacsclient
:發出命令,(server-start)
將.emacs
.