diff options
author | Daniel Friesel <derf@finalrewind.org> | 2014-08-27 19:42:50 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2014-08-27 19:42:50 +0200 |
commit | 3e284a9ac8959360278389cd537509a24f83c120 (patch) | |
tree | 94bab851e928d186746bcb322ba9a7161e320608 /src | |
parent | 2b04e7f4bd422c015edbc8de601b6aed951b3f71 (diff) | |
parent | 821a09969f5f51f0e3a7e35f6c4f35aeb9fe497a (diff) |
Merge branch 'SirCmpwn-master'
Diffstat (limited to 'src')
-rw-r--r-- | src/wallpaper.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/wallpaper.c b/src/wallpaper.c index 6e629dc..3e19c41 100644 --- a/src/wallpaper.c +++ b/src/wallpaper.c @@ -29,6 +29,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "options.h" #include "wallpaper.h" #include <limits.h> +#include <sys/stat.h> Window ipc_win = None; Window my_ipc_win = None; Atom ipc_atom = None; @@ -450,12 +451,17 @@ void feh_wm_set_bg(char *fil, Imlib_Image im, int centered, int scaled, if (home) { FILE *fp; char *path; + struct stat s; path = estrjoin("/", home, ".fehbg", NULL); if ((fp = fopen(path, "w")) == NULL) { weprintf("Can't write to %s", path); } else { - fprintf(fp, "%s\n", fehbg); + fprintf(fp, "#!/bin/sh\n%s\n", fehbg); fclose(fp); + stat(path, &s); + if (chmod(path, s.st_mode | S_IXUSR | S_IXGRP) != 0) { + weprintf("Can't set %s as executable", path); + } } free(path); } |