Awesome
防止 Awesome WM 中的焦點竊取,尤其是來自 Skype
當我將 KDE 與 Awesome WM 一起使用並在 Skype 中收到一條新消息時,Plasma Desktop 佔據了焦點。這讓我發瘋,因為我不能繼續在目前視窗中輸入。有什麼方法可以防止任何打開的視窗出現這種情況嗎?
似乎 Awesome WM 或 Plasma 阻止了這種焦點竊取,但 Plasma 的視窗切換器仍然突出顯示視窗。因此,等離子控制欄(底部的那個)是未隱藏的,因此會竊取焦點本身。
當我做了 a
killall plasma-desktop
時,焦點竊取停止了。但是,我也殺死plasma-nm
了我想使用的其他東西。
實際的問題不是 Skype 竊取了焦點。Skype 剛剛通知視窗管理器它有一些活動。然後 Awesome WM 將標籤(虛擬桌面)顯示為有活動。但是 KDE Plasma 面板仍然包含活動視窗的列表。在那個 KDE 小元件中,帶有活動的視窗發生了變化,然後 Awesome WM 將焦點放在了 KDE Plasma 面板上。
我從 Plasma 面板中刪除了視窗列表,再也沒有被打擾過。
在哪裡
你不能在KDE中切換到“點擊聚焦”來解決這個問題嗎?
驚人的
我確實找到了這個 Wiki,它討論了聽起來像您的問題,並提供了這種解決方法。wiki 主題的標題是:竊取鍵盤焦點的解決方法外掛。
xdotool
Firefox 中有一個長期存在的錯誤,它允許外掛(Flash、Acrobat 等)竊取視窗的所有鍵盤快捷鍵。這是將鍵盤焦點返回到頂層視窗的簡單解決方法:
程式碼
-- Escape from keyboard focus trap (eg Flash plugin in Firefox) awful.key({ modkey, "Control" }, "Escape", function () awful.util.spawn("xdotool getactivewindow mousemove --window %1 0 0 click --clearmodifiers 2") end),
注意:
xdotool
需要安裝此解決方法。移動滑鼠
例如,使用Move Mouse將滑鼠指針移動到安全位置(任何沒有連結或嵌入 Flash 元素的區域),然後呼叫下面的函式來模擬滑鼠點擊(將焦點帶回)。
程式碼
-- Simulate mouse click local function simulateClick() root.fake_input("button_press", 1) root.fake_input("button_release", 1) end -- Bind it to a key awful.key({ modkey, }, "n", function() simulateClick() end),
參考