diff --git a/meson.build b/meson.build index 31c3e53e..3fb1e81e 100644 --- a/meson.build +++ b/meson.build @@ -114,7 +114,7 @@ if scdoc.found() endforeach endif -add_project_arguments('-DSYSCONFDIR="/@0@/@1@"'.format(prefix, sysconfdir), language : 'c') +add_project_arguments('-DSYSCONFDIR="/@0@"'.format(sysconfdir), language : 'c') version = get_option('sway-version') if version != '' @@ -157,7 +157,7 @@ subdir('swaynag') subdir('swaylock') config = configuration_data() -config.set('sysconfdir', join_paths(prefix, sysconfdir)) +config.set('sysconfdir', sysconfdir) config.set('datadir', join_paths(prefix, datadir)) config.set('prefix', prefix) diff --git a/sway/commands/workspace.c b/sway/commands/workspace.c index 61aa443d..58c2201d 100644 --- a/sway/commands/workspace.c +++ b/sway/commands/workspace.c @@ -142,7 +142,11 @@ struct cmd_results *cmd_workspace(int argc, char **argv) { strcasecmp(argv[0], "current") == 0) { ws = workspace_by_name(argv[0]); } else if (strcasecmp(argv[0], "back_and_forth") == 0) { - if (!(ws = workspace_by_name(argv[0])) && prev_workspace_name) { + if (!prev_workspace_name) { + return cmd_results_new(CMD_INVALID, "workspace", + "There is no previous workspace"); + } + if (!(ws = workspace_by_name(argv[0]))) { ws = workspace_create(NULL, prev_workspace_name); } } else {