aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/imv.12
-rw-r--r--src/main.c12
2 files changed, 13 insertions, 1 deletions
diff --git a/doc/imv.1 b/doc/imv.1
index 1f20b34..ca416c4 100644
--- a/doc/imv.1
+++ b/doc/imv.1
@@ -117,6 +117,8 @@ Pan up.
Pan right.
.It Cm x
Close current image.
+.It Cm X
+Close current image and remove it from disk.
.It Cm d
Toggle display of textual overlay.
.It Cm f
diff --git a/src/main.c b/src/main.c
index a8396aa..1e3df67 100644
--- a/src/main.c
+++ b/src/main.c
@@ -417,7 +417,17 @@ int main(int argc, char** argv)
break;
case SDLK_x:
if(!e.key.repeat) {
- imv_navigator_remove(&nav, imv_navigator_selection(&nav));
+ char* path = strdup(imv_navigator_selection(&nav));
+ imv_navigator_remove(&nav, path);
+
+ if (SDL_GetModState() & KMOD_SHIFT) {
+ if (remove(path)) {
+ fprintf(stderr, "Warning: can't remove %s from disk.\n", path);
+ }
+ }
+
+ free(path);
+
/* reset slideshow delay */
delay_msec = 0;
}