Newer
Older
.Nm feh
.Nd image viewer and cataloguer
.
Birte Kristina Friesel
committed
.
Birte Kristina Friesel
committed
.Pp
Birte Kristina Friesel
committed
.
Birte Kristina Friesel
committed
Compile-time switches: libcurl support $MAN_CURL$, natural sorting support
$MAN_VERSCMP$, Xinerama support
$MAN_XINERAMA$, builtin EXIF support $MAN_EXIF$$MAN_DEBUG$
is a mode-based image viewer.
It is especially aimed at command line users who need a fast image viewer
without huge GUI dependencies, though it can also be started by
Birte Kristina Friesel
committed
By default
.Pq unless arguments or a filelist are specified ,
Birte Kristina Friesel
committed
.Nm
displays all files in the current directory.
Birte Kristina Friesel
committed
.
Birte Kristina Friesel
committed
.
supports filelists, various image sorting modes, image captions, HTTP and more.
It can be controlled by configurable keyboard and mouse shortcuts, terminal
input and signals.
In many desktop environments,
.Nm
can also be used as wallpaper setter.
.
EXIF tags are supported either using exiv2 / exifgrep via
.Pq see the Sx USAGE EXAMPLES No section ,
or as a builtin feature by compiling
with exif=1. In this build of
.Nm ,
builtin EXIF support is $MAN_EXIF$.
is based on various modes, which are selected at startup by command line
Birte Kristina Friesel
committed
.
Birte Kristina Friesel
committed
.
Slideshow mode is the default.
It opens a window and displays the first image in it;
the slideshow position can be advanced
.Pq or otherwise changed
using keyboard and mouse shortcuts.
In slideshow mode, images can be deleted either from the filelist or from the
disk, a changed filelist can also be saved to the disk and reopened at a later
An image can also be read from stdin via
.Qq feh - .
Birte Kristina Friesel
committed
.
Birte Kristina Friesel
committed
.
Montage mode forms a montage from the filelist.
The resulting image can be viewed or saved,
and its size can be limited by height, width or both.
Birte Kristina Friesel
committed
.
Birte Kristina Friesel
committed
.
Index mode forms an index print from the filelist.
Image thumbnails are shown along with the filename,
filesize and pixel size, printed using a truetype
font of your choice.
The resulting image can be viewed or saved, and its size
can be limited by height, width or both.
Birte Kristina Friesel
committed
.
Birte Kristina Friesel
committed
.
Thumbnail mode is like index mode, but the mini-images are clickable and open
the selected image in a new window.
Birte Kristina Friesel
committed
.
Birte Kristina Friesel
committed
.
Multiwindow mode shows images in multiple windows, instead of as a slideshow
in one window.
Don't use with a large filelist ;)
Birte Kristina Friesel
committed
.
Birte Kristina Friesel
committed
.
List mode doesn't display images.
Instead, it outputs an
.Cm ls Ns No - Ns style
listing of the files in the filelist, including image info such as size, number
of pixels, type, etc.
There is also a Customlist mode which prints image info
in a custom format specified by a printf-like format string.
Birte Kristina Friesel
committed
.
Birte Kristina Friesel
committed
.
can also list either all the loadable files in a filelist or all the
unloadable files.
This is useful for preening a directory.
can open any format supported by Imlib2, most notably jpeg, png,
pnm, tiff, and bmp.
The gif format is also supported, but only for static images.
In case of animations, only the first frame will be shown.
.
If the convert binary
.Pq supplied by ImageMagick
is available, it also has limited support for many other filetypes, such as
.Cm --magick-timeout Ar num
with a non-negative value to enable it.
.It Cm -A , --action Oo Ar flag Oc Ns Oo [ Ar title ] Oc Ns Ar action
Birte Kristina Friesel
committed
.
Specify a shell command as an action to perform on the image.
In slideshow or multiwindow mode, the action will be run when
the action_0 key is pressed, in list mode, it will be run for each file.
In loadable/unloadable mode, it will be run for each loadable/unloadable
file, respectively.
In thumbnail mode, clicking on an image will cause the action to run instead
of opening the image.
Birte Kristina Friesel
committed
.
Birte Kristina Friesel
committed
.
If
.Ar flag
is
.Qq \&; ,
.Nm
will reload the current image instead of switching to the next one
.Pq slideshow mode
or closing the window
.Pq multiwindow mode
after
executing the action.
Birte Kristina Friesel
committed
.
is specified
.Pq note the literal Qo \&[ Qc and Qo ] Qc ,
.Cm --draw-actions
will display
.Ar title
instead of
.Ar action
.Ar title
must not start with a space.
If it does, the action is handled as if it did not have a title.
This special case exists for backwards compatibility reasons
and makes sure that actions like
.Qq \&[ -L %F \&] && foo
still work.
.
Birte Kristina Friesel
committed
.
The action will be executed by /bin/sh.
Use format specifiers to refer to image info, see
.Qq feh -A Qo mv ~/images/%N Qc * .
.It Cm --action1 No .. Cm --action9 Oo Ar flag Oc Ns Oo [ Ar title ] Oc Ns Ar action
Birte Kristina Friesel
committed
.
Extra actions which can be set and triggered using the appropriate number key.
.Pq optional feature, $MAN_EXIF$ in this build
Automatically rotate images based on EXIF data.
Does not alter the image files.
Birte Kristina Friesel
committed
.
Zoom pictures to screen size in fullscreen / fixed geometry mode.
Birte Kristina Friesel
committed
.
.It Cm --cache-size Ar size
.
Set Imlib2 in-memory cache to
.Ar size
MiB.
A higher cache size can significantly improve performance especially for small
slide shows, however at the cost of increased memory consumption.
.Ar size
must be between 0 and 2048 MiB and defaults to 4.
.
.It Cm -P , --cache-thumbnails
Birte Kristina Friesel
committed
.
Enable thumbnail caching in
.Pa ~/.thumbnails .
Birte Kristina Friesel
committed
Only works with thumbnails <= 256x256 pixels.
.It Cm -K , --caption-path Ar path
Birte Kristina Friesel
committed
.
Path to directory containing image captions.
This turns on caption viewing, and if captions are found in
.Ar path ,
which is relative to the directory of each image, they are overlayed on the
.Qq captions/ ,
and viewing image
.Qq images/foo.jpg ,
the caption will be looked for in
.Qq images/captions/foo.jpg.txt .
.It Cm -L , --customlist Ar format
Birte Kristina Friesel
committed
.
Don't display images, print image info according to
Birte Kristina Friesel
committed
.
Exit
.Nm
after one loop through the slideshow.
.It Cm -G , --draw-actions
Birte Kristina Friesel
committed
.
Draw the defined actions and what they do at the top-left of the image.
.It Cm --draw-exif
.
.Pq optional feature, $MAN_EXIF$ in this build
display some EXIF information in the bottom left corner, similar to using
.Cm --info
with exiv2 / exifgrep .
.
Birte Kristina Friesel
committed
.
Draw the filename at the top-left of the image.
Birte Kristina Friesel
committed
.It Cm --draw-tinted
.
Show overlay texts
.Pq as created by Cm --draw-filename No et al
on a semi-transparent background to improve their readability
.
.It Cm -f , --filelist Ar file
Birte Kristina Friesel
committed
.
This option is similar to the playlists used by music software.
If
.Ar file
exists, it will be read for a list of files to load, in the order they appear.
The format is a list of image filenames, absolute or relative to the current
directory, one filename per line.
.
.Pp
.
If
.Ar file
doesn't exist, it will be created from the internal filelist at the end of a
viewing session.
This is best used to store the results of complex sorts
.Pq Cm -Spixels No for example
for later viewing.
.
.Pp
.
Any changes to the internal filelist
.Pq such as deleting a file or it being pruned for being unloadable
will be saved to
.Ar file
when
.Nm
exits.
You can add files to filelists by specifying them on the command line
when also specifying the list.
.Pp
.
If
.Ar file
is
.Qq - ,
.Nm
will read the filelist from its standard input.
.
.It Cm -e , --font Ar font
Birte Kristina Friesel
committed
.
Should be a truetype font, resident in the current directory or the font
directory, and should be defined in the form fontname/points, like
Birte Kristina Friesel
committed
.
Specify
.Ar path
as extra directory in which to search for fonts; can be used multiple times to
add multiple paths.
Birte Kristina Friesel
committed
.
Disable antialiasing for zooming, background setting etc.
.
Birte Kristina Friesel
committed
.
Same as index mode, but with additional information below the thumbnails.
Works just like
.Qq feh --index --index-info \&"\&%n\en\&%S\en\&%wx\&%h\&" .
Enables
.Sx MONTAGE MODE OPTIONS .
.Pp
.
Note: This option needs to load all images to calculate the dimensions of the
.Nm
window, so when using it with many files it will take a while before a
.It Cm -F , --fullscreen
Birte Kristina Friesel
committed
.
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
.Ar zoom
of 100, in which case images will always be shown at 100% zoom, no matter
their dimensions.
Birte Kristina Friesel
committed
.Pp
.
When combined with
.Cm --thumbnails ,
this option only affects images opened from the thumbnail overview.
The thumbnail list itself will still be windowed.
Birte Kristina Friesel
committed
.
.It Cm -g , --geometry Ar width Cm x Ar height | Cm + Ar x Cm + Ar y | Ar width Cm x Ar height Cm + Ar x Cm + Ar y
Birte Kristina Friesel
committed
.
Limit (and don't change) the window size.
Takes an X-style geometry
like 640x480 with optional +x+y window offset.
Note that larger images will be zoomed out to fit, but you can see them at 1:1
Also note that this option does not enforce the geometry, changing it by a tiling
WM or manually is still possible.
After each resize, the resulting window size is used as the new size limit.
Birte Kristina Friesel
committed
.
.It Cm -Y , --hide-pointer
Birte Kristina Friesel
committed
.
.Pq useful for slideshows .
Birte Kristina Friesel
committed
.
Use
.Ar style
as background for transparent image parts and the like.
Accepted values: default, checks, or an XColor
.Pq eg. Qo black Qc or Qo #428bdd Qc .
.
In windowed mode, the default is checks
.Pq a checkered background so transparent image parts are easy to see .
In fullscreen and background setting mode, checks is not accepted and the
default is black.
Birte Kristina Friesel
committed
.
Enable Index mode.
Index mode is similar to montage mode, and accepts the same options.
It creates an index print of thumbnails, printing the image name beneath
each thumbnail.
Index mode enables certain other options, see
Birte Kristina Friesel
committed
.Sx INDEX AND THUMBNAIL MODE OPTIONS
and
.Sx MONTAGE MODE OPTIONS .
.It Cm --info Oo Ar flag Oc Ns Ar commandline
Birte Kristina Friesel
committed
.
and display its output in the bottom left corner of the image.
Can be used to display e.g. image dimensions or EXIF information.
Supports
If
.Ar flag
is set to
.Qo ; Qc ,
the output will not be displayed by default, but has to be enabled by the
toggle_info key.
.
Birte Kristina Friesel
committed
.
When viewing files using HTTP,
.Nm
normally deletes the local copies after viewing, or, if caching, on exit.
Birte Kristina Friesel
committed
This option permanently stores them on disk, either in the directory
specified by
.Cm --output-dir ,
or in the current working directory.
.It Cm --insecure
.
When viewing files with HTTPS, this option disables strict hostname and peer
This allows images on sites with self-signed certificates to be opened, but is
.It Cm --keep-zoom-vp
.
When switching images, keep zoom and viewport settings
.Pq zoom level and X, Y offsets
.
Birte Kristina Friesel
committed
.
Don't display images.
Analyze them and display an
listing.
Useful in scripts to hunt out images of a certain size/resolution/type etc.
Birte Kristina Friesel
committed
.
Don't display images.
Just print out their names if imlib2 can successfully load them.
Returns false if at least one image failed to load.
.It Cm --magick-timeout Ar timeout
.
Stop trying to convert unloadable files after
.Ar timeout
seconds.
A negative value disables covert / magick support altogether, a value
to try indefinitely.
By default, magick support is disabled.
Note that feh may clutter
.Pa /tmp
with temporary files created by ImageMagick for each failed conversion attempt.
This is a known bug.
.
.It Cm --max-dimension Ar width No x Ar height
.
Only show images with width <=
.Ar width
and height <=
.Ar height .
If you only care about one parameter, set the other to 0
.Pq or a negative value .
.
.It Cm -M , --menu-font Ar font
Birte Kristina Friesel
committed
.
Use
.Ar font
.Pq truetype, with size, like Qq yudit/12
as menu font.
.It Cm --min-dimension Ar width No x Ar height
.
Only show images with width >=
.Ar width
and height >=
.Ar height .
If you only care about one parameter, set the other to 0.
.
Birte Kristina Friesel
committed
.
Enable montage mode.
Montage mode creates a new image consisting of a grid of thumbnails of the
images in the filelist.
When montage mode is selected, certain other options become available.
See
Birte Kristina Friesel
committed
.
Disable slideshow mode.
With this setting, instead of opening multiple files in slideshow mode,
multiple windows will be opened; one per file.
Birte Kristina Friesel
committed
.
Don't jump to the first image after resorting the filelist.
Birte Kristina Friesel
committed
.
Birte Kristina Friesel
committed
.It Cm --no-screen-clip
Birte Kristina Friesel
committed
.
By default, window sizes are limited to the screen size.
With this option, windows will have the size of the image inside them.
Note that they may become very large this way, making them unmanageable
in certain window managers.
Birte Kristina Friesel
committed
.
.Pq optional feature, $MAN_XINERAMA$ in this build
Disable Xinerama support.
.It Cm -j , --output-dir Ar directory
Birte Kristina Friesel
committed
.
Birte Kristina Friesel
committed
.Pq only useful with -k .
By default, files are saved in the current working directory.
Birte Kristina Friesel
committed
.
Preload images.
This doesn't mean hold them in RAM, it means run through them and eliminate
unloadable images first.
Otherwise they will be removed as you flick through.
This also analyses the images to get data for use in sorting, such as pixel
size, type etc.
A preload run will be automatically performed if you specify one of these
sort modes.
Birte Kristina Friesel
committed
.
Don't report non-fatal errors for failed loads.
Verbose and quiet modes are not mutually exclusive, the first controls
informational messages, the second only errors.
Birte Kristina Friesel
committed
.
When viewing multiple files in a slideshow, randomize the file list before
displaying.
The list is re-randomized whenever the slideshow cycles (that is, transitions
from last to first image).
Birte Kristina Friesel
committed
.
Recursively expand any directories in the commandline arguments
to the content of those directories, all the way down to the bottom level.
.It Cm --no-recursive
.
Don't recursively expand any directories (enabled by default).
Useful to override theme options.
.
Birte Kristina Friesel
committed
.
seconds.
Useful for viewing HTTP webcams or frequently changing directories.
.Pq Note that the filelist reloading is still experimental.
Birte Kristina Friesel
committed
.Pp
.
will either show the next one or quit.
However, if an image still exists, but can no longer be loaded,
Birte Kristina Friesel
committed
.
Birte Kristina Friesel
committed
.
Reverse the sort order.
Use this to invert the order of the filelist.
E.g. to sort in reverse width order, use
.Cm -nSwidth .
Birte Kristina Friesel
committed
.
Scale images to fit window geometry (defaults to screen size when no geometry
was specified).
Note that the window geometry is not updated when changing images at the moment.
This option is recommended for tiling window managers.
Birte Kristina Friesel
committed
This option is ignored when in fullscreen and thumbnail list mode.
.Pp
.
In tiling environments, this also causes the image to be centered in the window.
.
.It Cm --scroll-step Ar count
.
Scroll
.Ar count
pixels whenever scroll_up, scroll_down, scroll_left or scroll_right is pressed.
Note that this option accepts negative numbers in case you need to inverse the
scroll direction; see
.Sx KEYS CONFIG SYNTAX
to change it permanently.
Default: 20
.
.It Cm -D , --slideshow-delay Ar float
Birte Kristina Friesel
committed
.
For slideshow mode, wait
.Ar float
seconds between automatically changing slides.
Useful for presentations.
Birte Kristina Friesel
committed
Specify a negative number to set the delay
.Pq which will then be Ar float No * (-1) ,
Birte Kristina Friesel
committed
.
The file list may be sorted according to image parameters.
Allowed sort types are: name, filename, dirname, mtime, width, height, pixels,
size, format.
For sort modes other than name, filename, dirname, or mtime, a preload run will
be necessary, causing a delay proportional to the number of images in the list.
The mtime sort mode sorts images by most recently modified.
To sort by oldest first, reverse the filelist with --reverse.
.It Cm -| , --start-at Ar filename
Birte Kristina Friesel
committed
.
Start the filelist at
.Ar filename .
Birte Kristina Friesel
committed
.
Note that at the moment,
.Ar filename
must match an
.Pq expanded
path in the filelist.
So, if the file to be matched is passed via an absolute path in the filelist,
Birte Kristina Friesel
committed
.Ar filename
must be an absolute path.
If the file is passed via a relative path,
Birte Kristina Friesel
committed
.Ar filename
must be an identical relative path.
This is a known issue.
Birte Kristina Friesel
committed
See also
Birte Kristina Friesel
committed
.
Load options from config file with name
.Ar theme
- see
for more info.
Note that commandline options always override theme options.
The theme can also be set via the program name
.Pq e.g. with symlinks ,
so by default
.Nm
will look for a
.Qq Nm
theme.
Birte Kristina Friesel
committed
.
Same as Index mode, but the thumbnails are clickable image launchers.
.Cm --fullscreen
and
.Cm --scale-down
do not affect the thumbnail window.
They do, however, work for image windows launched from thumbnail mode.
Birte Kristina Friesel
committed
.Sx INDEX AND THUMBNAIL MODE OPTIONS
as well as
.Sx MONTAGE MODE OPTIONS .
.It Cm -~ , --thumb-title Ar string
Birte Kristina Friesel
committed
.
Birte Kristina Friesel
committed
.
Set window title.
Applies to all windows except those opened from thumbnail mode.
See
Birte Kristina Friesel
committed
.
Don't display images.
Just print out their names if imlib2 can NOT successfully load them.
Returns false if at least one image was loadable.
Birte Kristina Friesel
committed
.
output useful information, progress bars, etc.
Birte Kristina Friesel
committed
.
output version information and exit.
.It Cm --version-sort
.
.Pq optional feature, $MAN_VERSCMP$ in this build
Use natural sorting for file and directory names.
In this mode, filenames are sorted as an ordinary human would expect, e.g.
.Qq 2.jpg
comes before
.Qq 10.jpg .
.
.It Cm --xinerama-index Ar screen
.
.Pq optional feature, $MAN_XINERAMA$ in this build
Override
.Nm Ns No 's
idea of the active Xinerama screen.
May be useful in certain circumstances where the window manager places the feh
window on Xinerama screen A while
.Nm
assumes that it will be placed on screen B.
.
.Pp
.
In background setting mode: When used with any option other than
.Cm --bg-tile :
Only set wallpaper on
.Ar screen .
All other screens will be filled black/white.
.
This is most useful in a Xinerama configuration with overlapping screens.
For instance, assume you have two overlapping displays (index 0 and 1),
where index 0 is smaller.
To center a background on the display with index 0 and fill the extra space
on index 1 black/white, use
.Qq --xinerama-index 0
when setting the wallpaper.
.
Birte Kristina Friesel
committed
.
when in full screen mode or when window geometry is fixed.
When combined with
.Cm --auto-zoom ,
zooming will be limited to the specified
.Ar percent .
Birte Kristina Friesel
committed
.Cm max
is like setting
.Cm --auto-zoom ,
using
These additional options can be used for index, montage and
.Pq partially
thumbnail mode.
Birte Kristina Friesel
committed
.
When drawing thumbnails onto the background, set their transparency level to
.Ar int
.Pq 0 - 255 .
Birte Kristina Friesel
committed
.
as background for your montage.
With this option specified, the montage size will default to the size of
if no size restrictions were specified.
Alternatively, if
.Ar file
is
.Qq trans ,
the background will be made transparent.
Birte Kristina Friesel
committed
.
By default, the montage thumbnails will retain their aspect ratios, while
fitting into thumb-width/-height.
This options forces them to be the size set by
.Cm --thumb-width No and Cm --thumb-height .
This will prevent any empty space in the final montage.
.It Cm -H , --limit-height Ar pixels
Birte Kristina Friesel
committed
.
Limit the height of the montage.
.It Cm -W , --limit-width Ar pixels
Birte Kristina Friesel
committed
.
Limit the width of the montage, defaults to 800 pixels.
.Pp
.
If both
.Cm --limit-width No and Cm --limit-height
are specified, the montage will be exactly
.Ar width No x Ar height
pixels in dimensions.
Birte Kristina Friesel
committed
.
Save the created montage to
.Ar file .
.It Cm -O , --output-only Ar file
Birte Kristina Friesel
committed
.
Just save the created montage to
.Ar file
without displaying it.
Birte Kristina Friesel
committed
.
Normally, if an image is smaller than the specified thumbnail size, it will
not be enlarged.
If this option is set, the image will be scaled up to fit the thumbnail size.
Aspect ratio will be maintained unless
.Cm --ignore-aspect
is specified.
.It Cm -E , --thumb-height Ar pixels
Birte Kristina Friesel
committed
.
.It Cm -y , --thumb-width Ar pixels
Birte Kristina Friesel
committed
.
Birte Kristina Friesel
committed
.Sh INDEX AND THUMBNAIL MODE OPTIONS
In addition to
.Sx MONTAGE MODE OPTIONS
.Cm --alpha , --bg , --limit-height , --limit-width , --output , --output-only ,
.Cm --thumb-height , --thumb-width ,
the following options can be used.
.
Birte Kristina Friesel
committed
.It Cm --index-info Ar format
.
Show image information based on
.Ar format
Birte Kristina Friesel
committed
.Sx FORMAT SPECIFIERS .
May contain newlines.
.
Use
.Qq --index-info ''
to display thumbnails without any info text
.
.Pp
.
Note: If you specify image-related formats
.Pq such as \&%w or \&%s ,
.Nm
needs to load all images to calculate the dimensions of its own window.
So when using them with many files, it will take a while before a
.Nm
Birte Kristina Friesel
committed
.Cm --preload
to get a progress bar.
.
.It Cm -@ , --title-font Ar font
Birte Kristina Friesel
committed
.
Set font to print a title on the index, if no font is specified, no title will
be printed.
.
.It Cm -J , --thumb-redraw Ar n
.
Redraw thumbnail window every
.Ar n
.Nm
<= 1.5, the thumbnail image used to be redrawn after every computed thumbnail
.Pq so, it updated immediately .
However, since the redrawing takes quite long
.Pq especially for thumbnail mode on a large filelist ,
this turned out to be a major performance penalty.
As a workaround, the thumbnail image is redrawn every 10th image now by default.
Set
.Ar n No = 1
to get the old behaviour,
.Ar n No = 0
will only redraw once all thumbnails are loaded.
.
.Sh BACKGROUND SETTING
In many desktop environments,
can also be used as a background setter.
Unless you pass the
.Cm --no-fehbg
option, it will write a script to set the current background to
.Pa ~/.fehbg .
So to have your background restored every time you start X, you can add
.Qq sh ~/.fehbg &
to your X startup script
.Pq such as Pa ~/.xinitrc .
As of
.Nm
2.13, this script is executable, so
.Qq ~/.fehbg &
will work as well.
Birte Kristina Friesel
committed
.
Birte Kristina Friesel
committed
.
Note that
.Nm
does not support setting the wallpaper of GNOME shell desktops.
In this environment, you can use
.Qq gsettings set org.gnome.desktop.background picture-uri file:/// Ns Ar path
instead.
.
.Pp
.
For
.Cm --bg-center , --bg-fill ,
.Cm --bg-max ,
you can use
to specify an offset from one side of the screen instead of centering the image.
Positive values will offset from the left/top side, negative values from the
bottom/right.
+0 and -0 are both valid and distinct values.
Note that all options except
.Cm --bg-tile