From c274eafe10f07a869bf61661e822696dcd92f5d8 Mon Sep 17 00:00:00 2001 From: Ernie Ewert Date: Sat, 15 Oct 2016 11:44:09 -0700 Subject: Added a "zoom fit" key binding for the current image. Fixed(?) Makefile document build issue for README.md --- Makefile | 4 ++-- src/keyevents.c | 16 +++++++++++++--- src/options.h | 1 + 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 258461e..7fd5c67 100644 --- a/Makefile +++ b/Makefile @@ -51,8 +51,8 @@ install-man: install-doc: @echo installing docs to ${doc_dir} @mkdir -p ${doc_dir} - @cp AUTHORS ChangeLog README TODO ${doc_dir} - @chmod 644 ${doc_dir}/AUTHORS ${doc_dir}/ChangeLog ${doc_dir}/README \ + @cp AUTHORS ChangeLog README.md TODO ${doc_dir} + @chmod 644 ${doc_dir}/AUTHORS ${doc_dir}/ChangeLog ${doc_dir}/README.md \ ${doc_dir}/TODO install-bin: diff --git a/src/keyevents.c b/src/keyevents.c index e691eaa..4385fc6 100644 --- a/src/keyevents.c +++ b/src/keyevents.c @@ -140,7 +140,7 @@ void init_keyevents(void) { feh_set_kb(&keys.toggle_aliasing, 0, XK_A, 0, 0, 0, 0); feh_set_kb(&keys.toggle_filenames, 0, XK_d, 0, 0, 0, 0); #ifdef HAVE_LIBEXIF - feh_set_kb(&keys.toggle_exif, 0, XK_e, 0, 0, 0, 0); + feh_set_kb(&keys.toggle_exif, 0, XK_e, 0, 0, 0, 0); #endif feh_set_kb(&keys.toggle_info, 0, XK_i, 0, 0, 0, 0); feh_set_kb(&keys.toggle_pointer, 0, XK_o, 0, 0, 0, 0); @@ -439,6 +439,8 @@ fehkey *feh_str_to_kb(char *action) return &keys.zoom_default; else if (!strcmp(action, "zoom_fit")) return &keys.zoom_fit; + else if (!strcmp(action, "zoom_fill")) + return &keys.zoom_fill; else if (!strcmp(action, "size_to_image")) return &keys.size_to_image; else if (!strcmp(action, "render")) @@ -653,6 +655,14 @@ void feh_event_handle_generic(winwidget winwid, unsigned int state, KeySym keysy winwidget_center_image(winwid); winwidget_render_image(winwid, 0, 0); } + else if (feh_is_kp(&keys.zoom_fill, state, keysym, button)) { + int save_zoom = opt.zoom_mode; + opt.zoom_mode = ZOOM_MODE_FILL; + feh_calc_needed_zoom(&winwid->zoom, winwid->im_w, winwid->im_h, winwid->w, winwid->h); + winwidget_center_image(winwid); + winwidget_render_image(winwid, 0, 0); + opt.zoom_mode = save_zoom; + } else if (feh_is_kp(&keys.render, state, keysym, button)) { if (winwid->type == WIN_TYPE_THUMBNAIL) feh_thumbnail_show_selected(); @@ -677,7 +687,7 @@ void feh_event_handle_generic(winwidget winwid, unsigned int state, KeySym keysy opt.draw_exif = !opt.draw_exif; winwidget_rerender_all(0); } -#endif +#endif else if (feh_is_kp(&keys.toggle_info, state, keysym, button)) { opt.draw_info = !opt.draw_info; winwidget_rerender_all(0); @@ -777,7 +787,7 @@ void feh_event_handle_generic(winwidget winwid, unsigned int state, KeySym keysy } #endif /* HAVE_LIBXINERAMA */ } - else if (feh_is_kp(&keys.reload_plus, state, keysym, button)){ + else if (feh_is_kp(&keys.reload_plus, state, keysym, button)){ if (opt.reload < SLIDESHOW_RELOAD_MAX) opt.reload++; else if (opt.verbose) diff --git a/src/options.h b/src/options.h index 0dee617..c7ce689 100644 --- a/src/options.h +++ b/src/options.h @@ -175,6 +175,7 @@ struct __fehkb { struct __fehkey zoom_out; struct __fehkey zoom_default; struct __fehkey zoom_fit; + struct __fehkey zoom_fill; struct __fehkey render; struct __fehkey toggle_actions; struct __fehkey toggle_filenames; -- cgit v1.2.3 From 32af3273533e7fc238ac310340224906bf0b9416 Mon Sep 17 00:00:00 2001 From: Ernie Ewert Date: Sat, 15 Oct 2016 11:58:17 -0700 Subject: Added missing man update --- man/feh.pre | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/man/feh.pre b/man/feh.pre index eff1241..2907bb2 100644 --- a/man/feh.pre +++ b/man/feh.pre @@ -1414,6 +1414,11 @@ Zoom to 100% . Zoom to fit the window size . +.It Ao keypad 5 Ac Bq zoom_fill +. +Zoom to fill the window size like +.Cm --bg-fill +. .El . .Ss MENU KEYS -- cgit v1.2.3 From 4b2cd1835a18dc0445c5ab4c14f80d1b664e626d Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Mon, 17 Oct 2016 21:05:57 +0200 Subject: Properly initialize zoom_fill key binding, set it to ! (exclamation mark) --- man/feh.pre | 2 +- src/keyevents.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/man/feh.pre b/man/feh.pre index 2907bb2..407d96f 100644 --- a/man/feh.pre +++ b/man/feh.pre @@ -1414,7 +1414,7 @@ Zoom to 100% . Zoom to fit the window size . -.It Ao keypad 5 Ac Bq zoom_fill +.It ! Bq zoom_fill . Zoom to fill the window size like .Cm --bg-fill diff --git a/src/keyevents.c b/src/keyevents.c index 4385fc6..7bfacc8 100644 --- a/src/keyevents.c +++ b/src/keyevents.c @@ -134,6 +134,7 @@ void init_keyevents(void) { feh_set_kb(&keys.zoom_out , 0, XK_Down , 0, XK_KP_Subtract,0, 0); feh_set_kb(&keys.zoom_default, 0, XK_KP_Multiply, 0, XK_asterisk,0, 0); feh_set_kb(&keys.zoom_fit , 0, XK_KP_Divide , 0, XK_slash , 0, 0); + feh_set_kb(&keys.zoom_fill , 0, XK_exclam , 0, 0 , 0, 0); feh_set_kb(&keys.size_to_image, 0, XK_w , 0, 0 , 0, 0); feh_set_kb(&keys.render , 0, XK_KP_Begin , 0, XK_R , 0, 0); feh_set_kb(&keys.toggle_actions, 0, XK_a, 0, 0, 0, 0); -- cgit v1.2.3