Rename workspaces in startup sequences.
When renaming workspaces, any workspace names in pending startup sequences also need to be renamed.
This commit is contained in:
parent
5776edcc84
commit
44f748a663
@ -44,6 +44,12 @@ void startup_sequence_delete(struct Startup_Sequence *sequence);
|
||||
*/
|
||||
void startup_monitor_event(SnMonitorEvent *event, void *userdata);
|
||||
|
||||
/**
|
||||
* Renames workspaces that are mentioned in the startup sequences.
|
||||
*
|
||||
*/
|
||||
void startup_sequence_rename_workspace(char *old_name, char *new_name);
|
||||
|
||||
/**
|
||||
* Gets the stored startup sequence for the _NET_STARTUP_ID of a given window.
|
||||
*
|
||||
|
@ -2044,6 +2044,8 @@ void cmd_rename_workspace(I3_CMD, char *old_name, char *new_name) {
|
||||
ewmh_update_desktop_names();
|
||||
ewmh_update_desktop_viewport();
|
||||
ewmh_update_current_desktop();
|
||||
|
||||
startup_sequence_rename_workspace(old_name, new_name);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -257,6 +257,22 @@ void startup_monitor_event(SnMonitorEvent *event, void *userdata) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Renames workspaces that are mentioned in the startup sequences.
|
||||
*
|
||||
*/
|
||||
void startup_sequence_rename_workspace(char *old_name, char *new_name) {
|
||||
struct Startup_Sequence *current;
|
||||
TAILQ_FOREACH(current, &startup_sequences, sequences) {
|
||||
if (strcmp(current->workspace, old_name) != 0)
|
||||
continue;
|
||||
DLOG("Renaming workspace \"%s\" to \"%s\" in startup sequence %s.\n",
|
||||
old_name, new_name, current->id);
|
||||
free(current->workspace);
|
||||
current->workspace = sstrdup(new_name);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the stored startup sequence for the _NET_STARTUP_ID of a given window.
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user