aboutsummaryrefslogtreecommitdiff
path: root/sway
diff options
context:
space:
mode:
Diffstat (limited to 'sway')
-rw-r--r--sway/commands/reload.c14
-rw-r--r--sway/config.c1
-rw-r--r--sway/sway.5.scd4
3 files changed, 16 insertions, 3 deletions
diff --git a/sway/commands/reload.c b/sway/commands/reload.c
index 19ec065c..3c994d54 100644
--- a/sway/commands/reload.c
+++ b/sway/commands/reload.c
@@ -22,7 +22,12 @@ static void do_reload(void *data) {
list_add(bar_ids, strdup(bar->id));
}
- if (!load_main_config(config->current_config_path, true, false)) {
+ const char *path = NULL;
+ if (config->user_config_path) {
+ path = config->current_config_path;
+ }
+
+ if (!load_main_config(path, true, false)) {
sway_log(SWAY_ERROR, "Error(s) reloading config");
list_free_items_and_destroy(bar_ids);
return;
@@ -55,7 +60,12 @@ struct cmd_results *cmd_reload(int argc, char **argv) {
return error;
}
- if (!load_main_config(config->current_config_path, true, true)) {
+ const char *path = NULL;
+ if (config->user_config_path) {
+ path = config->current_config_path;
+ }
+
+ if (!load_main_config(path, true, true)) {
return cmd_results_new(CMD_FAILURE, "Error(s) reloading config.");
}
diff --git a/sway/config.c b/sway/config.c
index bcf8d56f..71382b86 100644
--- a/sway/config.c
+++ b/sway/config.c
@@ -447,6 +447,7 @@ bool load_main_config(const char *file, bool is_active, bool validating) {
}
}
+ config->user_config_path = file ? true : false;
config->current_config_path = path;
list_add(config->config_chain, real_path);
diff --git a/sway/sway.5.scd b/sway/sway.5.scd
index f4323f65..fed4c3c7 100644
--- a/sway/sway.5.scd
+++ b/sway/sway.5.scd
@@ -272,7 +272,9 @@ set|plus|minus <amount>
optional comment argument is ignored, but logged for debugging purposes.
*reload*
- Reloads the sway config file and applies any changes.
+ Reloads the sway config file and applies any changes. The config file is
+ located at path specified by the command line arguments when started,
+ otherwise according to the priority stated in *sway*(1).
*rename workspace* [<old_name>] to <new_name>
Rename either <old_name> or the focused workspace to the <new_name>