From a5b02791d43cc68cc9686266f725be0fea7072fa Mon Sep 17 00:00:00 2001 From: Luminarys Date: Mon, 10 Aug 2015 19:50:22 -0500 Subject: [PATCH] Changed command handler to perform var subs on all cmd args Fixed workspace_next_name to use the first workspace name it can find in the config Minor fixes Changed command handler to perform var subs on all portions of a command Revert "Changed command handler to perform var subs on all portions of a command" This reverts commit fcfcffa1ea9819bcada6e6c85b40b21bf1b3a96e. Var sub fixes Minor fixes More minor fixes --- sway/commands.c | 7 ++++++- sway/config.c | 4 +++- sway/main.c | 3 +-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/sway/commands.c b/sway/commands.c index be9984e3..870a2377 100644 --- a/sway/commands.c +++ b/sway/commands.c @@ -34,7 +34,6 @@ bool cmd_bindsym(struct sway_config *config, int argc, char **argv) { sway_log(L_ERROR, "Invalid set command (expected 2 arguments, got %d)", argc); return false; } - argv[0] = do_var_replacement(config, argv[0]); struct sway_binding *binding = malloc(sizeof(struct sway_binding)); binding->keys = create_list(); @@ -381,6 +380,12 @@ bool handle_command(struct sway_config *config, char *exec) { int argc; char **argv = split_directive(exec + strlen(handler->command), &argc); int i; + + //Perform var subs on all parts of the command + for (i = 0; i < argc; ++i) { + argv[i] = do_var_replacement(config, argv[i]); + } + exec_success = handler->handle(config, argc, argv); for (i = 0; i < argc; ++i) { free(argv[i]); diff --git a/sway/config.c b/sway/config.c index a1689f36..6fe681f6 100644 --- a/sway/config.c +++ b/sway/config.c @@ -8,6 +8,8 @@ #include "commands.h" #include "config.h" +struct sway_config *config; + bool load_config() { sway_log(L_INFO, "Loading config"); // TODO: Allow use of more config file locations @@ -82,7 +84,7 @@ _continue: } if (is_active) { - config->reloading = true; + config->reloading = false; } return config; diff --git a/sway/main.c b/sway/main.c index f84451de..a7814364 100644 --- a/sway/main.c +++ b/sway/main.c @@ -7,7 +7,6 @@ #include "log.h" #include "handlers.h" -struct sway_config *config; int main(int argc, char **argv) { init_log(L_DEBUG); // TODO: Control this with command line arg @@ -42,8 +41,8 @@ int main(int argc, char **argv) { if (!wlc_init(&interface, argc, argv)) { return 1; } - setenv("DISPLAY", ":1", 1); + if (!load_config()) { sway_abort("Unable to load config"); }