Loading src/menu.c +5 −2 Original line number Diff line number Diff line Loading @@ -1436,7 +1436,10 @@ void feh_menu_cb(feh_menu * m, feh_menu_item * i, int action, void *data) break; case CB_OPT_AUTO_ZOOM: MENU_ITEM_TOGGLE(i); opt.auto_zoom = MENU_ITEM_IS_ON(i) ? 1 : 0; if (MENU_ITEM_IS_ON(i)) opt.zoom_mode = ZOOM_MODE_FILL; else opt.zoom_mode = 0; winwidget_rerender_all(1, 1); break; } Loading Loading @@ -1488,7 +1491,7 @@ static feh_menu *feh_menu_func_gen_options(feh_menu * m) mm = feh_menu_new(); mm->name = estrdup("OPTIONS"); mm->fehwin = m->fehwin; feh_menu_add_toggle_entry(mm, "Auto-Zoom", NULL, NULL, CB_OPT_AUTO_ZOOM, NULL, NULL, opt.auto_zoom); feh_menu_add_toggle_entry(mm, "Auto-Zoom", NULL, NULL, CB_OPT_AUTO_ZOOM, NULL, NULL, (opt.zoom_mode == ZOOM_MODE_FILL)); feh_menu_add_toggle_entry(mm, "Freeze Window Size", NULL, NULL, CB_OPT_FREEZE_WINDOW, NULL, NULL, opt.geom_flags); feh_menu_add_toggle_entry(mm, "Fullscreen", NULL, NULL, Loading src/options.c +7 −2 Original line number Diff line number Diff line Loading @@ -523,7 +523,7 @@ static void feh_parse_option_array(int argc, char **argv) opt.full_screen = 1; break; case 'Z': opt.auto_zoom = 1; opt.zoom_mode = ZOOM_MODE_FILL; break; case 'U': opt.loadables = 1; Loading Loading @@ -693,6 +693,11 @@ static void feh_parse_option_array(int argc, char **argv) opt.menu_style = estrdup(optarg); break; case 205: if (!strcmp("fill", optarg)) opt.zoom_mode = ZOOM_MODE_FILL; else if (!strcmp("max", optarg)) opt.zoom_mode = ZOOM_MODE_MAX; else opt.default_zoom = atoi(optarg); break; case 206: Loading src/options.h +4 −1 Original line number Diff line number Diff line Loading @@ -27,6 +27,9 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #ifndef OPTIONS_H #define OPTIONS_H #define ZOOM_MODE_FILL 1 #define ZOOM_MODE_MAX 2 struct __fehoptions { unsigned char multiwindow; unsigned char montage; Loading @@ -51,7 +54,6 @@ struct __fehoptions { unsigned char randomize; unsigned char jump_on_resort; unsigned char full_screen; unsigned char auto_zoom; unsigned char draw_filename; unsigned char list; unsigned char quiet; Loading Loading @@ -120,6 +122,7 @@ struct __fehoptions { unsigned int geom_w; unsigned int geom_h; int default_zoom; int zoom_mode; unsigned char adjust_reload; unsigned char mode; Loading src/winwidget.c +1 −1 Original line number Diff line number Diff line Loading @@ -426,7 +426,7 @@ void winwidget_render_image(winwidget winwid, int resize, int alias) smaller = ((winwid->im_w < max_w) && (winwid->im_h < max_h)); if (!smaller || opt.auto_zoom) { if (!smaller || (opt.zoom_mode == ZOOM_MODE_FILL)) { double ratio = 0.0; /* Image is larger than the screen (so wants shrinking), or it's Loading Loading
src/menu.c +5 −2 Original line number Diff line number Diff line Loading @@ -1436,7 +1436,10 @@ void feh_menu_cb(feh_menu * m, feh_menu_item * i, int action, void *data) break; case CB_OPT_AUTO_ZOOM: MENU_ITEM_TOGGLE(i); opt.auto_zoom = MENU_ITEM_IS_ON(i) ? 1 : 0; if (MENU_ITEM_IS_ON(i)) opt.zoom_mode = ZOOM_MODE_FILL; else opt.zoom_mode = 0; winwidget_rerender_all(1, 1); break; } Loading Loading @@ -1488,7 +1491,7 @@ static feh_menu *feh_menu_func_gen_options(feh_menu * m) mm = feh_menu_new(); mm->name = estrdup("OPTIONS"); mm->fehwin = m->fehwin; feh_menu_add_toggle_entry(mm, "Auto-Zoom", NULL, NULL, CB_OPT_AUTO_ZOOM, NULL, NULL, opt.auto_zoom); feh_menu_add_toggle_entry(mm, "Auto-Zoom", NULL, NULL, CB_OPT_AUTO_ZOOM, NULL, NULL, (opt.zoom_mode == ZOOM_MODE_FILL)); feh_menu_add_toggle_entry(mm, "Freeze Window Size", NULL, NULL, CB_OPT_FREEZE_WINDOW, NULL, NULL, opt.geom_flags); feh_menu_add_toggle_entry(mm, "Fullscreen", NULL, NULL, Loading
src/options.c +7 −2 Original line number Diff line number Diff line Loading @@ -523,7 +523,7 @@ static void feh_parse_option_array(int argc, char **argv) opt.full_screen = 1; break; case 'Z': opt.auto_zoom = 1; opt.zoom_mode = ZOOM_MODE_FILL; break; case 'U': opt.loadables = 1; Loading Loading @@ -693,6 +693,11 @@ static void feh_parse_option_array(int argc, char **argv) opt.menu_style = estrdup(optarg); break; case 205: if (!strcmp("fill", optarg)) opt.zoom_mode = ZOOM_MODE_FILL; else if (!strcmp("max", optarg)) opt.zoom_mode = ZOOM_MODE_MAX; else opt.default_zoom = atoi(optarg); break; case 206: Loading
src/options.h +4 −1 Original line number Diff line number Diff line Loading @@ -27,6 +27,9 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #ifndef OPTIONS_H #define OPTIONS_H #define ZOOM_MODE_FILL 1 #define ZOOM_MODE_MAX 2 struct __fehoptions { unsigned char multiwindow; unsigned char montage; Loading @@ -51,7 +54,6 @@ struct __fehoptions { unsigned char randomize; unsigned char jump_on_resort; unsigned char full_screen; unsigned char auto_zoom; unsigned char draw_filename; unsigned char list; unsigned char quiet; Loading Loading @@ -120,6 +122,7 @@ struct __fehoptions { unsigned int geom_w; unsigned int geom_h; int default_zoom; int zoom_mode; unsigned char adjust_reload; unsigned char mode; Loading
src/winwidget.c +1 −1 Original line number Diff line number Diff line Loading @@ -426,7 +426,7 @@ void winwidget_render_image(winwidget winwid, int resize, int alias) smaller = ((winwid->im_w < max_w) && (winwid->im_h < max_h)); if (!smaller || opt.auto_zoom) { if (!smaller || (opt.zoom_mode == ZOOM_MODE_FILL)) { double ratio = 0.0; /* Image is larger than the screen (so wants shrinking), or it's Loading