Awesome

防止 Awesome WM 中的焦點竊取,尤其是來自 Skype

  • January 1, 2016

當我將 KDE 與 Awesome WM 一起使用並在 Skype 中收到一條新消息時,Plasma Desktop 佔據了焦點。這讓我發瘋,因為我不能繼續在目前視窗中輸入。有什麼方法可以防止任何打開的視窗出現這種情況嗎?

似乎 Awesome WM 或 Plasma 阻止了這種焦點竊取,但 Plasma 的視窗切換器仍然突出顯示視窗。因此,等離子控制欄(底部的那個)是未隱藏的,因此會竊取焦點本身。

當我做了 akillall plasma-desktop時,焦點竊取停止了。但是,我也殺死plasma-nm了我想使用的其他東西。

實際的問題不是 Skype 竊取了焦點。Skype 剛剛通知視窗管理器它有一些活動。然後 Awesome WM 將標籤(虛擬桌面)顯示為有活動。但是 KDE Plasma 面板仍然包含活動視窗的列表。在那個 KDE 小元件中,帶有活動的視窗發生了變化,然後 Awesome WM 將焦點放在了 KDE Plasma 面板上。

我從 Plasma 面板中刪除了視窗列表,再也沒有被打擾過。

在哪裡

你不能在KDE中切換到“點擊聚焦”來解決這個問題嗎?

   kde的ss

驚人的

我確實找到了這個 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),

參考

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