commands: add 'reload' command

This commit is contained in:
Dominique Martinet 2018-01-05 22:05:48 +01:00
parent 0c58673c6a
commit 869be4378d
4 changed files with 27 additions and 0 deletions

View File

@ -136,6 +136,7 @@ static struct cmd_handler handlers[] = {
{ "input", cmd_input },
{ "kill", cmd_kill },
{ "output", cmd_output },
{ "reload", cmd_reload },
{ "seat", cmd_seat },
{ "set", cmd_set },
};

21
sway/commands/reload.c Normal file
View File

@ -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();
arrange_windows(&root_container, -1, -1);
return cmd_results_new(CMD_SUCCESS, NULL, NULL);
}

View File

@ -698,3 +698,7 @@ char *do_var_replacement(char *str) {
}
return str;
}
void load_swaybars() {
/* stub function for reload commnd, to fill when we restore swaybars */
}

View File

@ -34,6 +34,7 @@ sway_sources = files(
'commands/input/xkb_rules.c',
'commands/input/xkb_variant.c',
'commands/output.c',
'commands/reload.c',
'config.c',
'config/output.c',
'config/seat.c',