2017-01-20 8 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, чтобы потреблять событие мыши, а не распространять его на клиента? Я попробовал вернуть «true» или «false» из function(c) (как событие, проглатывающее, указанное в некоторых других контекстах), но не повезло.

ответ

0

Существует как обратный вызов press, так и release. Если оба установлены, то события не должны распространяться. Если они все еще, проверьте с 4.0. Если он все еще не решает проблему, сообщите об ошибке.

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

+1

Не повезло в 3.5.6 добавления 'release' обратного вызова (который я написал, как' функции (с) end'). Я попробую обновить до 4.0, но мне кажется, что в идеале выбор того, следует ли реализовать обратный вызов 'release', будет ортогональным выбору того, должно ли событие распространяться на клиента. Например. поведение по умолчанию немодифицированного нажатия кнопки-1: (1) фокус, (2) повышение и (3) распространение на клиента. Было бы замечательно, если бы сам способ обратного вызова мог сигнализировать, было ли событие «поглощено» (например, его возвращаемым значением или изменением объекта события). –

+0

Подано в качестве [выпуск 1447] (https://github.com/awesomeWM/awesome/issues/1447). –

 Смежные вопросы

  • Нет связанных вопросов^_^