--- /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-20220907/src/pixmaps.c 2022-09-07 02:19:05.288647000 -0400 @@ -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,30 @@ 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_SHARE, + 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 +189,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 +316,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 +388,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 +432,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 +467,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 +489,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 +1004,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 +1015,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);