artemsen / swayimg

Image viewer for Wayland
MIT License
379 stars 31 forks source link

Not opening png images #176

Open MalcolmReed-ent opened 3 months ago

MalcolmReed-ent commented 3 months ago

System Information:

OS: Debian GNU/Linux Trixie (trixie/sid) x86_64
Kernel: Linux 6.10.3-amd64
Version: swayimg version 3.0

Issue Description: I am experiencing an issue with launching PNG images using swayimg. When I attempt to open an image file through a GUI file manager with the swayimg.desktop file, all image types open correctly except for PNG files. Additionally, when I try to view a PNG image from the terminal, the application hangs indefinitely, until i Ctrl+c it.

artemsen commented 3 months ago

Could you please attach a sample PNG?

MalcolmReed-ent commented 3 months ago

Greek-Prometheus

MalcolmReed-ent commented 3 months ago

This is one of the images I was trying to open, but just wouldnt work.

artemsen commented 3 months ago

Debian Trixie has swayimg 2.5. Did you compile swayimg yourself?

MalcolmReed-ent commented 3 months ago

Im on Debian Sid, im using

swayimg/unstable,now 3.0-1 amd64 [installed] image viewer for Sway/Wayland

artemsen commented 3 months ago

Looks like something wrong with libpng. I cant reproduce the bug in my system. Could you build swayimg from source to check?

meson setup _build_dir
meson compile -C _build_dir
_build_dir/swayimg test.png
MalcolmReed-ent commented 3 months ago

When i compiled the git version and running the distro's version, I noticed that PNGs work correctly on certain type of pngs. However, when using swayimg with both the compiled and repository versions on this image file 'swayimg/extra/icon_128.png', it works fine, but not for other PNG images. Down below is where i 'exiftool' both images, the first being the working one.

[malcolm@enterprise extra]$ exiftool icon_128.png ExifTool Version Number : 12.76 File Name : icon_128.png Directory : . File Size : 24 kB File Modification Date/Time : 2024:08:07 14:01:59-04:00 File Access Date/Time : 2024:08:07 14:02:21-04:00 File Inode Change Date/Time : 2024:08:07 14:01:59-04:00 File Permissions : -rw-rw-r-- File Type : PNG File Type Extension : png MIME Type : image/png Image Width : 128 Image Height : 128 Bit Depth : 8 Color Type : RGB with Alpha Compression : Deflate/Inflate Filter : Adaptive Interlace : Noninterlaced Gamma : 2.2 SRGB Rendering : Relative Colorimetric White Point X : 0.3127 White Point Y : 0.329 Red X : 0.64 Red Y : 0.33 Green X : 0.3 Green Y : 0.6 Blue X : 0.15 Blue Y : 0.06 Image Size : 128x128 Megapixels : 0.016

[malcolm@enterprise ~]$ exiftool Greek-Prometheus.png ExifTool Version Number : 12.76 File Name : Greek-Prometheus.png Directory : . File Size : 331 kB File Modification Date/Time : 2024:08:07 14:35:00-04:00 File Access Date/Time : 2024:08:07 14:35:00-04:00 File Inode Change Date/Time : 2024:08:07 14:35:00-04:00 File Permissions : -rw-rw-r-- File Type : PNG File Type Extension : png MIME Type : image/png Image Width : 1919 Image Height : 1080 Bit Depth : 8 Color Type : RGB Compression : Deflate/Inflate Filter : Adaptive Interlace : Noninterlaced Pixels Per Unit X : 0 Pixels Per Unit Y : 1 Pixel Units : Unknown Image Size : 1919x1080 Megapixels : 2.1

artemsen commented 3 months ago

I am not sure, but may be github converted the image from https://github.com/artemsen/swayimg/issues/176#issuecomment-2273752948 Could you archive couple of problem images and attache the archive?

artemsen commented 3 months ago

I have installed Debian trixie/sid in QEMU VM. Swayimg works as expected, at least this image opens fine. So either github is converting the attachment or there is some problem on your local machine.

CodingOtaku commented 1 week ago

Chiming in here as I was having a similar issue. In my case, the problem was not the image, it was the config file.

If the image is stored in a directory with many subfolders and files, Sway will hang and try to check all files recursively if you have set the config to read directories recursively in the image list section, like this:

[list]
recursive = yes

At least that's what happened with all the images that froze for me.

Edit: It would be nice to have a configurable max_depth, and a warning in the swayimgrc for when the recursive is set to be infinite.