aboutsummaryrefslogtreecommitdiffstats
path: root/sway/main.c
diff options
context:
space:
mode:
authorLibravatar Brian Ashworth <bosrsf04@gmail.com>2018-08-01 23:54:40 -0400
committerLibravatar Brian Ashworth <bosrsf04@gmail.com>2018-08-03 10:37:35 -0400
commitf9a6407111a8730df51258c3b07502814a8ab3e1 (patch)
tree6cf180159caf4a45a8f37b026b2769d24468a07b /sway/main.c
parentMerge pull request #2417 from marienz/swaynag-includes (diff)
downloadsway-f9a6407111a8730df51258c3b07502814a8ab3e1.tar.gz
sway-f9a6407111a8730df51258c3b07502814a8ab3e1.tar.zst
sway-f9a6407111a8730df51258c3b07502814a8ab3e1.zip
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) {
415 ipc_init(&server); 415 ipc_init(&server);
416 log_env(); 416 log_env();
417 417
418 char *errors = NULL;
418 if (validate) { 419 if (validate) {
419 bool valid = load_main_config(config_path, false); 420 bool valid = load_main_config(config_path, false, &errors);
421 free(errors);
420 return valid ? 0 : 1; 422 return valid ? 0 : 1;
421 } 423 }
422 424
423 if (!load_main_config(config_path, false)) { 425 if (!load_main_config(config_path, false, &errors)) {
424 sway_terminate(EXIT_FAILURE); 426 sway_terminate(EXIT_FAILURE);
425 } 427 }
426 428
@@ -433,6 +435,7 @@ int main(int argc, char **argv) {
433 setenv("WAYLAND_DISPLAY", server.socket, true); 435 setenv("WAYLAND_DISPLAY", server.socket, true);
434 if (!terminate_request) { 436 if (!terminate_request) {
435 if (!server_start_backend(&server)) { 437 if (!server_start_backend(&server)) {
438 free(errors);
436 sway_terminate(EXIT_FAILURE); 439 sway_terminate(EXIT_FAILURE);
437 } 440 }
438 } 441 }
@@ -452,6 +455,11 @@ int main(int argc, char **argv) {
452 } 455 }
453 transaction_commit_dirty(); 456 transaction_commit_dirty();
454 457
458 if (errors) {
459 spawn_swaynag_config_errors(config, errors);
460 free(errors);
461 }
462
455 if (!terminate_request) { 463 if (!terminate_request) {
456 server_run(&server); 464 server_run(&server);
457 } 465 }