diff options
Diffstat (limited to 'sway/commands')
-rw-r--r-- | sway/commands/reload.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/sway/commands/reload.c b/sway/commands/reload.c new file mode 100644 index 00000000..419c7de3 --- /dev/null +++ b/sway/commands/reload.c @@ -0,0 +1,21 @@ +#include "sway/commands.h" +#include "sway/config.h" +#include "sway/layout.h" + +struct cmd_results *cmd_reload(int argc, char **argv) { + struct cmd_results *error = NULL; + if (config->reading) { + return cmd_results_new(CMD_FAILURE, "reload", "Can't be used in config file."); + } + if ((error = checkarg(argc, "reload", EXPECTED_EQUAL_TO, 0))) { + return error; + } + if (!load_main_config(config->current_config, true)) { + return cmd_results_new(CMD_FAILURE, "reload", "Error(s) reloading config."); + } + + /* load_swaybars(); -- for when it's implemented */ + + arrange_windows(&root_container, -1, -1); + return cmd_results_new(CMD_SUCCESS, NULL, NULL); +} |