有什么办法可以收听mouse::enter信号forworly.menu

问题描述

我最近开始使用和自定义 awesomewm,我对所有组件如何协同工作以及相关文档感到非常满意。

虽然有时我在使用菜单 (awful.menu) 时真的很不安,并且阻止某些操作是很自然的。因此,我想为 mouse::entermouse::leave 信号添加侦听器,以允许小部件在鼠标离开小部件区域时隐藏自身。

类似于:

menu:connect_signal('mouse::enter',function()
    naughty.notify({
        preset = naughty.config.presets.critical,title = "Entered",text = "Entered"
    })
end)

但是这些信号似乎不是由这个小部件发出的。我已经翻阅了文档,但似乎没有找到有关此小部件发出的信号的任何文档。我的问题是:是否还有其他具有相同功能的信号,或者 awful.menu 无法实现?

解决方法

菜单是一个复杂的对象。您可以深入了解其内部并访问 menu.wibox:connect_signal("mouse::enter",function() end),但这只是顶级 wibox。子菜单生成它们自己的菜单实例,它们只能动态创建。

因此,没有简单的方法来连接这样的信号,抱歉。