1FEH(1)                    BSD General Commands Manual                   FEH(1)
2

NAME

4     feh — image viewer and cataloguer
5

SYNOPSIS

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

VERSION

10     This manual documents feh 3.1.3
11
12     Compile-time switches: libcurl support enabled, natural sorting support
13     enabled, Xinerama support enabled, builtin EXIF support enabled. This is
14     a debug build.
15

DESCRIPTION

17     feh is a light-weight, configurable and versatile image viewer.  It is
18     aimed at command line users, but can also be started from graphical file
19     managers.  Apart from viewing images, it can compile text and thumbnail
20     listings, show (un)loadable files, set X11 backgrounds, and more.
21
22     Features include filelists, various image sorting modes, custom action
23     scripts, and image captions.  feh can be controlled by configurable key‐
24     board and mouse shortcuts, terminal input and signals.  When no file
25     arguments or filelists are specified and --start-at is not used, feh dis‐
26     plays all files in the current directory.
27
28     EXIF tags are supported either using exiv2 / exifgrep via --info (see the
29     USAGE EXAMPLES section), or as a builtin feature by compiling feh with
30     exif=1. In this build of feh, builtin EXIF support is enabled.
31

MODES

33     feh is based on various modes, which are selected at startup by command
34     line options.
35
36     Slideshow mode is the default.  It opens a window and displays the first
37     image in it; the slideshow position can be advanced (or otherwise
38     changed) using keyboard and mouse shortcuts.  In slideshow mode, images
39     can be deleted either from the filelist or from the disk, a changed
40     filelist can also be saved to the disk and reopened at a later time.  An
41     image can also be read from stdin via "feh -".
42
43     Montage mode forms a montage from the filelist.  The resulting image can
44     be viewed or saved, and its size can be limited by height, width or both.
45
46     Index mode forms an index print from the filelist.  Image thumbnails are
47     shown along with the filename, size and dimensions, printed using a true‐
48     type font of your choice.  The resulting image can be viewed or saved,
49     and its size can be limited by height, width or both.
50
51     Thumbnail mode is like index mode, but the mini-images are clickable and
52     open the selected image in a new window.
53
54     Multiwindow mode shows images in multiple windows, instead of as a
55     slideshow in one window.  Don't use with a large filelist ;)
56
57     List mode doesn't display images.  Instead, it outputs an ls-style list‐
58     ing of the files in the filelist, including image info such as size, num‐
59     ber of pixels, type, etc.  There is also a Customlist mode which prints
60     image info in a custom format specified by a printf-like format string.
61
62     feh can also list either all the loadable files in a filelist or all the
63     unloadable files.  This is useful for preening a directory.
64

SUPPORTED FORMATS

66     feh can open any format supported by imlib2, most notably jpeg, png, pnm,
67     tiff, and bmp.  The gif format is also supported, but only for static
68     images.  In case of animations, only the first frame will be shown.  If
69     the convert binary (supplied by ImageMagick) is available, it also has
70     limited support for many other file types, such as svg, xcf and otf.  If
71     dcraw is available, feh also supports RAW files provided by cameras and
72     will display the embedded thumbnails.  Use --conversion-timeout timeout
73     with a non-negative value to enable support for these formats.
74

OPTIONS

