diff options
Diffstat (limited to 'sway/config/output.c')
-rw-r--r-- | sway/config/output.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/sway/config/output.c b/sway/config/output.c index 6f337b66..2b041353 100644 --- a/sway/config/output.c +++ b/sway/config/output.c @@ -229,17 +229,16 @@ void apply_output_config(struct output_config *oc, struct sway_output *output) { } } - if (oc && oc->background) { - if (output->bg_pid != 0) { - terminate_swaybg(output->bg_pid); - } - + if (output->bg_pid != 0) { + terminate_swaybg(output->bg_pid); + } + if (oc && oc->background && config->swaybg_command) { wlr_log(WLR_DEBUG, "Setting background for output %d to %s", output_i, oc->background); size_t len = snprintf(NULL, 0, "%s %d \"%s\" %s %s", - config->swaybg_command ? config->swaybg_command : "swaybg", - output_i, oc->background, oc->background_option, + config->swaybg_command, output_i, oc->background, + oc->background_option, oc->background_fallback ? oc->background_fallback : ""); char *command = malloc(len + 1); if (!command) { @@ -247,8 +246,8 @@ void apply_output_config(struct output_config *oc, struct sway_output *output) { return; } snprintf(command, len + 1, "%s %d \"%s\" %s %s", - config->swaybg_command ? config->swaybg_command : "swaybg", - output_i, oc->background, oc->background_option, + config->swaybg_command, output_i, oc->background, + oc->background_option, oc->background_fallback ? oc->background_fallback : ""); wlr_log(WLR_DEBUG, "-> %s", command); @@ -260,6 +259,7 @@ void apply_output_config(struct output_config *oc, struct sway_output *output) { free(command); } } + if (oc) { switch (oc->dpms_state) { case DPMS_ON: @@ -353,4 +353,3 @@ void create_default_output_configs(void) { list_add(config->output_configs, oc); } } - |