derf / feh

a fast and light image viewer
https://feh.finalrewind.org
Other
1.47k stars 158 forks source link

[Feature Request] Selectively apply -zoom fill option based on aspect ratio of image #522

Open copperheadclgp opened 4 years ago

copperheadclgp commented 4 years ago

I am using feh as the image viewer on a Raspberry Pi-based electronic picture frame, utilizing a 1920X1200 LCD screen in a landscape orientation. The source images are a mix of portrait and landscape photographs stored on a network share. I am currently running feh with the following options:

feh --fullscreen --recursive --randomize --auto-zoom "/path_to/Pictures" --slideshow-delay 15 --reload 86400 --hide-pointer

Generally, this works well. However, all of the images display with aspect ratio “black bars” - small for landscape and large for portrait. I would like to eliminate the black bars on my landscapes, so I run feh with the following options:

feh --fullscreen --recursive --randomize --zoom fill "/path_to/Pictures" --slideshow-delay 15 --reload 86400 --hide-pointer

Now, my landscape images look fantastic; although I am losing a little bit of the images top and bottom, they fill the entire screen without any black bars. However, my portrait images are now generally unviewable, as they have been zoomed to fill the entire screen, I am missing an enormous amount of the image and am only seeing the middle of the portrait

I would love to see an enhancement / feature / additional option which would perform a --zoom fill action only when the width > height | width < height, i.e.:

feh --fullscreen --recursive --randomize --zoom fill “%w>%h” "path_to/Pictures" --slideshow-delay 15 --reload 86400 --hide-pointer

Or, for a display oriented in portrait mode:

feh --fullscreen --recursive --randomize --zoom fill “%w<%h” "path_to/Pictures" --slideshow-delay 15 --reload 86400 --hide-pointer

Any images that don't meet these criteria would be handled the same as they would be with --auto-zoom.

ribbal commented 1 month ago

If I understand this correctly, it will result in black bars being shown selectively.

I have an alternative suggestion, which does away with the black bars and doesn't lose any of the image. See Add auto-pan to slideshow.