GNOME 中具有活動的視窗,通知但在 Alt+Tab 後不顯示自己?
當一個具有打開視窗的程序被啟動時,它保持不集中並隱藏在其他視窗下面,但在下面給出一個小通知,表明有操作。這在以下情況下尤其明顯:
- PCManFM 文件管理器- 當它已經打開到一個文件夾並被賦予一個新的打開到新選項卡時
- File-Roller或存檔管理器- 當它已經打開一個文件並獲取一個新文件並在視窗中打開時。
我主要使用**Gnome 3.x。**我已經反复搜尋了
dconf
30 次,我能找到的最接近的是focus_mode = click
,auto_raise = true
但都沒有任何效果。我已經在這這麼久了,我一定會忽略一些東西。如果您發現我遺漏了一些明顯的東西,請隨時糾正我。 這是系統設置:
- Ubuntu 14.04 x64(和 Fedora 20)
- Gnome 3.x(所有版本受影響)
- Radeon R9 的 AMD Catalyst 13 驅動程序
gdm
編輯#1
nautilus
受此影響,我剛剛確認。當事情發生時,我真的需要這些視窗出現。特別是因為我是讓事情發生的人,而不是一些隨機的過程。
很樂意根據需要發布任何設置或配置文件。
編輯#2
我已將負責的操作縮小到
Alt
+Tab
(即使重新分配給新的鍵映射並且重新分配具有類似操作的另一個映射)。起初我以為它可能是備用選項卡擴展,但禁用它什麼也沒做。
複製:打開一個文件視窗,
Alt
+Tab
到另一個視窗,然後打開文件管理器的另一個實例。它不必在選項卡中;它也會出現在一個新視窗中。
對於某些應用程序(例如
file-roller
),這可以通過將其各自文件(例如)中的StartupNotify
鍵值從更改為true
來解決。false``.desktop``/usr/share/applications/file-roller.desktop
以上不適用於所有應用程序(例如
nautilus
),因此解決問題的另一種方法是自定義 shell 擴展;只是為了給你一個想法,你可以很容易地修復nautilus
這樣的行為:編輯/usr/share/gnome-shell/js/ui/windowAttentionHandler.js
並添加這三行程式碼:if (app.get_id() == "nautilus.desktop") Main.activateWindow(window); return;
在以下行之後:
let app = this._tracker.get_window_app(window);
所以你最終會得到這樣的結果:
let app = this._tracker.get_window_app(window); if (app.get_id() == "nautilus.desktop") Main.activateWindow(window); return; let source = new Source(app, window); Main.messageTray.add(source);
但是,除非您只想針對某些特定應用程序,否則不值得編寫自己的擴展程序。對於全域更改,它看起來像有一個擴展:
覆蓋“通知系統”(它在這里工作正常
gnome 3.8
)。請記住,必須將兩個文件 (
extension.js
和metadata.json
) 放入:
~/.local/share/gnome-shell/extensions/justshowthewindow@ryanlerch.org
通過調整工具啟動擴展並重新啟動 shell (
Alt
+F2
然後r
然後Enter
)。