76     -A, --action [flag][[title]]action
77             Specify a shell command as an action to perform on the image.  In
78             slideshow or multiwindow mode, the action will be run when the
79             action_0 key is pressed, in list mode, it will be run for each
80             file.  In loadable/unloadable mode, it will be run for each load‐
81             able/unloadable file, respectively.  In thumbnail mode, clicking
82             on an image will cause the action to run instead of opening the
83             image.
84
85             If flag is ";", feh will reload the current image instead of
86             switching to the next one (slideshow mode) or closing the window
87             (multiwindow mode) after executing the action.  If [title] is
88             specified (note the literal "[" and "]"), --draw-actions will
89             display title instead of action in the action list.  Note that
90             title must not start with a space.  If it does, the action is
91             handled as if it did not have a title.  This special case exists
92             for backwards compatibility reasons and makes sure that actions
93             like "[ -L %F ] && foo" still work.
94
95             The action will be executed by /bin/sh.  Use format specifiers to
96             refer to image info, see FORMAT SPECIFIERS for details.  Example
97             usage: "feh -A "mv ~/images/%N" *".
98
99     --action1 .. --action9 [flag][[title]]action
100             Extra actions which can be set and triggered using the appropri‐
101             ate number key.
102
103     --auto-rotate
104             (optional feature, enabled in this build) Automatically rotate
105             images based on EXIF data.  Does not alter the image files.
106
107     -Z, --auto-zoom
108             Zoom pictures to screen size in fullscreen / fixed geometry mode.
109
110     -x, --borderless
111             Create borderless windows.
112
113     --cache-size size
114             Set imlib2 in-memory cache to size MiB.  A higher cache size can
115             significantly improve performance especially for small slide
116             shows, however at the cost of increased memory consumption.  size
117             must be between 0 and 2048 MiB and defaults to 4.
118
119     -P, --cache-thumbnails
120             Enable thumbnail caching.  Thumbnails are saved in
121             $XDG_CACHE_HOME/thumbnails, which defaults to
122             ~/.cache/thumbnails.  Note that thumbnails are only cached if the
123             configured thumbnail size does not exceed 256x256 pixels.
124
125     -K, --caption-path path
126             Path to directory containing image captions.  This turns on cap‐
127             tion viewing, and if captions are found in path, which is rela‐
128             tive to the directory of each image, they are overlayed on the
129             displayed image.  E.g. with caption path "captions/", and viewing
130             image "images/foo.jpg", the caption will be looked for in
131             "images/captions/foo.jpg.txt".
132
133     --conversion-timeout timeout
134             feh can use ImageMagick to try converting unloadable files into a
135             supported file format.  As this can take a long time, it is dis‐
136             abled by default.  Set timeout to a non-negative value to enable
137             it.  A positive value specifies after how many seconds conversion
138             attempts should be aborted, zero causes feh to try indefinitely.
139             Negative values restore the default by disabling conversion alto‐
140             gether.
141
142     -L, --customlist format
143             Don't display images, print image info according to format
144             instead.  See FORMAT SPECIFIERS.
145
146     -G, --draw-actions
147             Draw the defined actions and what they do at the top-left of the
148             image.
149
150     --draw-exif
151             (optional feature, enabled in this build) display some EXIF
152             information in the bottom left corner, similar to using --info
153             with exiv2 / exifgrep .
154
155     -d, --draw-filename
156             Draw the file name at the top-left of the image.
157
158     --draw-tinted
159             Show overlay texts (as created by --draw-filename et al) on a
160             semi-transparent background to improve their readability
161
162     --edit  Enable basic editing of files. This makes rotation and mirroring
163             (bound to "<", ">", "|", and "_" by default) change the underly‐
164             ing file and not just its displayed content.
165
166     -f, --filelist file
167             This option is similar to the playlists used by music software.
168             If file exists, it will be read for a list of files to load, in
169             the order they appear.  The format is a list of image file names,
170             absolute or relative to the current directory, one file name per
171             line.
172
173             If file doesn't exist, it will be created from the internal
174             filelist at the end of a viewing session.  This is best used to
175             store the results of complex sorts (-Spixels for example) for
176             later viewing.
177
178             Any changes to the internal filelist (such as deleting a file or
179             it being pruned for being unloadable) will be saved to file when
180             feh exits.  You can add files to filelists by specifying them on
181             the command line when also specifying the list.
182
183             If file is "-", feh will read the filelist from its standard
184             input.
185
186     -e, --font font
187             Set global font.  Should be a truetype font, resident in the cur‐
188             rent directory or the font directory, and should be defined in
189             the form fontname/points, like "myfont/12".
190
191     -C, --fontpath path
192             Specify path as extra directory in which to search for fonts; can
193             be used multiple times to add multiple paths.
194
195     --force-aliasing
196             Disable anti-aliasing for zooming, background setting etc.
197
198     -I, --fullindex
199             Same as index mode, but with additional information below the
200             thumbnails.  Works just like "feh --index --index-info
201             "%n\n%S\n%wx%h"".  Enables MONTAGE MODE OPTIONS.
202
203             Note: This option needs to load all images to calculate the
204             dimensions of the feh window, so when using it with many files it
205             will take a while before a feh window is visible.  Use --preload
206             to get a progress bar.
207
208     -F, --fullscreen
209             Make the window fullscreen.  Note that in this mode, large images
210             will always be scaled down to fit the screen, and --zoom zoom
211             only affects smaller images and never scales larger than neces‐
212             sary to fit the screen size.  The only exception is a zoom of
213             100, in which case images will always be shown at 100% zoom.
214
215             When combined with --thumbnails, this option only affects images
216             opened from the thumbnail overview.  The thumbnail list itself
217             will still be windowed.
218
219     -g, --geometry width x height | + x + y | width x height + x + y
220             Use a fixed window size as specified in the X-style geometry
221             string, e.g. 640x480.  An optional +x+y window offset can be
222             specified.  Combine with --scale-down to scale down larger images
223             like in fullscreen mode.  Note that this option does not enforce
224             the window size; changing it by a tiling WM or manually is still
225             possible.  However, auto-resize remains disabled.
226
227     -Y, --hide-pointer
228             Hide the pointer (useful for slideshows).
229
230     -B, --image-bg style
231             Use style as background for transparent image parts and the like.
232             Accepted values: default, checks, or an XColor (e.g. "black" or
233             "#428bdd").  In windowed mode, the default is checks (a checkered
234             background so transparent image parts are easy to see).  In
235             fullscreen and background setting mode, checks is not accepted
236             and the default is black.
237
238     -i, --index
239             Enable Index mode.  Index mode is similar to montage mode, and
240             accepts the same options.  It creates an index print of thumb‐
241             nails, printing the image name beneath each thumbnail.  Index
242             mode enables certain other options, see INDEX AND THUMBNAIL MODE
243             OPTIONS and MONTAGE MODE OPTIONS.
244
245     --info [flag]command_line
246             Execute command_line and display its output in the bottom left
247             corner of the image.  Can be used to display e.g. image dimen‐
248             sions or EXIF information.  Supports FORMAT SPECIFIERS.  If flag
249             is set to ";", the output will not be displayed by default, but
250             has to be enabled by the toggle_info key.
251
252     --insecure
253             When viewing files with HTTPS, this option disables all certifi‐
254             cate checks.  It allows images on sites with self-signed or
255             expired certificates to be opened, but is no more secure than
256             plain HTTP.
257
258     -k, --keep-http
259             When viewing files using HTTP, feh normally deletes the local
260             copies after viewing, or, if caching, on exit.  This option per‐
261             manently stores them on disk, either in the directory specified
262             by --output-dir, or in the current working directory.
263
264     --keep-zoom-vp
265             When switching images, keep zoom and viewport settings (zoom
266             level and X, Y offsets)
267
268     -l, --list
269             Don't display images.  Analyze them and display an ls(1) - style
270             listing.  Useful in scripts to hunt out images of a certain
271             size/resolution/type etc.
272
273     -U, --loadable
274             Don't display images.  Just print out their names if imlib2 can
275             successfully load them.  Returns false if at least one image
276             failed to load.
277
278     --max-dimension width x height
279             Only show images with width <= width and height <= height.  If
280             you only care about one parameter, set the other to 0 (or a
281             negative value).
282
283     -M, --menu-font font
284             Use font (truetype, with size, like "yudit/12") as menu font.
285
286     --min-dimension width x height
287             Only show images with width >= width and height >= height.  If
288             you only care about one parameter, set the other to 0.
289
290     -m, --montage
291             Enable montage mode.  Montage mode creates a new image consisting
292             of a grid of thumbnails of the images in the filelist.  When mon‐
293             tage mode is selected, certain other options become available.
294             See MONTAGE MODE OPTIONS.
295
296     -w, --multiwindow
297             Disable slideshow mode.  With this setting, instead of opening
298             multiple files in slideshow mode, multiple windows will be
299             opened; one per file.
300
301     --no-jump-on-resort
302             Don't jump to the first image after resorting the filelist.
303
304     -N, --no-menus
305             Don't load or show any menus.
306
307     --no-screen-clip
308             By default, window sizes are limited to the screen size.  With
309             this option, windows will have the size of the image inside them.
310             Note that they may become very large this way, making them unman‐
311             ageable in certain window managers.
312
313     --no-xinerama
314             (optional feature, enabled in this build) Disable Xinerama sup‐
315             port.
316
317     --on-last-slide hold | quit | resume
318             Select behaviour when trying to select the next image on the last
319             slide (or the previous image on the first slide) in a slide show.
320
321             With hold, feh will stop advancing images in this case and con‐
322             tinue displaying the first/last image, respectively.  This is
323             intended for linear slide shows.  Behaviour is unspecified when
324             using other navigation commands than previous and next image.
325
326             quit will cause feh to quit when trying to advance past the last
327             image in the slide show.
328
329             resume is the default behaviour: On the last (first) image, feh
330             will wrap around to the first (last) image.
331
332     -j, --output-dir directory
333             Save files to directory when using --keep-http or the save_image
334             command.  By default, files are saved in the current working
335             directory.
336
337     -p, --preload
338             Preload images.  This doesn't mean hold them in RAM, it means run
339             through them and eliminate unloadable images first.  Otherwise
340             they will be removed as you flick through.  This also analyses
341             the images to get data for use in sorting, such as pixel size,
342             type etc.  A preload run will be automatically performed if you
343             specify one of these sort modes.
344
345     -q, --quiet
346             Don't report non-fatal errors for failed loads.  Verbose and
347             quiet modes are not mutually exclusive, the first controls infor‐
348             mational messages, the second only errors.
349
350     -z, --randomize
351             When viewing multiple files in a slideshow, randomize the file
352             list before displaying.  The list is re-randomized whenever the
353             slideshow cycles (that is, transitions from last to first image).
354
355     -r, --recursive
356             Recursively expand any directories in the command line arguments
357             to the content of those directories, all the way down to the bot‐
358             tom level.
359
360     --no-recursive
361             Don't recursively expand any directories.  This is the default,
362             but this option is useful to override themes containing
363             --recursive.
364
365     -R, --reload int
366             Reload filelist and current image after int seconds.  Useful for
367             viewing HTTP webcams or frequently changing directories.  (Note
368             that filelist reloading is still experimental.)
369
370             If an image is removed, feh will either show the next one or
371             quit.  However, if an image still exists, but can no longer be
372             loaded, feh will continue to try loading it.
373
374     -n, --reverse
375             Reverse the sort order.  Use this to invert the order of the
376             filelist.  E.g. to sort in reverse width order, use -nSwidth.
377
378     -., --scale-down
379             Scale images to fit window geometry (defaults to screen size when
380             no geometry was specified).  Note that the window geometry is not
381             updated when changing images at the moment.  This option is rec‐
382             ommended for tiling window managers.  This option is ignored when
383             in fullscreen and thumbnail list mode.
384
385             In tiling environments, this also causes the image to be centered
386             in the window.
387
388     --scroll-step count
389             Scroll count pixels whenever scroll_up, scroll_down, scroll_left
390             or scroll_right is pressed.  Note that this option accepts nega‐
391             tive numbers in case you need to reverse the scroll direction.
392             See KEYS CONFIG SYNTAX for how to reverse it permanently.
393             Default: 20
394
395     -D, --slideshow-delay float
396             For slideshow mode, wait float seconds between automatically
397             changing slides.  Useful for presentations.  Specify a negative
398             number to set the delay (which will then be float * (-1)), but
399             start feh in paused mode.
400
401     -S, --sort sort_type
402             Sort file list according to image parameters.  Allowed sort types
403             are: name, filename, dirname, mtime, width, height, pixels, size,
404             format.  For sort modes other than name, filename, dirname, or
405             mtime, a preload run is necessary, causing a delay proportional
406             to the number of images in the list.
407
408             mtime starts with the most recently modified image.  width,
409             height, pixels and size start with the smallest.  Use --reverse
410             to sort by oldest or largest first.
411
412             For name, filename, and dirname you can use --version-sort to
413             sort numbers naturally, so that e.g. 10.jpg comes after 2.jpg.
414
415     -|, --start-at filename
416             Start the filelist at filename.  If no other files or filelists
417             were specified on the command line, feh will first load all files
418             from the directory in which filename resides.  This way, it's
419             possible to look at a specific image and use the next / prev keys
420             to browse through the directory.  See USAGE EXAMPLES for exam‐
421             ples.
422
423             Note: If you use relative paths in your filelist, filename should
424             also be a relative path.  If you use absolute paths, it should
425             also be an absolute path.  If feh cannot find an exact match, it
426             will compare basenames (filenames without the directory suffix).
427             This may lead to mismatches if several files in your filelist
428             have the same basename.
429
430     -T, --theme theme
431             Load options from config file with name theme - see THEMES CONFIG
432             SYNTAX for more info.  Note that command line options always
433             override theme options.  The theme can also be set via the pro‐
434             gram name (e.g. with symlinks), so by default feh will look for a
435             "feh" theme.
436
437     -t, --thumbnails
438             Same as Index mode, but the thumbnails are clickable image
439             launchers.  Note that --fullscreen and --scale-down do not affect
440             the thumbnail window.  They do, however, work for image windows
441             launched from thumbnail mode.  Also supports INDEX AND THUMBNAIL
442             MODE OPTIONS as well as MONTAGE MODE OPTIONS.
443
444     -~, --thumb-title string
445             Set title for windows opened from thumbnail mode.  See also
446             FORMAT SPECIFIERS.
447
448     -^, --title title
449             Set window title.  Applies to all windows except those opened
450             from thumbnail mode.  See FORMAT SPECIFIERS.
451
452     -u, --unloadable
453             Don't display images.  Just print out their names if imlib2 can
454             NOT successfully load them.  Returns false if at least one image
455             was loadable.
456
457     -V, --verbose
458             output useful information, progress bars, etc.
459
460     -v, --version
461             output version information and exit.
462
463     --version-sort
464             (optional feature, enabled in this build) When combined with
465             --sort name, --sort filename, or --sort dirname: use natural
466             sorting for file and directory names.  In this mode, filenames
467             are sorted as an ordinary human would expect, e.g.  "2.jpg" comes
468             before "10.jpg".  Note that this option only has an effect when a
469             sort mode is set using --sort.
470
471     --xinerama-index screen
472             (optional feature, enabled in this build) Override feh's idea of
473             the active Xinerama screen.  May be useful in certain circum‐
474             stances where the window manager places the feh window on Xin‐
475             erama screen A while feh assumes that it will be placed on screen
476             B.
477
478             In background setting mode: When used with any option other than
479             --bg-tile: Only set wallpaper on screen.  All other screens will
480             be filled black/white.  This is most useful in a Xinerama config‐
481             uration with overlapping screens.  For instance, assume you have
482             two overlapping displays (index 0 and 1), where index 0 is
483             smaller.  To center a background on the display with index 0 and
484             fill the extra space on index 1 black/white, use
485             "--xinerama-index 0" when setting the wallpaper.
486
487     --zoom percent | max | fill
488             Zoom images by percent when in full screen mode or when window
489             geometry is fixed.  When combined with --auto-zoom, zooming will
490             be limited to the specified percent.  Specifying max is like set‐
491             ting --auto-zoom, using fill makes feh zoom the image like the
492             --bg-fill mode.
493

