summaryrefslogtreecommitdiff
path: root/sway/main.c
diff options
context:
space:
mode:
authorBrian Ashworth <[email protected]>2018-08-01 23:54:40 -0400
committerBrian Ashworth <[email protected]>2018-08-03 10:37:35 -0400
commitf9a6407111a8730df51258c3b07502814a8ab3e1 (patch)
tree6cf180159caf4a45a8f37b026b2769d24468a07b /sway/main.c
parent3e2bf7f3a550db995a38808e0abd53fefab96f80 (diff)
Show swaynag on config errors
Diffstat (limited to 'sway/main.c')
-rw-r--r--sway/main.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/sway/main.c b/sway/main.c
index 477ffa5a..de2445a8 100644
--- a/sway/main.c
+++ b/sway/main.c
@@ -415,12 +415,14 @@ int main(int argc, char **argv) {
ipc_init(&server);
log_env();
+ char *errors = NULL;
if (validate) {
- bool valid = load_main_config(config_path, false);
+ bool valid = load_main_config(config_path, false, &errors);
+ free(errors);
return valid ? 0 : 1;
}
- if (!load_main_config(config_path, false)) {
+ if (!load_main_config(config_path, false, &errors)) {
sway_terminate(EXIT_FAILURE);
}
@@ -433,6 +435,7 @@ int main(int argc, char **argv) {
setenv("WAYLAND_DISPLAY", server.socket, true);
if (!terminate_request) {
if (!server_start_backend(&server)) {
+ free(errors);
sway_terminate(EXIT_FAILURE);
}
}
@@ -452,6 +455,11 @@ int main(int argc, char **argv) {
}
transaction_commit_dirty();
+ if (errors) {
+ spawn_swaynag_config_errors(config, errors);
+ free(errors);
+ }
+
if (!terminate_request) {
server_run(&server);
}