--- /usr/src/repo/builds_15/AROX_SRC/literocks-20210924/src/pixmaps.c	2021-09-23 06:58:17.000000000 -0400
+++ /usr/src/repo/builds_15/AROX_SRC/arox-20211209/src/pixmaps.c	2021-12-09 16:02:33.521166016 -0500
@@ -86,7 +86,6 @@
 gchar *thumb_dir = "normal";
 
 Option o_pixmap_thumb_file_size;
-Option o_video_thumbnailer;
 Option o_purge_days;
 
 
@@ -106,12 +105,29 @@
 static guint next_order = 0;
 
 static const char *stocks[] = {
-	ROX_STOCK_SHOW_DETAILS,
-	ROX_STOCK_SHOW_HIDDEN,
+	ROX_STOCK_BOOKMARKS,
+	ROX_STOCK_COMPRESS,
+	ROX_STOCK_COPY,
+	ROX_STOCK_COPYHERE,
+	ROX_STOCK_COUNT,
+	ROX_STOCK_DELETE,
+	ROX_STOCK_FIND,
+	ROX_STOCK_HOME,
+	ROX_STOCK_ICON,
+	ROX_STOCK_LINK,
 	ROX_STOCK_MOUNT,
 	ROX_STOCK_MOUNTED,
+	ROX_STOCK_PERMISSIONS,
+	ROX_STOCK_PROPERTIES,
+	ROX_STOCK_REFRESH,
+	ROX_STOCK_RENAME,
+	ROX_STOCK_RESIZE,
+	ROX_STOCK_SENDTO,
+	ROX_STOCK_SHOW_DETAILS,
+	ROX_STOCK_SHOW_HIDDEN,
+	ROX_STOCK_QTFM,
 	ROX_STOCK_SYMLINK,
-	ROX_STOCK_XATTR,
+	ROX_STOCK_XATTR
 };
 
 /* Static prototypes */
@@ -172,7 +188,6 @@
 	int i;
 
 	option_add_int(&o_pixmap_thumb_file_size, "thumb_file_size", PIXMAP_THUMB_SIZE);
-	option_add_string(&o_video_thumbnailer, "video_thumbnailer", "ffmpegthumbnailer -i \"$1\" -o \"$2\" -s $3");
 	option_add_int(&o_purge_days, "purge_days", 90);
 	option_add_notify(options_changed);
 
@@ -300,7 +315,6 @@
 	{
 		gchar *thumb_prog = NULL;
 		if (!strcmp(type->media_type, "image")
-		|| (!strcmp(type->media_type, "video") && *o_video_thumbnailer.value)
 		|| (thumb_prog = thumbnail_program(type)))
 		{
 			g_free(thumb_prog);
@@ -373,7 +387,6 @@
 	/* Only attempt to load 'images' types ourselves */
 	if (thumb_prog == NULL
 	&&  strcmp(type->media_type, "image")
-	&& (strcmp(type->media_type, "video") || !*o_video_thumbnailer.value)
 	) {
 		callback(data, NULL);
 		return;		/* Don't know how to handle this type */
@@ -418,18 +431,8 @@
 			_exit(1);
 		}
 
-		if (!strcmp(type->media_type, "video") && *o_video_thumbnailer.value)
-		{
-			execlp("sh", "sh", "-c", o_video_thumbnailer.value, "sh",
-					rpath,
-					thumb_path_mk(rpath),
-					g_strdup_printf("%d", thumb_size),
-					NULL);
 
-			_exit(1);
-		}
-		else
-			create_thumbnail(rpath, type);
+		create_thumbnail(rpath, type);
 		_exit(0);
 	}
 
@@ -463,9 +466,9 @@
 	g_free(path);
 
 	mode_t old_mask = umask(0077);
-	//At least we don't need extensions being '.jpg'
-	gdk_pixbuf_save(thumb, thumbpath, "jpeg", NULL,
-			"quality", "77",
+	// keep thumbs as PNG to enable transparency
+	gdk_pixbuf_save(thumb, thumbpath, "png", NULL,
+			"compression", "9",
 			NULL);
 	umask(old_mask);
 
@@ -485,7 +488,7 @@
 	g_free(uri);
 
 	const char *dir = thumbdir();
-	ans = g_strdup_printf("%s/%s.jpg", dir, md5);
+	ans = g_strdup_printf("%s/%s.png", dir, md5);
 	g_free(md5);
 
 	if (mkdirif && !g_file_test(dir, G_FILE_TEST_EXISTS))
@@ -1000,6 +1003,7 @@
 		goto out;
 	}
 
+
 	time_t checktime = o_purge_days.int_value ?
 		time(0) - (o_purge_days.int_value * 3600 * 24): 0;
 	struct stat info;
@@ -1010,12 +1014,12 @@
 			continue;
 
 		if (o_purge_days.int_value
-				&& !mc_lstat(make_path(path, ent->d_name), &info)
-				&& info.st_atime > checktime)
+//				&& !mc_lstat(make_path(path, ent->d_name), &info)
+				&& info.st_atime > checktime){
 			continue;
-
-		list = g_list_prepend(list,
-				      g_strconcat(path, ent->d_name, NULL));
+			}
+			
+		list = g_list_prepend(list, g_strconcat(path, ent->d_name, NULL));
 	}
 
 	closedir(dir);
