extern xcb_connection_t *conn;
void floating_enable(Con *con, bool automatic) {
- bool set_focus = true;
+ bool set_focus = (con == focused);
if (con_is_floating(con)) {
LOG("Container is already in floating mode, not doing anything.\n");
render_con(nc, false);
render_con(con, false);
- // TODO: don’t influence focus handling when Con was not focused before.
if (set_focus)
con_focus(con);
Con *content = output_get_content(output->con);
Con *ws = TAILQ_FIRST(&(content->focus_head));
DLOG("Moving con %p / %s to workspace %p / %s\n", con, con->name, ws, ws->name);
- con_move_to_workspace(con, ws);
+ con_move_to_workspace(con, ws, true);
con_focus(con_descend_focused(con));
return true;
}