}
x -= cur_ws->name_width + logical_px(11);
}
+
+ /* Otherwise, focus our currently visible workspace if it is not
+ * already focused */
+ if (cur_ws == NULL) {
+ TAILQ_FOREACH(cur_ws, walk->workspaces, tailq) {
+ if (cur_ws->visible && !cur_ws->focused)
+ break;
+ }
+ }
+
+ /* if there is nothing to focus, we are done */
if (cur_ws == NULL)
return;
+
break;
default:
return;
DLOG("--> OUTCOME = %p\n", con);
DLOG("type = %d, name = %s\n", con->type, con->name);
+ /* don’t handle dockarea cons, they must not be focused */
+ if (con->parent->type == CT_DOCKAREA)
+ goto done;
+
/* Any click in a workspace should focus that workspace. If the
* workspace is on another output we need to do a workspace_show in
* order for i3bar (and others) to notice the change in workspace. */
workspace_show(ws);
focused_id = XCB_NONE;
- /* don’t handle dockarea cons, they must not be focused */
- if (con->parent->type == CT_DOCKAREA)
- goto done;
-
/* get the floating con */
Con *floatingcon = con_inside_floating(con);
const bool proportional = (event->state & BIND_SHIFT);