X11

鼠毒最小化後恢復 GUI 視窗

  • June 17, 2014

我在跑步ratpoison。我是emacs通過鍵綁定開始的(因此沒有 xterm)。然後我錯誤地按了 Ctrl-Z 並且 emacs 消失了( emacs iconify-or-deiconify-frame)。我知道它仍然存在,因為當我離開 ratpoison 並轉到 mwm emacs 時,它又回到了前台。但是,啟動 xterm 並執行%emacsbash 會告訴我bash: fg: %emacs: no such job

如何在 ratpoison 中對 emacs 進行去圖示化?

  1. Gnome 中的類似問題
  2. 錯誤報告

(這篇文章被大量編輯)

在 subshel​​l #1 中後台處理程序並在 subshel​​l #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

通常,視窗管理器會在某處顯示最小化視窗的列表。最初,“某處”是桌面上的一個圖示,這就是為什麼最小化也稱為圖示化的原因。許多視窗管理器提供了一些其他方式來取消最小化視窗,例如從列表中選擇。

如果您的視窗管理器不提供此功能,您可以從命令行進行。最新版本的wmctrlcan do it with wmctrl -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.

引用自:https://unix.stackexchange.com/questions/136708