ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
23.93k stars 1.05k forks source link

Compositor patches: Always on top? #2943

Open SpookySkeletons opened 5 years ago

SpookySkeletons commented 5 years ago

I've personally found this to be quite annoying on KDE plasma as it means every time I launch a game I have to ALT+F3, and disable the window's "always on top" functionality to ALT+TAB into my other windows and it plays kind of rough when I'd just like the game to spool up in the background while I do something else.

Is this behavior necessary? I think it would be much more preferable to just disable the compostior so you still quickly jump back to your web browser/ desktop enviornment and back in game and such.

aeikum commented 5 years ago

We respect the game's always-on-top settings, it's not something we force on all games. Most games will auto-minimize on focus loss, or the window manager will minimize fullscreened windows when alt-tabbing out of them. I'm a little surprised to hear KDE doesn't do this.

SpookySkeletons commented 5 years ago

Super weird. You mean this is actually just an issue with KDE? What does it pass to the window?

aeikum commented 5 years ago

Alt-tab, always-on-top, and various focus issues are and have been problems forever. Windows games all do it in different ways, each Windows OS does it slightly differently. And of course translating all that wackiness onto the hundred different Linux WMs that each do it differently is just a nightmare. It's a big known issue, and we're continually making changes and improvements.

In order to keep our sanity, we generally focus most on GNOME/mutter (because Ubuntu uses it by default) and XFCE (because it's what most of our developers happen to use). We haven't worked on KDE specifically. The situation may improve as we continue to make changes for other WMs. However, I also haven't heard a ton of complaints about our behavior on KDE specifically, so maybe the situation isn't so much worse than other WMs already.

If you want to propose a patch to improve the situation on KDE, we would definitely consider it.

I'm not sure what you're asking about passing something to the window.

SpookySkeletons commented 5 years ago

Sorry for the delay, been dealing with mesa issues.

What function in Proton's wine backend actually passes window options?

aeikum commented 5 years ago

By option, do you mean setting the always-on-top state in X11? Ultimately it boils down to update_net_wm_states setting NET_WM_STATE_ABOVE in winex11.drv.