我想在AwesomeWM的第二个屏幕上打开一个程序,但前提是第二个屏幕必须可用

我在我的 rc.lua 文件中进行了更改以始终在屏幕 2 上打开 Chromium:

awful.rules.rules = {
    -- 这里还有很多规则……

    -- 将 Chromium 设置为始终映射到屏幕“2”
    { rule = { class = "Chromium" },
      properties = { screen = 2 } },
}

然而,当我没有外部显示器连接时,我会得到一个错误(“屏幕期望值为,得到了空值”)。 如果第二个屏幕不可用,我该如何修改此规则以使用屏幕 1?

点赞
用户436275
用户436275

下面假设您只有两个或一个屏幕。当有更多屏幕时,它会做一些错误的事情,但它应该能够传达这个想法:

properties = { screen = function() return screen.count() end }

awful.rules 中,所有的属性都可以指定为回调函数。这个函数甚至可以将客户端(以及收集属性的表格?)作为参数(但在这个例子中未使用)。

2020-04-26 06:20:03