From b0e871e0cfdc35f2147c4497136c5b74c9ebafe7 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Thu, 12 May 2011 22:24:52 +0200 Subject: [PATCH] Bugfix: Fix focus follows mouse for non-default layout cons (Thanks phnom) Fixes: #361 --- src/handlers.c | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/src/handlers.c b/src/handlers.c index 589b81f6..c63f236c 100644 --- a/src/handlers.c +++ b/src/handlers.c @@ -184,19 +184,14 @@ static int handle_enter_notify(xcb_enter_notify_event_t *event) { /* see if the user entered the window on a certain window decoration */ int layout = (enter_child ? con->parent->layout : con->layout); - Con *child; - TAILQ_FOREACH(child, &(con->nodes_head), nodes) - if (rect_contains(child->deco_rect, event->event_x, event->event_y)) { - LOG("using child %p / %s instead!\n", child, child->name); - con = child; - break; - } - - /* for stacked/tabbed layout we do not want to change focus when the user - * enters the window at the decoration of any child window. */ - if (layout == L_STACKED || layout == L_TABBED) { - con = TAILQ_FIRST(&(con->parent->focus_head)); - LOG("using focused %p / %s instead\n", con, con->name); + if (layout == L_DEFAULT) { + Con *child; + TAILQ_FOREACH(child, &(con->nodes_head), nodes) + if (rect_contains(child->deco_rect, event->event_x, event->event_y)) { + LOG("using child %p / %s instead!\n", child, child->name); + con = child; + break; + } } #if 0