diff options
Diffstat (limited to 'src/support.c')
-rw-r--r-- | src/support.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/support.c b/src/support.c index 91dbe23..0377e14 100644 --- a/src/support.c +++ b/src/support.c @@ -162,6 +162,7 @@ feh_wm_set_bg(char *fil, Imlib_Image im, int centered, int scaled, /* string for sticking in ~/.fehbg */ char *fehbg = NULL; char *home; + char filbuf[4096]; /* local display to set closedownmode on */ Display *disp2; @@ -173,6 +174,7 @@ feh_wm_set_bg(char *fil, Imlib_Image im, int centered, int scaled, D(3, ("Falling back to XSetRootWindowPixmap\n")); + snprintf(filbuf, sizeof(filbuf), "\"%s\"", fil); if (scaled) { w = scr->width; h = scr->height; @@ -189,7 +191,7 @@ feh_wm_set_bg(char *fil, Imlib_Image im, int centered, int scaled, pmap_d1 = XCreatePixmap(disp, root, w, h, depth); gib_imlib_render_image_on_drawable_at_size(pmap_d1, im, 0, 0, w, h, 1, 0, 1); - fehbg = estrjoin(" ", "feh --bg-scale", fil, NULL); + fehbg = estrjoin(" ", "feh --bg-scale", filbuf, NULL); } else if (centered) { XGCValues gcval; GC gc; @@ -216,14 +218,14 @@ feh_wm_set_bg(char *fil, Imlib_Image im, int centered, int scaled, y = (h - gib_imlib_image_get_height(im)) >> 1; gib_imlib_render_image_on_drawable(pmap_d1, im, x, y, 1, 0, 0); XFreeGC(disp, gc); - fehbg = estrjoin(" ", "feh --bg-center", fil, NULL); + fehbg = estrjoin(" ", "feh --bg-center", filbuf, NULL); } else { w = gib_imlib_image_get_width(im); h = gib_imlib_image_get_height(im); pmap_d1 = XCreatePixmap(disp, root, w, h, depth); gib_imlib_render_image_on_drawable(pmap_d1, im, 0, 0, 1, 0, 0); - fehbg = estrjoin(" ", "feh --bg-tile", fil, NULL); + fehbg = estrjoin(" ", "feh --bg-tile", filbuf, NULL); } if (fehbg) { |