]> git.sur5r.net Git - i3/i3/blobdiff - src/floating.c
Merge branch 'master' into next
[i3/i3] / src / floating.c
index 343b4338006795854c9673ff27fa2a202a95c1f4..13c84e47890116a3749d0d5046403757c50bf117 100644 (file)
@@ -19,6 +19,11 @@ extern xcb_connection_t *conn;
 void floating_enable(Con *con, bool automatic) {
     bool set_focus = (con == focused);
 
+    if (con->parent && con->parent->type == CT_DOCKAREA) {
+        LOG("Container is a dock window, not enabling floating mode.\n");
+        return;
+    }
+
     if (con_is_floating(con)) {
         LOG("Container is already in floating mode, not doing anything.\n");
         return;
@@ -163,6 +168,10 @@ void floating_enable(Con *con, bool automatic) {
     con->percent = 1.0;
     con->floating = FLOATING_USER_ON;
 
+    /* 4: set the border style as specified with new_float */
+    if (automatic)
+        con->border_style = config.default_floating_border;
+
     TAILQ_INSERT_TAIL(&(nc->nodes_head), con, nodes);
     TAILQ_INSERT_TAIL(&(nc->focus_head), con, focused);
 
@@ -281,7 +290,7 @@ bool floating_maybe_reassign_ws(Con *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, true);
+    con_move_to_workspace(con, ws, false, true);
     con_focus(con_descend_focused(con));
     return true;
 }