【问题标题】:Awesome WM - Application's fullscreen mode without taking whole screenAwesome WM - 应用程序的全屏模式而不占用整个屏幕
【发布时间】:2017-06-20 03:05:19
【问题描述】:

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

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

有什么想法吗? 谢谢!

【问题讨论】:

  • 您如何拥有一个全屏应用但仍能同时看到其他应用?
  • 这不是真正的全屏,我正在寻找一种隐藏界面的方法,例如,当您在 youtube 视频上使用全屏按钮时,它会隐藏除视频之外的所有 Firefox 窗口并设置全屏窗口。我的目标是忽略第二部分。

标签: awesome-wm


【解决方案1】:

我没有测试以下内容,但它可能会起作用。该规则的想法是它用于检测哪些窗口不应该被全屏显示。这是一个正常的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的键绑定。

【讨论】:

  • 它工作正常,但我不能再调整/移动“全屏客户端”。有什么想法吗?
  • 你的意思是“当它不是全屏时也不能调整全屏客户端的大小”,对吧?查看我的编辑,代码现在应该只在“上下文”为“全屏”时忽略请求。如果您的意思是“在全屏时无法调整大小”,那么该假设已深埋在代码中,无法轻易禁用。
  • 酷!我真的很喜欢这个。后续问题:如何切换该行为?有时我仍然希望 Firefox 能够真正全屏显示。
  • 当然,只需在if 中添加另一个条件。查看我的编辑。
  • 我明白了,谢谢。如果 Firefox 尊重 max.fullscreen 布局,我的问题就没有必要了。因此我的(题外话)下一个问题:我怎样才能让 Firefox 尊重 max.fullscreen 布局,还是只有我一个人?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-05
  • 1970-01-01
  • 1970-01-01
  • 2012-09-16
  • 2018-04-01
  • 1970-01-01
相关资源
最近更新 更多