круто: использовать событие колесика мыши в свойствах клиента → кнопки

В Awesome 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) (как указано в некоторых других контекстах, проглатывание событий), но безуспешно.


person Robert Fleming    schedule 20.01.2017    source источник


Ответы (1)


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

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

person Emmanuel Lepage Vallee    schedule 20.01.2017
comment
Не повезло в 3.5.6 добавить обратный вызов release (который я написал как function(c) end). Затем я попытаюсь перейти на 4.0, но мне кажется, что в идеале выбор реализации обратного вызова release будет ортогонален выбору того, должно ли событие передаваться клиенту. Например. поведение по умолчанию немодифицированного щелчка кнопки-1: (1) фокус, (2) повышение и (3) распространение на клиент. Было бы здорово, если бы сам обратный вызов мог сигнализировать о том, было ли использовано событие (например, с помощью возвращаемого значения или путем изменения объекта события). - person Robert Fleming; 21.01.2017
comment
Зарегистрировано как выпуск 1447. - person Robert Fleming; 24.01.2017