MONTAGE MODE OPTIONS

495     These additional options can be used for index, montage and (partially)
496     thumbnail mode.
497
498     -a, --alpha int
499             When drawing thumbnails onto the background, set their trans‐
500             parency level to int (0 - 255).
501
502     -b, --bg file | trans
503             Use file as background for your montage.  With this option speci‐
504             fied, the montage size will default to the size of file if no
505             size restrictions were specified.  Alternatively, if file is
506             "trans", the background will be made transparent.
507
508     -X, --ignore-aspect
509             By default, the montage thumbnails will retain their aspect
510             ratios, while fitting into thumb-width/-height.  This options
511             forces them to be the size set by --thumb-width and
512             --thumb-height.  This will prevent any empty space in the final
513             montage.
514
515     -H, --limit-height pixels
516             Limit the height of the montage.
517
518     -W, --limit-width pixels
519             Limit the width of the montage, defaults to 800 pixels.
520
521             If both --limit-width and --limit-height are specified, the mon‐
522             tage will be exactly width x height pixels in dimensions.
523
524     -o, --output file
525             Save the created montage to file.
526
527     -O, --output-only file
528             Just save the created montage to file without displaying it.
529
530     -s, --stretch
531             Normally, if an image is smaller than the specified thumbnail
532             size, it will not be enlarged.  If this option is set, the image
533             will be scaled up to fit the thumbnail size.  Aspect ratio will
534             be maintained unless --ignore-aspect is specified.
535
536     -E, --thumb-height pixels
537             Set thumbnail height.
538
539     -y, --thumb-width pixels
540             Set thumbnail width.
541

