diff options
Diffstat (limited to 'sway/commands/exit.c')
-rw-r--r-- | sway/commands/exit.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/sway/commands/exit.c b/sway/commands/exit.c index f192f86a..d5353c20 100644 --- a/sway/commands/exit.c +++ b/sway/commands/exit.c | |||
@@ -1,17 +1,14 @@ | |||
1 | #include <stddef.h> | ||
1 | #include "sway/commands.h" | 2 | #include "sway/commands.h" |
2 | #include "sway/container.h" | 3 | #include "sway/config.h" |
3 | 4 | ||
4 | void sway_terminate(int exit_code); | 5 | void sway_terminate(int exit_code); |
5 | 6 | ||
6 | struct cmd_results *cmd_exit(int argc, char **argv) { | 7 | struct cmd_results *cmd_exit(int argc, char **argv) { |
7 | struct cmd_results *error = NULL; | 8 | struct cmd_results *error = NULL; |
8 | if (config->reading) return cmd_results_new(CMD_FAILURE, "exit", "Can't be used in config file."); | ||
9 | if ((error = checkarg(argc, "exit", EXPECTED_EQUAL_TO, 0))) { | 9 | if ((error = checkarg(argc, "exit", EXPECTED_EQUAL_TO, 0))) { |
10 | return error; | 10 | return error; |
11 | } | 11 | } |
12 | // Close all views | 12 | sway_terminate(0); |
13 | close_views(&root_container); | ||
14 | sway_terminate(EXIT_SUCCESS); | ||
15 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); | 13 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); |
16 | } | 14 | } |
17 | |||