2017-01-20 56 views
0

在真棒3.5.6消耗鼠标滚轮事件,我已经配置modkey +鼠标滚轮向前/向后以升高和降低聚焦窗口中,如下所示:真棒:在客户端属性→按钮

clientbuttons = awful.util.table.join(
    awful.button({ }, 1, function (c) client.focus = c; c:raise() end), 
    awful.button({ modkey }, 1, awful.mouse.client.move), 
    awful.button({ modkey }, 3, awful.mouse.client.resize), 
    awful.button({ modkey }, 4, function(c) c:raise() end), 
    awful.button({ modkey }, 5, function(c) c:lower() end)) 

-- ... 

awful.rules.rules = { 
    -- All clients will match this rule. 
    { rule = { }, 
    properties = { border_width = beautiful.border_width, 
        border_color = beautiful.border_normal, 
        focus = awful.client.focus.filter, 
        raise = true, 
        keys = clientkeys, 
        buttons = clientbuttons } }, 
    -- ... 

这工作正常,但问题是,mod + button4事件传播到客户端。例如。在Chrome的情况下,浏览器窗口在升起或降低后会滚动。

我的问题:我该如何获得Awesome消耗鼠标事件并且不传播给客户端?我试图从function(c)返回“真”或“假”(如在一些其他情况下表示事件吞咽),但没有运气。

回答

0

有既是pressrelease回调。如果两者均已设置,则不应传播事件。如果仍然存在,用4.0测试。如果仍然无法解决问题,请报告错误。

https://awesomewm.org/apidoc/classes/awful.button.html

+1

没有运气3.5.6添加'release'回调(这是我写的是'功能(C)end')。我会尝试升级到4.0旁边,但在我看来,最好的是否实施'release'回调的选择将是正交的情况下,是否应该传播到客户机的选择。例如。未修改的按钮1的默认行为点击:(1)焦点,(2)提高,和(3)传播到客户端。如果回调本身有一种方式表明事件是否已被“消耗”(例如通过其返回值或通过修改事件对象),那将是非常好的。 –

+0

归档为[issue 1447](https://github.com/awesomeWM/awesome/issues/1447)。 –