Comment by ~itaranto on ~exec64/imv
I tried using
imv -t 0 file.png
andimv -t 1 file.png
without success, I always get a black canvas eventually.LIke I mentioned previously, the best workaround sor far is to run
imv
as a server, and then doimv <PID> close all
followed byimv <PID> open <FILE>
.
Comment by ~itaranto on ~exec64/imv
I'll try using the slideshow. For now I'm using
imv
's IPC mechanism to workaround this, I'm using that in my Neovim plugin.It's also worth mentioning that other "minimal" image visualizers like
feh
don't have this issue.
Comment by ~itaranto on ~exec64/imv
Also,
while true; do cat foo.png > target.png && sleep 0.01 && cat bar.png > target.png && sleep 0.01; done
Seems to work fine.
and
# This generates target.png plantuml target.puml
Doesn't reproduce it immediately but after a couple of runs.
Comment by ~itaranto on ~exec64/imv
It's very weird, because adding some sleep time between the
cp
's doesn't reproduce the issue:while true; do cp -v foo.png target.png && sleep 0.01 && cp -v bar.png target.png && sleep 0.01; done
but I can easily reproduce the issue in one shot when using:
plantuml -pipe < test.puml > target.png
Comment by ~itaranto on ~kennylevinsen/gtkgreet
Alright, you can close this then. Thanks.
Ticket created by ~itaranto on ~kennylevinsen/gtkgreet
Build error:
FAILED: gtkgreet/gtkgreet.p/gtkgreet.c.o cc -Igtkgreet/gtkgreet.p -Igtkgreet -I../gtkgreet-0.7/gtkgreet -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/lzo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cloudproviders -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/json-c -I/usr/include/gtk-layer-shell -flto=auto -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -Wno-unused-parameter -Wno-missing-braces -DLAYER_SHELL -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fPIE -pthread -MD -MQ gtkgreet/gtkgreet.p/gtkgreet.c.o -MF gtkgreet/gtkgreet.p/gtkgreet.c.o.d -o gtkgreet/gtkgreet.p/gtkgreet.c.o -c ../gtkgreet-0.7/gtkgreet/gtkgreet.c ../gtkgreet-0.7/gtkgreet/gtkgreet.c: In function ‘create_gtkgreet’: ../gtkgreet-0.7/gtkgreet/gtkgreet.c:94:5: error: ‘G_APPLICATION_FLAGS_NONE’ is deprecated: Use 'G_APPLICATION_DEFAULT_FLAGS' instead [-Werror=deprecated-declarations] 94 | gtkgreet->app = gtk_application_new("wtf.kl.gtkgreet", G_APPLICATION_FLAGS_NONE); | ^~~~~~~~ In file included from /usr/include/glib-2.0/gio/giotypes.h:30, from /usr/include/glib-2.0/gio/gio.h:28, from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28, from /usr/include/gtk-3.0/gdk/gdk.h:32, from /usr/include/gtk-3.0/gtk/gtk.h:30, from ../gtkgreet-0.7/gtkgreet/gtkgreet.c:3: /usr/include/glib-2.0/gio/gioenums.h:1536:3: note: declared here 1536 | G_APPLICATION_FLAGS_NONE GLIB_DEPRECATED_ENUMERATOR_IN_2_74_FOR(G_APPLICATION_DEFAULT_FLAGS), | ^~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors [7/8] Compiling C object gtkgreet/gtkgreet.p/window.c.o ninja: build stopped: subcommand failed. ==> ERROR: A failure occurred in build(). Aborting...
I fixed it by adding
-Wno-deprecated-declarations
.
Comment by ~itaranto on ~exec64/imv
Oh, if you mean the whole
assert
thing, then yes. But the root cause of both issues seem to be different.
Comment by ~itaranto on ~exec64/imv
Is this caused by a wlroots update? https://github.com/swaywm/sway/issues/7398 suggests that even chromium and mpv are broken on wayland.
This cannot be caused by
wlroots
since the error comes fromimv-x11
notimv-wayland
.When running on a TTY it defaults to
imv-x11
since there's notWAYLAND_DISPLAY
isn't defined:#!/bin/sh if [ -n "${WAYLAND_DISPLAY}" ]; then exec imv-wayland "$@" else exec imv-x11 "$@" fi