我在我的機器上運行 Arch Linux。我使用很棒的視窗管理器,它是一個平鋪 WM,但也允許浮動視窗。
這建築維基百科的驚人的入口告訴我將以下內容放入我的 Awesome 中rc.lua
,以使 YouTube 預設為全螢幕浮動:
{ rule = { instance = "plugin-container" },
properties = { floating = true } },
但這似乎不起作用。我已經嘗試了他們為瀏覽器建議的規則chromium
,這很有效,這也讓我相信這種方法是正確的。
我猜這"plugin-container"
不是我正在使用的瀏覽器的正確說明符:luakit
。
那麼問題來了:instance
讓luakit
YouTube 影片被規則辨識的正確說明符是什麼awesome
?
答案1
這有點棘手:
你說得對,"plugin-container"
看起來很像火狐。
不幸的是,您無法區分新產生的 yt-client,因為"instance"
它只是一個空字串,它匹配的客戶端數量比您想要的數量要多。
我找到了另一種方法:"class"
該客戶端的屬性"Luakit"
取代了"luakit"
普通的 luakit 用戶端。因此對應的規則可能如下所示:
{ rule = { class = "Luakit" },
properties = { floating = true } },
但這種區別未來似乎可能會改變。
您可以透過將以下程式碼新增至您的rc.lua
mytimer=timer{timeout=2}
mytimer:add_signal("timeout",
function () for i,c in ipairs(client.get(mouse.screen)) do
if c:tags()[mouse.screen]== awful.tag.selected(mouse.screen) then
naughty.notify({title=c.class,text=c.role})
naughty.notify({title=c.class,text=c.instance})
end
end
end)
mytimer:start()
答案2
從 Awesome 3.5 開始,add_signal()
function 已被棄用並被 function 取代connect_signal()
(請參閱很棒的 3.4 到 3.5 - 訊號)。
對@Tyrannodogg 程式碼的輕微修改將起作用:
mytimer=timer{timeout=2}
mytimer:connect_signal("timeout",
function () for i,c in ipairs(client.get(mouse.screen)) do
if c:tags()[mouse.screen] == awful.tag.selected(mouse.screen) then
naughty.notify({title=c.class,text=c.role})
naughty.notify({title=c.class,text=c.instance})
end
end
end)
mytimer:start()