diff options
| author | Dominique Martinet <asmadeus@codewreck.org> | 2018-01-05 22:05:48 +0100 | 
|---|---|---|
| committer | Dominique Martinet <asmadeus@codewreck.org> | 2018-01-22 07:25:23 +0100 | 
| commit | 869be4378d44e08c686b550a86a5e4fa60915edb (patch) | |
| tree | 46eea43b22af55497c9f0a832bf6405a54cf5c5e /sway | |
| parent | 0c58673c6a108ba241419a0f1d5fecd47f22370e (diff) | |
| download | sway-869be4378d44e08c686b550a86a5e4fa60915edb.tar.xz | |
commands: add 'reload' command
Diffstat (limited to 'sway')
| -rw-r--r-- | sway/commands.c | 1 | ||||
| -rw-r--r-- | sway/commands/reload.c | 21 | ||||
| -rw-r--r-- | sway/config.c | 4 | ||||
| -rw-r--r-- | sway/meson.build | 1 | 
4 files changed, 27 insertions, 0 deletions
| diff --git a/sway/commands.c b/sway/commands.c index a77ff791..d4262c08 100644 --- a/sway/commands.c +++ b/sway/commands.c @@ -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 },  }; diff --git a/sway/commands/reload.c b/sway/commands/reload.c new file mode 100644 index 00000000..2b553845 --- /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(); + +	arrange_windows(&root_container, -1, -1); +	return cmd_results_new(CMD_SUCCESS, NULL, NULL); +} diff --git a/sway/config.c b/sway/config.c index 1fd123b7..cb22f664 100644 --- a/sway/config.c +++ b/sway/config.c @@ -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 */ +} diff --git a/sway/meson.build b/sway/meson.build index 80ccc01d..51e9e4db 100644 --- a/sway/meson.build +++ b/sway/meson.build @@ -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', | 
