Newer
Older
.Nm feh
.Nd image viewer and cataloguer
.
.Op Cm --
Birte Kristina Friesel
committed
.
Birte Kristina Friesel
committed
.Pp
Birte Kristina Friesel
committed
.
Compile-time switches in this build:
.
.Bl -bullet -compact
.
.It
Birte Kristina Friesel
committed
libcurl remote file support $MAN_CURL$
.
.It
Xinerama multi-monitor support $MAN_XINERAMA$
.
.It
Birte Kristina Friesel
committed
libexif builtin EXIF reader $MAN_EXIF$
.
.It
inotify-based auto-reload of changed files $MAN_INOTIFY$
.
.El
.
$MAN_DEBUG$
is a light-weight, configurable and versatile image viewer.
It is aimed at command line users, but can also be started from graphical file
managers.
Apart from viewing images, it can compile text and thumbnail
listings, show (un)loadable files, set X11 backgrounds, and more.
Birte Kristina Friesel
committed
.
Birte Kristina Friesel
committed
.
Features include filelists, various image sorting modes, custom action scripts,
and image captions.
can be controlled by configurable keyboard and mouse shortcuts, terminal
When no file arguments or filelists are specified and
.Cm --start-at
is not used,
displays all files in the current directory.
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,
size and dimensions, 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 file types, such as
If dcraw is available,
.Nm
also supports RAW files provided by cameras and will display the embedded
thumbnails.
with a non-negative value to enable support for these formats.
.Pp
.
As Imlib2 may take several seconds to determine whether it can load a file or
not
.Pq e.g. when attempting to open a large video ,
.Nm
checks each file's header before loading it.
If it looks like an image, it is passed on to Imlib2, otherwise, it is
assumed to be unloadable.
This greatly improves performance when working in directories with mixed files
.Pq i.e., directories which do not exclusively contain image files .
If you think that Imlib2 can load a file which
.Nm
has determined to be likely not an image, set the environment variable
.Qq FEH_SKIP_MAGIC
to pass all files directly to Imlib2, bypassing the header check.
The environment variable's value does not matter, it just needs to be set.
.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 %F ~/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.
.It Cm --auto-reload
.
.Pq optional feature, $MAN_INOTIFY$ in this build
automatically reload image when the underlying file changes.
Note that auto-reload
.Pq if enabled in the build
is on by default.
This option is only useful to re-enable auto-reload after it has been
disabled by a preceding
.Cm --reload=0
option.
.
Birte Kristina Friesel
committed
.Pp
.
Automatic reload is not supported in montage, index, or thumbnail mode.
.
.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
.
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.
Thumbnails are saved in
.Pa $XDG_CACHE_HOME/thumbnails ,
which defaults to
.Pa ~/.cache/thumbnails .
Note that thumbnails are only cached if the configured thumbnail size does
not exceed 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 --conversion-timeout Ar timeout
.
.Nm
can use ImageMagick to try converting unloadable files into a supported
file format.
As this can take a long time, it is disabled by default.
Set
.Ar timeout
to a non-negative value to enable it.
A positive value
specifies after how many seconds conversion attempts should be aborted,
zero causes
.Nm
to try indefinitely.
Negative values restore the default by disabling conversion altogether.
.
.It Cm --class Ar class
.
Set the X11 class hint to
.Ar class .
.
Default: feh
.
.It Cm -L , --customlist Ar format
Birte Kristina Friesel
committed
.
Don't display images, print image info according to
.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
.
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.
Birte Kristina Friesel
committed
.
Enable basic editing of files.
This makes rotation and mirroring
.Pq bound to Qo < Qc , Qo > Qc , Qo | Qc , and Qo _ Qc by default
change the underlying file and not just its displayed content.
.
.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 file names, absolute or relative to the current
directory, one file name 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/size, like
.Qq yudit/12
.Pq which is the default .
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 anti-aliasing 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
.Cm --zoom Ar zoom
only affects smaller images and never scales larger than necessary to fit the
of 100, in which case images will always be shown at 100% zoom.
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
.
Use a fixed window size as specified in the X-style geometry
.Ar string ,
e.g. 640x480.
An optional +x+y window offset can be specified.
Combine with
.Cm --scale-down
to scale down larger images like in fullscreen mode.
Note that this option does not enforce the window size; changing it by a tiling
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
Note that some shells treat the hash symbol as a special character, so you
may need to quote or escape it for the XColor code to work.
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,
.Cm 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 .
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.
.
When viewing files with HTTPS, this option disables all certificate checks.
It allows images on sites with self-signed or expired certificates to be
opened, but is no more secure than plain HTTP.
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 --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 --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.
.It Cm --no-conversion-cache
.
When loading images via HTTP, ImageMagick or dcraw,
.Nm
will only load/convert them once and re-use the cached file on subsequent
slideshow passes.
This option disables the cache.
It is also disabled when
.Cm --reload
is used.
Use it if you rely on frequently changing files loaded via one of these
sources.
Note that it will impair performance.
.
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 --on-last-slide Cm hold | Cm quit | Cm resume
.
Select behaviour when trying to select the next image on the last slide
.Pq or the previous image on the first slide
in a slide show.
.
.Pp
.
With
.Cm hold ,
.Nm
will stop advancing images in this case and continue displaying the first/last
image, respectively.
This is intended for linear slide shows.
Behaviour is unspecified when using other navigation commands than previous
and next image.
.
.Pp
.
.Cm quit
will cause
.Nm
to quit when trying to advance past the last image in the slide show.
.
.Pp
.
.Cm resume
is the default behaviour: On the last
.Pq first
image,
.Nm
will wrap around to the first
.Pq last
image.
.It Cm -j , --output-dir Ar directory
Birte Kristina Friesel
committed
.
when using
.Cm --keep-http
or the save_image or save_filelist command.
Birte Kristina Friesel
committed
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 command line arguments
to the content of those directories, all the way down to the bottom level.
Don't recursively expand any directories.
This is the default, but this option is useful to override themes containing
.Cm --recursive .
Birte Kristina Friesel
committed
.
seconds.
Useful for viewing HTTP webcams or frequently changing directories.
.Pq Note that filelist reloading is still experimental.
Set to zero to disable any kind of automatic reloading.
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
.
.Pp
.
Setting this option causes inotify-based auto-reload to be disabled.
Birte Kristina Friesel
committed
Reload is not supported in montage, index, or thumbnail mode.
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 reverse the
.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
.
Sort file list according to image parameters.
Allowed sort types are:
.Cm name , filename , dirname , mtime , width , height , pixels , size , format .
For sort modes other than
.Cm name , filename , dirname ,
or
.Cm mtime ,
a preload run is
necessary, causing a delay proportional to the number of images in the list.
.Cm mtime
.Cm width , height , pixels
and
.Cm size
start with the smallest.
Use
.Cm --reverse
to sort by oldest or largest first.
For
.Cm name , filename ,
and
you can use
.Cm --version-sort
to sort numbers naturally, so that e.g. 10.jpg comes after 2.jpg.
.It Cm -| , --start-at Ar filename
Birte Kristina Friesel
committed
.
Start the filelist at
.Ar filename .
If no other files or filelists were specified on the command line,
.Nm
will first load all files from the directory in which
Birte Kristina Friesel
committed
.Ar filename
resides.
This way, it's possible to look at a specific image and use the next / prev
keys to browse through the directory.
See
.Sx USAGE EXAMPLES
for examples.
is a remote URL and no files or filelists were specified,
.Nm
will show
.Ar filename
and not attempt to load additional files or directories.
.
.Pp
Birte Kristina Friesel
committed
.
Note: If you use relative paths in your filelist,
Birte Kristina Friesel
committed
.Ar filename
should also be a relative path.
If you use absolute paths, it should also be an absolute path.
.
If
.Nm
cannot find an exact match, it will compare basenames
.Pq filenames without the directory suffix .
This may lead to mismatches if several files in your filelist
have the same basename.
Birte Kristina Friesel
committed
.
Load options from config file with name
.Ar theme
- see
Note that command line 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.
When combined with
.Cm --sort name , --sort filename ,
or
.Cm --sort dirname :
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 .
Note that this option only has an effect when a sort mode is set using
.Cm --sort .
Birte Kristina Friesel
committed
.It Cm --window-id Ar windowid
.
Draw to an existing X11 window by its ID
.Ar windowid .
Birte Kristina Friesel
committed
This option is intended for use with software such as xcreensaver or
xsecurelock, which provide a window for other applications to draw into.
Unexpected things will happen if you specify a window belonging to software
which does not expect
.Nm
to draw into it or attempt to use options or keybindings which affect window
attributes, such as full-screen mode.
.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.
.
.Pp
.
Use
.Cm xrandr --listmonitor
to determine how Xinerama monitor IDs map to screens/monitors in your setup.
.
.
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
.It Cm --zoom-rate Ar ratio
.
Zoom images in and out by
.Ar ratio
.Pq default: 1.25
when using the zoom keys and buttons.