Odd window behavior on XMonad (workaround from bug 1958174 is insufficient but gtk fix does work).
Categories
(Core :: Widget: Gtk, defect)
Tracking
()
People
(Reporter: samsporidis, Unassigned)
Details
Attachments
(1 file)
|
347.40 KB,
image/png
|
Details |
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:136.0) Gecko/20100101 Firefox/136.0
Steps to reproduce:
Opened Firefox while using the window manager XMonad.
Actual results:
In the attached image, the border draws 3 pixels after the end of the window being drawn. I created an issue in the XMonad project's repository, and a maintainer and developer stated "I'm afraid you will have to take that up with the Firefox developers. xmonad uses the old X11 border_width mechanism, which is contained inside the application window. It appears that Firefox is now malfunctioning when its windows' border_width isn't 0."
An additional piece of information: this was not an issue till version 137, everything worked in 136.
A link to the original issue: https://github.com/xmonad/xmonad/issues/530
Expected results:
The window should have drawn up to the border, not 3~ pixels before the border is drawn.
Comment 1•1 year ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Widget: Gtk' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Comment 2•1 year ago
|
||
Can you confirm this works on nightly? This looks exactly as bug 1958174.
| Reporter | ||
Comment 3•1 year ago
|
||
This is still present on nightly version 139.0a1.
I've attached a screenshot comparing Firefox 137.0.2 and Firefox 139.0a1 at the link: https://files.catbox.moe/qf58o8.png
The issue seems to be the same in both versions.
Comment 4•1 year ago
|
||
Thanks, I can repro... So it seems the workaround I added in bug 1958174 was insufficient for xmonad, but the GTK side fix (https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/8423) does work.
Can you confirm that? I can't reproduce the issue locally with that fix applied. Probably something about the virtual root stuff the gtk code is dealing with.
Given the correct fix is already upstream in GTK, and it fixes this, I'm not inclined to add further workarounds in Firefox, but if you can come up with something easy that works I'd be happy to take it.
Sorry, you stumbled on an ancient GTK bug :'(
| Reporter | ||
Comment 5•1 year ago
|
||
To see if the GTK fix works, should I just update my local version of GTK to the latest possible version?
Comment 6•1 year ago
|
||
You likely need to build gtk from source, I don't think the fix has been released. FWIW what I do is something like:
$ meson build
$ cd build
$ ninja
$ export LD_LIBRARY_PATH=$(pwd)/gtk:$(pwd)/gdk
$ firefox
But of course depending on your distro it might be easier to build a package with a commit cherry-picked or so...
| Reporter | ||
Comment 7•1 year ago
|
||
Sorry for the wait I had to recompile a later version of Firefox.
the GTK fix does infact work, I verified it through an improvisation of your steps. Thank you! This should be resolved whenever my package maintainer updates the GTK package. In the meantime, you can mark this issue as resolved.
| Reporter | ||
Comment 8•1 year ago
|
||
Sorry for the inconvenience but I need to correct myself. I did not manage to get it working, I was using the wrong version of Firefox when testing the GTK fix. It does not in fact work on my end, may be user error.
Comment 9•1 year ago
|
||
Ah sorry, did you check out the gtk-3-24 branch? Otherwise you'd be building gtk4.
| Reporter | ||
Comment 10•1 year ago
|
||
Ah, sorry for the two wrong version incidents. I can now confirm that the GTK fix does infact work, and I'll just need to wait for these changes in my own package repository.
Comment 11•1 year ago
|
||
No, my fault, I missed at least the last one in comment 6 :)
Comment 12•1 year ago
|
||
Ok, so closing for now. If you want to dig into how to potentially work around this in xmonad, the patch in bug 1958174 could help. I'm not sure what in the X window hierarchy makes it different from the other WMs.
Description
•