New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Xwayland monitor doesn't change position (to the left/to the right) when changing position of monitor in sway #4064
Comments
I noticed this as well, this has actually been this way for a few weeks now, (can currently reproduce this using latest master). Test case:
It seems to me that EDIT: trying to bisect this I found that this issue already existed 3 weeks ago, at commit d9de5b8 I wanted to bisect futher, but at some point I hit a commit that doesn't compile any more with the latest |
Possibly related to #2668. Although that was several months ago so wouldn't be related to a recent change. The only recent change that I see is swaywm/wlroots#1611. However, xwayland should be using xdg-output's logical position instead anyway |
Interestingly, bisecting wlroots instead of sway, I found that exact commit (swaywm/wlroots#1611) to be the first commit that causes this bug. Maybe I saw a similar issue weeks ago that had a different cause and was since fixed, and this is a regression caused by the change in wroots? |
Ugh. Then this is an xwayland bug? It should definitely use xdg-output information. |
I found the bug in Xwayland: Xwayland uses both With latest wlroots, this doesn't happen any more when moving an output, since the position in wl_output stays at 0,0, while the logical position in xdg_output changes, meaning only one of the events is triggered. The checks in question:
the fix is to just to remove both of these ifs and clean up the (now no longer needed) wl_output_done and xdg_output_done flags. |
I submitted the patch to the Xorg-devel mailing list, it hasn't appeared in the public archive yet for some reason though, so I can't link to it. Maybe I'll fork the xserver repo and commit the patch there tomorrow. |
@Ferdi265 If you're not subscribed to the mailing list and try to send an email, it'll get held up for administrator approval as spam-prevention (you'd get an email back saying this). I don't know if that is even monitored or not. I'm subscribed to that list and I haven't seen it come through yet. If you're not subscribed, you should do so and re-send your patch. |
@ascent12 that makes sense. I'll resend it today :) |
It's not clear whether there is a good Xwayland fix for this bug. |
Will reply to the list in a few hours. Here are some
|
Can you try swaywm/wlroots#1674? |
will try this with unpatched Xwayland |
I started up my notebook with the monitor configuration you can see in the pastebin. Afterwards I executed the following command:
swaymsg output '"Seiko Epson Corporation 0x5441 0x00000000" position 0 0'
Up until very recently this would result in my Notebook monitor (the Seiko one) being displayed on the left and the external Dell in the middle. When I did this today (after upgrading sway) I was unable to click applications on the left monitor (e.g. Thunderbird, Spotify, I assume Xwayland). Instead the pointer would be display on the external monitor. When checking lxrandr I saw that the Notebook Monitor was still listed to the right, so I assume the error lies there, when I changed that to the left it worked.
Previously, at most two weeks ago, this was working perfectly, so I assume something must have changed in between, causing that effect?
The text was updated successfully, but these errors were encountered: