+
+/*
+ * Image viewer thread (for background image viewing)
+ */
+void *image_view_thread(void *filename)
+{
+ char cmd[SIZ];
+ pid_t childpid;
+ int retcode;
+
+ snprintf(cmd, sizeof cmd, imagecmd, (char *)filename);
+ childpid = fork();
+ if (childpid < 0) {
+ color(BRIGHT_RED);
+ perror("Cannot fork");
+ color(DIM_WHITE);
+ unlink((char *)filename);
+ return ((void *) childpid);
+ }
+
+ if (childpid == 0) {
+ execlp("/bin/sh", "sh", "-c", cmd, NULL);
+ exit(127);
+ }
+
+ if (childpid > 0) {
+ waitpid(childpid, &retcode, 0);
+ unlink((char *)filename);
+ return ((void *)retcode);
+ }
+
+ return ((void *)-1);
+}
+
+