Age | Commit message (Collapse) | Author |
|
|
|
Check errno when stat fail during traversal of a directory: doesn't stop
traversing for all stat errors
|
|
|
|
All items' pathes are resolved in add_item() so path used in imv_navigator_find_path() should be resolved too. This patch fixes #308
|
|
|
|
|
|
Fixes #305
|
|
Fixes #301
|
|
|
|
https://gitlab.freedesktop.org/wayland/wayland-protocols/-/blob/master/stable/xdg-shell/xdg-shell.xml#L1037
states regarding xdg_toplevel.configure "The width and height arguments specify a hint to the window". imv
was using these dimensions even if they are 0x0, which is valid for the compositor to send. Clearly this is
a bad hint and should be ignored. This patch does that, and fixes #293.
|
|
* inih is now widely available as a system library
* if not, a fallback from Wrap DB can be used
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
|
|
This issue was spotted on musl, where killing imv with the Q shortcut
while it was waiting for image paths in stdin led to the application
hanging until stdin received an EOF manually with ^D, since the stdin
stream was locked by the fgets() function.
Switching to pipes and a helper thread allows us to use read() for
reading from STDIN_FILENO while still taking advantage of the fgets()
logic for handling newlines and buffer size. read() is a thread
cancellation point (fgets() is only an optional one), which makes it
possible to cancel the helper thread cleanly and force the thread using
fgets() to exit when the write-end of the pipe it's reading from is
closed.
|
|
Since this isn't essential functionality, it's ok to simply not provide
it. In cases where XDG_RUNTIME_DIR was empty (but not unset) or set to a
directory where the user didn't have write permissions, socket creation
would fail and lead to segmentation faults in imv, due to the return
value of imv_ipc_create() not being checked.
|
|
Add newline to the prompt for reading paths from stdin.
Since string formatting isn't being used, it's possible to use fputs()
directly in the logging callback in imv.c.
|
|
|
|
|
|
split color_rgba into color_rgb and alpha
added configuration options to man pages
cleanup gitignore: the man pages output is now in the build directory,
so there is no to ignore man pages individually
|
|
* first steps for colored overlay
* overlay color wip
* add option for overlay position
if overlay_positiion_bottom is true overlay is at the bottom
* remove enum for overlay position
|
|
|
|
Previously, they would be sorted by however readdir returned them.
I suppose a proper configuration option to control sorting would be
nice, but for now, I think replacing forced random order with forced
alphabetical order is an improvement.
|
|
mmap with MAP_SHARED would fail if the compositor provides a read-only
descriptor with keymap. And at least weston applies F_SEAL_WRITE to the
memfd if supported by the platform.
Fixes #263
|
|
It's not documented when this value should be freed but other GLX
applications free it here.
|
|
|
|
|
|
Calling `rsvg_handle_close` doesn't do anything here because the handle
is already constructed with data or file. `g_object_unref` is called
instead to free memory.
|
|
|
|
|
|
The documentation already stated that it should be clockwise,
seems like I switched/intended to switch and some point.
|
|
|
|
|
|
Rotation can be done by any amount (not limited to multiples of 90).
Commands allow flipping horizontally and vertically.
The flips are done relative to the current rotation.
|
|
Support the HEIF format using libheif.
|
|
|
|
|
|
|
|
Fix to the fix contributed by escondida.
|
|
|
|
move from % to division rem
since higher numbers for prev failed
i have "<Shift+P> prev 10" in my configs which was not working properly
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Added a method that scales and crop the image so that the image will
fill the whole window.
Also made viewport update respect the current scaling mode.
|
|
|
|
This works the same way as the existing scale command except that it
changes the upscaling method.
Also did some code reduction on the scaling command.
|