Age | Commit message (Collapse) | Author | Lines |
|
Add a global `magic_t magic` and initialize it just once.
Also `feh_is_image()` now calls itself to check compressed files, saving
some duplicate code.
|
|
getopt_long() is widely supported these days, removing it from the
source tree should be okay.
Here's documentation or the implementation of getopt_long on many
systems:
All the BSDs:
https://man.netbsd.org/NetBSD-9.2-STABLE/getopt_long.3
https://man.openbsd.org/OpenBSD-7.0/getopt_long
https://www.freebsd.org/cgi/man.cgi?query=getopt_long
https://leaf.dragonflybsd.org/cgi/web-man?command=getopt_long
Illumos (OpenSolaris fork):
https://illumos.org/man/3c/getopt_long
The musl, newlib, and uclibc-ng libcs:
https://gogs.waldemar-brodkorb.de/oss/uclibc-ng/src/master/libc/unistd/getopt_long-simple.c#L49-L52
https://git.musl-libc.org/cgit/musl/tree/src/misc/getopt_long.c#n140
https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/libc/stdlib/getopt.c;h=d4f225a7a735dc741d2874eb6c131b6fce2967c5;hb=HEAD#l475
Mingw-w64:
https://github.com/mirror/mingw-w64/blob/master/mingw-w64-crt/misc/getopt.c#L542-L549
Mac OS X:
https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man3/getopt_long.3.html
|
|
|
|
The --version-sort option requires strverscmp(), but this is a glibc
extension that does not exist on OpenBSD and other systems. To enable
--version-sort on those systems, provide an internal implementation of
strverscmp(). The implementation is from the musl C library and is
MIT-licensed.
The build process remains the same: the verscmp flag should be set to 1
only if strverscmp() is available in libc. If verscmp is 0, then the
internal implementation is used.
|
|
|
|
|
|
Closes #463
|
|
|
|
|
|
|
|
|
|
|
|
ulteq-natural-sort
|
|
ulteq-custom-background-color
|
|
This introduces a new feh_should_ignore_image function which is called
at appropriate places in those modes to skip images which are loadable but
undesired.
|
|
|
|
|
|
|
|
When feh loses its controlling terminal at runtime, e.g. due to backgrounding /
disowning, it will no longer issue a warning on each terminal keystroke.
|
|
|
|
|
|
|
|
|
|
like %o and %z in slideshow actions (I would like to use this to zoom in, pan,
and then use an action to crop the window to zoomed in view).
|
|
|
|
|
|
Many image collections are organized by directory, so it is nice to have
jump-to-adjacent-directory navigation.
e.g. Given the following file hierarchy:
.
├── A
│ ├── 1.jpg
│ ├── 2.jpg
│ └── C
│ ├── 1.jpg
│ ├── 2.jpg
│ └── 3.jpg
└── B
├── 1.jpg
├── 2.jpg
└── 3.jpg
`feh --recursive` creates the following filelist:
A/1.jpg <---- current_file
A/2.jpg
A/C/1.jpg
A/C/2.jpg
A/C/3.jpg
B/1.jpg
B/2.jpg
B/3.jpg
If we press [next_dir], we move the current_file pointer to:
A/1.jpg
A/2.jpg
A/C/1.jpg <-- current_file
A/C/2.jpg
A/C/3.jpg
B/1.jpg
B/2.jpg
B/3.jpg
Pressing [next_dir] again moves the pointer to:
A/1.jpg
A/2.jpg
A/C/1.jpg
A/C/2.jpg
A/C/3.jpg
B/1.jpg <---- current_file
B/2.jpg
B/3.jpg
[next_dir] now moves the pointer back to the top of the list:
A/1.jpg <---- current_file
A/2.jpg
A/C/1.jpg
A/C/2.jpg
A/C/3.jpg
B/1.jpg
B/2.jpg
B/3.jpg
Pressing [prev_dir] from here moves backwards to the first image of the
previous directory:
A/1.jpg
A/2.jpg
A/C/1.jpg
A/C/2.jpg
A/C/3.jpg
B/1.jpg <---- current_file
B/2.jpg
B/3.jpg
When starting from an position that is not the first image of a
directory, [prev_dir] moves the pointer to the first image of the
current directory.
These actions combine well with `--sort dirname` since all regular files
in a directory will be sorted before any subdirectories, avoiding a
filelist like the following:
A/1.jpg
A/SUBDIR/2.jpg
A/SUBDIR/3.jpg
A/4.jpg
With `--sort dirname` that filelist becomes:
A/1.jpg
A/4.jpg
A/SUBDIR/2.jpg
A/SUBDIR/3.jpg
|
|
|
|
|
|
Not all functions were examined yet. Also TODO:
* check strdup / malloc calls (some are apparently unchecked in giblib),
maybe use estrdup / emalloc for those
* Check includes and update dependency list if needed
|
|
|
|
|
|
|
|
|
|
Problems so far:
* leaks zombie processes
* does not work when terminating feh with a signal (since the convert process
is no longer in feh's process group)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This reverts commit 8b79bc33f37db12cbb672bdb47dcfeb0f2030bce.
|
|
This fixes a segfault in --reload when the image becomes unloadable while feh
is running.
Note that this does not affect --reload with more than one file: If the
current image is removed, feh will simply jump to the next image. feh will
only quit if the file still exists, but can no longer be loaded.
|
|
67e41d607413d8e95124b1d28b6ae74924e74ab9 moved the ZOOM_MODE from options.h
defines to a feh.h enum, but did not set the values correctly.
|
|
background (closes #60, #61)
By default, feh draws white text with a black drop-shadow, which is well
readable in most, but not all cases. The --draw-tinted option draws a
semi-transparent black box around all texts. This improves readability, but
does not look as nice, so it won't become default behaviour.
It was suggested to use #7f7f7f7f for the background, but I decided that
for small images surrounded by a black border.
|
|
In the image_remove function, slideshow_change_image needs to be called before
removing the image from the filelist. Because of this, the "x of y" displayed
by --draw-filename is wrong (y is 1 too high).
This commit introduces a new 'render' argument to slideshow_chingae_image.
The image_remove function calls it with render=0, edits the filelist and then
runs by winwidget_render_image itself.
Patch by Yu-Jie Lin.
|
|
#53)
|
|
|
|
|
|
|