Add the "created" parameter to workspace_get.
If created is not NULL, *created is set to whether or not the workspace has been just created.
This commit is contained in:
parent
b8a716c370
commit
b4e3dfd76b
|
@ -22,8 +22,11 @@
|
||||||
* creating the workspace if necessary (by allocating the necessary amount of
|
* creating the workspace if necessary (by allocating the necessary amount of
|
||||||
* memory and initializing the data structures correctly).
|
* memory and initializing the data structures correctly).
|
||||||
*
|
*
|
||||||
|
* If created is not NULL, *created will be set to whether or not the
|
||||||
|
* workspace has just been created.
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
Con *workspace_get(const char *num);
|
Con *workspace_get(const char *num, bool *created);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -537,7 +537,7 @@ move:
|
||||||
|
|
||||||
printf("should move window to workspace %s\n", $<string>5);
|
printf("should move window to workspace %s\n", $<string>5);
|
||||||
/* get the workspace */
|
/* get the workspace */
|
||||||
Con *ws = workspace_get($<string>5);
|
Con *ws = workspace_get($<string>5, NULL);
|
||||||
free($<string>5);
|
free($<string>5);
|
||||||
|
|
||||||
/* check if the match is empty, not if the result is empty */
|
/* check if the match is empty, not if the result is empty */
|
||||||
|
|
|
@ -458,7 +458,7 @@ void reparent_window(xcb_connection_t *conn, xcb_window_t child,
|
||||||
}
|
}
|
||||||
|
|
||||||
DLOG("Changing container/workspace and unmapping the client\n");
|
DLOG("Changing container/workspace and unmapping the client\n");
|
||||||
Workspace *t_ws = workspace_get(assign->workspace-1);
|
Workspace *t_ws = workspace_get(assign->workspace-1, NULL);
|
||||||
workspace_initialize(t_ws, c_ws->output, false);
|
workspace_initialize(t_ws, c_ws->output, false);
|
||||||
|
|
||||||
new->container = t_ws->table[t_ws->current_col][t_ws->current_row];
|
new->container = t_ws->table[t_ws->current_col][t_ws->current_row];
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
* memory and initializing the data structures correctly).
|
* memory and initializing the data structures correctly).
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
Con *workspace_get(const char *num) {
|
Con *workspace_get(const char *num, bool *created) {
|
||||||
Con *output, *workspace = NULL, *child;
|
Con *output, *workspace = NULL, *child;
|
||||||
|
|
||||||
/* TODO: could that look like this in the future?
|
/* TODO: could that look like this in the future?
|
||||||
|
@ -63,6 +63,11 @@ Con *workspace_get(const char *num) {
|
||||||
con_attach(workspace, content, false);
|
con_attach(workspace, content, false);
|
||||||
|
|
||||||
ipc_send_event("workspace", I3_IPC_EVENT_WORKSPACE, "{\"change\":\"init\"}");
|
ipc_send_event("workspace", I3_IPC_EVENT_WORKSPACE, "{\"change\":\"init\"}");
|
||||||
|
if (created != NULL)
|
||||||
|
*created = true;
|
||||||
|
}
|
||||||
|
else if (created != NULL) {
|
||||||
|
*created = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//ewmh_update_workarea();
|
//ewmh_update_workarea();
|
||||||
|
@ -201,7 +206,7 @@ static void workspace_reassign_sticky(Con *con) {
|
||||||
void workspace_show(const char *num) {
|
void workspace_show(const char *num) {
|
||||||
Con *workspace, *current, *old = NULL;
|
Con *workspace, *current, *old = NULL;
|
||||||
|
|
||||||
workspace = workspace_get(num);
|
workspace = workspace_get(num, NULL);
|
||||||
|
|
||||||
/* disable fullscreen for the other workspaces and get the workspace we are
|
/* disable fullscreen for the other workspaces and get the workspace we are
|
||||||
* currently on. */
|
* currently on. */
|
||||||
|
@ -454,7 +459,7 @@ Workspace *get_first_workspace_for_output(Output *output) {
|
||||||
int last_ws = 0;
|
int last_ws = 0;
|
||||||
TAILQ_FOREACH(ws, workspaces, workspaces)
|
TAILQ_FOREACH(ws, workspaces, workspaces)
|
||||||
last_ws = ws->num;
|
last_ws = ws->num;
|
||||||
result = workspace_get(last_ws + 1);
|
result = workspace_get(last_ws + 1, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
workspace_initialize(result, output, false);
|
workspace_initialize(result, output, false);
|
||||||
|
|
Loading…
Reference in New Issue