lua-lgi libnotify add_action 回调函数未被调用

我遵循了 这个页面 上的 hello world 示例来设置 lua-lgi 和 libnotify,成功地得到了一个外观和行为与使用 os.execute("notify-send...") 相同的通知。从我搜集的资料来看,notify-send 不允许用户操作,因此我正在尝试直接使用 libnotify 库显示一个带有按钮的通知。当在通知中点击时,它应该打开一个文件。我能够使用 lua 调用 这里 描述的函数(从 hello world 示例中构建):

Hello:add_action("button", "Open", function(notification, action, user_data) os.open("gedit tmp") end)

这将在通知中成功显示一个标签为“Open”的按钮。然而,回调函数并没有被调用,所以文件没有被打开。我还注意到,在运行脚本时,它实际上在通知完全出现之前就执行完毕,因此如果程序在通知中的按钮被点击时不再运行,那么这就是回调函数没有被调用的一个原因,如果它在那个点之前正常工作的话。这是我第一次使用 lua-lgi,所以我不确定这些类型的回调函数如何转换成 lua,或者它们是否被支持,这可能是我真正要理解的。关于这个问题的任何帮助或显示带有按钮和回调的通知的其他方法的洞察力都会受到赞赏。

点赞