aboutsummaryrefslogtreecommitdiffstats
path: root/sway/commands/reload.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/commands/reload.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/commands/reload.c')
-rw-r--r--sway/commands/reload.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/sway/commands/reload.c b/sway/commands/reload.c
index 5c1b19b4..9bf671d9 100644
--- a/sway/commands/reload.c
+++ b/sway/commands/reload.c
@@ -1,4 +1,5 @@
1#define _XOPEN_SOURCE 500 1#define _XOPEN_SOURCE 500
2#include <signal.h>
2#include <string.h> 3#include <string.h>
3#include "sway/commands.h" 4#include "sway/commands.h"
4#include "sway/config.h" 5#include "sway/config.h"
@@ -19,8 +20,11 @@ struct cmd_results *cmd_reload(int argc, char **argv) {
19 list_add(bar_ids, strdup(bar->id)); 20 list_add(bar_ids, strdup(bar->id));
20 } 21 }
21 22
22 if (!load_main_config(config->current_config_path, true)) { 23 char *errors = NULL;
23 return cmd_results_new(CMD_FAILURE, "reload", "Error(s) reloading config."); 24 if (!load_main_config(config->current_config_path, true, &errors)) {
25 free(errors);
26 return cmd_results_new(CMD_FAILURE, "reload",
27 "Error(s) reloading config.");
24 } 28 }
25 ipc_event_workspace(NULL, NULL, "reload"); 29 ipc_event_workspace(NULL, NULL, "reload");
26 30
@@ -42,5 +46,16 @@ struct cmd_results *cmd_reload(int argc, char **argv) {
42 list_free(bar_ids); 46 list_free(bar_ids);
43 47
44 arrange_windows(&root_container); 48 arrange_windows(&root_container);
49
50 if (config->swaynag_pid > 0) {
51 kill(config->swaynag_pid, SIGTERM);
52 config->swaynag_pid = -1;
53 }
54
55 if (errors) {
56 spawn_swaynag_config_errors(config, errors);
57 free(errors);
58 }
59
45 return cmd_results_new(CMD_SUCCESS, NULL, NULL); 60 return cmd_results_new(CMD_SUCCESS, NULL, NULL);
46} 61}