summaryrefslogtreecommitdiff
path: root/src/menu.c
diff options
context:
space:
mode:
authorNaïm Favier <n@monade.li>2024-06-02 15:31:33 +0200
committerBirte Friesel <derf@chaosdorf.de>2024-06-30 11:40:06 +0200
commit08b269d172acc2b4cb9b9336e2cd8097d89ef6a7 (patch)
treeece7aca6a7eccf8ca37b863b6ce2dd6f4abf2402 /src/menu.c
parent186dab662b50e7aa1e15674c468d35810a691409 (diff)
cache stat(2) calls
When the user requests sorting by size or mtime, do a "soft preload" of the file list that only calls stat(2) without loading images. This avoids calling stat(2) repeatedly on the same files when sorting the file list, and achieves faster startup on slow filesystems.
Diffstat (limited to 'src/menu.c')
-rw-r--r--src/menu.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/menu.c b/src/menu.c
index b1ef61d..9c20692 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -835,7 +835,7 @@ void feh_menu_draw_submenu_at(int x, int y, Imlib_Image dst, int ox, int oy)
for (int i= 0; i <= 3; i++) {
imlib_image_draw_line(x+i, y+3+i, x+i, y+9-i, 0);
}
-
+
return;
}
@@ -1401,7 +1401,7 @@ static feh_menu *feh_menu_func_gen_info(feh_menu * m)
if (!file->info)
feh_file_info_load(file, im);
if (file->info) {
- snprintf(buffer, sizeof(buffer), "Size: %dKb", file->info->size / 1024);
+ snprintf(buffer, sizeof(buffer), "Size: %dKb", file->size / 1024);
feh_menu_add_entry(mm, buffer, NULL, 0, 0, NULL);
snprintf(buffer, sizeof(buffer), "Dimensions: %dx%d", file->info->width, file->info->height);
feh_menu_add_entry(mm, buffer, NULL, 0, 0, NULL);