summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2013-11-24 23:29:15 +0100
committerDaniel Friesel <derf@finalrewind.org>2013-11-24 23:29:15 +0100
commitc0649c4b2a7c824abc743fa59457221e2bc3ab21 (patch)
tree01ab4a89424d66fdfb95ed9bc147591611ee6818
parent2f09bf037a9e02de6a0df68625f139173495699a (diff)
thumbnail mode: if --action is set, run it instead of opening images
-rw-r--r--ChangeLog2
-rw-r--r--man/feh.pre3
-rw-r--r--src/events.c8
3 files changed, 10 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index dcce150..936fb72 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,8 @@ git HEAD
display on startup
* Fix off-by-one pixel error when warping the pointer in the
bottom/right window border
+ * thumbnail mode: If --action is set, run specified command instead of
+ opening image on click.
Tue, 11 Jun 2013 08:27:24 +0200 Daniel Friesel <derf+feh@finalrewind.org>
diff --git a/man/feh.pre b/man/feh.pre
index ffbf933..6831a6e 100644
--- a/man/feh.pre
+++ b/man/feh.pre
@@ -136,7 +136,8 @@ For animated images, only the first frame is shown.
Specify a shell command as an action to perform on the image. In slideshow or
multiwindow mode, the action will be run when the action_0 key is pressed, in
list mode, it will be run for each file. In loadable/unloadable mode, it will
-be run for each loadable/unloadable file, respectively.
+be run for each loadable/unloadable file, respectively. In thumbnail mode,
+clicking on an image will cause the action to run instead of opening the image.
.
.Pp
.
diff --git a/src/events.c b/src/events.c
index 15fd0fa..92b6e69 100644
--- a/src/events.c
+++ b/src/events.c
@@ -378,8 +378,12 @@ static void feh_event_handle_ButtonRelease(XEvent * ev)
x /= winwid->zoom;
y /= winwid->zoom;
thumbfile = feh_thumbnail_get_file_from_coords(x, y);
- if (thumbfile)
- feh_thumbnail_show_fullsize(thumbfile);
+ if (thumbfile) {
+ if (opt.actions[0])
+ feh_action_run(thumbfile, opt.actions[0]);
+ else
+ feh_thumbnail_show_fullsize(thumbfile);
+ }
}
} else {
opt.mode = MODE_NORMAL;