INDEX AND THUMBNAIL MODE OPTIONS

543     In addition to MONTAGE MODE OPTIONS --alpha, --bg, --limit-height,
544     --limit-width, --output, --output-only, --thumb-height, --thumb-width,
545     the following options can be used.
546
547     --index-info format
548             Show image information based on format below thumbnails in index
549             / thumbnail mode.  See FORMAT SPECIFIERS.  May contain newlines.
550             Use "--index-info ''" to display thumbnails without any info text
551
552             Note: If you specify image-related formats (such as %w or %s),
553             feh needs to load all images to calculate the dimensions of its
554             own window.  So when using them with many files, it will take a
555             while before a feh window becomes visible.  Use --preload to get
556             a progress bar.
557
558     -@, --title-font font
559             Set font to print a title on the index, if no font is specified,
560             no title will be printed.
561
562     -J, --thumb-redraw n
563             Redraw thumbnail window every n images while generating thumb‐
564             nails.  Redrawing takes quite long, so the default is 10.  Set n
565             = 1 to update the thumbnail window immediately.  With n = 0,
566             there will only be one redraw once all thumbnails are loaded.
567

BACKGROUND SETTING

569     In many desktop environments, feh can also be used as a background set‐
570     ter.  Unless you pass the --no-fehbg option, it will write a script to
571     set the current background to ~/.fehbg.  So to have your background
572     restored every time you start X, you can add "~/.fehbg &" to your X
573     startup script (such as ~/.xinitrc).
574
575     Note that feh does not support setting the wallpaper of GNOME shell desk‐
576     tops.  In this environment, you can use "gsettings set
577     org.gnome.desktop.background picture-uri file:///path" instead.
578
579     For --bg-center, --bg-fill, and --bg-max, you can use --geometry to spec‐
580     ify an offset from one side of the screen instead of centering the image.
581     Positive values will offset from the left/top side, negative values from
582     the bottom/right.  +0 and -0 are both valid and distinct values.
583
584     Note that all options except --bg-tile support Xinerama.  For instance,
585     if you have multiple screens connected and use e.g.  --bg-center, feh
586     will center or appropriately offset the image on each screen.  You may
587     even specify more than one file, in that case, the first file is set on
588     screen 0, the second on screen 1, and so on.
589
590     Use --no-xinerama to treat the whole X display as one screen when setting
591     wallpapers.  You may also use --xinerama-index to use feh as a background
592     setter for a specific screen.
593
594     --bg-center
595             Center the file on the background.  If it is too small, it will
596             be surrounded by a border as specified by --image-bg.
597
598     --bg-fill
599             Like --bg-scale, but preserves aspect ratio by zooming the image
600             until it fits.  Either a horizontal or a vertical part of the
601             image will be cut off
602
603     --bg-max
604             Like --bg-fill, but scale the image to the maximum size that fits
605             the screen with borders on one side.  The border color can be set
606             using --image-bg.
607
608     --bg-scale
609             Fit the file into the background without repeating it, cutting
610             off stuff or using borders.  But the aspect ratio is not pre‐
611             served either
612
613     --bg-tile
614             Tile (repeat) the image in case it is too small for the screen
615
616     --no-fehbg
617             Do not write a ~/.fehbg file
618

