Age | Commit message (Collapse) | Author |
|
This allows for imv to work on a system where libX11 is fully removed
|
|
|
|
|
|
Fixes #305
|
|
|
|
Fixes #301
|
|
|
|
This is the same key binding used by Eye of Gnome for a 90 degree clockwise image rotation for people coming from that image viewer.
|
|
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.
|
|
|
|
|
|
Allows to build imv without these extra features.
|
|
|
|
|
|
|
|
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
|
|
|
|
the library is rewritten in rust and on freebsd there is an other
package for it.
|
|
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
|
|
The .gitignore file ignores the directory build/, therefore it makes
most sense to use this directory in the example as well.
|
|
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.
|
|
|
|
|
|
|
|
Use pkg-config for libtiff dependency
Fixes #228
|
|
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.
|