我没有测试以下内容,但它可能会起作用。该规则的想法是它用于检测哪些窗口不应该被全屏显示。这是一个正常的awful.rules-规则。所有不符合规则的客户端都由awful.ewmh.geometry正常处理。
local rule = { class = "Firefox" }
client.disconnect_signal("request::geometry", awful.ewmh.geometry)
client.connect_signal("request::geometry", function(c, context, ...)
if context ~= "fullscreen" or not awful.rules.match(c, rule) then
awful.ewmh.geometry(c, context, ...)
end
end)
编辑:要切换此行为,我建议如下:
local no_fullscreen = true
local rule = { class = "Firefox" }
client.disconnect_signal("request::geometry", awful.ewmh.geometry)
client.connect_signal("request::geometry", function(c, context, ...)
if not no_fullscreen or context ~= "fullscreen" or not awful.rules.match(c, rule) then
awful.ewmh.geometry(c, context, ...)
end
end)
然后添加一个带有回调函数function() no_fullscreen = not no_fullscreen end的键绑定。