Merge pull request #19 from Luminarys/master

Changed command handler to perform var subs on all cmd args
This commit is contained in:
Drew DeVault 2015-08-11 13:55:36 -04:00
commit ab33fd5ecd
3 changed files with 10 additions and 4 deletions

View File

@ -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]);

View File

@ -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;

View File

@ -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");
}