summaryrefslogtreecommitdiff
path: root/src/slideshow.c
diff options
context:
space:
mode:
authorulteq <ulteq@web.de>2018-01-01 15:37:32 +0100
committerulteq <ulteq@web.de>2018-08-24 11:40:56 +0200
commitf3ea5c887e034f08d2735c7a32876f94ee9ef60a (patch)
tree39d9b9f7ce1c13f7528a15d59db45645ff0b18ed /src/slideshow.c
parentfd66a0f2a1352de36fa81004325df1040d1cde98 (diff)
Add --no-cycle option
Closes: #124
Diffstat (limited to 'src/slideshow.c')
-rw-r--r--src/slideshow.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/slideshow.c b/src/slideshow.c
index b27a7e8..77f5a82 100644
--- a/src/slideshow.c
+++ b/src/slideshow.c
@@ -215,6 +215,7 @@ void feh_reload_image(winwidget w, int resize, int force_new)
void slideshow_change_image(winwidget winwid, int change, int render)
{
gib_list *last = NULL;
+ gib_list *previous_file = current_file;
int i = 0;
int jmp = 1;
/* We can't use filelist_len in the for loop, since that changes when we
@@ -332,6 +333,12 @@ void slideshow_change_image(winwidget winwid, int change, int render)
last = NULL;
}
+ if (opt.no_cycle &&
+ ((current_file == filelist && change == SLIDE_NEXT) ||
+ (previous_file == filelist && change == SLIDE_PREV))) {
+ current_file = previous_file;
+ }
+
if (winwidget_loadimage(winwid, FEH_FILE(current_file->data))) {
int w = gib_imlib_image_get_width(winwid->im);
int h = gib_imlib_image_get_height(winwid->im);