summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog15
-rw-r--r--man/feh.pre68
-rw-r--r--share/applications/feh.pre2
-rw-r--r--src/feh.h2
-rw-r--r--src/options.c10
-rw-r--r--src/signals.c13
-rw-r--r--src/signals.h2
-rw-r--r--src/slideshow.c4
-rw-r--r--src/wallpaper.c19
-rw-r--r--src/winwidget.c1
10 files changed, 86 insertions, 50 deletions
diff --git a/ChangeLog b/ChangeLog
index efcc304..dbd6e49 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+Sun, 17 Feb 2019 08:41:53 +0100 Daniel Friesel <derf+feh@finalrewind.org>
+
+* Releasev v3.1.3
+ * Fix missing filename in ~/.fehbg when using --no-xinerama on a feh
+ binary compiled with xinerama=1. This issue was introduced in v3.1.2.
+
+Mon, 11 Feb 2019 17:24:13 +0100 Daniel Friesel <derf+feh@finalrewind.org>
+
+* Release v3.1.2
+ * Fix missing filenames in ~/.fehbg when using --bg-* on directories and/or
+ with --randomize
+ * Fix repeated --slideshow-delay/-D option not properly overriding the
+ 'start paused' flag
+ * Fix repeated --info option not properly overriding the 'draw info' flag
+
Fri, 07 Dec 2018 22:51:15 +0100 Daniel Friesel <derf+feh@finalrewind.org>
* Release v3.1.1
diff --git a/man/feh.pre b/man/feh.pre
index ea47582..b1ef16a 100644
--- a/man/feh.pre
+++ b/man/feh.pre
@@ -129,21 +129,21 @@ This is useful for preening a directory.
.Sh SUPPORTED FORMATS
.
.Nm
-can open any format supported by Imlib2, most notably jpeg, png,
+can open any format supported by imlib2, most notably jpeg, png,
pnm, tiff, and bmp.
The gif format is also supported, but only for static images.
In case of animations, only the first frame will be shown.
.
If the convert binary
.Pq supplied by ImageMagick
-is available, it also has limited support for many other filetypes, such as
+is available, it also has limited support for many other file types, such as
svg, xcf and otf.
If dcraw is available,
.Nm
also supports RAW files provided by cameras and will display the embedded
thumbnails.
Use
-.Cm --conversion-timeout Ar num
+.Cm --conversion-timeout Ar timeout
with a non-negative value to enable support for these formats.
.
.
@@ -224,7 +224,7 @@ Create borderless windows.
.
.It Cm --cache-size Ar size
.
-Set Imlib2 in-memory cache to
+Set imlib2 in-memory cache to
.Ar size
MiB.
A higher cache size can significantly improve performance especially for small
@@ -259,7 +259,7 @@ the caption will be looked for in
.It Cm --conversion-timeout Ar timeout
.
.Nm
-can use ImageMagick to try converting unloadable files into a supportad
+can use ImageMagick to try converting unloadable files into a supported
file format.
As this can take a long time, it is disabled by default.
Set
@@ -293,7 +293,7 @@ with exiv2 / exifgrep .
.
.It Cm -d , --draw-filename
.
-Draw the filename at the top-left of the image.
+Draw the file name at the top-left of the image.
.
.It Cm --draw-tinted
.
@@ -313,8 +313,8 @@ This option is similar to the playlists used by music software.
If
.Ar file
exists, it will be read for a list of files to load, in the order they appear.
-The format is a list of image filenames, absolute or relative to the current
-directory, one filename per line.
+The format is a list of image file names, absolute or relative to the current
+directory, one file name per line.
.
.Pp
.
@@ -363,7 +363,7 @@ add multiple paths.
.
.It Cm --force-aliasing
.
-Disable antialiasing for zooming, background setting etc.
+Disable anti-aliasing for zooming, background setting etc.
.
.It Cm -I , --fullindex
.
@@ -428,7 +428,7 @@ Use
.Ar style
as background for transparent image parts and the like.
Accepted values: default, checks, or an XColor
-.Pq eg. Qo black Qc or Qo #428bdd Qc .
+.Pq e.g. Qo black Qc or Qo #428bdd Qc .
.
In windowed mode, the default is checks
.Pq a checkered background so transparent image parts are easy to see .
@@ -447,10 +447,10 @@ Index mode enables certain other options, see
and
.Sx MONTAGE MODE OPTIONS .
.
-.It Cm --info Oo Ar flag Oc Ns Ar commandline
+.It Cm --info Oo Ar flag Oc Ns Ar command_line
.
Execute
-.Ar commandline
+.Ar command_line
and display its output in the bottom left corner of the image.
Can be used to display e.g. image dimensions or EXIF information.
Supports
@@ -627,7 +627,7 @@ from last to first image).
.
.It Cm -r , --recursive
.
-Recursively expand any directories in the commandline arguments
+Recursively expand any directories in the command line arguments
to the content of those directories, all the way down to the bottom level.
.
.It Cm --no-recursive
@@ -699,15 +699,19 @@ in paused mode.
.It Cm -S , --sort Ar 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
+Allowed sort types are:
+.Cm name , filename , dirname , mtime , width , height , pixels , size , format .
+For sort modes other than
+.Cm name , filename , dirname ,
+or
+.Cm mtime ,
+a preload run is
necessary, causing a delay proportional to the number of images in the list.
.
.Pp
.
.Cm mtime
-starts with the most recently modified image,
+starts with the most recently modified image.
.Cm width , height , pixels
and
.Cm size
@@ -721,7 +725,7 @@ to sort by oldest or largest first.
For
.Cm name , filename ,
and
-.Cm dirname ,
+.Cm dirname
you can use
.Cm --version-sort
to sort numbers naturally, so that e.g. 10.jpg comes after 2.jpg.
@@ -730,7 +734,7 @@ to sort numbers naturally, so that e.g. 10.jpg comes after 2.jpg.
.
Start the filelist at
.Ar filename .
-If no other files or filelists were specifed on the commandline,
+If no other files or filelists were specified on the command line,
.Nm
will first load all files from the directory in which
.Ar filename
@@ -762,7 +766,7 @@ Load options from config file with name
- see
.Sx THEMES CONFIG SYNTAX
for more info.
-Note that commandline options always override theme options.
+Note that command line options always override theme options.
The theme can also be set via the program name
.Pq e.g. with symlinks ,
so by default
@@ -1640,7 +1644,7 @@ Scroll up
.
Scroll down.
Note that the scroll keys work without anti-aliasing for performance reasons;
-hit the render key after scrolling to antialias the image.
+hit the render key after scrolling to anti-alias the image.
.
.It Aq Alt+Left Bq scroll_left_page
.
@@ -1660,7 +1664,7 @@ Scroll down by one page
.
.It R, Ao keypad begin Ac Bq render
.
-Antialias the image.
+Anti-alias the image.
Opens the currently selected image in thumbnail mode.
.
.It Ao keypad + Ac , Ao Up Ac Bq zoom_in
@@ -1852,7 +1856,7 @@ So, to enlarge a specific part of an image, click the zoom button on that part.
.
.Sh SIGNALS
.
-In slideshow mode,
+In slideshow and multiwindow mode,
.Nm
handles the following signals:
.
@@ -1860,11 +1864,15 @@ handles the following signals:
.
.It Dv SIGUSR1
.
-Switch to next image
+Slideshow mode: switch to next image;
+reload current image if the slideshow consists of a single file.
+Multiwindow mode: reload all images.
.
.It Dv SIGUSR2
.
-Switch to previous image
+Slideshow mode: switch to previous image;
+reload current image if the slideshow consists of a single file.
+Multiwindow mode: reload all images.
.
.El
.
@@ -1950,6 +1958,12 @@ Show some EXIF information, extracted by exifprobe/exifgrep
Recursively remove all images with dimensions below or equal to 1000x800 pixels
from the current directory.
.
+.It feh -L '%w %h %f' \&| awk '{ if \&($1 > $2\&) { print $0 } }' \&| cut -d ' ' -f 3- \&| feh -f -
+.
+Show landscape pictures
+.Pq image width greater than height
+in the current directory.
+.
.El
.
.
@@ -1969,7 +1983,7 @@ for lossless JPEG rotation.
.
.Pp
.
-To view images from URLs such as http://,
+To view images from URLs such as "http://",
.Nm
must be compiled with libcurl support.
It is $MAN_CURL$ in this build
@@ -2015,7 +2029,7 @@ window slightly too large.
If you find a bug, please report it to
.Aq derf+feh@finalrewind.org
or via
-.Aq http://github.com/derf/feh/issues .
+.Aq https://github.com/derf/feh/issues .
You are also welcome to direct any feh-related comments/questions/... to #feh
on irc.oftc.net.
.
diff --git a/share/applications/feh.pre b/share/applications/feh.pre
index a2bcd3a..e5efc5b 100644
--- a/share/applications/feh.pre
+++ b/share/applications/feh.pre
@@ -3,7 +3,7 @@ Name=Feh
Name[en_US]=feh
GenericName=Image viewer
GenericName[en_US]=Image viewer
-Comment=Fast Imlib2-based Image Viewer
+Comment=Image viewer and cataloguer
Exec=feh --start-at %f
Terminal=false
Type=Application
diff --git a/src/feh.h b/src/feh.h
index 1d5e918..15da763 100644
--- a/src/feh.h
+++ b/src/feh.h
@@ -152,7 +152,7 @@ void feh_event_handle_stdin();
void feh_event_handle_generic(winwidget winwid, unsigned int state, KeySym keysym, unsigned int button);
fehkey *feh_str_to_kb(char * action);
void feh_action_run(feh_file * file, char *action, winwidget winwid);
-char *format_size(int size);
+char *format_size(double size);
char *feh_printf(char *str, feh_file * file, winwidget winwid);
void im_weprintf(winwidget w, char *fmt, ...);
void feh_draw_zoom(winwidget w);
diff --git a/src/options.c b/src/options.c
index 34e248e..37fad88 100644
--- a/src/options.c
+++ b/src/options.c
@@ -470,6 +470,8 @@ static void feh_parse_option_array(int argc, char **argv, int finalrun)
if (opt.slideshow_delay < 0.0) {
opt.slideshow_delay *= (-1);
opt.paused = 1;
+ } else {
+ opt.paused = 0;
}
break;
case 'E':
@@ -751,10 +753,12 @@ static void feh_parse_option_array(int argc, char **argv, int finalrun)
break;
case 234:
opt.info_cmd = estrdup(optarg);
- if (opt.info_cmd[0] == ';')
+ if (opt.info_cmd[0] == ';') {
+ opt.draw_info = 0;
opt.info_cmd++;
- else
+ } else {
opt.draw_info = 1;
+ }
break;
case 235:
opt.force_aliasing = 1;
@@ -834,8 +838,6 @@ static void feh_parse_option_array(int argc, char **argv, int finalrun)
add_file_to_filelist_recursively(".", FILELIST_FIRST);
}
}
- else if (finalrun && !opt.filelistfile && !opt.bgmode)
- add_file_to_filelist_recursively(".", FILELIST_FIRST);
/* So that we can safely be called again */
optind = 0;
diff --git a/src/signals.c b/src/signals.c
index d65f49b..85d81bc 100644
--- a/src/signals.c
+++ b/src/signals.c
@@ -24,6 +24,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#include "feh.h"
+#include "filelist.h"
#include "winwidget.h"
#include "options.h"
@@ -94,10 +95,14 @@ void feh_handle_signal(int signo)
winwid = winwidget_get_first_window_of_type(WIN_TYPE_SLIDESHOW);
if (winwid) {
- if (signo == SIGUSR1)
- slideshow_change_image(winwid, SLIDE_NEXT, 1);
- else if (signo == SIGUSR2)
- slideshow_change_image(winwid, SLIDE_PREV, 1);
+ if (filelist_len > 1) {
+ if (signo == SIGUSR1)
+ slideshow_change_image(winwid, SLIDE_NEXT, 1);
+ else if (signo == SIGUSR2)
+ slideshow_change_image(winwid, SLIDE_PREV, 1);
+ } else {
+ feh_reload_image(winwid, 0, 0);
+ }
} else if (opt.multiwindow) {
for (i = window_num - 1; i >= 0; i--)
feh_reload_image(windows[i], 0, 0);
diff --git a/src/signals.h b/src/signals.h
index 38fc0d2..bff737e 100644
--- a/src/signals.h
+++ b/src/signals.h
@@ -27,5 +27,5 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define SIGNALS_H
void setup_signal_handlers();
-volatile extern int sig_exit;
+extern volatile int sig_exit;
#endif
diff --git a/src/slideshow.c b/src/slideshow.c
index 145ced1..ac8c545 100644
--- a/src/slideshow.c
+++ b/src/slideshow.c
@@ -445,7 +445,7 @@ void feh_action_run(feh_file * file, char *action, winwidget winwid)
return;
}
-char *format_size(int size)
+char *format_size(double size)
{
static char ret[5];
char units[] = {' ', 'k', 'M', 'G', 'T'};
@@ -454,7 +454,7 @@ char *format_size(int size)
size /= 1000;
postfix++;
}
- snprintf(ret, 5, "%3d%c", size, units[postfix]);
+ snprintf(ret, 5, "%3.0f%c", size, units[postfix]);
return ret;
}
diff --git a/src/wallpaper.c b/src/wallpaper.c
index ef7ecca..9df259f 100644
--- a/src/wallpaper.c
+++ b/src/wallpaper.c
@@ -502,15 +502,16 @@ void feh_wm_set_bg(char *fil, Imlib_Image im, int centered, int scaled,
}
fputc(' ', fp);
if (use_filelist) {
- for (int i = 0; i < cmdargc; i++) {
- if (filelist_pos && !strcmp(FEH_FILE(filelist_pos->data)->filename, cmdargv[i])) {
- /* argument is a file */
- absolute_path = feh_absolute_path(cmdargv[i]);
- fputs(shell_escape(absolute_path), fp);
- filelist_pos = filelist_pos->next;
- free(absolute_path);
- fputc(' ', fp);
- }
+#ifdef HAVE_LIBXINERAMA
+ for (int i = 0; (i < opt.xinerama ? num_xinerama_screens : 1) && filelist_pos; i++) {
+#else
+ for (int i = 0; (i < 1 ) && filelist_pos; i++) {
+#endif
+ absolute_path = feh_absolute_path(FEH_FILE(filelist_pos->data)->filename);
+ fputs(shell_escape(absolute_path), fp);
+ filelist_pos = filelist_pos->next;
+ free(absolute_path);
+ fputc(' ', fp);
}
} else if (fil) {
absolute_path = feh_absolute_path(fil);
diff --git a/src/winwidget.c b/src/winwidget.c
index 4f5f4a6..bb4fdae 100644
--- a/src/winwidget.c
+++ b/src/winwidget.c
@@ -203,7 +203,6 @@ void winwidget_create_window(winwidget ret, int w, int h)
}
if (opt.paused) {
- printf("name %s\n", ret->name);
tmpname = estrjoin(" ", ret->name, "[Paused]", NULL);
free(ret->name);
ret->name = tmpname;