Я использую Arch Linux на своем компьютере. Я использую потрясающий оконный менеджер, который представляет собой тайловый WM, но также позволяет использовать плавающие окна.
TheArchWiki'sПотрясающийвходговорит мне, что нужно добавить следующее в мой awesome rc.lua
, чтобы сделать полноэкранный режим YouTube плавающим по умолчанию:
{ rule = { instance = "plugin-container" },
properties = { floating = true } },
Но это, похоже, не работает. Я попробовал правило, которое они предложили для chromium
браузера, и это сработало, что заставляет меня также верить, что подход правильный.
Я предполагаю, что это "plugin-container"
неверный спецификатор для браузера, который я использую:luakit
.
Итак, вот вопрос: какой правильный instance
спецификатор позволит luakit
видео YouTube распознаваться правилами awesome
?
решение1
Это немного сложно:
Вы правы, "plugin-container"
очень похоже на Firefox.
К сожалению, вы не сможете отличить недавно созданный 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()
функция устарела и заменена функцией 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()