diff options
author | Daniel Friesel <derf@finalrewind.org> | 2011-06-06 09:17:48 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2011-06-06 09:17:48 +0200 |
commit | 481a0ec264aab1509f83334e66d929154ceb1d74 (patch) | |
tree | 525bb2da57f84bc793cc0f71f563c52a41906a91 | |
parent | 3d0806ca24bd8ae3c5547f4a03ee06b95f56cfdd (diff) | |
download | feh-481a0ec264aab1509f83334e66d929154ceb1d74.zip |
Respect --zoom 100 in --fullscreen mode (closes #47)
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | man/feh.pre | 8 | ||||
-rw-r--r-- | src/winwidget.c | 10 |
3 files changed, 17 insertions, 4 deletions
@@ -1,6 +1,9 @@ git HEAD * Fix --draw-filename "x of y" being cut off by short filenames + <https://github.com/derf/feh/issues/45> + * Use --zoom 100 to show all images at 100% in --fullscreen mode + <https://github.com/derf/feh/issues/47> Thu, 19 May 2011 22:32:42 +0200 Daniel Friesel <derf@finalrewind.org> diff --git a/man/feh.pre b/man/feh.pre index f87f0f8..c3da251 100644 --- a/man/feh.pre +++ b/man/feh.pre @@ -239,6 +239,14 @@ below each thumbnail. Enables .It Cm -F , --fullscreen . Make the window fullscreen. +Note that in this mode, large images will always be scaled down to fit the +screen, +.Cm --zoom Ar zoom +only affects smaller images and never scales larger than necessary to fit the +screen size. The only exception is a +.Ar zoom +of 100, in which case images will always be shown at 100% zoom, no matter +their dimensions. . .It Cm -g , --geometry Ar width No x Ar height . diff --git a/src/winwidget.c b/src/winwidget.c index 157817f..57a8b1d 100644 --- a/src/winwidget.c +++ b/src/winwidget.c @@ -464,10 +464,12 @@ void winwidget_render_image(winwidget winwid, int resize, int force_alias) double old_zoom = winwid->zoom; winwid->zoom = 0.01 * opt.default_zoom; - if ((winwid->im_h * winwid->zoom) > max_h) - winwid->zoom = old_zoom; - if ((winwid->im_w * winwid->zoom) > max_w) - winwid->zoom = old_zoom; + if (winwid->zoom != 1.0) { + if ((winwid->im_h * winwid->zoom) > max_h) + winwid->zoom = old_zoom; + else if ((winwid->im_w * winwid->zoom) > max_w) + winwid->zoom = old_zoom; + } winwid->im_x = ((int) (max_w - (winwid->im_w * winwid->zoom))) >> 1; |