FORMAT SPECIFIERS

620     %f      Image path/filename
621
622     %F      Escaped image path/filename (for use in shell commands)
623
624     %g      w,h window dimensions in pixels (mnemonic: geometry)
625
626     %h      Image height
627
628     %l      Total number of files in filelist
629
630     %L      Temporary copy of filelist.  Multiple uses of %L within the same
631             format string will return the same copy.
632
633     %m      Current mode
634
635     %n      Image name
636
637     %N      Escaped image name
638
639     %o      x,y offset of top-left image corner to window corner in pixels
640
641     %p      Number of image pixels
642
643     %P      Number of image pixels in human-readable format with k/M
644             (kilopixels / megapixels) suffix
645
646     %r      Image rotation.  A half right turn equals pi.
647
648     %s      Image size in bytes
649
650     %S      Human-readable image size (kB / MB)
651
652     %t      Image format
653
654     %u      Number of current file
655
656     %w      Image width
657
658     %v      feh version
659
660     %V      Process ID
661
662     %z      Current image zoom, rounded to two decimal places
663
664     %Z      Current image zoom, higher precision
665
666     %%      A literal %
667

CONFIGURATION

669     feh has three config files: themes for theme definitions, keys for key
670     bindings and buttons for mouse button bindings.  It will try to read them
671     from $XDG_CONFIG_HOME/feh/, which (when XDG_CONFIG_HOME is unset)
672     defaults to ~/.config/feh/.  If the files are not found in that direc‐
673     tory, it will also try /etc/feh/.
674
675     All config files treat lines starting with a "#" character as comments.
676     Comments at the end of a line are not supported.
677

THEMES CONFIG SYNTAX

679     .config/feh/themes allows the naming of option groups, called themes.
680
681     It takes entries of the form "theme options ...", where theme is the name
682     of the entry and options are the options which will be applied when the
683     theme is used.
684
685     Note that the option parser does not behave like a normal shell: filename
686     expansion and backslash escape sequences are not supported and passed to
687     feh's option parser as-is.  However, quoting of arguments is respected
688     and can be used for arguments with whitespace.  So, the sequence "--info
689     "foo bar"" works as intended (that is, it display the string "foo bar"),
690     whereas the option string "--info foo\ bar" will only display "foo\" and
691     complain about the file bar not existing.  Please keep this in mind when
692     writing theme files.
693
694     An example entry is "imagemap -rVq --thumb-width 40 --thumb-height 30
695     --index-info '%n\n%wx%h'".
696
697     You can use this theme in two ways.  Either call "feh -Timagemap *.jpg",
698     or create a symbolic link to feh with the name of the theme you want it
699     to use.  For the example above, this would be "ln -s `which feh `
700     ~/bin/imagemap".  Now just run "imagemap *.jpg" to use these options.
701
702     Note that you can split a theme over several lines by placing a backslash
703     at the end of an unfinished line.  A single option-argument-pair must not
704     span multiple lines.  A single line must not be longer than 1023 charac‐
705     ters, but there's no upper limit for the length of a theme.
706
707     Command line options always override theme options.
708

KEYS CONFIG SYNTAX

710     .config/feh/keys defines key bindings.  It has entries of the form
711     "action [key1 [key2 [key3]]]".
712
713     Each key is an X11 keysym name as shown by xev(1), like "Delete".  It may
714     optionally start with modifiers for things like Control, in which case
715     key looks like mod-keysym (for example "C-Delete" for Ctrl+Delete or
716     "C-1-Delete" for Ctrl+Alt+Delete)
717
718     Available modifiers are C for Control, S for Shift and 1, 4 for Mod1 and
719     Mod4.  To match an uppercase letter like "S" instead of "s", the Shift
720     modifier is not required.
721
722     Specifying an action without any keys unbinds it (i.e. the default bind‐
723     ings are removed).
724
725     Note: Do not use the same keybinding for multiple actions.  When binding
726     an action to a new key (or mouse button), make sure to unbind it from its
727     previous action, if present.  feh does not check for conflicting bind‐
728     ings, so their behaviour is undefined.
729
730     For a list of the action names, see KEYS.  Note that not all of the key
731     names used there correspond to X11 keysyms.  Most notably, page up (Prior
732     / Page_Up), page down (Next / Page_Down) and the keypad keys (KP_*) do
733     not.
734

