X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fcommands.c;h=2d8155f276a162494db56b6ce416566875b2861a;hb=a0e33c1d683ffe3b67a3967980f61f828b41fef2;hp=6276ac199b3ee60a70173b7427b05fb61b8e8a53;hpb=b47d0a89327da6c06c38b0c7252e140b8c5f0013;p=i3%2Fi3 diff --git a/src/commands.c b/src/commands.c index 6276ac19..2d8155f2 100644 --- a/src/commands.c +++ b/src/commands.c @@ -620,8 +620,10 @@ static void move_floating_window_to_workspace(xcb_connection_t *conn, Client *cl render_layout(conn); - if (workspace_is_visible(t_ws)) + if (workspace_is_visible(t_ws)) { + client_warp_pointer_into(conn, client); set_focus(conn, client, true); + } } /* @@ -719,6 +721,7 @@ static void jump_to_window(xcb_connection_t *conn, const char *arguments) { } free(classtitle); + workspace_show(conn, client->workspace->num + 1); set_focus(conn, client, true); } @@ -1039,6 +1042,9 @@ void parse_command(xcb_connection_t *conn, const char *command) { /* Is it a ? */ if (STARTS_WITH(command, "reload")) { load_configuration(conn, NULL, true); + render_layout(conn); + /* Send an IPC event just in case the ws names have changed */ + ipc_send_event("workspace", I3_IPC_EVENT_WORKSPACE, "{\"change\":\"reload\"}"); return; } @@ -1165,6 +1171,9 @@ void parse_command(xcb_connection_t *conn, const char *command) { Workspace *ws = last_focused->workspace; + if (last_focused->fullscreen) + client_leave_fullscreen(conn, last_focused); + toggle_floating_mode(conn, last_focused, false); /* delete all empty columns/rows */ cleanup_table(conn, ws);