更改布局或屏幕时启动程序

时间:2017-01-23 12:52:50

标签: awesome-wm

每当我在一个屏幕上更改布局或更改屏幕标签时,我想启动一个程序。

是否有可以连接的信号?

感谢您的帮助。

此致

1 个答案:

答案 0 :(得分:0)

深入了解这个令人敬畏的维基,我设法得到了我想要的东西:

tag.connect_signal("property::layout",
                   function(t)
                      print("Layout of tag changed")
end)

一旦当前标签布局发生变化,此(上方)就会启动信号。

client.connect_signal("manage",
                      function(c)
                       if c:tags()[1].name == awful.tag.selected(1).name then
                        print("New client : " .. c.name)
                     end
 end)

只要新客户端出现在当前代码中,就会启动信号。

 client.connect_signal("focus", function(c)
                       if #c:tags()[1]:clients() > 1 then
                          print(c.name)
                       end
 end)

一旦焦点发生变化,就会立即发出信号。这仅适用于具有多个客户端的标签。

 screen[1]:connect_signal("tag::history::update",
                         function()
                         print(awful.tag.selected(1).name)
                    end)

最后,假设只有一个屏幕,这就像我切换标签一样发出信号。

我做这一切的原因是我想在屏幕外观发生变化时立即修改屏幕亮度,这可以通过更改布局,更改焦点,标签或创建新屏幕来实现客户端。

突然切换标签,从黑暗的xterm到明亮的firefox(作为例子),通常会伤害我敏感的眼睛。

很抱歉我的问题最初并不是很清楚,我不太清楚这个词汇。

问候