KEYS

736     The following actions and default key bindings can be used in an image
737     window.  (The strings in [square brackets] are the config action names).
738     If feh is running inside a terminal and its standard input is not used
739     for images or filelists, key input from the terminal is also accepted.
740     However, terminal input support is currently limited to most alphanumeric
741     characters (0-9 a-z A-Z and some more), arrow keys, return and backspace.
742     The Alt (Mod1) modifier is also supported.
743
744     a [toggle_actions]
745             Toggle actions display (see --draw-actions)
746
747     A [toggle_aliasing]
748             Enable/Disable anti-aliasing
749
750     c [toggle_caption]
751             Caption entry mode.  If --caption-path has been specified, then
752             this enables caption editing.  The caption at the bottom of the
753             screen will turn yellow and can be edited.  Hit return to confirm
754             and save the caption, or escape to cancel editing.  Note that you
755             can insert an actual newline into the caption using
756             ⟨Ctrl+return⟩.
757
758     d [toggle_filenames]
759             Toggle filename display (see --draw-filename)
760
761     e [toggle_exif]
762             (optional feature, enabled in this build) Toggle EXIF tag display
763
764     f [toggle_fullscreen]
765             Toggle fullscreen
766
767     g [toggle_fixed_geometry]
768             Enable/Disable automatic window resize when changing images.
769
770     h [toggle_pause]
771             Pause/Continue the slideshow.  When it is paused, it will not
772             automatically change slides based on --slideshow-delay.
773
774     i [toggle_info]
775             Toggle info display (see --info)
776
777     k [toggle_keep_vp]
778             Toggle zoom and viewport keeping.  When enabled, feh will keep
779             zoom and X, Y offset when switching images.
780
781     L [save_filelist]
782             Save the current filelist as "feh_PID_ID_filelist"
783
784     m [toggle_menu]
785             Show menu.  Use the arrow keys and return to select items, and
786             ⟨escape⟩ to close the menu.
787
788     n, ⟨space⟩, ⟨Right⟩ [next_img]
789             Show next image.  Selects the next image in thumbnail mode.
790
791     o [toggle_pointer]
792             Toggle pointer visibility
793
794     p, ⟨BackSpace⟩, ⟨Left⟩ [prev_img]
795             Show previous image.  Selects the previous image in thumbnail
796             mode.
797
798     q, ⟨Escape⟩ [quit]
799             Quit feh
800
801     r [reload_image]
802             Reload current image.  Useful for webcams
803
804     s [save_image]
805             Save the current image as "feh_PID_ID_FILENAME"
806
807     w [size_to_image]
808             Change window size to fit current image size (plus/minus zoom, if
809             set).  In scale-down and fixed-geometry mode, this also updates
810             the window size limits.
811
812     x [close]
813             Close current window
814
815     z [jump_random]
816             Jump to a random position in the current filelist
817
818     Z [toggle_auto_zoom]
819             Toggle auto-zoom.
820
821     [, ] [prev_dir, next_dir]
822             Jump to the first image of the previous or next sequence of
823             images sharing a directory name in the current filelist.  Use
824             --sort dirname if you would like to ensure that all images in a
825             directory are grouped together.
826
827     <, > [orient_3, orient_1]
828             rotate the image 90 degrees (counter)clockwise.
829
830             When --edit is used, this also rotates the image in the underly‐
831             ing file.  Rotation is lossless, but may create artifacts in some
832             image corners when used with JPEG images.  Rotating in the
833             reverse direction will make them go away.  See jpegtran(1) for
834             more about lossless JPEG rotation.  Note: feh assumes that this
835             feature is used to normalize image orientation.  For JPEG images,
836             it will unconditionally set the EXIF orientation tag to 1 ("0,0
837             is top left") after every rotation.  See jpegexiforient(1) for
838             details on how to change this flag.
839
840     _ [flip]
841             Vertically flip image.  When --edit is used, this also flips the
842             image in the underlying file (see above).
843
844     | [mirror]
845             Horizontally flip image.  When --edit is used, this also flips
846             the image in the underlying file (see above).
847
848     0 .. 9 [action_0 .. action_9]
849             Execute the corresponding action (0 = --action, 1 = --action1
850             etc.)
851
852     ⟨Return⟩ [action_0]
853             Run the command defined by --action
854
855     ⟨Home⟩ [jump_first]
856             Show first image
857
858     ⟨End⟩ [jump_last]
859             Show last image
860
861     ⟨page up⟩ [jump_fwd]
862             Go forward ~5% of the filelist
863
864     ⟨page down⟩ [jump_back]
865             Go backward ~5% of the filelist
866
867     + [reload_plus]
868             Increase reload delay by 1 second
869
870     - [reload_minus]
871             Decrease reload delay by 1 second
872
873     ⟨Delete⟩ [remove]
874             Remove current file from filelist
875
876     ⟨Ctrl+Delete⟩ [delete]
877             Remove current file from filelist and delete it
878
879     ⟨keypad Left⟩, ⟨Ctrl+Left⟩ [scroll_left]
880             Scroll to the left
881
882     ⟨keypad Right⟩, ⟨Ctrl+Right⟩ [scroll_right]
883             Scroll to the right
884
885     ⟨keypad up⟩, ⟨Ctrl+Up⟩ [scroll_up]
886             Scroll up
887
888     ⟨keypad Down⟩, ⟨Ctrl+Down⟩ [scroll_down]
889             Scroll down.  Note that the scroll keys work without anti-alias‐
890             ing for performance reasons; hit the render key after scrolling
891             to anti-alias the image.
892
893     ⟨Alt+Left [scroll_left_page]⟩
894             Scroll to the left by one page
895
896     ⟨Alt+Right [scroll_right_page]⟩
897             Scroll to the right by one page
898
899     ⟨Alt+Up [scroll_up_page]⟩
900             Scroll up by one page
901
902     ⟨Alt+Down [scroll_down_page]⟩
903             Scroll down by one page
904
905     R, ⟨keypad begin⟩ [render]
906             Anti-alias the image.  Opens the currently selected image in
907             thumbnail mode.
908
909     ⟨keypad +⟩, ⟨Up⟩ [zoom_in]
910             Zoom in
911
912     ⟨keypad -⟩, ⟨Down⟩ [zoom_out]
913             Zoom out
914
915     *, ⟨keypad *⟩ [zoom_default]
916             Zoom to 100%
917
918     /, ⟨keypad /⟩ [zoom_fit]
919             Zoom to fit the window size
920
921     ! [zoom_fill]
922             Zoom to fill the window size like --bg-fill
923
924   MENU KEYS
925     The following keys bindings are used for the feh menu:
926
927     ⟨Escape⟩ [menu_close]
928             Close the menu
929
930     ⟨Up⟩ [menu_up]
931             Highlight previous menu item
932
933     ⟨Down⟩ [menu_down]
934             Highlight next menu item
935
936     ⟨Left⟩ [menu_parent]
937             Highlight parent menu item
938
939     ⟨Right⟩ [menu_child]
940             Highlight child menu item
941
942     ⟨Return⟩, ⟨space⟩ [menu_select]
943             Select highlighted menu item
944

BUTTONS CONFIG SYNTAX

946     .config/feh/buttons.  This works like the keys config file: the entries
947     are of the form "action [binding]".
948
949     Each binding is a button number.  It may optionally start with modifiers
950     for things like Control, in which case binding looks like mod-button (for
951     example C-1 for Ctrl + Left button).
952
953     Note: Do not use the same button for multiple actions.  feh does not
954     check for conflicting bindings, so their behaviour is undefined.  Either
955     unbind the unwanted action, or bind it to another unused button.  The
956     order in which you bind / unbind does not matter, though.
957
958     For the available modifiers, see KEYS CONFIGURATION SYNTAX.
959
960   BUTTONS
961     In an image window, the following buttons may be used (The strings in
962     [square brackets] are the config action names).  Additionally, all
963     actions specified in the KEYS section can also be bound to a button.
964
965     unbound [reload]
966             Reload current image
967
968     1 ⟨left mouse button⟩ [pan]
969             pan the current image
970
971     2 ⟨middle mouse button⟩ [zoom]
972             Zoom the current image
973
974     3 ⟨right mouse button⟩ [toggle_menu]
975             Toggle menu
976
977     4 ⟨mousewheel down⟩ [prev_img]
978             Show previous image
979
980     5 ⟨mousewheel up⟩ [next_img]
981             Show next image
982
983     Ctrl+1 [blur]
984             Blur current image
985
986     Ctrl+2 [rotate]
987             Rotate current image
988
989     unbound [zoom_in]
990             Zoom in
991
992     unbound [zoom_out]
993             Zoom out
994

MOUSE ACTIONS

996     Default Bindings: When viewing an image, mouse button 1 pans the image
997     (moves it around) or, when only clicked, moves to the next image
998     (slideshow mode only).  Quick drags with less than 2px of movement per
999     axis will be treated as clicks to aid graphics tablet users.  Mouse but‐
1000     ton 2 zooms (click and drag left->right to zoom in, right->left to zoom
1001     out, click once to restore zoom to 100%) and mouse button 3 opens the
1002     menu.
1003
1004     Ctrl+Button 1 blurs or sharpens the image (drag left to blur, right to
1005     sharpen); Ctrl+Button 2 rotates the image around the center point.
1006
1007     A note about pan and zoom modes: In pan mode, if you reach a window bor‐
1008     der but haven't yet panned to the end of the image, feh will warp your
1009     cursor to the opposite border so you can continue panning.
1010
1011     When clicking the zoom button and immediately releasing it, the image
1012     will be back at 100% zoom.  When clicking it and moving the mouse while
1013     holding the button down, the zoom will be continued at the previous zoom
1014     level.  The zoom will always happen so that the pixel on which you
1015     entered the zoom mode remains stationary.  So, to enlarge a specific part
1016     of an image, click the zoom button on that part.
1017

SIGNALS

1019     In slideshow mode, feh handles the following signals:
1020
1021     SIGUSR1
1022             Switch to next image
1023
1024     SIGUSR2
1025             Switch to previous image
1026

USAGE EXAMPLES

1028     Here are some examples of useful option combinations.  See also:
1029https://feh.finalrewind.org/examples/
1030
1031     feh ~/Pictures
1032             Show all images in ~/Pictures
1033
1034     feh -r ~/Pictures
1035             Recursively show all images found in ~/Pictures and subdirecto‐
1036             ries
1037
1038     feh -rSfilename --version-sort ~/Pictures
1039             Same as above, but sort naturally.  By default, feh will show
1040             files in the string order of their names, meaning e.g.  "foo
1041             10.jpg" will come before "foo 2.jpg".  In this case, they are
1042             instead ordered as a human would expect.
1043
1044     feh -t -Sfilename -E 128 -y 128 -W 1024 ~/Pictures
1045             Show 128x128 pixel thumbnails, limit window width to 1024 pixels.
1046
1047     feh -t -Sfilename -E 128 -y 128 -W 1024 -P -C
1048             /usr/share/fonts/truetype/ttf-dejavu/ -e DejaVuSans/8 ~/Pictures
1049             Same as above, but enable thumbnail caching and use a smaller
1050             font.
1051
1052     feh -irFarial/14 -O index.jpg ~/Pictures
1053             Make an index print of ~/Pictures and all directories below it,
1054             using 14 point Arial to write the image info under each thumb‐
1055             nail.  Save the image as index.jpg and don't display it, just
1056             exit.  Note that this even works without a running X server
1057
1058     feh --unloadable -r ~/Pictures
1059             Print all unloadable images in ~/Pictures, recursively
1060
1061     feh -f by_width -S width --reverse --list .
1062             Write a list of all images in the directory to by_width, sorted
1063             by width (widest images first)
1064
1065     feh -w ~/Pictures/holidays
1066             Open each image in ~/Pictures/holidays in its own window
1067
1068     feh -FD5 -Sname ~/Pictures/presentation
1069             Show the images in .../presentation, sorted by name, in
1070             fullscreen, automatically change to the next image after 5 sec‐
1071             onds
1072
1073     feh -rSwidth -A "mv %F ~/images/%N" ~/Pictures
1074             View all images in ~/Pictures and below, sorted by width, move an
1075             image to ~/image/image_name when enter is pressed
1076
1077     feh --start-at ~/Pictures/foo.jpg
1078             View all images in ~/Pictures, starting with foo.jpg.  All other
1079             images are still in the slideshow and can be viewed normally
1080
1081     feh --start-at ~/Pictures/foo.jpg ~/Pictures
1082             Same as above.
1083
1084     feh --info "exifgrep '(Model|DateTimeOriginal|FNumber|ISO|Flash)' %F |
1085             cut -d . -f 4-" .
1086             Show some EXIF information, extracted by exifprobe/exifgrep
1087
1088     feh --action 'rm %F' -rl --max-dimension 1000x800
1089             Recursively remove all images with dimensions below or equal to
1090             1000x800 pixels from the current directory.
1091
1092     feh -L '%w %h %f' | awk '{ if ($1 > $2) { print $0 } }' | cut -d ' ' -f
1093             3- | feh -f -
1094             Show landscape pictures (image width greater than height) in the
1095             current directory.
1096

DEPENDENCIES

1098     When --edit is used, feh needs the jpegtran and jpegexiforient binaries
1099     (usually distributed in "libjpeg-progs" or similar) for lossless JPEG
1100     rotation.
1101
1102     To view images from URLs such as "http://", feh must be compiled with
1103     libcurl support.  It is enabled in this build
1104

KNOWN BUGS

1106     On systems with giflib 5.1.2, feh may be unable to load gif images.  For
1107     affected mips, mipsel and arm devices, gif support is completely broken,
1108     while on x86 / x86_64 gifs can usually only be loaded if they are the
1109     first image in the filelist.  This appears to be a bug in giflib, see
1110https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=813729⟩ for details.
1111     Workaround: Use --conversion-timeout 5 (or some other positive value) to
1112     load gifs with imagemagick instead, or downgrade to giflib 5.1.1, or
1113     upgrade to giflib 5.1.4.
1114
1115     While loading images using libcurl, feh will not react to key or mouse
1116     actions.
1117
1118     Thumbnail mode is somewhat inefficient, and because of that not nearly as
1119     fast as it could be.
1120
1121     --scale-down does not take window decorations into account and may there‐
1122     fore make the window slightly too large.
1123
1124   REPORTING BUGS
1125     If you find a bug, please report it to ⟨derf+feh@finalrewind.org⟩ or via
1126https://github.com/derf/feh/issues⟩.  You are also welcome to direct any
1127     feh-related comments/questions/... to #feh on irc.oftc.net.
1128
1129     Please include the feh version ⟨the output of "feh --version"⟩, steps to
1130     reproduce the bug and, if necessary, images to reproduce it.
1131

FUTURE PLANS

1133     Plans for the following releases:
1134     ·   Make zoom options more intuitive
1135

LICENSE

1137     Copyright (C) 1999, 2000 by Paul Duncan.  Copyright (C) 1999, 2000 by Tom
1138     Gilbert (and various contributors).  Copyright (C) 2010-2018 by Daniel
1139     Friesel (and even more contributors).
1140
1141     Permission is hereby granted, free of charge, to any person obtaining a
1142     copy of this software and associated documentation files (the "Soft‐
1143     ware"), to deal in the Software without restriction, including without
1144     limitation the rights to use, copy, modify, merge, publish, distribute,
1145     sublicense, and/or sell copies of the Software, and to permit persons to
1146     whom the Software is furnished to do so, subject to the following condi‐
1147     tions:
1148
1149     The above copyright notice and this permission notice shall be included
1150     in all copies of the Software and its documentation and acknowledgment
1151     shall be given in the documentation and software packages that this Soft‐
1152     ware was used.
1153
1154     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1155     OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL‐
1156     ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT
1157     SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
1158     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
1159     OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1160     SOFTWARE.
1161
1162     Current developer: Daniel Friesel ⟨derf@finalrewind.org⟩
1163
1164     Original author (no longer developing): Tom Gilbert
1165     ⟨feh_sucks@linuxbrit.co.uk⟩
1166
1167     See also: https://feh.finalrewind.org
1168
1169BSD                            February 17, 2019                           BSD
Impressum