Use only state to check fullscreen when no configured output is set#1528
Use only state to check fullscreen when no configured output is set#1528Lompik wants to merge 1 commit intodunst-project:masterfrom
Conversation
foreign_toplevel.output_enter is not sent if the window starts in fullscreen. toplevel->output_list ends up emtpy and wl_have_fulscreen_window returns false even if the window is "active" and "fullscreen".
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1528 +/- ##
==========================================
- Coverage 65.43% 65.42% -0.01%
==========================================
Files 51 51
Lines 8928 8929 +1
Branches 1067 1068 +1
==========================================
Hits 5842 5842
- Misses 3086 3087 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Sorry for the late reply. Unfortunately i cannot test the changes right now. |
1 similar comment
|
Sorry for the late reply. Unfortunately i cannot test the changes right now. |
fwsmit
left a comment
There was a problem hiding this comment.
This change looks fine to me.
I wonder if the behavior of sway is a bug. It seems logical to send an output enter signal even when the window starts fullscreen.
|
i tested on sway should probably send that |
|
So this patch fixes an edge case in sway that happens only if there are more than one screens? I will merge without problem, but maybe that should be investigated with sway? (Or maybe we messed up somewhere else?) |
|
I submitted swaywm/sway#9000 to sway and trying to fix it |
|
should I merge in the meantime or do we wait for sway response? |
|
I'll actually close this as being an edge case and more of a sway issue. We can revisit later if more people are affected. |
This patch only affects "fullscreen" option under wayland.
It seems that tracking window outputs via
foreign_toplevel.output_enteris not appropriate whileforeign_toplevel.staterigorously tracks active(focused)/fullscreen state.Some compositors (wlroots/sway in my case) consider that a window starting fullscreen does not "become" visible, it already is. So foreign_toplevel.output_enter is not sent if the window starts in fullscreen.
That's a problem as toplevel->output_list ends up empty and
wl_have_fulscreen_windowreturns false even if the window is "active" and "fullscreen".This patch keeps the behavior if a configured output is set.
Here's an example with "mpv --fullscreen"