令人敬畏的WM - 应用程序的全屏模式,无需占用整个屏幕

时间:2017-06-15 15:54:54

标签: awesome-wm

我正在寻找一种让应用程序使用自己的全屏模式但不调整自己窗口大小的方法。

例如,我想在全屏模式下在网络浏览器上观看视频,以隐藏除视频之外的浏览器/网站的所有其他栏/内容,但我希望保持我的显示布局以同时查看其他应用

有什么想法吗? 谢谢!

1 个答案:

答案 0 :(得分:3)

我没有测试以下内容,但可能会有效。规则的概念是它用于检测哪些窗口不应该是完全屏蔽的。这是一个正常的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添加键绑定。