summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBert Münnich <be.muennich@gmail.com>2013-01-08 20:55:02 +0100
committerBert Münnich <be.muennich@gmail.com>2013-01-12 23:40:16 +0100
commitb6a6c260e1876172c764c6eca3aae004026cd8aa (patch)
treea64e1f304ad34bfb1c8458bb5ffe2a2e8857634e
parentd6a475e4b1c0d5025806c4a6e47c68e46a3c31d9 (diff)
downloadnsxiv-b6a6c260e1876172c764c6eca3aae004026cd8aa.tar.zst
Moved thumbnail cache to ~/.sxiv/cache/
-rw-r--r--sxiv.111
-rw-r--r--thumbs.c12
2 files changed, 8 insertions, 15 deletions
diff --git a/sxiv.1 b/sxiv.1
index 2058190..b963a17 100644
--- a/sxiv.1
+++ b/sxiv.1
@@ -308,7 +308,7 @@ Pan image left.
Pan image right.
.SH THUMBNAIL CACHING
To enable thumbnail caching, please make sure to create the directory
-.I ~/.sxiv/
+.I ~/.sxiv/cache/
with write permissions. sxiv will then store all thumbnails inside this
directory, but it will not create this directory by itself. It rather uses the
existance of this directory as an affirmation, that the user wants thumbnails
@@ -321,15 +321,6 @@ Additionally, run the following command afterwards inside the cache directory
to remove empty subdirectories:
.P
.RS
-find \-type d \-empty \-delete
-.RE
-.P
-If the version of
-.I find
-installed on your local system does not support the \-delete option, then you
-can also try the following command:
-.P
-.RS
find . \-depth \-type d \-empty ! \-name '.' \-exec rmdir {} \\;
.RE
.SH AUTHOR
diff --git a/thumbs.c b/thumbs.c
index 5dec4a5..5453815 100644
--- a/thumbs.c
+++ b/thumbs.c
@@ -31,8 +31,10 @@
#include "util.h"
#include "config.h"
-const int thumb_dim = THUMB_SIZE + 10;
-char *cache_dir = NULL;
+static const int thumb_dim = THUMB_SIZE + 10;
+
+static const char * const CACHE_DIR = ".sxiv/cache";
+static char *cache_dir = NULL;
bool tns_cache_enabled(void) {
struct stat stats;
@@ -175,9 +177,9 @@ void tns_init(tns_t *tns, int cnt, win_t *win) {
if ((homedir = getenv("HOME")) != NULL) {
if (cache_dir != NULL)
free(cache_dir);
- len = strlen(homedir) + 10;
- cache_dir = (char*) s_malloc(len * sizeof(char));
- snprintf(cache_dir, len, "%s/.sxiv", homedir);
+ len = strlen(homedir) + strlen(CACHE_DIR) + 2;
+ cache_dir = (char*) s_malloc(len);
+ snprintf(cache_dir, len, "%s/%s", homedir, CACHE_DIR);
} else {
warn("could not locate thumbnail cache directory");
}