Don't trigger binding on window border click unless --border is given. (#2349)

Prior to this commit a binding specifying only --whole-window would
trigger even when clicking on the window border. However, this should
only happen if --border is specified.

fixes #2348
This commit is contained in:
Ingo Bürk 2016-05-11 20:11:35 +02:00 committed by Michael Stapelberg
parent f5945b7c6e
commit 9409c2b2e5
1 changed files with 4 additions and 5 deletions

View File

@ -187,11 +187,10 @@ static int route_click(Con *con, xcb_button_press_event_t *event, const bool mod
* default behavior. */ * default behavior. */
if (dest == CLICK_DECORATION || dest == CLICK_INSIDE || dest == CLICK_BORDER) { if (dest == CLICK_DECORATION || dest == CLICK_INSIDE || dest == CLICK_BORDER) {
Binding *bind = get_binding_from_xcb_event((xcb_generic_event_t *)event); Binding *bind = get_binding_from_xcb_event((xcb_generic_event_t *)event);
/* clicks over a window decoration will always trigger the binding and
* clicks on the inside of the window will only trigger a binding if if (bind != NULL && (dest == CLICK_DECORATION ||
* the --whole-window flag was given for the binding. */ (dest == CLICK_INSIDE && bind->whole_window) ||
if (bind && ((dest == CLICK_DECORATION || bind->whole_window) || (dest == CLICK_BORDER && bind->border))) {
(dest == CLICK_BORDER && bind->border))) {
CommandResult *result = run_binding(bind, con); CommandResult *result = run_binding(bind, con);
/* ASYNC_POINTER eats the event */ /* ASYNC_POINTER eats the event */