/* 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
//CLIENT_LOG(con);
LOG("Urgency flag changed to %d\n", con->urgent);
- workspace_update_urgent_flag(con_get_workspace(con));
+ Con *ws;
+ /* Set the urgency flag on the workspace, if a workspace could be found
+ * (for dock clients, that is not the case). */
+ if ((ws = con_get_workspace(con)) != NULL)
+ workspace_update_urgent_flag(ws);
tree_render();