sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit 869be4378d44e08c686b550a86a5e4fa60915edb
parent 0c58673c6a108ba241419a0f1d5fecd47f22370e
Author: Dominique Martinet <asmadeus@codewreck.org>
Date:   Fri,  5 Jan 2018 22:05:48 +0100

commands: add 'reload' command

Diffstat:
Msway/commands.c | 1+
Asway/commands/reload.c | 21+++++++++++++++++++++
Msway/config.c | 4++++
Msway/meson.build | 1+
4 files changed, 27 insertions(+), 0 deletions(-)

diff --git 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 @@ -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 @@ -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 @@ -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',