Loading ChangeLog +40 −0 Original line number Diff line number Diff line git HEAD * Do not apply --scale-down to the thumbnail window. It will be applied to windows opened from this, though. * Patch by Rob Cornish: Respect --image-bg when setting a wallpaper Tue, 16 Oct 2012 06:29:58 +0200 Daniel Friesel <derf+feh@finalrewind.org> * Release v2.7 * Add --min-dim and --max-dim options to only process images with certain dimensions Thu, 27 Sep 2012 16:48:48 +0200 Daniel Friesel <derf+feh@finalrewind.org> * Release v2.6.3 * Fix segfault when doing lossless mirror/rotate and jpegexiforient is not present <https://github.com/derf/feh/issues/100> Wed, 26 Sep 2012 17:06:50 +0200 Daniel Friesel <derf+feh@finalrewind.org> * Release v2.6.2 * Set EXIF orientation tag to 1 ("0,0 is top left" aka normal) after running jpegtran. Previously, when doing a lossless rotate, the image was rotated but the corresponding EXIF tag not updated, resulting in wrong image display in programs aware of this EXIF tag. * Fix spelling in feh(1) * Compile debug builds with -O0 Thu, 13 Sep 2012 12:00:06 +0200 Daniel Friesel <derf+feh@finalrewind.org> * Release v2.6.1 * Fix freedesktop.org Thumbnail Managing Standard implementation: when running feh on the current working directory, '/path/to/./image.png' was used for thumbnail name generation. Now it is always '/path/to/image.png' * Show error message if lossless rotate / flip failed on non-JPEG image * Show error message if -O / -o failed to save image * Show error message if load failed and magick is disabled (was broken by feh 2.4) Tue, 28 Aug 2012 11:46:19 +0200 Daniel Friesel <derf+feh@finalrewind.org> * Release v2.6 Loading config.mk +1 −1 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ else endif ifeq (${debug},1) CFLAGS += -DDEBUG CFLAGS += -DDEBUG -O0 MAN_DEBUG = . This is a debug build. else MAN_DEBUG = Loading man/feh.pre +50 −14 Original line number Diff line number Diff line Loading @@ -61,7 +61,7 @@ However, if you compile feh with exif=1, you can also display it directly. .Sh MODES . .Nm is based on various modes, which are selected at startup by comandline is based on various modes, which are selected at startup by command line options. . .Pp Loading Loading @@ -158,7 +158,7 @@ multiwindow mode, the window will be closed. . .It Cm --action1 No .. Cm --action9 . Extra actions which can be set and triggered using the appropiate number key. Extra actions which can be set and triggered using the appropriate number key. . .It Cm -Z , --auto-zoom . Loading Loading @@ -192,7 +192,7 @@ the caption will be looked for in Don't display images, print image info according to .Ar format instead. See .Sx FORMAT SPECIFIEDRS . .Sx FORMAT SPECIFIERS . . .It Cm --cycle-once . Loading Loading @@ -287,7 +287,7 @@ Enables . Note: This option needs to load all images to calculate the dimensions of the .Nm window, so when using it with many files it will ake a while before a window, so when using it with many files it will take a while before a .Nm window is visible. Use .Cm --preload Loading Loading @@ -329,7 +329,7 @@ Accepted values: checks (default), white, black. .It Cm -i , --index . Enable Index mode. Index mode is similar to montage mode, and accepts the same options. It creates an index print of thumbails, printing the image same options. It creates an index print of thumbnails, printing the image name beneath each thumbnail. Index mode enables certain other options, see .Sx INDEX MODE OPTIONS and Loading Loading @@ -377,7 +377,7 @@ in the name. . .It Cm -l , --list . Don't display images. Analyse them and display an Don't display images. Analyze them and display an .Xr ls 1 - No style listing. Useful in scripts to hunt out images of a certain size/resolution/type etc. Loading @@ -397,6 +397,15 @@ of zero causes .Nm to try indefinitely. By default, magick support is disabled. . .It Cm --max-dimension Ar width No x Ar height . Only show images with width <= .Ar width and height <= .Ar height . If you only care about one parameter, set the other to either something large or -1. . .It Cm -M , --menu-font Ar font . Use Loading @@ -404,6 +413,14 @@ Use .Pq truetype, with size, like Qq yudit/12 as menu font. . .It Cm --min-dimension Ar width No x Ar height . Only show images with width >= .Ar width and height >= .Ar height . If you only care about one parameter, set the other to 0. . .It Cm -m , --montage . Enable montage mode. Montage mode creates a new image consisting of a grid of Loading Loading @@ -541,8 +558,10 @@ theme. Same as Index mode, but the thumbnails are clickable image launchers. Note that .Cm --fullscreen does not affect the thumbnail window. It does, however, work for the image windows launched from thumbnail mode. and .Cm --scale-down do not affect the thumbnail window. They do, however, work for image windows launched from thumbnail mode. Also supports .Sx MONTAGE MODE OPTIONS . . Loading Loading @@ -662,7 +681,7 @@ without displaying it. . 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 thumnail size. Aspect ratio will be maintained unles the thumbnail size. Aspect ratio will be maintained unless .Cm --ignore-aspect is specified. . Loading Loading @@ -821,7 +840,7 @@ Number of image pixels . .It \&%P . Numbor of image pixels Number of image pixels .Pq kilopixels / megapixels . .It %r Loading Loading @@ -1106,6 +1125,16 @@ away. See .Xr jpegtran 1 for more about lossless JPEG rotation. . .Em Note: jpegtran does not update EXIF orientation tags. However, .Nm assumes that you use the feature to normalize image orientation and want it to be displayed this way everywhere. After every rotation, it will unconditionally set the EXIF orientation to 1 .Pq Qq 0,0 is top left . Should you need to reverse this, see .Xr jpegexiforient 1 . . .It _ Bq flip . In place editing - vertical flip Loading Loading @@ -1453,6 +1482,11 @@ Same as above . Show some EXIF information, extracted by exifprobe/exifgrep . .It feh --action 'rm %F' -rl --max-dim 1000x800 . Resursively remove all images with dimensions below or equal to 1000x800 pixels from the current directory. . .El . . Loading Loading @@ -1487,7 +1521,9 @@ but without the flickering. .Nm requires the .Cm jpegtran binary and .Cm jpegexiforient binaries .Pq usually distributed in Qo libjpeg-progs Qc or similar for lossless rotation. . Loading src/feh.h +3 −0 Original line number Diff line number Diff line Loading @@ -157,7 +157,10 @@ void feh_display_status(char stat); void real_loadables_mode(int loadable); void feh_reload_image(winwidget w, int resize, int force_new); void feh_filelist_image_remove(winwidget winwid, char do_delete); void feh_imlib_print_load_error(char *file, winwidget w, Imlib_Load_Error err); void slideshow_save_image(winwidget win); void ungib_imlib_save_image_with_error_return(Imlib_Image im, char *file, Imlib_Load_Error * error_return); void feh_edit_inplace(winwidget w, int orientation); void feh_edit_inplace_lossless(winwidget w, int orientation); gib_list *feh_wrap_string(char *text, int wrap_width, Imlib_Font fn, gib_style * style); Loading src/filelist.c +9 −1 Original line number Diff line number Diff line Loading @@ -281,6 +281,13 @@ gib_list *feh_file_info_preload(gib_list * list) remove_list = gib_list_add_front(remove_list, l); if (opt.verbose) feh_display_status('x'); } else if (((unsigned int)file->info->width < opt.min_width) || ((unsigned int)file->info->width > opt.max_width) || ((unsigned int)file->info->height < opt.min_height) || ((unsigned int)file->info->height > opt.max_height)) { remove_list = gib_list_add_front(remove_list, l); if (opt.verbose) feh_display_status('s'); } else if (opt.verbose) feh_display_status('.'); } Loading Loading @@ -375,7 +382,8 @@ int feh_cmp_format(void *file1, void *file2) void feh_prepare_filelist(void) { if (opt.list || opt.customlist || (opt.sort > SORT_FILENAME) || opt.preload) { || opt.preload || opt.min_width || opt.min_height || (opt.max_width != UINT_MAX) || (opt.max_height != UINT_MAX)) { /* For these sort options, we have to preload images */ filelist = feh_file_info_preload(filelist); if (!gib_list_length(filelist)) Loading Loading
ChangeLog +40 −0 Original line number Diff line number Diff line git HEAD * Do not apply --scale-down to the thumbnail window. It will be applied to windows opened from this, though. * Patch by Rob Cornish: Respect --image-bg when setting a wallpaper Tue, 16 Oct 2012 06:29:58 +0200 Daniel Friesel <derf+feh@finalrewind.org> * Release v2.7 * Add --min-dim and --max-dim options to only process images with certain dimensions Thu, 27 Sep 2012 16:48:48 +0200 Daniel Friesel <derf+feh@finalrewind.org> * Release v2.6.3 * Fix segfault when doing lossless mirror/rotate and jpegexiforient is not present <https://github.com/derf/feh/issues/100> Wed, 26 Sep 2012 17:06:50 +0200 Daniel Friesel <derf+feh@finalrewind.org> * Release v2.6.2 * Set EXIF orientation tag to 1 ("0,0 is top left" aka normal) after running jpegtran. Previously, when doing a lossless rotate, the image was rotated but the corresponding EXIF tag not updated, resulting in wrong image display in programs aware of this EXIF tag. * Fix spelling in feh(1) * Compile debug builds with -O0 Thu, 13 Sep 2012 12:00:06 +0200 Daniel Friesel <derf+feh@finalrewind.org> * Release v2.6.1 * Fix freedesktop.org Thumbnail Managing Standard implementation: when running feh on the current working directory, '/path/to/./image.png' was used for thumbnail name generation. Now it is always '/path/to/image.png' * Show error message if lossless rotate / flip failed on non-JPEG image * Show error message if -O / -o failed to save image * Show error message if load failed and magick is disabled (was broken by feh 2.4) Tue, 28 Aug 2012 11:46:19 +0200 Daniel Friesel <derf+feh@finalrewind.org> * Release v2.6 Loading
config.mk +1 −1 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ else endif ifeq (${debug},1) CFLAGS += -DDEBUG CFLAGS += -DDEBUG -O0 MAN_DEBUG = . This is a debug build. else MAN_DEBUG = Loading
man/feh.pre +50 −14 Original line number Diff line number Diff line Loading @@ -61,7 +61,7 @@ However, if you compile feh with exif=1, you can also display it directly. .Sh MODES . .Nm is based on various modes, which are selected at startup by comandline is based on various modes, which are selected at startup by command line options. . .Pp Loading Loading @@ -158,7 +158,7 @@ multiwindow mode, the window will be closed. . .It Cm --action1 No .. Cm --action9 . Extra actions which can be set and triggered using the appropiate number key. Extra actions which can be set and triggered using the appropriate number key. . .It Cm -Z , --auto-zoom . Loading Loading @@ -192,7 +192,7 @@ the caption will be looked for in Don't display images, print image info according to .Ar format instead. See .Sx FORMAT SPECIFIEDRS . .Sx FORMAT SPECIFIERS . . .It Cm --cycle-once . Loading Loading @@ -287,7 +287,7 @@ Enables . Note: This option needs to load all images to calculate the dimensions of the .Nm window, so when using it with many files it will ake a while before a window, so when using it with many files it will take a while before a .Nm window is visible. Use .Cm --preload Loading Loading @@ -329,7 +329,7 @@ Accepted values: checks (default), white, black. .It Cm -i , --index . Enable Index mode. Index mode is similar to montage mode, and accepts the same options. It creates an index print of thumbails, printing the image same options. It creates an index print of thumbnails, printing the image name beneath each thumbnail. Index mode enables certain other options, see .Sx INDEX MODE OPTIONS and Loading Loading @@ -377,7 +377,7 @@ in the name. . .It Cm -l , --list . Don't display images. Analyse them and display an Don't display images. Analyze them and display an .Xr ls 1 - No style listing. Useful in scripts to hunt out images of a certain size/resolution/type etc. Loading @@ -397,6 +397,15 @@ of zero causes .Nm to try indefinitely. By default, magick support is disabled. . .It Cm --max-dimension Ar width No x Ar height . Only show images with width <= .Ar width and height <= .Ar height . If you only care about one parameter, set the other to either something large or -1. . .It Cm -M , --menu-font Ar font . Use Loading @@ -404,6 +413,14 @@ Use .Pq truetype, with size, like Qq yudit/12 as menu font. . .It Cm --min-dimension Ar width No x Ar height . Only show images with width >= .Ar width and height >= .Ar height . If you only care about one parameter, set the other to 0. . .It Cm -m , --montage . Enable montage mode. Montage mode creates a new image consisting of a grid of Loading Loading @@ -541,8 +558,10 @@ theme. Same as Index mode, but the thumbnails are clickable image launchers. Note that .Cm --fullscreen does not affect the thumbnail window. It does, however, work for the image windows launched from thumbnail mode. and .Cm --scale-down do not affect the thumbnail window. They do, however, work for image windows launched from thumbnail mode. Also supports .Sx MONTAGE MODE OPTIONS . . Loading Loading @@ -662,7 +681,7 @@ without displaying it. . 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 thumnail size. Aspect ratio will be maintained unles the thumbnail size. Aspect ratio will be maintained unless .Cm --ignore-aspect is specified. . Loading Loading @@ -821,7 +840,7 @@ Number of image pixels . .It \&%P . Numbor of image pixels Number of image pixels .Pq kilopixels / megapixels . .It %r Loading Loading @@ -1106,6 +1125,16 @@ away. See .Xr jpegtran 1 for more about lossless JPEG rotation. . .Em Note: jpegtran does not update EXIF orientation tags. However, .Nm assumes that you use the feature to normalize image orientation and want it to be displayed this way everywhere. After every rotation, it will unconditionally set the EXIF orientation to 1 .Pq Qq 0,0 is top left . Should you need to reverse this, see .Xr jpegexiforient 1 . . .It _ Bq flip . In place editing - vertical flip Loading Loading @@ -1453,6 +1482,11 @@ Same as above . Show some EXIF information, extracted by exifprobe/exifgrep . .It feh --action 'rm %F' -rl --max-dim 1000x800 . Resursively remove all images with dimensions below or equal to 1000x800 pixels from the current directory. . .El . . Loading Loading @@ -1487,7 +1521,9 @@ but without the flickering. .Nm requires the .Cm jpegtran binary and .Cm jpegexiforient binaries .Pq usually distributed in Qo libjpeg-progs Qc or similar for lossless rotation. . Loading
src/feh.h +3 −0 Original line number Diff line number Diff line Loading @@ -157,7 +157,10 @@ void feh_display_status(char stat); void real_loadables_mode(int loadable); void feh_reload_image(winwidget w, int resize, int force_new); void feh_filelist_image_remove(winwidget winwid, char do_delete); void feh_imlib_print_load_error(char *file, winwidget w, Imlib_Load_Error err); void slideshow_save_image(winwidget win); void ungib_imlib_save_image_with_error_return(Imlib_Image im, char *file, Imlib_Load_Error * error_return); void feh_edit_inplace(winwidget w, int orientation); void feh_edit_inplace_lossless(winwidget w, int orientation); gib_list *feh_wrap_string(char *text, int wrap_width, Imlib_Font fn, gib_style * style); Loading
src/filelist.c +9 −1 Original line number Diff line number Diff line Loading @@ -281,6 +281,13 @@ gib_list *feh_file_info_preload(gib_list * list) remove_list = gib_list_add_front(remove_list, l); if (opt.verbose) feh_display_status('x'); } else if (((unsigned int)file->info->width < opt.min_width) || ((unsigned int)file->info->width > opt.max_width) || ((unsigned int)file->info->height < opt.min_height) || ((unsigned int)file->info->height > opt.max_height)) { remove_list = gib_list_add_front(remove_list, l); if (opt.verbose) feh_display_status('s'); } else if (opt.verbose) feh_display_status('.'); } Loading Loading @@ -375,7 +382,8 @@ int feh_cmp_format(void *file1, void *file2) void feh_prepare_filelist(void) { if (opt.list || opt.customlist || (opt.sort > SORT_FILENAME) || opt.preload) { || opt.preload || opt.min_width || opt.min_height || (opt.max_width != UINT_MAX) || (opt.max_height != UINT_MAX)) { /* For these sort options, we have to preload images */ filelist = feh_file_info_preload(filelist); if (!gib_list_length(filelist)) Loading