Merge pull request #19 from Luminarys/master

Changed command handler to perform var subs on all cmd args
master
Drew DeVault 10 years ago
commit ab33fd5ecd

@ -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); sway_log(L_ERROR, "Invalid set command (expected 2 arguments, got %d)", argc);
return false; return false;
} }
argv[0] = do_var_replacement(config, argv[0]);
struct sway_binding *binding = malloc(sizeof(struct sway_binding)); struct sway_binding *binding = malloc(sizeof(struct sway_binding));
binding->keys = create_list(); binding->keys = create_list();
@ -381,6 +380,12 @@ bool handle_command(struct sway_config *config, char *exec) {
int argc; int argc;
char **argv = split_directive(exec + strlen(handler->command), &argc); char **argv = split_directive(exec + strlen(handler->command), &argc);
int i; 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); exec_success = handler->handle(config, argc, argv);
for (i = 0; i < argc; ++i) { for (i = 0; i < argc; ++i) {
free(argv[i]); free(argv[i]);

@ -8,6 +8,8 @@
#include "commands.h" #include "commands.h"
#include "config.h" #include "config.h"
struct sway_config *config;
bool load_config() { bool load_config() {
sway_log(L_INFO, "Loading config"); sway_log(L_INFO, "Loading config");
// TODO: Allow use of more config file locations // TODO: Allow use of more config file locations
@ -82,7 +84,7 @@ _continue:
} }
if (is_active) { if (is_active) {
config->reloading = true; config->reloading = false;
} }
return config; return config;

@ -7,7 +7,6 @@
#include "log.h" #include "log.h"
#include "handlers.h" #include "handlers.h"
struct sway_config *config;
int main(int argc, char **argv) { int main(int argc, char **argv) {
init_log(L_DEBUG); // TODO: Control this with command line arg 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)) { if (!wlc_init(&interface, argc, argv)) {
return 1; return 1;
} }
setenv("DISPLAY", ":1", 1); setenv("DISPLAY", ":1", 1);
if (!load_config()) { if (!load_config()) {
sway_abort("Unable to load config"); sway_abort("Unable to load config");
} }

Loading…
Cancel
Save