Add "exec --no-retain-workspace"

This commit is contained in:
Daniel De Graaf 2022-03-20 11:10:35 -04:00
parent 80f4fce972
commit e840cc72db

View file

@ -31,6 +31,7 @@ struct cmd_results *cmd_exec_validate(int argc, char **argv) {
struct cmd_results *cmd_exec_process(int argc, char **argv) { struct cmd_results *cmd_exec_process(int argc, char **argv) {
struct cmd_results *error = NULL; struct cmd_results *error = NULL;
bool use_wl_socket = false; bool use_wl_socket = false;
bool retain_workspace = false;
int skip_argc = 0; int skip_argc = 0;
char *cmd = NULL; char *cmd = NULL;
char *label = NULL; char *label = NULL;
@ -39,6 +40,9 @@ struct cmd_results *cmd_exec_process(int argc, char **argv) {
if (strcmp(argv[skip_argc], "--no-startup-id") == 0) { if (strcmp(argv[skip_argc], "--no-startup-id") == 0) {
sway_log(SWAY_INFO, "exec switch '--no-startup-id' not supported, ignored."); sway_log(SWAY_INFO, "exec switch '--no-startup-id' not supported, ignored.");
skip_argc++; skip_argc++;
} else if (strcmp(argv[skip_argc], "--no-retain-workspace") == 0) {
retain_workspace = false;
skip_argc++;
} else if (strcmp(argv[skip_argc], "--use-wayland-socket") == 0) { } else if (strcmp(argv[skip_argc], "--use-wayland-socket") == 0) {
use_wl_socket = true; use_wl_socket = true;
skip_argc++; skip_argc++;
@ -146,7 +150,9 @@ struct cmd_results *cmd_exec_process(int argc, char **argv) {
waitpid(pid, NULL, 0); waitpid(pid, NULL, 0);
if (child > 0) { if (child > 0) {
sway_log(SWAY_DEBUG, "Child process created with pid %d", child); sway_log(SWAY_DEBUG, "Child process created with pid %d", child);
if (retain_workspace) {
root_record_workspace_pid(child); root_record_workspace_pid(child);
}
} else { } else {
return cmd_results_new(CMD_FAILURE, "Second fork() failed"); return cmd_results_new(CMD_FAILURE, "Second fork() failed");
} }