Fix Fullscreen on Linux w/ Certain WM's

Reporter: time-killer-games  |  Status: open  |  Last Modified: June 28, 2020, 05:53:55 PM

I don't know what WM Ubuntu Budgie has but one site said Mutter, so I guess that's the one.

Anyway, I discovered Ubuntu Budgie and several other distro's have WM's that don't like fullscreen switching when the window has a fixed size, and it will prevent the game from going fullscreen. This fixes the issue.

Weird, two fullscreen bugs I found, (and fixed), on two platforms, all in one night. Sheesh.

reproducible.zip

time-killer-games  
I give up. Mutter is a fucking mess.
time-killer-games  

Nevermind, I figured it out.
time-killer-games  

@JoshDreamland This is still a huge improvement over the previous behavior, but the only bug I can't seem to fix that is left is if you have fullscreen set to true the in global game settings AND in your gml in the first room's (or object in the first room's) creation event, the window will always be sizeable when switching out of fullscreen.

If you happen to start fullscreen using global game settings OR gml in that same creation event, (NOT and), then it will be sizeable relative to whether the user ticked the global game setting to make it sizeable when in windowed mode, which is the correct behavior.

Since people don't need to set the game fullscreen twice in a row using two different methods, this shouldn't be a huge problem. This should be ready for a merge when it passes.

time-killer-games  

I said this information to Josh already but i figured it might be good for you to see as well @RobertBColton

Screenshot from 2020-05-29 17-01-13

so in my pr there is a regression with mg keystroke's game

Screenshot from 2020-05-29 17-53-51

when you get past the title screen

i was wondering whether it was really a regression my pr introduced

or

if it was something wrong with enigma that already existed that my pr simply uncovered

that's literally the only game i can throw at my pr that has dumb problems

but it fixes fullscreen for all games including this one

it just has a side effect reproducible in 1 stinkin game

I even tried SDL's approach by removing the min/max size hints completely while fullscreen and that had the same issues displayed in the screenshot above. It seems no matter what I do, either i fix fullscreen on Budgie, or i get have no regressions in this game, but I can't have both simultaneously for whatever reason.

RobertBColton  

That looks like scaling or the viewport clip in the second one. As if it wasn't able to fully clear the whole screen in time.
time-killer-games  

@RobertBColton @JoshDreamland what do you guys suggest I do? I tried an imitation of SDL's code and it cause the same issues with that game. I don't want that game to break, but i also want reliably working fullscreen. So I feel pretty stuck here.
Please sign in to post comments, or you can view this issue on GitHub.