aboutsummaryrefslogtreecommitdiffstats
path: root/sway/config
diff options
context:
space:
mode:
authorLibravatar Drew DeVault <sir@cmpwn.com>2018-03-29 17:49:44 -0400
committerLibravatar Drew DeVault <sir@cmpwn.com>2018-03-29 22:11:08 -0400
commit5c9cdbcdd2a07e2ced7b60d629a3e20bd7c8bf68 (patch)
tree08a5de486cfceb091b5b1faa5e8ea893bea1de57 /sway/config
parentMove bar config into its own file (diff)
downloadsway-5c9cdbcdd2a07e2ced7b60d629a3e20bd7c8bf68.tar.gz
sway-5c9cdbcdd2a07e2ced7b60d629a3e20bd7c8bf68.tar.zst
sway-5c9cdbcdd2a07e2ced7b60d629a3e20bd7c8bf68.zip
Add swaybg_command
Diffstat (limited to 'sway/config')
-rw-r--r--sway/config/output.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/sway/config/output.c b/sway/config/output.c
index 24b4a18e..c3ec61b7 100644
--- a/sway/config/output.c
+++ b/sway/config/output.c
@@ -180,19 +180,20 @@ void apply_output_config(struct output_config *oc, swayc_t *output) {
180 wlr_log(L_DEBUG, "Setting background for output %d to %s", 180 wlr_log(L_DEBUG, "Setting background for output %d to %s",
181 output_i, oc->background); 181 output_i, oc->background);
182 182
183 size_t bufsize = 12; 183 size_t len = snprintf(NULL, 0, "%s %d %s %s",
184 char output_id[bufsize]; 184 config->swaybg_command ? config->swaybg_command : "swaybg",
185 snprintf(output_id, bufsize, "%d", output_i); 185 output_i, oc->background, oc->background_option);
186 output_id[bufsize-1] = 0; 186 char *command = malloc(len + 1);
187 187 if (!command) {
188 char *const cmd[] = { 188 wlr_log(L_DEBUG, "Unable to allocate swaybg command");
189 "swaybg", 189 return;
190 output_id, 190 }
191 oc->background, 191 snprintf(command, len + 1, "%s %d %s %s",
192 oc->background_option, 192 config->swaybg_command ? config->swaybg_command : "swaybg",
193 NULL, 193 output_i, oc->background, oc->background_option);
194 }; 194 wlr_log(L_DEBUG, "-> %s", command);
195 195
196 char *const cmd[] = { "sh", "-c", command, NULL };
196 output->sway_output->bg_pid = fork(); 197 output->sway_output->bg_pid = fork();
197 if (output->sway_output->bg_pid == 0) { 198 if (output->sway_output->bg_pid == 0) {
198 execvp(cmd[0], cmd); 199 execvp(cmd[0], cmd);