diff --git a/src/commands.c b/src/commands.c index b601c1c0..2d8155f2 100644 --- a/src/commands.c +++ b/src/commands.c @@ -1042,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; } diff --git a/src/config.c b/src/config.c index f42583fa..d89af991 100644 --- a/src/config.c +++ b/src/config.c @@ -3,7 +3,7 @@ * * i3 - an improved dynamic tiling window manager * - * © 2009 Michael Stapelberg and contributors + * © 2009-2010 Michael Stapelberg and contributors * * See file LICENSE for license information. * @@ -320,6 +320,11 @@ void load_configuration(xcb_connection_t *conn, const char *override_configpath, TAILQ_REMOVE(&assignments, assign, assignments); FREE(assign); } + + /* Clear workspace names */ + Workspace *ws; + TAILQ_FOREACH(ws, workspaces, workspaces) + workspace_set_name(ws, NULL); } SLIST_INIT(&modes);