From 2a981df18167cf8dd0a1310b03061010c8ef71dd Mon Sep 17 00:00:00 2001 From: Sven Willner Date: Thu, 24 Aug 2017 20:28:24 +0200 Subject: added inotify support --- src/options.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/options.c') diff --git a/src/options.c b/src/options.c index 56323a8..d06a4e7 100644 --- a/src/options.c +++ b/src/options.c @@ -409,6 +409,9 @@ static void feh_parse_option_array(int argc, char **argv, int finalrun) {"xinerama-index", 1, 0, 239}, {"insecure" , 0, 0, 240}, {"no-recursive" , 0, 0, 241}, +#ifdef HAVE_INOTIFY + {"inotify" , 0, 0, 243}, +#endif {0, 0, 0, 0} }; int optch = 0, cmdx = 0; @@ -734,6 +737,11 @@ static void feh_parse_option_array(int argc, char **argv, int finalrun) case 242: opt.auto_rotate = 1; break; +#endif +#ifdef HAVE_INOTIFY + case 243: + opt.inotify = 1; + break; #endif case 224: opt.cycle_once = 1; @@ -852,6 +860,10 @@ static void show_version(void) "exif " #endif +#ifdef HAVE_INOTIFY + "inotify " +#endif + #ifdef INCLUDE_HELP "help " #endif -- cgit v1.2.3 From f5ce98d3f379a810103e37fa36baf241668387f1 Mon Sep 17 00:00:00 2001 From: Sven Willner Date: Fri, 1 Sep 2017 18:16:45 +0200 Subject: changed option from inotify to auto-reload --- man/feh.pre | 10 +++++----- src/help.raw | 2 +- src/main.c | 8 ++++---- src/options.c | 4 ++-- src/options.h | 2 +- src/winwidget.c | 2 +- 6 files changed, 14 insertions(+), 14 deletions(-) (limited to 'src/options.c') diff --git a/man/feh.pre b/man/feh.pre index 19d6d6d..b258b2b 100644 --- a/man/feh.pre +++ b/man/feh.pre @@ -192,6 +192,11 @@ for details. Example usage: . Extra actions which can be set and triggered using the appropriate number key. . +.It Cm --auto-reload +. +.Pq only if compiled with inotify=1 +automatically reload shown image if file was changed +. .It Cm --auto-rotate . .Pq only if compiled with exif=1 @@ -397,11 +402,6 @@ is set to the output will not be displayed by default, but has to be enabled by the toggle_info key. . -.It Cm --inotify -. -.Pq only if compiled with inotify=1 -automatically reload shown image if file was changed -. .It Cm -k , --keep-http . When viewing files using HTTP, diff --git a/src/help.raw b/src/help.raw index 339e1f3..997a259 100644 --- a/src/help.raw +++ b/src/help.raw @@ -94,7 +94,7 @@ OPTIONS --min-dimension WxH Only show images with width >= W and height >= H --max-dimension WxH Only show images with width <= W and height <= H --scroll-step COUNT scroll COUNT pixels when movement key is pressed - --inotify automatically reload shown image if file was changed + --auto-reload automatically reload shown image if file was changed MONTAGE MODE OPTIONS -X, --ignore-aspect Set thumbnail to specified width/height without diff --git a/src/main.c b/src/main.c index e8c30e2..b935e53 100644 --- a/src/main.c +++ b/src/main.c @@ -59,10 +59,10 @@ int main(int argc, char **argv) init_keyevents(); init_buttonbindings(); #ifdef HAVE_INOTIFY - if (opt.inotify) { + if (opt.auto_reload) { opt.inotify_fd = inotify_init(); if (opt.inotify_fd < 0) { - opt.inotify = 0; + opt.auto_reload = 0; eprintf("inotify_init failed"); } } @@ -162,7 +162,7 @@ int feh_main_iteration(int block) if (control_via_stdin) FD_SET(STDIN_FILENO, &fdset); #ifdef HAVE_INOTIFY - if (opt.inotify) { + if (opt.auto_reload) { FD_SET(opt.inotify_fd, &fdset); if (opt.inotify_fd >= fdsize) fdsize = opt.inotify_fd + 1; @@ -250,7 +250,7 @@ void feh_clean_exit(void) free(opt.menu_font); #ifdef HAVE_INOTIFY - if (opt.inotify) + if (opt.auto_reload) if (close(opt.inotify_fd)) eprintf("inotify close failed"); #endif diff --git a/src/options.c b/src/options.c index d06a4e7..20e6272 100644 --- a/src/options.c +++ b/src/options.c @@ -410,7 +410,7 @@ static void feh_parse_option_array(int argc, char **argv, int finalrun) {"insecure" , 0, 0, 240}, {"no-recursive" , 0, 0, 241}, #ifdef HAVE_INOTIFY - {"inotify" , 0, 0, 243}, + {"auto-reload" , 0, 0, 243}, #endif {0, 0, 0, 0} }; @@ -740,7 +740,7 @@ static void feh_parse_option_array(int argc, char **argv, int finalrun) #endif #ifdef HAVE_INOTIFY case 243: - opt.inotify = 1; + opt.auto_reload = 1; break; #endif case 224: diff --git a/src/options.h b/src/options.h index 19ff55c..2cfef2f 100644 --- a/src/options.h +++ b/src/options.h @@ -54,7 +54,7 @@ struct __fehoptions { unsigned char auto_rotate; #endif #ifdef HAVE_INOTIFY - unsigned char inotify; + unsigned char auto_reload; int inotify_fd; #endif unsigned char list; diff --git a/src/winwidget.c b/src/winwidget.c index 039a582..b2c340e 100644 --- a/src/winwidget.c +++ b/src/winwidget.c @@ -794,7 +794,7 @@ void winwidget_inotify_remove(winwidget winwid) #ifdef HAVE_INOTIFY void winwidget_inotify_add(winwidget winwid, char *filename) { - if (opt.inotify) { + if (opt.auto_reload) { D(("Adding inotify watch for %s\n", filename)); winwid->inotify_wd = inotify_add_watch(opt.inotify_fd, filename, -- cgit v1.2.3