我在我的机器上运行 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()