В Потрясающих 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)
(как событие, проглатывающее, указанное в некоторых других контекстах), но не повезло.
Не повезло в 3.5.6 добавления 'release' обратного вызова (который я написал, как' функции (с) end'). Я попробую обновить до 4.0, но мне кажется, что в идеале выбор того, следует ли реализовать обратный вызов 'release', будет ортогональным выбору того, должно ли событие распространяться на клиента. Например. поведение по умолчанию немодифицированного нажатия кнопки-1: (1) фокус, (2) повышение и (3) распространение на клиента. Было бы замечательно, если бы сам способ обратного вызова мог сигнализировать, было ли событие «поглощено» (например, его возвращаемым значением или изменением объекта события). –
Подано в качестве [выпуск 1447] (https://github.com/awesomeWM/awesome/issues/1447). –