From 7249321519036123ff06cdf210f278bf967a0b75 Mon Sep 17 00:00:00 2001 From: ulteq Date: Tue, 14 Aug 2018 14:15:23 +0200 Subject: [PATCH] Add an option to disable click to advance This allows the user to decouple the panning modifier from the next image modifier Closes: 411 --- src/events.c | 9 +++++++-- src/options.c | 4 ++++ src/options.h | 1 + 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/events.c b/src/events.c index 89eaab8a..ad521f88 100644 --- a/src/events.c +++ b/src/events.c @@ -219,8 +219,13 @@ static void feh_event_handle_ButtonPress(XEvent * ev) } else if (feh_is_bb(EVENT_pan, button, state)) { D(("Next button, but could be pan mode\n")); - opt.mode = MODE_NEXT; - winwid->mode = MODE_NEXT; + if (opt.disable_click_to_advance) { + opt.mode = MODE_PAN; + winwid->mode = MODE_PAN; + } else { + opt.mode = MODE_NEXT; + winwid->mode = MODE_NEXT; + } D(("click offset is %d,%d\n", ev->xbutton.x, ev->xbutton.y)); winwid->click_offset_x = ev->xbutton.x - winwid->im_x; winwid->click_offset_y = ev->xbutton.y - winwid->im_y; diff --git a/src/options.c b/src/options.c index af0f07dd..31d4bcaa 100644 --- a/src/options.c +++ b/src/options.c @@ -418,6 +418,7 @@ static void feh_parse_option_array(int argc, char **argv, int finalrun) {"conversion-timeout" , 1, 0, 245}, {"version-sort" , 0, 0, 246}, {"offset" , 1, 0, 247}, + {"disable_click_to_advance", 0, 0, 248}, {0, 0, 0, 0} }; int optch = 0, cmdx = 0; @@ -795,6 +796,9 @@ static void feh_parse_option_array(int argc, char **argv, int finalrun) opt.offset_flags = XParseGeometry(optarg, &opt.offset_x, &opt.offset_y, (unsigned int *)&discard, (unsigned int *)&discard); break; + case 248: + opt.disable_click_to_advance = 1; + break; default: break; } diff --git a/src/options.h b/src/options.h index 936b4bd1..d60f0a48 100644 --- a/src/options.h +++ b/src/options.h @@ -75,6 +75,7 @@ struct __fehoptions { unsigned char keep_zoom_vp; unsigned char insecure_ssl; unsigned char filter_by_dimensions; + unsigned char disable_click_to_advance; char *output_file; char *output_dir;