Closed DiWa51 closed 4 weeks ago
Hi there, thanks for the report.
I'm afraid I can't reproduce this, though, despite trying in three different graphical environments :
Running the 5.18.3.f AppImage in every one of those results in mouse scrolling working properly when the mouse hovers over a list.
Is there anything specific about your setup? Are you perhaps using the MATE version of Linux Mint with a non-standard window manager (if so, which one)?
Hi Xavery,
Thanks for looking into this.
I'm using the following Mint + Cinnamon
System: Kernel: 6.2.0-26-generic x86_64 bits: 64 compiler: N/A Desktop: Cinnamon 5.8.4 tk: GTK 3.24.33 wm: muffin dm: LightDM Distro: Linux Mint 21.2 Victoria base: Ubuntu 22.04 jammy
I've done further testing and it might be related to my mouse as i'm using a Logitech MX Master 3 with this infinite scroll (no specific logitech driver or feature installed though). I've plugged in an old style mouse and indeed this is working.
I've tried on a laptop (same mint+cinnamon versions) with a touchpad and using the 2 fingers trick to scroll was again not really working. I say really because from time to time something reacts and the list moves but it's really random.
Each time I compared with the original version that was working.
It also means I'm using the same config when running the 2 versions. So I've moved away .config/Transmission Remote GUI
folder but without more luck.
Is there anything else I can try?
There were no changes related to mouse wheel event handling as far as I'm aware, so the issue must lie in Lazarus itself.
The most significant change between "stock" transgui and my fork is the "widget set" (essentially, the "backend" library used for actually drawing things) used by Lazarus to build the application, as my fork uses the Qt5 variant, while "stock" uses GTK2. I found Qt5 to look and perform better than GTK2 (despite using GTK-based Xfce as my DE) which is why I chose it as the default for Linux builds.
Here's a build using GTK2 : https://github.com/xavery/transgui/suites/15085042301/artifacts/861694276 - please let me know if it works any better. If this version works, then what you're seeing must be specific to either the Qt5-based Lazarus implementation, or a bug in Qt5 itself. If it doesn't, I'll provide you with both GTK- and Qt-based builds made with the same Lazarus version as the one used by stock transgui.
Thanks for building this package, I've just dowloaded and tested it. Unfortunately UI is not showing up even though there is a running process
ps aux | grep -i transgui
diwa 81477 0.2 0.0 6056 3412 pts/0 S+ 16:07 0:00 /usr/lib/x86_64-linux-gnu/appimagelauncher/binfmt-bypass /home/diwa/Applications/transgui-5.18.4.f-GTK2-x86_64.AppImage
diwa 81495 0.3 0.0 210344 32128 pts/0 S+ 16:07 0:00 /home/diwa/Applications/transgui-5.18.4.f-GTK2-x86_64.AppImage
diwa 81498 0.4 0.0 14596 2492 ? Ssl 16:07 0:00 /home/diwa/Applications/transgui-5.18.4.f-GTK2-x86_64.AppImage
When I ran it from a terminal I get these logs:
** (AppImageLauncher:49833): WARNING **: 14:48:17.514: Pixbuf theme: Cannot load pixmap file /usr/share/themes/Mint-Y-Dark-Blue/gtk-2.0/assets/trough-progressbar.png: Failed to load image “/usr/share/themes/Mint-Y-Dark-Blue/gtk-2.0/assets/trough-progressbar.png”: Fatal error in PNG image file: bad parameters to zlib
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
** (AppImageLauncher:49833): WARNING **: 14:48:17.514: Invalid borders specified for theme pixmap:
/usr/share/themes/Mint-Y-Dark-Blue/gtk-2.0/assets/trough-progressbar.png,
borders don't fit within the image
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.514: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.515: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:49833): GdkPixbuf-CRITICAL **: 14:48:17.515: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(transgui-x86_64.AppImage:49851): GLib-GObject-WARNING **: 14:48:17.965: cannot register existing type 'GdkScreen'
(transgui-x86_64.AppImage:49851): GLib-CRITICAL **: 14:48:17.965: g_once_init_leave: assertion 'result != 0' failed
(transgui-x86_64.AppImage:49851): Gdk-CRITICAL **: 14:48:17.965: IA__gdk_screen_get_primary_monitor: assertion 'GDK_IS_SCREEN (screen)' failed
Your original 5.18.3.f Qt5 version prints these one:
** (AppImageLauncher:51231): WARNING **: 14:54:36.564: Pixbuf theme: Cannot load pixmap file /usr/share/themes/Mint-Y-Dark-Blue/gtk-2.0/assets/trough-progressbar.png: Failed to load image “/usr/share/themes/Mint-Y-Dark-Blue/gtk-2.0/assets/trough-progressbar.png”: Fatal error in PNG image file: bad parameters to zlib
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
** (AppImageLauncher:51231): WARNING **: 14:54:36.564: Invalid borders specified for theme pixmap:
/usr/share/themes/Mint-Y-Dark-Blue/gtk-2.0/assets/trough-progressbar.png,
borders don't fit within the image
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:51231): GdkPixbuf-CRITICAL **: 14:54:36.564: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
One other difference is the GTK2 AppImage package is ~4 times smaller than your 5.18.3.f Qt5
Tell me if I can help in other ways
This looks very similar to https://github.com/transmission-remote-gui/transgui/issues/1241 . I've never investigated this properly as I just switched to Qt5 since then and found it working much better in general, so I just stayed with it, which is also the reason why the builds here use Qt5 exclusively.
That said, the AppImage did work for me in a clean Mint VM, but that's irrelevant if you're seeing an issue that was previously reported which is vastly different from what we're trying to solve in the first place.
I'll look into creating a build with older Lazarus for you to test.
@DiWa51 Here's a build using the same environment (Debian bullseye, Lazarus 2.0.10, fpc 3.2.0, Qt 5.15.2) as the parent transgui project : https://files.catbox.moe/vdnpo6.gz - couldn't upload to GitHub as it only accepts files up to 25MB.
Let me know how this one works.
Hi @xavery I've downloaded and tested your last package. It loads without any glitch, unfortunatelly, my mouse wheel is still not behaving as expected. To be honest I feel a bit ashamed you spend so many time on this issue if nobody else complains about it. It can be smthg on my end ... I might just live with it (I'm far from using Transgui everyday!), so feel free to stop until you feel more traction is brought by the rest of the community. Thanks a lot for help so far.
Sorry @DiWa51 , if this doesn't work, then I'm completely clueless as to what might be going on here. :(
I understand, no worries! Again thanks a lot for the time spent.
if you want to close this issue, feel free (I can do it if you tell me to)
Hi @lighterowl
Thanks for this new release!
Quick update, given you've shipped a new package I've tried again this issue and let's say the issue is still here as when I spin my mouse wheel the scrollbar blocks half way (the wheel is still spinning and there is another 100 lines to go through but the scrollbar doesn't move anymore) but, as an half empty glass, it runs half way. So for some reasons it seems to better work (can it be due to Kernel or Cinnamon upgrade or ... I don't know)
Then I went further and compiled the project locally following your steps and from there, everything runs smoothly (I'm running the transgui/units/transgui binary)! Dunno if you see how to spot difference between the 2 binaries or environments?
Hi @DiWa51
This is great news! It must be something specific to the AppImage, then, or perhaps the version of Qt that's shipped inside it. I can only speculate at this point but perhaps the version of Qt installed in your own system has some extra configuration files that the AppImage one doesn't even read. Or maybe you've come across a bug in the version of Qt that's packaged inside the AppImage.
I wish I had something more to tell you but I'm afraid that's it.
I've just installed the 5.18.3.f AppImage on my Linux Mint 21.2. Once started, spinning my mouse wheel has no effect on any list / scrollbar (Label Grouping or the main panel listing all torrents). I can still point and click the scrollbar to move things or use my keyboard arrows (which opens another issue: I can't move my selection from one torrent to the other with arrows even thouhg I make sure one torrent is selected and with the focus)
This is something working on the original 5.18.0 version