Skip to content
Snippets Groups Projects
feh.pre 35.5 KiB
Newer Older
.Dd $DATE$
.Nm feh
.Nd image viewer and cataloguer
.
.Nm
.Op Ar options
.Ar files or directories or URLs ...
Birte Kristina Friesel's avatar
Birte Kristina Friesel committed
This manual documents
.Nm
$VERSION$
Compile-time switches: libcurl support $MAN_CURL$, Xinerama support
$MAN_XINERAMA$, builtin EXIF support $MAN_EXIF$$MAN_DEBUG$
.Sh DESCRIPTION
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
file managers to view an image.
supports filelists, various image sorting modes, image captions, HTTP and more.
Configurable keyboard shortcuts are used to control it; the mouse is also
supported, but only required for very few actions.
.Pp
.
.Nm
can also be used as wallpaper setter.
.
.Pp
.
A little note about EXIF support: The recommended way to display EXIF data is
using exiv2 / exifgrep via
.Cm --info
.Pq see the Sx USAGE EXAMPLES No section .
However, if you compile feh with exif=1, you can also display it directly.
is based on various modes, which are selected at startup by command line
Slideshow mode is the default.  It opens one window and displays the first
image in it, the keyboard and mouse can be used to change slides
.Pq images .
In slideshow mode, images can be deleted either from the filelist or from the
disk, the new filelist can then be saved to the disk and reopened at a later
time.
An image can also be read from stdin via
.Qq feh - .
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.
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.
Thumbnail mode is like index mode, but the mini-images are clickable and open
the selected image in a new window.
Multiwindow mode shows images in multiple windows, instead of as a slideshow
in one window.  Don't use with a large filelist ;)
List mode doesn't display images.  Outputs an
.Cm ls - No style
listing of the files in the filelist, including image info such as size,
pixels, type, etc.  Customlist mode will display whatever image info you want,
in the format you choose.
can also list either all the loadable files in a filelist or all the
unloadable files.  Useful for preening a directory.
.
.Sh SUPPORTED FORMATS
.
.Nm
can open any format supported by Imlib2, most notably jpeg and png.
.
If the convert binary
.Pq supplied by ImageMagick
is available, it also has limited support for many other filetypes, such as
svg, xcf and otf. Use
.Cm --magick-timeout Ar num
with a non-negative value to enable it.
.
For animated images, only the first frame is shown.
.
.Bl -tag -width indent
.It Cm -A , --action Oo Ar flag Oc Ns Ar action
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.
If
.Ar flag
is
.Qq \&; ,
.Nm
will reload the current image instead of switching to the next one after
executing the action.
The action will be executed by /bin/sh.  Use format specifiers to refer to
image info.  See
.Sx FORMAT SPECIFIERS
for examples.  E.g.
.Qq feh -A "mv ~/images/%n" * .
In slideshow mode, the next image will be shown after running the action, in
multiwindow mode, the window will be closed.
.It Cm --action1 No .. Cm --action9
Extra actions which can be set and triggered using the appropriate number key.
.It Cm -Z , --auto-zoom
Zoom pictures to screen size in fullscreen / fixed geometry mode.
.It Cm -x , --borderless
Create borderless windows.
.It Cm -P , --cache-thumbnails
Enable thumbnail caching in
Only works with thumbnails <= 256x256 pixels.
.It Cm -K , --caption-path Ar path
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
displayed image.  E.g. with caption path
.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
Don't display images, print image info according to
instead.  See
.Sx FORMAT SPECIFIERS .
.It Cm --cycle-once
Birte Kristina Friesel's avatar
Birte Kristina Friesel committed
Exit
.Nm
after one loop through the slideshow.
.It Cm -G , --draw-actions
Draw the defined actions and what they do at the top-left of the image.
.It Cm --draw-exif
.
.Pq only if compiled with exif=1
display some EXIF information in the bottom left corner, similar to using
.Cm --info
with exiv2 / exifgrep .
.
.It Cm -d , --draw-filename
Draw the filename at the top-left of the image.
.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
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
.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
Set global font.  Should be a truetype font, resident in the current directory
or the font directory, and should be defined in the form fontname/points, like
.Qq myfont/12 .
.It Cm -C , --fontpath Ar path
Specify
.Ar path
as extra directory in which to search for fonts; can be used multiple times to
add multiple paths.
.It Cm --force-aliasing
Disable antialiasing for zooming, background setting etc.
.
.It Cm -I , --fullindex
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 .
Birte Kristina Friesel's avatar
Birte Kristina Friesel committed
.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
Birte Kristina Friesel's avatar
Birte Kristina Friesel committed
.Nm
window is visible.  Use
Birte Kristina Friesel's avatar
Birte Kristina Friesel committed
to get a progress bar.
.
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 Oo Ar width No x Ar height Oc Op + Ar x No + Ar y
Limit (and don't change) the window size.  Takes an X-style geometry
.Ar string
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
by clicking the zoom button.
Note that this option does not enforce the geometry, changing it by a tiling
WM or manually is still possible.
.
.It Cm -Y , --hide-pointer
Hide the pointer
.Pq useful for slideshows .
.It Cm -B , --image-bg Ar style
Use style as background for transparent image parts and the like.
Accepted values: checks (default), white, black.
.It Cm -i , --index
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
.Sx INDEX MODE OPTIONS
and
.Sx MONTAGE MODE OPTIONS .
.It Cm --index-info Ar format
.
Show image information based on
.Ar format
below thumbnails in index / thumbnail mode.  See
.Sx FORMAT SPECIFIERS .
May contain newlines.
.
Birte Kristina Friesel's avatar
Birte Kristina Friesel committed
.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
window becomes visible.  Use
Birte Kristina Friesel's avatar
Birte Kristina Friesel committed
to get a progress bar.
.
Birte Kristina Friesel's avatar
Birte Kristina Friesel committed
.It Cm --info Ar commandline
Birte Kristina Friesel's avatar
Birte Kristina Friesel committed
Execute
.Ar commandline
and display its output in the bottom left corner of the image.  Can be used to
Birte Kristina Friesel's avatar
Birte Kristina Friesel committed
display e.g. image dimensions or EXIF information.  Supports
.Sx FORMAT SPECIFIERS .
.
.It Cm -k , --keep-http
When viewing files using HTTP,
.Nm
normally deletes the local copies after viewing, or, if caching, on exit.
This option prevents this so that you get to keep the local copies.
They will be in
.Pa /tmp
with
.Qq Nm
in the name.
.It Cm --keep-zoom-vp
.
When switching images, keep zoom and viewport settings
.Pq zoom level and X, Y offsets
.
.It Cm -l , --list
Don't display images.  Analyze them and display an
.Xr ls 1 - No style
listing.  Useful in scripts to hunt out images of a certain
size/resolution/type etc.
.It Cm -U , --loadable
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
of zero causes
.Nm
to try indefinitely. By default, magick support is disabled.
.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 either something large
or -1.
.
.It Cm -M , --menu-font Ar font
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.
.
.It Cm -m , --montage
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
.Sx MONTAGE MODE OPTIONS .
.It Cm -w , --multiwindow
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-jump-on-resort
Don't jump to the first image after resorting the filelist.
.It Cm -N , --no-menus
Don't load or show any menus.
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.
.It Cm --no-xinerama
Disable Xinerama support.  Only makes sense when you have Xinerama support
compiled in.
.It Cm -j , --output-dir Ar directory
Save files to
.Ar directory
.Pq only useful with -k
.It Cm -p , --preload
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.
.It Cm -q , --quiet
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.
.It Cm -z , --randomize
When viewing multiple files in a slideshow, randomize the file list before
displaying.
.It Cm -r , --recursive
Recursively expand any directories in the commandline arguments
to the content of those directories, all the way down to the bottom level.
.It Cm -R , --reload Ar int
Reload filelist and current image after
seconds.  Useful for viewing HTTP webcams or frequently changing directories.
.Pq Note that the filelist reloading is still experimental.
Birte Kristina Friesel's avatar
Birte Kristina Friesel committed
If an image is removed,
.Nm
will either show the next one or quit.  However, if an image still exists, but
can no longer be loaded,
.Nm
will continue to try loading it.
.It Cm -n , --reverse
Reverse the sort order.  Use this to invert the order of the filelist.
E.g. to sort in reverse width order, use
.Cm -nSwidth .
.It Cm -. , --scale-down
When not in fullscreen: Scale images to screen size if they are too big.
.Pp
.
In tiling environments, this also causes the image to be centered in the window.
.
.It Cm -D , --slideshow-delay Ar float
For slideshow mode, wait
.Ar float
seconds between automatically changing slides.  Useful for presentations.
Specify a negative number to set the delay
.Pq which will then be Ar float No * (-1) ,
Birte Kristina Friesel's avatar
Birte Kristina Friesel committed
but start
.Nm
in paused mode.
.It Cm -S , --sort Ar sort_type
The file list may be sorted according to image parameters.  Allowed sort
guns's avatar
guns committed
types are: name, filename, mtime, width, height, pixels, size, format.  For sort
modes other than name, filename, or mtime, a preload run will be necessary,
causing a delay proportional to the number of images in the list.
guns's avatar
guns committed
.Pp
.
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
Start the filelist at
.Ar filename .
See
.Sx USAGE EXAMPLES .
.It Cm -T , --theme Ar theme
Load options from config file with name
.Ar theme
- see
.Sx THEMES CONFIG SYNTAX
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.
.It Cm -t , --thumbnails
Same as Index mode, but the thumbnails are clickable image launchers.
and
.Cm --scale-down
do not affect the thumbnail window. They do, however, work for image windows
launched from thumbnail mode.
Also supports
.Sx MONTAGE MODE OPTIONS .
.It Cm -~ , --thumb-title Ar string
Set
.Ar title
for windows opened from thumbnail mode.  See also
.Sx FORMAT SPECIFIERS .
.It Cm -^ , --title Ar title
Set window title.  Applies to all windows except those opened from thumbnail
mode.  See
.Sx FORMAT SPECIFIERS .
.It Cm -u , --unloadable
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.
.It Cm -V , --verbose
output useful information, progress bars, etc.
.It Cm -v , --version
output version information and exit.
.It Cm --zoom Ar percent No | Cm max No | Cm fill
Zoom images by
.Ar percent
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 .
is like setting
.Cm --auto-zoom ,
using
Birte Kristina Friesel's avatar
Birte Kristina Friesel committed
makes
.Nm
zoom the image like the
.Cm --bg-fill
.Sh MONTAGE MODE OPTIONS
These additional options can be used for index, montage and
.Pq partially
thumbnail mode.
.Bl -tag -width indent
.It Cm -a , --alpha Ar int
When drawing thumbnails onto the background, set their transparency level to
.Ar int
.Pq 0 - 255 .
.It Cm -b , --bg Ar file No | Cm trans
Use
.Ar file
as background for your montage.  With this option specified, the montage size
will default to the size of
.Ar file
if no size restrictions were specified.  Alternatively, if
.Ar file
is
.Qq trans ,
the background will be made transparent.
.It Cm -X , --ignore-aspect
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
Limit the height of the montage.
.It Cm -W , --limit-width Ar pixels
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.
.It Cm -o , --output Ar file
Save the created montage to
.Ar file .
.It Cm -O , --output-only Ar file
Just save the created montage to
.Ar file
without displaying it.
.It Cm -s , --stretch
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
Set thumbnail height.
.It Cm -y , --thumb-width Ar pixels
Set thumbnail width.
.It Cm -J , --thumb-redraw Ar n
Only relevant for
.Cm --thumbnails :
Redraw thumbnail window every
.Ar n
images.  In
.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 INDEX MODE OPTIONS
.Bl -tag -width indent
.It Cm -@ , --title-font Ar font
Set font to print a title on the index, if no font is specified, no title will
be printed.
.El
.
can also be used as a background setter.  Unless you pass the
.Cm --no-fehbg
option, it will store the command line necessary to set the background in
so to have your background restored every time you start X, you can add
.Qq eval $(cat ~/.fehbg)
to your X startup script
.Pq like Pa ~/.xinitrc .
Note that all options except
.Cm --bg-tile
Birte Kristina Friesel's avatar
Birte Kristina Friesel committed
support Xinerama.
For instance, if you have multiple screens connected and use e.g.
Birte Kristina Friesel's avatar
Birte Kristina Friesel committed
will center the image on each screen.
You may even specify more than one file, in that case, the first file is set
on screen 0, the second on screen 1, and so on.
Birte Kristina Friesel's avatar
Birte Kristina Friesel committed
Use
.Cm --no-xinerama
to treat the whole X display as one screen when setting wallpapers.
.
.Bl -tag -width indent
.
.It Cm --bg-center
Center the file on the background.  If it is too small, it will be surrounded
by a black border
.
.It Cm --bg-fill
Like
.Cm --bg-scale ,
but preserves aspect ratio by zooming the image until it fits.  Either a
horizontal or a vertical part of the image will be cut off
.
Like
.Cm --bg-fill ,
but scale the image to the maximum size that fits the screen with black borders on one side.
.
Fit the file into the background without repeating it, cutting off stuff or
using borders.  But the aspect ratio is not preserved either
.
.It Cm --bg-tile
Tile
.Pq repeat
the image in case it is too small for the screen
.
.It Cm --no-fehbg
.Sh FORMAT SPECIFIERS
.Bl -tag -width indent
Image path/filename
.It %F
.
Escaped image path/filename
.Pq for use in shell commands
.
Total number of files in filelist
.It %L
.
Temporary copy of filelist. Multiple uses of %L within the same format string will return the same copy.
.
.It %o
.
x,y offset of top-left image corner to window corner in pixels
.
Number of image pixels
Number of image pixels
.It %r
.
Image rotation. A half right turn equals pi.
.
Image size in bytes
Number of current file
.Sh CONFIGURATION
has three config files:
for theme definitions,
for key bindings and
.Pa buttons
for mouse button bindings.
It will try to read them from
.Pa $XDG_CONFIG_HOME/feh/ ,
which
.Pq when XDG_CONFIG_HOME is unset
defaults to
.Pa ~/.config/feh/ .
If the files are not found in that directory, it will also try
.Pa /etc/feh/ .
.Pp
All config files treat lines starting with a
.Qq #
character as comments.
Note that mid-line comments are not supported.
.
.Sh THEMES CONFIG SYNTAX
.Pa .config/feh/themes
allows the naming of option groups, called themes.
It takes entries of the form
.Qq Ar theme options ... ,
where
.Ar theme
is the name of the entry and
.Ar options
are the options which will be applied when the theme is used.
An example entry would be
.Qq imagemap -rVq --thumb-width 40 --thumb-height 30 .
Trevor Bramble's avatar
Trevor Bramble committed
You can use this theme in two ways.  Either call
.Qo
.Nm
-Timagemap *.jpg
.Qc
or create a symbolic link to
.Nm
with the name of the theme you want it to use.  So from the example above:
.Qo
ln -s `which
.Nm
` ~/bin/imagemap
.Qc .
Now just run
.Qq imagemap *.jpg
to use these options.
Note that you can split a theme over several lines by placing a backslash at
the end of a line, like in the shell.
You can combine these themes with commandline options.
.Sh KEYS CONFIG SYNTAX
.Pa .config/feh/keys
defines key bindings.
It has entries of the form
.Qq Ar action Op Ar key1 Op Ar key2 Op Ar key3 .
Each
.Ar key
is an X11 keysym name as shown by
.Xr xev 1 ,
like
.Qq Delete .
Birte Kristina Friesel's avatar
Birte Kristina Friesel committed
It may optionally start with modifiers for things like Control, in which case
.Ar key
looks like
.Ar mod Ns No - Ns Ar keysym
Birte Kristina Friesel's avatar
Birte Kristina Friesel committed
.Po
for example
.Qq C-Delete
for Ctrl+Delete or
.Qq C-1-Delete