diff options
-rw-r--r-- | sxiv.1 | 11 | ||||
-rw-r--r-- | thumbs.c | 12 |
2 files changed, 8 insertions, 15 deletions
@@ -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 @@ -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"); } |