如何在 lua 中使用 AwesomeWM 信号?

How to use AwesomeWM signals in lua?

我想在单击我的 wibox.widget.textbox 小部件之一时执行一个方法,根据 the documentation 我应该使用 button::press 信号 .

但是我没有找到关于这些信号的任何信息,我什至无法确定它是否是原生的 lua 以及它们是否与 AwesomeWM 相关联。

因此,我不知道如何实现它们。 任何帮助,将不胜感激。 (请注意,我对 lua 几乎一无所知)。

示例代码:

mywidget = wibox.widget.textbox()
mywidget:set_align("right")
-- I want to execute awful.util.spawn_with_shell("pavucontrol") if the widget is clicked

大概是这样的。 button::press 信号需要一个回调,该回调使用您链接的文档中列出的参数调用。未测试:

local box = wibox.widget.textbox(...)
local box_pressed = function(lx, ly, button, mods, find_widgets_result)
    // some code ...
end
box:connect_signal("button::press", box_pressed)