Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
FEH(1)			FreeBSD	General	Commands Manual			FEH(1)

     feh -- image viewer and cataloguer

     feh [options] [files | directories	| URLs ...]

     This manual documents feh 3.4.1

     Compile-time switches in this build:
     +o	 remote	file support: libcurl enabled
     +o	 natural sorting option	not available
     +o	 Xinerama multi-monitor	support	enabled
     +o	 builtin EXIF reader available
     +o	 inotify-based auto-reload of changed files disabled

     feh 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.

     Features include filelists, various image sorting modes, custom action
     scripts, and image	captions.  feh can be controlled by configurable key-
     board and mouse shortcuts,	terminal input and signals.  When no file ar-
     guments or	filelists are specified	and --start-at is not used, feh	dis-
     plays all files in	the current directory.

     EXIF tags are supported either using exiv2	/ exifgrep via --info (see the
     USAGE EXAMPLES section), or as a builtin feature by compiling feh with
     exif=1. In	this build of feh, builtin EXIF	support	is available.

     feh is based on various modes, which are selected at startup by command
     line options.

     Slideshow mode is the default.  It	opens a	window and displays the	first
     image in it; the slideshow	position can be	advanced (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 time.  An
     image can also be read from stdin via "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, size and dimensions, printed using a true-
     type 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.	Instead, it outputs an ls-style	list-
     ing of the	files in the filelist, including image info such as size, num-
     ber 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.

     feh can also list either all the loadable files in	a filelist or all the
     unloadable	files.	This is	useful for preening a directory.

     feh 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 im-
     ages.  In case of animations, only	the first frame	will be	shown.	If the
     convert binary (supplied by ImageMagick) is available, it also has	lim-
     ited support for many other file types, such as svg, xcf and otf.	If
     dcraw is available, feh also supports RAW files provided by cameras and
     will display the embedded thumbnails.  Use	--conversion-timeout timeout
     with a non-negative value to enable support for these formats.

     -A, --action [flag][[title]]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 load-
	     able/unloadable file, respectively.  In thumbnail mode, clicking
	     on	an image will cause the	action to run instead of opening the

	     If	flag is	";", feh will reload the current image instead of
	     switching to the next one (slideshow mode)	or closing the window
	     (multiwindow mode)	after executing	the action.  If	[title]	is
	     specified (note the literal "[" and "]"), --draw-actions will
	     display title instead of action in	the action list.  Note that
	     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 "[ -L	%F ] &&	foo" still work.

	     The action	will be	executed by /bin/sh.  Use format specifiers to
	     refer to image info, see FORMAT SPECIFIERS	for details.  Example
	     usage: "feh -A "mv	~/images/%N" *".

     --action1 .. --action9 [flag][[title]]action
	     Extra actions which can be	set and	triggered using	the appropri-
	     ate number	key.

	     (optional feature,	disabled in this build)	automatically reload
	     image when	the underlying file changes.  Note that	auto-reload
	     (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 --reload=0 option.

	     (optional feature,	available in this build) Automatically rotate
	     images based on EXIF data.	 Does not alter	the image files.

     -Z, --auto-zoom
	     Zoom pictures to screen size in fullscreen	/ fixed	geometry mode.

     -x, --borderless
	     Create borderless windows.

     --cache-size size
	     Set imlib2	in-memory cache	to size	MiB.  A	higher cache size can
	     significantly improve performance especially for small slide
	     shows, however at the cost	of increased memory consumption.  size
	     must be between 0 and 2048	MiB and	defaults to 4.

     -P, --cache-thumbnails
	     Enable thumbnail caching.	Thumbnails are saved in
	     $XDG_CACHE_HOME/thumbnails, which defaults	to
	     ~/.cache/thumbnails.  Note	that thumbnails	are only cached	if the
	     configured	thumbnail size does not	exceed 256x256 pixels.

     -K, --caption-path	path
	     Path to directory containing image	captions.  This	turns on cap-
	     tion viewing, and if captions are found in	path, which is rela-
	     tive to the directory of each image, they are overlayed on	the
	     displayed image.  E.g. with caption path "captions/", and viewing
	     image "images/foo.jpg", the caption will be looked	for in

     --conversion-timeout timeout
	     feh can use ImageMagick to	try converting unloadable files	into a
	     supported file format.  As	this can take a	long time, it is dis-
	     abled by default.	Set timeout to a non-negative value to enable
	     it.  A positive value specifies after how many seconds conversion
	     attempts should be	aborted, zero causes feh to try	indefinitely.
	     Negative values restore the default by disabling conversion alto-

     --class class
	     Set the X11 class hint to class.  Default:	feh

     -L, --customlist format
	     Don't display images, print image info according to format	in-
	     stead.  See FORMAT	SPECIFIERS.

     -G, --draw-actions
	     Draw the defined actions and what they do at the top-left of the

	     (optional feature,	available in this build) display some EXIF in-
	     formation in the bottom left corner, similar to using --info with
	     exiv2 / exifgrep.

     -d, --draw-filename
	     Draw the file name	at the top-left	of the image.

	     Show overlay texts	(as created by --draw-filename et al) on a
	     semi-transparent background to improve their readability.

     --edit  Enable basic editing of files.  This makes	rotation and mirroring
	     (bound to "<", ">", "|", and "_" by default) change the underly-
	     ing file and not just its displayed content.

     -f, --filelist file
	     This option is similar to the playlists used by music software.
	     If	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

	     If	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	(-Spixels for example) for
	     later viewing.

	     Any changes to the	internal filelist (such	as deleting a file or
	     it	being pruned for being unloadable) will	be saved to file when
	     feh exits.	 You can add files to filelists	by specifying them on
	     the command line when also	specifying the list.

	     If	file is	"-", feh will read the filelist	from its standard in-

     -e, --font	font
	     Set global	font.  Should be a truetype font, resident in the cur-
	     rent directory or the font	directory, and should be defined in
	     the form fontname/points, like "myfont/12".

     -C, --fontpath path
	     Specify path as extra directory in	which to search	for fonts; can
	     be	used multiple times to add multiple paths.

	     Disable anti-aliasing for zooming,	background setting etc.

     -I, --fullindex
	     Same as index mode, but with additional information below the
	     thumbnails.  Works	just like "feh --index --index-info
	     "%n\n%S\n%wx%h"".	Enables	MONTAGE	MODE OPTIONS.

	     Note: This	option needs to	load all images	to calculate the di-
	     mensions of the feh window, so when using it with many files it
	     will take a while before a	feh window is visible.	Use --preload
	     to	get a progress bar.

     -F, --fullscreen
	     Make the window fullscreen.  Note that in this mode, large	images
	     will always be scaled down	to fit the screen, and --zoom zoom
	     only affects smaller images and never scales larger than neces-
	     sary to fit the screen size.  The only exception is a zoom	of
	     100, in which case	images will always be shown at 100% zoom.

	     When combined with	--thumbnails, this option only affects images
	     opened from the thumbnail overview.  The thumbnail	list itself
	     will still	be windowed.

     -g, --geometry width x height | + x + y | width x height +	x + y
	     Use a fixed window	size as	specified in the X-style geometry
	     string, e.g. 640x480.  An optional	+x+y window offset can be
	     specified.	 Combine with --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 WM or manually is	still
	     possible.	However, auto-resize remains disabled.

     -Y, --hide-pointer
	     Hide the pointer (useful for slideshows).

     -B, --image-bg style
	     Use style as background for transparent image parts and the like.
	     Accepted values: default, checks, or an XColor (e.g. "black" or
	     "#428bdd").  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 (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.

     -i, --index
	     Enable Index mode.	 Index mode is similar to montage mode,	and
	     accepts the same options.	It creates an index print of thumb-
	     nails, printing the image name beneath each thumbnail.  Index
	     mode enables certain other	options, see INDEX AND THUMBNAIL MODE

     --info [flag]command_line
	     Execute command_line and display its output in the	bottom left
	     corner of the image.  Can be used to display e.g. image dimen-
	     sions or EXIF information.	 Supports FORMAT SPECIFIERS.  If flag
	     is	set to ";", 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 certifi-
	     cate checks.  It allows images on sites with self-signed or ex-
	     pired certificates	to be opened, but is no	more secure than plain

     -k, --keep-http
	     When viewing files	using HTTP, feh	normally deletes the local
	     copies after viewing, or, if caching, on exit.  This option per-
	     manently stores them on disk, either in the directory specified
	     by	--output-dir, or in the	current	working	directory.

	     When switching images, keep zoom and viewport settings (zoom
	     level and X, Y offsets)

     -l, --list
	     Don't display images.  Analyze them and display an	ls(1) -	style
	     listing.  Useful in scripts to hunt out images of a certain
	     size/resolution/type etc.

     -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.

     --max-dimension width x height
	     Only show images with width <= width and height <=	height.	 If
	     you only care about one parameter,	set the	other to 0 (or a
	     negative value).

     -M, --menu-font font
	     Use font (truetype, with size, like "yudit/12") as	menu font.

     --min-dimension width x height
	     Only show images with width >= width and height >=	height.	 If
	     you only care about one parameter,	set the	other to 0.

     -m, --montage
	     Enable montage mode.  Montage mode	creates	a new image consisting
	     of	a grid of thumbnails of	the images in the filelist.  When mon-
	     tage mode is selected, certain other options become available.

     -w, --multiwindow
	     Disable slideshow mode.  With this	setting, instead of opening
	     multiple files in slideshow mode, multiple	windows	will be
	     opened; one per file.

	     When loading images via HTTP, ImageMagick or dcraw, feh 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 --reload is used.  Use it if	you rely on frequently
	     changing files loaded via one of these sources.  Note that	it
	     will impair performance.

	     Don't jump	to the first image after resorting the filelist.

     -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	unman-
	     ageable in	certain	window managers.

	     (optional feature,	enabled	in this	build) Disable Xinerama	sup-

     --on-last-slide hold | quit | resume
	     Select behaviour when trying to select the	next image on the last
	     slide (or the previous image on the first slide) in a slide show.

	     With hold,	feh will stop advancing	images in this case and	con-
	     tinue displaying the first/last image, respectively.  This	is in-
	     tended for	linear slide shows.  Behaviour is unspecified when us-
	     ing other navigation commands than	previous and next image.

	     quit will cause feh to quit when trying to	advance	past the last
	     image in the slide	show.

	     resume is the default behaviour: On the last (first) image, feh
	     will wrap around to the first (last) image.

     -j, --output-dir directory
	     Save files	to directory when using	--keep-http or the save_image
	     command.  By default, files are saved in the current working di-

     -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.

     -q, --quiet
	     Don't report non-fatal errors for failed loads.  Verbose and
	     quiet modes are not mutually exclusive, the first controls	infor-
	     mational messages,	the second only	errors.

     -z, --randomize
	     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).

     -r, --recursive
	     Recursively expand	any directories	in the command line arguments
	     to	the content of those directories, all the way down to the bot-
	     tom level.

	     Don't recursively expand any directories.	This is	the default,
	     but this option is	useful to override themes containing

     -R, --reload int
	     Reload filelist and current image after int seconds.  Useful for
	     viewing HTTP webcams or frequently	changing directories.  (Note
	     that filelist reloading is	still experimental.) Set to zero to
	     disable any kind of automatic reloading.

	     If	an image is removed, feh will either show the next one or
	     quit.  However, if	an image still exists, but can no longer be
	     loaded, feh will continue to try loading it.

	     Setting this option causes	inotify-based auto-reload to be	dis-

     -n, --reverse
	     Reverse the sort order.  Use this to invert the order of the
	     filelist.	E.g. to	sort in	reverse	width order, use -nSwidth.

     -., --scale-down
	     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 rec-
	     ommended for tiling window	managers.  This	option is ignored when
	     in	fullscreen and thumbnail list mode.

	     In	tiling environments, this also causes the image	to be centered
	     in	the window.

     --scroll-step count
	     Scroll count pixels whenever scroll_up, scroll_down, scroll_left
	     or	scroll_right is	pressed.  Note that this option	accepts	nega-
	     tive numbers in case you need to reverse the scroll direction.
	     See KEYS CONFIG SYNTAX for	how to reverse it permanently.	De-
	     fault: 20

     -D, --slideshow-delay float
	     For slideshow mode, wait float seconds between automatically
	     changing slides.  Useful for presentations.  Specify a negative
	     number to set the delay (which will then be float * (-1)),	but
	     start feh in paused mode.

     -S, --sort	sort_type
	     Sort file list 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 is necessary,	causing	a delay	proportional
	     to	the number of images in	the list.

	     mtime starts with the most	recently modified image.  width,
	     height, pixels and	size start with	the smallest.  Use --reverse
	     to	sort by	oldest or largest first.

	     For name, filename, and dirname you can use --version-sort	to
	     sort numbers naturally, so	that e.g. 10.jpg comes after 2.jpg.

     -|, --start-at filename
	     Start the filelist	at filename.  If no other files	or filelists
	     were specified on the command line, feh will first	load all files
	     from the directory	in which 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 USAGE EXAMPLES for exam-
	     ples.  If filename	is a remote URL	and no files or	filelists were
	     specified,	feh will show filename and not attempt to load addi-
	     tional files or directories.

	     Note: If you use relative paths in	your filelist, filename	should
	     also be a relative	path.  If you use absolute paths, it should
	     also be an	absolute path.	If feh cannot find an exact match, it
	     will compare basenames (filenames without the directory suffix).
	     This may lead to mismatches if several files in your filelist
	     have the same basename.

     -T, --theme theme
	     Load options from config file with	name theme - see THEMES	CONFIG
	     SYNTAX for	more info.  Note that command line options always
	     override theme options.  The theme	can also be set	via the	pro-
	     gram name (e.g. with symlinks), so	by default feh will look for a
	     "feh" theme.

     -t, --thumbnails
	     Same as Index mode, but the thumbnails are	clickable image
	     launchers.	 Note that --fullscreen	and --scale-down do not	affect
	     the thumbnail window.  They do, however, work for image windows
	     launched from thumbnail mode.  Also supports INDEX	AND THUMBNAIL

     -~, --thumb-title string
	     Set title for windows opened from thumbnail mode.	See also

     -^, --title title
	     Set window	title.	Applies	to all windows except those opened
	     from thumbnail mode.  See FORMAT SPECIFIERS.

     -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.

     -V, --verbose
	     output useful information,	progress bars, etc.

     -v, --version
	     output version information	and exit.

	     (optional feature,	not available in this build) When combined
	     with --sort name, --sort filename,	or --sort dirname: use natural
	     sorting for file and directory names.  In this mode, filenames
	     are sorted	as an ordinary human would expect, e.g.	 "2.jpg" comes
	     before "10.jpg".  Note that this option only has an effect	when a
	     sort mode is set using --sort.

     --xinerama-index screen
	     (optional feature,	enabled	in this	build) Override	feh's idea of
	     the active	Xinerama screen.  May be useful	in certain circum-
	     stances where the window manager places the feh window on Xin-
	     erama screen A while feh assumes that it will be placed on	screen

	     In	background setting mode: When used with	any option other than
	     --bg-tile:	Only set wallpaper on screen.  All other screens will
	     be	filled black/white.  This is most useful in a Xinerama config-
	     uration 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
	     "--xinerama-index 0" when setting the wallpaper.

     --zoom percent | max | fill
	     Zoom images by percent when in full screen	mode or	when window
	     geometry is fixed.	 When combined with --auto-zoom, zooming will
	     be	limited	to the specified percent.  Specifying max is like set-
	     ting --auto-zoom, using fill makes	feh zoom the image like	the
	     --bg-fill mode.

     These additional options can be used for index, montage and (partially)
     thumbnail mode.

     -a, --alpha int
	     When drawing thumbnails onto the background, set their transpar-
	     ency level	to int (0 - 255).

     -b, --bg file | trans
	     Use file as background for	your montage.  With this option	speci-
	     fied, the montage size will default to the	size of	file if	no
	     size restrictions were specified.	Alternatively, if file is
	     "trans", the background will be made transparent.

     -X, --ignore-aspect
	     By	default, the montage thumbnails	will retain their aspect ra-
	     tios, while fitting into thumb-width/-height.  This options
	     forces them to be the size	set by --thumb-width and
	     --thumb-height.  This will	prevent	any empty space	in the final

     -H, --limit-height	pixels
	     Limit the height of the montage.

     -W, --limit-width pixels
	     Limit the width of	the montage, defaults to 800 pixels.

	     If	both --limit-width and --limit-height are specified, the mon-
	     tage will be exactly width	x height pixels	in dimensions.

     -o, --output file
	     Save the created montage to file.

     -O, --output-only file
	     Just save the created montage to file without displaying it.

     -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 --ignore-aspect is specified.

     -E, --thumb-height	pixels
	     Set thumbnail height.

     -y, --thumb-width pixels
	     Set thumbnail width.

     In	addition to MONTAGE MODE OPTIONS --alpha, --bg,	--limit-height,
     --limit-width, --output, --output-only, --thumb-height, --thumb-width,
     the following options can be used.

     --index-info format
	     Show image	information based on format below thumbnails in	index
	     / thumbnail mode.	See FORMAT SPECIFIERS.	May contain newlines.
	     Use "--index-info ''" to display thumbnails without any info text

	     Note: If you specify image-related	formats	(such as %w or %s),
	     feh 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 feh	window becomes visible.	 Use --preload to get
	     a progress	bar.

     -@, --title-font font
	     Set font to print a title on the index, if	no font	is specified,
	     no	title will be printed.

     -J, --thumb-redraw	n
	     Redraw thumbnail window every n images while generating thumb-
	     nails.  Redrawing takes quite long, so the	default	is 10.	Set n
	     = 1 to update the thumbnail window	immediately.  With n = 0,
	     there will	only be	one redraw once	all thumbnails are loaded.

     In	many desktop environments, feh can also	be used	as a background	set-
     ter.  Unless you pass the --no-fehbg option, it will write	a script to
     set the current background	to ~/.fehbg.  So to have your background re-
     stored every time you start X, you	can add	"~/.fehbg &" to	your X startup
     script (such as ~/.xinitrc).  Note	that the commandline written to
     ~/.fehbg always includes the --no-fehbg option to ensure that it is not
     inadvertently changed by differences in X11 screen	layout or similar.

     Note that feh does	not support setting the	wallpaper of GNOME shell desk-
     tops.  In this environment, you can use "gsettings	set
     org.gnome.desktop.background picture-uri file:///path" instead.

     For --bg-center, --bg-fill, and --bg-max, you can use --geometry to spec-
     ify 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 --bg-tile support Xinerama.  For instance,
     if	you have multiple screens connected and	use e.g.  --bg-center, feh
     will center or appropriately offset 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.

     Use --no-xinerama to treat	the whole X display as one screen when setting
     wallpapers.  You may also use --xinerama-index to use feh as a background
     setter for	a specific screen.

	     Center the	file on	the background.	 If it is too small, it	will
	     be	surrounded by a	border as specified by --image-bg.

	     Like --bg-scale, but preserves aspect ratio by zooming the	image
	     until it fits.  Either a horizontal or a vertical part of the im-
	     age will be cut off

	     Like --bg-fill, but scale the image to the	maximum	size that fits
	     the screen	with borders on	one side.  The border color can	be set
	     using --image-bg.

	     Fit the file into the background without repeating	it, cutting
	     off stuff or using	borders.  But the aspect ratio is not pre-
	     served either

	     Tile (repeat) the image in	case it	is too small for the screen

	     Do	not write a ~/.fehbg file

     %f	     Image path/filename

     %F	     Escaped image path/filename (for use in shell commands)

     %g	     w,h window	dimensions in pixels (mnemonic:	geometry)

     %h	     Image height

     %l	     Total number of files in filelist

     %L	     Temporary copy of filelist.  Multiple uses	of %L within the same
	     format string will	return the same	copy.

     %m	     Current mode

     %n	     Image name

     %N	     Escaped image name

     %o	     x,y offset	of top-left image corner to window corner in pixels

     %p	     Number of image pixels

     %P	     Number of image pixels in human-readable format with k/M
	     (kilopixels / megapixels) suffix

     %r	     Image rotation.  A	half right turn	equals pi.

     %s	     Image size	in bytes

     %S	     Human-readable image size (kB / MB)

     %t	     Image format

     %u	     Number of current file

     %w	     Image width

     %v	     feh version

     %V	     Process ID

     %z	     Current image zoom, rounded to two	decimal	places

     %Z	     Current image zoom, higher	precision

     %%	     A literal %

     feh has three config files: themes	for theme definitions, keys for	key
     bindings and buttons for mouse button bindings.  It will try to read them
     from $XDG_CONFIG_HOME/feh/, which (when XDG_CONFIG_HOME is	unset) de-
     faults to ~/.config/feh/.	If the files are not found in that directory,
     it	will also try /etc/feh/.

     All config	files treat lines starting with	a "#" character	as comments.
     Comments at the end of a line are not supported.

     .config/feh/themes	allows the naming of option groups, called themes.

     It	takes entries of the form "theme options ...", where theme is the name
     of	the entry and options are the options which will be applied when the
     theme is used.

     Note that the option parser does not behave like a	normal shell: filename
     expansion and backslash escape sequences are not supported	and passed to
     feh's option parser as-is.	 However, quoting of arguments is respected
     and can be	used for arguments with	whitespace.  So, the sequence "--info
     "foo bar""	works as intended (that	is, it display the string "foo bar"),
     whereas the option	string "--info foo\ bar" will only display "foo\" and
     complain about the	file bar not existing.	Please keep this in mind when
     writing theme files.

     An	example	entry is "imagemap -rVq	--thumb-width 40 --thumb-height	30
     --index-info '%n\n%wx%h'".

     You can use this theme in two ways.  Either call "feh -Timagemap *.jpg",
     or	create a symbolic link to feh with the name of the theme you want it
     to	use.  For the example above, this would	be "ln -s `which feh `
     ~/bin/imagemap".  Now just	run "imagemap *.jpg" to	use these options.

     Note that you can split a theme over several lines	by placing a backslash
     at	the end	of an unfinished line.	A single option-argument-pair must not
     span multiple lines.  A single line must not be longer than 1023 charac-
     ters, but there's no upper	limit for the length of	a theme.

     Command line options always override theme	options.

     .config/feh/keys defines key bindings.  It	has entries of the form
     "action [key1 [key2 [key3]]]".

     Each key is an X11	keysym name as shown by	xev(1),	like "Delete".	It may
     optionally	start with modifiers for things	like Control, in which case
     key looks like mod-keysym (for example "C-Delete" for Ctrl+Delete or
     "C-1-Delete" for Ctrl+Alt+Delete)

     Available modifiers are C for Control, S for Shift	and 1, 4 for Mod1 and
     Mod4.  To match an	uppercase letter like "S" instead of "s", the Shift
     modifier is not required.

     Specifying	an action without any keys unbinds it (i.e. the	default	bind-
     ings are removed).

     Note: Do not use the same keybinding for multiple actions.	 When binding
     an	action to a new	key (or	mouse button), make sure to unbind it from its
     previous action, if present.  feh does not	check for conflicting bind-
     ings, so their behaviour is undefined.

     For a list	of the action names, see KEYS.	Note that not all of the key
     names used	there correspond to X11	keysyms.  Most notably,	page up	(Prior
     / Page_Up), page down (Next / Page_Down) and the keypad keys (KP_*) do

     The following actions and default key bindings can	be used	in an image
     window.  (The strings in [square brackets]	are the	config action names).
     If	feh is running inside a	terminal and its standard input	is not used
     for images	or filelists, key input	from the terminal is also accepted.
     However, terminal input support is	currently limited to most alphanumeric
     characters	(0-9 a-z A-Z and some more), arrow keys, return	and backspace.
     The Alt (Mod1) modifier is	also supported.

     a [toggle_actions]
	     Toggle actions display (see --draw-actions)

     A [toggle_aliasing]
	     Enable/Disable anti-aliasing

     c [toggle_caption]
	     Caption entry mode.  If --caption-path has	been specified,	then
	     this enables caption editing.  The	caption	at the bottom of the
	     screen will turn yellow and can be	edited.	 Hit return to confirm
	     and save the caption, or escape to	cancel editing.	 Note that you
	     can insert	an actual newline into the caption using

     d [toggle_filenames]
	     Toggle filename display (see --draw-filename)

     e [toggle_exif]
	     (optional feature,	available in this build) Toggle	EXIF tag dis-

     f [toggle_fullscreen]
	     Toggle fullscreen

     g [toggle_fixed_geometry]
	     Enable/Disable automatic window resize when changing images.

     h [toggle_pause]
	     Pause/Continue the	slideshow.  When it is paused, it will not au-
	     tomatically change	slides based on	--slideshow-delay.

     i [toggle_info]
	     Toggle info display (see --info)

     k [toggle_keep_vp]
	     Toggle zoom and viewport keeping.	When enabled, feh will keep
	     zoom and X, Y offset when switching images.

     L [save_filelist]
	     Save the current filelist as "feh_PID_ID_filelist"

     m [toggle_menu]
	     Show menu.	 Use the arrow keys and	return to select items,	and
	     <escape> to close the menu.

     n,	<space>, <Right> [next_img]
	     Show next image.  Selects the next	image in thumbnail mode.

     o [toggle_pointer]
	     Toggle pointer visibility

     p,	<BackSpace>, <Left> [prev_img]
	     Show previous image.  Selects the previous	image in thumbnail

     q,	<Escape> [quit]
	     Quit feh

     r [reload_image]
	     Reload current image.  Useful for webcams

     s [save_image]
	     Save the current image as "feh_PID_ID_FILENAME"

     w [size_to_image]
	     Change window size	to fit current image size (plus/minus zoom, if
	     set).  In scale-down and fixed-geometry mode, this	also updates
	     the window	size limits.

     x [close]
	     Close current window

     z [jump_random]
	     Jump to a random position in the current filelist

     Z [toggle_auto_zoom]
	     Toggle auto-zoom.

     [,	] [prev_dir, next_dir]
	     Jump to the first image of	the previous or	next sequence of im-
	     ages sharing a directory name in the current filelist.  Use
	     --sort dirname if you would like to ensure	that all images	in a
	     directory are grouped together.

     <,	> [orient_3, orient_1]
	     rotate the	image 90 degrees (counter)clockwise.

	     When --edit is used, this also rotates the	image in the underly-
	     ing file.	Rotation is lossless, but may create artifacts in some
	     image corners when	used with JPEG images.	Rotating in the	re-
	     verse direction will make them go away.  See jpegtran(1) for more
	     about lossless JPEG rotation.  Note: feh assumes that this	fea-
	     ture is used to normalize image orientation.  For JPEG images, it
	     will unconditionally set the EXIF orientation tag to 1 ("0,0 is
	     top left")	after every rotation.  See jpegexiforient(1) for de-
	     tails on how to change this flag.

     _ [flip]
	     Vertically	flip image.  When --edit is used, this also flips the
	     image in the underlying file (see above).

     | [mirror]
	     Horizontally flip image.  When --edit is used, this also flips
	     the image in the underlying file (see above).

     0 .. 9 [action_0 .. action_9]
	     Execute the corresponding action (0 = --action, 1 = --action1

     <Return> [action_0]
	     Run the command defined by	--action

     <Home> [jump_first]
	     Show first	image

     <End> [jump_last]
	     Show last image

     <page up> [jump_fwd]
	     Go	forward	~5% of the filelist

     <page down> [jump_back]
	     Go	backward ~5% of	the filelist

     + [reload_plus]
	     Increase reload delay by 1	second

     - [reload_minus]
	     Decrease reload delay by 1	second

     <Delete> [remove]
	     Remove current file from filelist

     <Ctrl+Delete> [delete]
	     Remove current file from filelist and delete it

     <keypad Left>, <Ctrl+Left>	[scroll_left]
	     Scroll to the left

     <keypad Right>, <Ctrl+Right> [scroll_right]
	     Scroll to the right

     <keypad up>, <Ctrl+Up> [scroll_up]
	     Scroll up

     <keypad Down>, <Ctrl+Down>	[scroll_down]
	     Scroll down.  Note	that the scroll	keys work without anti-alias-
	     ing for performance reasons; hit the render key after scrolling
	     to	anti-alias the image.

     <Alt+Left [scroll_left_page]>
	     Scroll to the left	by one page

     <Alt+Right	[scroll_right_page]>
	     Scroll to the right by one	page

     <Alt+Up [scroll_up_page]>
	     Scroll up by one page

     <Alt+Down [scroll_down_page]>
	     Scroll down by one	page

     R,	<keypad	begin> [render]
	     Anti-alias	the image.  Opens the currently	selected image in
	     thumbnail mode.

     <keypad +>, <Up> [zoom_in]
	     Zoom in

     <keypad ->, <Down>	[zoom_out]
	     Zoom out

     *,	<keypad	*> [zoom_default]
	     Zoom to 100%

     /,	<keypad	/> [zoom_fit]
	     Zoom to fit the window size

     ! [zoom_fill]
	     Zoom to fill the window size like --bg-fill

     The following keys	bindings are used for the feh menu:

     <Escape> [menu_close]
	     Close the menu

     <Up> [menu_up]
	     Highlight previous	menu item

     <Down> [menu_down]
	     Highlight next menu item

     <Left> [menu_parent]
	     Highlight parent menu item

     <Right> [menu_child]
	     Highlight child menu item

     <Return>, <space> [menu_select]
	     Select highlighted	menu item

     .config/feh/buttons.  This	works like the keys config file: the entries
     are of the	form "action [binding]".

     Each binding is a button number.  It may optionally start with modifiers
     for things	like Control, in which case binding looks like mod-button (for
     example C-1 for Ctrl + Left button).

     Note: Do not use the same button for multiple actions.  feh does not
     check for conflicting bindings, so	their behaviour	is undefined.  Either
     unbind the	unwanted action, or bind it to another unused button.  The or-
     der in which you bind / unbind does not matter, though.

     For the available modifiers, see KEYS CONFIGURATION SYNTAX.

     In	an image window, the following buttons may be used (The	strings	in
     [square brackets] are the config action names).  Additionally, all	ac-
     tions specified in	the KEYS section can also be bound to a	button.

     unbound [reload]
	     Reload current image

     1 <left mouse button> [pan]
	     pan the current image

     2 <middle mouse button> [zoom]
	     Zoom the current image

     3 <right mouse button> [toggle_menu]
	     Toggle menu

     4 <mousewheel down> [prev_img]
	     Show previous image

     5 <mousewheel up> [next_img]
	     Show next image

     Ctrl+1 [blur]
	     Blur current image

     Ctrl+2 [rotate]
	     Rotate current image

     unbound [zoom_in]
	     Zoom in

     unbound [zoom_out]
	     Zoom out

     Default Bindings: When viewing an image, mouse button 1 pans the image
     (moves it around) or, when	only clicked, moves to the next	image
     (slideshow	mode only).  Quick drags with less than	2px of movement	per
     axis will be treated as clicks to aid graphics tablet users.  Mouse but-
     ton 2 zooms (click	and drag left->right to	zoom in, right->left to	zoom
     out, click	once to	restore	zoom to	100%) and mouse	button 3 opens the

     Ctrl+Button 1 blurs or sharpens the image (drag left to blur, right to
     sharpen); Ctrl+Button 2 rotates the image around the center point.

     A note about pan and zoom modes: In pan mode, if you reach	a window bor-
     der but haven't yet panned	to the end of the image, feh will warp your
     cursor to the opposite border so you can continue panning.

     When clicking the zoom button and immediately releasing it, the image
     will be back at 100% zoom.	 When clicking it and moving the mouse while
     holding the button	down, the zoom will be continued at the	previous zoom
     level.  The zoom will always happen so that the pixel on which you	en-
     tered the zoom mode remains stationary.  So, to enlarge a specific	part
     of	an image, click	the zoom button	on that	part.

     In	slideshow and multiwindow mode,	feh handles the	following signals:

	     Slideshow mode: switch to next image; reload current image	if the
	     slideshow consists	of a single file.  Multiwindow mode: reload
	     all images.

	     Slideshow mode: switch to previous	image; reload current image if
	     the slideshow consists of a single	file.  Multiwindow mode:
	     reload all	images.

     Here are some examples of useful option combinations.  See	also:

     feh ~/Pictures
	     Show all images in	~/Pictures

     feh -r ~/Pictures
	     Recursively show all images found in ~/Pictures and subdirecto-

     feh -rSfilename --version-sort ~/Pictures
	     Same as above, but	sort naturally.	 By default, feh will show
	     files in the string order of their	names, meaning e.g.  "foo
	     10.jpg" will come before "foo 2.jpg".  In this case, they are in-
	     stead ordered as a	human would expect.

     feh -t -Sfilename -E 128 -y 128 -W	1024 ~/Pictures
	     Show 128x128 pixel	thumbnails, limit window width to 1024 pixels.

     feh -t -Sfilename -E 128 -y 128 -W	1024 -P	-C
	     /usr/share/fonts/truetype/ttf-dejavu/ -e DejaVuSans/8 ~/Pictures
	     Same as above, but	enable thumbnail caching and use a smaller

     feh -irFarial/14 -O index.jpg ~/Pictures
	     Make an index print of ~/Pictures and all directories below it,
	     using 14 point Arial to write the image info under	each thumb-
	     nail.  Save the image as index.jpg	and don't display it, just
	     exit.  Note that this even	works without a	running	X server

     feh --unloadable -r ~/Pictures
	     Print all unloadable images in ~/Pictures,	recursively

     feh -f by_width -S	width --reverse	--list .
	     Write a list of all images	in the directory to by_width, sorted
	     by	width (widest images first)

     feh -w ~/Pictures/holidays
	     Open each image in	~/Pictures/holidays in its own window

     feh -FD5 -Sname ~/Pictures/presentation
	     Show the images in	.../presentation, sorted by name, in
	     fullscreen, automatically change to the next image	after 5	sec-

     feh -rSwidth -A "mv %F ~/images/%N" ~/Pictures
	     View all images in	~/Pictures and below, sorted by	width, move an
	     image to ~/image/image_name when enter is pressed

     feh --start-at ~/Pictures/foo.jpg
	     View all images in	~/Pictures, starting with foo.jpg.  All	other
	     images are	still in the slideshow and can be viewed normally

     feh --start-at ~/Pictures/foo.jpg ~/Pictures
	     Same as above.

     feh --info	"exifgrep '(Model|DateTimeOriginal|FNumber|ISO|Flash)' %F |
	     cut -d . -f 4-" .
	     Show some EXIF information, extracted by exifprobe/exifgrep

     feh --action 'rm %F' -rl --max-dimension 1000x800
	     Recursively remove	all images with	dimensions below or equal to
	     1000x800 pixels from the current directory.

     feh -L '%w	%h %f' | awk '{	if ($1 > $2) { print $0	} }' | cut -d '	' -f
	     3-	| feh -f -
	     Show landscape pictures (image width greater than height) in the
	     current directory.

     When --edit is used, feh needs the	jpegtran and jpegexiforient binaries
     (usually distributed in "libjpeg-progs" or	similar) for lossless JPEG ro-

     To	view images from URLs such as "http://", feh must be compiled with
     libcurl support.  It is enabled in	this build

     On	systems	with giflib 5.1.2, feh may be unable to	load gif images.  For
     affected mips, mipsel and arm devices, gif	support	is completely broken,
     while on x86 / x86_64 gifs	can usually only be loaded if they are the
     first image in the	filelist.  This	appears	to be a	bug in giflib, see
     <>	for details.
     Workaround: Use --conversion-timeout 5 (or	some other positive value) to
     load gifs with imagemagick	instead, or downgrade to giflib	5.1.1, or up-
     grade to giflib 5.1.4.

     While loading images using	libcurl, feh will not react to key or mouse

     Thumbnail mode is somewhat	inefficient, and because of that not nearly as
     fast as it	could be.

     --scale-down does not take	window decorations into	account	and may	there-
     fore make the window slightly too large.

     If	you find a bug,	please report it to <> or via
     <>.  You	are also welcome to direct any
     feh-related comments/questions/...	to #feh	on

     Please include the	feh version <the output	of "feh	--version">, steps to
     reproduce the bug and, if necessary, images to reproduce it.

     Plans for the following releases:
     +o	 Make zoom options more	intuitive

     Copyright (C) 1999, 2000 by Paul Duncan.  Copyright (C) 1999, 2000	by Tom
     Gilbert (and various contributors).  Copyright (C)	2010-2020 by Daniel
     Friesel (and even more contributors).

     Permission	is hereby granted, free	of charge, to any person obtaining a
     copy of this software and associated documentation	files (the "Soft-
     ware"), to	deal in	the Software without restriction, including without
     limitation	the rights to use, copy, modify, merge,	publish, distribute,
     sublicense, and/or	sell copies of the Software, and to permit persons to
     whom the Software is furnished to do so, subject to the following condi-

     The above copyright notice	and this permission notice shall be included
     in	all copies of the Software and its documentation and acknowledgment
     shall be given in the documentation and software packages that this Soft-
     ware was used.


     Current developer:	Daniel Friesel <>

     Original author (no longer	developing): Tom Gilbert

     See also:

FreeBSD	13.0			 May 29, 2020			  FreeBSD 13.0


Want to link to this manual page? Use this URL:

home | help