diff options
| author | Daniel Friesel <derf@finalrewind.org> | 2011-08-18 11:00:24 +0200 | 
|---|---|---|
| committer | Daniel Friesel <derf@finalrewind.org> | 2011-08-18 11:01:39 +0200 | 
| commit | fee966abf48a84814b7b50ccb8c0dd118d65f30f (patch) | |
| tree | 7b10899a30ff49e739f38eadcf3d9cde98122da0 | |
| parent | fdf6add16d8deb9f52dc416bd626d888205e548a (diff) | |
--action: Reload image if hold_action flag (;) is set (closes #59)
An action may be used to alter the image or specific parts of it displayed by
--info, so if a user invokes an action with hold_action set, the image and all
relevant information must be reloaded.
| -rw-r--r-- | ChangeLog | 5 | ||||
| -rw-r--r-- | man/feh.pre | 3 | ||||
| -rw-r--r-- | src/keyevents.c | 11 | 
3 files changed, 15 insertions, 4 deletions
| @@ -1,3 +1,8 @@ +git HEAD + +    * Reload image after executing an action with the hold-action flag set +      <https://github.com/derf/feh/issues/59> +  Tue, 16 Aug 2011 22:48:06 +0200  Daniel Friesel <derf@finalrewind.org>  * Release v1.15.1 diff --git a/man/feh.pre b/man/feh.pre index e8bb8b1..c8bd8dd 100644 --- a/man/feh.pre +++ b/man/feh.pre @@ -123,7 +123,8 @@ If  is  .Qq \&; ,  .Nm -will not switch to the next image after executing the action. +will reload the current image instead of switching to the next one after +executing the action.  .  .Pp  . diff --git a/src/keyevents.c b/src/keyevents.c index 7299fa8..82d0cce 100644 --- a/src/keyevents.c +++ b/src/keyevents.c @@ -331,15 +331,20 @@ void feh_event_invoke_action(winwidget winwid, unsigned char action)  	if (opt.actions[action]) {  		if (opt.slideshow) {  			feh_action_run(FEH_FILE(winwid->file->data), opt.actions[action]); -			winwidget_update_caption(winwid); -			if (! opt.hold_actions[action]) +			if (opt.hold_actions[action]) +				feh_reload_image(winwid, 1, 1); +			else  				slideshow_change_image(winwid, SLIDE_NEXT, 1);  		} else if ((winwid->type == WIN_TYPE_SINGLE)  				|| (winwid->type == WIN_TYPE_THUMBNAIL_VIEWER)) {  			feh_action_run(FEH_FILE(winwid->file->data), opt.actions[action]); -			winwidget_destroy(winwid); + +			if (opt.hold_actions[action]) +				feh_reload_image(winwid, 1, 1); +			else +				winwidget_destroy(winwid);  		} else if (winwid->type == WIN_TYPE_THUMBNAIL)  			fputs("actions from the main thumb window aren't currently supported!\n"  					"For now, open the image to perform the action on it.\n", | 
