diff options
Diffstat (limited to 'sway/config')
| -rw-r--r-- | sway/config/output.c | 21 | 
1 files changed, 11 insertions, 10 deletions
diff --git a/sway/config/output.c b/sway/config/output.c index f24e7d66..2cbfa3cd 100644 --- a/sway/config/output.c +++ b/sway/config/output.c @@ -229,28 +229,29 @@ void apply_output_config(struct output_config *oc, struct sway_output *output) {  		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); +		wlr_log(WLR_DEBUG, "Setting background for output %s to %s", +			wlr_output->name, oc->background); -		size_t len = snprintf(NULL, 0, "%s %d \"%s\" %s %s", -				config->swaybg_command, output_i, oc->background, -				oc->background_option, -				oc->background_fallback ? oc->background_fallback : ""); +		size_t len = snprintf(NULL, 0, "%s \"%s\" \"%s\" %s %s", +			config->swaybg_command, wlr_output->name, oc->background, +			oc->background_option, +			oc->background_fallback ? oc->background_fallback : "");  		char *command = malloc(len + 1);  		if (!command) {  			wlr_log(WLR_DEBUG, "Unable to allocate swaybg command");  			return;  		} -		snprintf(command, len + 1, "%s %d \"%s\" %s %s", -				config->swaybg_command, output_i, oc->background, -				oc->background_option, -				oc->background_fallback ? oc->background_fallback : ""); +		snprintf(command, len + 1, "%s \"%s\" \"%s\" %s %s", +			config->swaybg_command, wlr_output->name, oc->background, +			oc->background_option, +			oc->background_fallback ? oc->background_fallback : "");  		wlr_log(WLR_DEBUG, "-> %s", command);  		char *const cmd[] = { "sh", "-c", command, NULL };  		output->bg_pid = fork();  		if (output->bg_pid == 0) {  			execvp(cmd[0], cmd); +			wlr_log_errno(WLR_ERROR, "Failed to execute swaybg");  		} else {  			free(command);  		}  | 
