From fee966abf48a84814b7b50ccb8c0dd118d65f30f Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Thu, 18 Aug 2011 11:00:24 +0200 Subject: --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. --- ChangeLog | 5 +++++ man/feh.pre | 3 ++- src/keyevents.c | 11 ++++++++--- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9791bdf..c9753e7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +git HEAD + + * Reload image after executing an action with the hold-action flag set + + Tue, 16 Aug 2011 22:48:06 +0200 Daniel Friesel * 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", -- cgit v1.2.3