Skip to content
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

Feature Request: Let Steam client windows be managed by the window manager #1040

Open
dscharrer opened this issue Jan 29, 2013 · 173 comments
Open

Comments

@dscharrer
Copy link

  1. It would be great if Steam had an option to let the window manager decorate Steam windows - and then remove the borders and window controls in the Steam skin. This is very useful, as Steam will never be able to implement all the window management features that users of various WMs are used to.
  2. Steam currently insists on positioning its own windows, while for X11 that task should be left to the WM - it knows more than you about the user's preferences and other windows and will likely be able to place them more intelligently.
  3. To take full advantage of the WMs window positioning, Steam needs to classify windows by setting the _NET_WM_WINDOW_TYPE property. At the minimum, dialog windows should be given the _NET_WM_WINDOW_TYPE_DIALOG value so that the WM can center them or put them under or near the mouse cursor - or whatever else the WM/user likes. Menu windows are already correctly classified as _NET_WM_WINDOW_TYPE_MENU. Also, initial window sizes need to be set before the window is shown (ideally before it is mapped).
  4. Finally Valve should consider Grouping the the Steam windows together using the window_group WM_HINT and the WM_CLIENT_LEADER property. This will prove interaction with the WM's focus stealing prevention (if the running WM has that feature). With KWin this also has the added benefit that "Dim Inactive" desktop effect will leave all Steam windows at full brightness when any Steam window has focus (if configured to apply the effect to window groups).

I previously reported this here when Steam was still in closed beta, and some of the suggested enhancements/fixes have since been implemented - the remaining ones are listed above.

Here is my proof of concept implementing these changes on the Xlib level - of course a real solution would implement this in Steam. I have tested these changes on my own system, but others have found them useful with different WMs, including Ubuntu's Unity.

@ghost ghost self-assigned this Jan 29, 2013
@gracicot
Copy link

Totally agree. This is okay to do as steam does on windows, but on linux it's simply not applicable. The steam client actually tries to manage itself, which is not his job. Every window manager are different and every users/preferences are different.

Linux users don't like when an application behaves differently. Sometime users set specific rules/behaviour to window and the current steam client break almost all user preferences

@DarkDefender
Copy link

Glad to see the original creator of the xlib workaround post here! :)
I've reported the effects of this in awesomeWM here #807
So if this one is fixed my bug report can be closed as well.

Thank you again @dscharrer for the fixes!

@Majkl578
Copy link

Definitely seems to be a good idea. Current behavior is very buggy.

@ManuGithubSteam
Copy link

Yes 100% ACK, please let the WM deal with it.

@deri82
Copy link

deri82 commented Feb 3, 2013

+1

1 similar comment
@mvdkleijn
Copy link

+1

@Tomin1
Copy link

Tomin1 commented Feb 11, 2013

I agree with this request.
It annoys me that Steam steals focus. I'd like to let the WM decide and windows should just tell that they need attention.
And I'm missing always on top with chat windows, my WM has the feature but I can't use it with Steam.

@gracicot
Copy link

it should at least let the window manager managing focus

@DavidGriffith
Copy link

This could help a lot with the weird problems of the "close window" cross misbehaviour. Please implement this. Having window decorations that don't mesh with the rest of the system is very irritating.

@MrSchism
Copy link
Member

@DavidGriffith What do you mean by "the 'close window' cross misbehaviour"?

@DavidGriffith
Copy link

@MrSchism See Issue #11.

@MrSchism
Copy link
Member

They explained -why- they did what they did; there's a lack of reliable tray icon. No tray icon means minimizing to tray (standard X-button action) breaks usability.

@mvdkleijn
Copy link

Lets not muddle this issue. This issue is not about the tray icon/minimizing thing. Its about using the WM to manage steam windows (like other applications) instead of steam managing itself. Let steam use the power of the WM.

@LukasThyWalls
Copy link

@MrSchism But with the last (or the other) update from repositories, the tray icon is working in KDE and others enviroments (i don't know if in all) and like close to tray #1025 have other problems like new chats open window #266

Talking about the close to tray, there is a workaround in #1025 what works for me, but how they explained in #1720, it isn't a Steam bug, it's outside Steam, and it's concerner with the enviroment.

Although having Steam working in the WM would fix many of those problems, the cost of working for three plataforms together could be very high against the possibility to implement a full use of every desktop enviroment. They probably do (and i think they are doing it now) a global implementation what, in theory, have to work in all systems and enviroments, and if not, do only little tweaks in the Steam client or demand some tweaks to the enviroment itself.

@K900
Copy link

K900 commented Feb 15, 2013

Would love to have this. The WM just knows more than Steam, so Steam should leave the decisions to it.

@remcohaszing
Copy link

+1

@cnd
Copy link

cnd commented Aug 14, 2013

Close window and Minimize window both are doing nothing in XMonad.

I want to hide frame to tray icon.

@Silent-Hunter
Copy link

Yes please! I would greatly appreciate this as steam is nearly unusable in Common Desktop Environment, UNIX Window Manager, and DWM without it.

@Kiwii
Copy link

Kiwii commented Sep 15, 2013

+1
I can force KWin to use native window borders and use a skin without decoration but that way all windows move down by the size of the window border each restart. Please let the window manager do it's job: managing windows.

@ddevault
Copy link

+1

On both awesome and i3, Steam windows fight with the WM to size themselves, and Steam loses. They should set the floating state properly. Bonus points if you set window groups for greater scriptability.

@stevethepocket
Copy link

Steam currently insists on positioning it's own windows, while for X11 that task should be left to the WM - it knows more than you about the user's preferences and other windows and will likely be able to place them more intelligently.

Maybe yours does. I can't for the life of me get KDE to remember that Firefox snaps to the right side of the screen and Thunderbird snaps to the left. In the nine months I've been using it, it has never not tried to do the exact opposite. Meanwhile, Steam's Friends window stays where I put it, in the bottom left corner.

@CharAznableLoNZ
Copy link

I also support the idea of letting the window manager deal with Steam. There are certain functions that are useful in KDE for example that I use on a daily basis but cannot use with Steam as it is managing its own window. The ability to tab applications together and send them to different desktops is quite a useful feature. An added benefit of letting the window manager deal with Steam is the close to tray icon feature will work as expected in environments that support a tray icon.

@zelurker
Copy link

I used steamwm from there https://github.com/dscharrer/steamwm which worked wonderfully, until valve updated its client recently with its new look... now it's all broken again. The only way to get back the normal window controls in windowmaker is to use the "ignore decoration hints for gtk applications" in wmprefs.app but it's a global setting, so it's a nuisance for some applications...

Thanks to valve for creating something so crappy after so many years, really, it's a shame !

@Ashark
Copy link

Ashark commented Jun 19, 2023

With new UI (steam version 1686880776), they made error dialogs to appear "inlined" in the main window, so now that problem of unmanaged windows of error dialogs disappears.

Hint: to invoke an "error" dialog, you can press "Login to another account" from the main window.
Screenshot_20230619_205923

However, steam notifications are still unmanaged windows.
Hint: to invoke a steam notification, you can create another account, log in from web browser there, and write pm to your main account.

Screenshot_20230619_210219

I would prefer notifications to respect system integration. I.e. notifications should use normal kde system notifier.

Also, I have created special window rules to force use titlebar and frame. This is privilege kde users have over users of another DEs until valve solves the problem of not setting titlebar.

Screenshot_20230619_205326

But I would like if I could disable steam's "own" buttons for closing, minimizing and maximizing (maybe possible with steam skins?). Because now it seems closing with system close button no longer causes steam to exit. Previously, it was possible to close to tray only by steam's own close button.

@zelurker
Copy link

Yeah finally you can do the same in windowmaker without the global setting, and without steamwm : just open the application menu in steam using the keyboard shortcut since you can't use the mouse since there is no title bar (should be control+escape, check in wmprefs otherwise). Then change the attributes to restore normal attributes, apply, in advanced configuration tick "ignore decoration changes", in concerned window just save with the default. Normally after that all steam windows will have normal decoration. As the previous post says it's too bad you get a double close button (the one from steam and the normal one) but this can't be helped as long as the window programming remains so crappy in steam, shame to valve for that.

@Seegras
Copy link

Seegras commented Jul 8, 2023

If It try it via menu as @zelurker says, wmaker crashes. I submitted a bugreport. But IgnoreGtkHints = YES; works.

@zelurker
Copy link

zelurker commented Jul 8, 2023

A crash ? Never saw a crash related to this application menu... maybe it's because I use the git version in arch ? Well there is not much choice, the only available package is a git version through aur... Anyway yes the ignore gtk hints works with its drawbacks, so if you can live with that it's fine, otherwise maybe try the git version then...

@awsms
Copy link

awsms commented Oct 7, 2023

Replying to #1040 (comment)

have a look at https://github.com/Rosentti/opensteamclient

@ryuukk
Copy link

ryuukk commented Oct 7, 2023

Replying to #1040 (comment)

have a look at https://github.com/Rosentti/opensteamclient

Current status: Being rewritten in C#

it's being rewritten in a bloated and slow microsoft language, so it's worse, no thanks, i don't want that on my computer

@Ashark
Copy link

Ashark commented Oct 7, 2023

@ryuukk See OpenSteamClient/OpenSteamClient#24. The author says this is because he is more experienced with C#. Anybody can rewrite it with C++.

@ryuukk
Copy link

ryuukk commented Oct 8, 2023

If i want to move away from electron and CEF, it's not to go to another bloatware

Software went to shit because people no longer care

@DexterHaxxor

This comment was marked as off-topic.

@coozoo

This comment was marked as off-topic.

@ScoreUnder

This comment was marked as off-topic.

@Novimatrem
Copy link

I had hoped they would actually fix this bug, and was subscribed to its updates to get informed on when they did, but given you lot being off-topic for a week straight, it's probably destroying any chances of that.

@ScoreUnder
Copy link

This bug was always a bit of a pipe dream. Not flashy enough, doesn't affect enough users, risks inconsistent branding. I don't think a long comment section is going to affect its chances at getting fixed.

@edg-l
Copy link

edg-l commented Nov 24, 2023

If you use i3 i found making everything but the main steam window floating to work somewhat nice:

for_window [class="^steam$"] floating enable
for_window [class="^Steam$"] floating enable
for_window [class="^steam$" title="^Steam$"] floating disable

@Yuraconst
Copy link

This pissue still stands in 2024, on both Windows and Linux. Let us use native window handling, and please kill the Electron crap - which is worse than VGUI. Use QT, you motherbleepers!

@Seegras
Copy link

Seegras commented Feb 28, 2024

It's now completely broken, because of #10408

@Bracket-H

This comment was marked as abuse.

@stevethepocket
Copy link

At this point, this thread has devolved into nothing but dickwad comments like the one above; the smart thing to do at this point is to just mark it WONTFIX and close it.

@zelurker
Copy link

zelurker commented Apr 1, 2024 via email

@awsms
Copy link

awsms commented Apr 1, 2024

Yeah but it's never been so broken in 20 years or so, at this point it's almost WONTUSE, at least on my side I'm happy to have finished recently my latest steam game so that I can stay away from their client, and I'll try to use it as little as possible from now on, it's really not a nice experience anymore. Le lun. 1 avr. 2024 à 02:29, stevethepocket @.> a écrit :

At this point, this thread has devolved into nothing but dickwad comments like the one above; the smart thing to do at this point is to just mark it WONTFIX and close it. — Reply to this email directly, view it on GitHub <#1040 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAV3SD5HH2PHASGTRWB66T3Y3CS5VAVCNFSM4ADEUGG2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMBSHA4TMOBSGY2A . You are receiving this because you were mentioned.Message ID: @.
>

Yup, I'm getting a black screen on steam since the latest update. Literally a CANTUSE.

Replying to #1040 (comment)

have a look at https://github.com/Rosentti/opensteamclient

Current status: Being rewritten in C#

it's being rewritten in a bloated and slow microsoft language, so it's worse, no thanks, i don't want that on my computer

C# is slow? Have you ever written a line of code with it?
At this point learn C or zig and write your own Steam client, we're all waiting for it.

@zelurker
Copy link

zelurker commented Apr 1, 2024 via email

@dsalt
Copy link

dsalt commented Apr 17, 2024

Click-to-raise: I have this disabled. Steam does its own thing.

Client-side decorations: inconsistent with the rest of the desktop. (It may or may not be consistent on Windows, but I don't use Windows.) Also means that keyboard is required for some operations (such as lower, shade or toggle size along one axis).

Menus and transparency: menus aren't properly parented, and some menus aren't even proper windows – they're (presumably) just DOM constructs handled by embedded Chromium. Effect is that the WM doesn't know to leave the parent window opaque when the pointer's in a menu or to apply the configured transparency for the fake-window menus.

Misbehaviour: Steam doesn't take any notice of the standard window hints. Combined with recent window-handling bugs, my running instance of Steam wrongly thinks that its main window is maximised.

Personally, I would just throw out the client-side decorations for actual windows in favour of whatever window manager is running, and keep that code only for in-game.

@Blisterexe
Copy link

@Ashark how did you make steam use the system titlebar? I havent been able to figure it out.

@Ashark
Copy link

Ashark commented Jul 28, 2024

@Ashark how did you make steam use the system titlebar? I havent been able to figure it out.

This is a KDE-only feature. Alt + F3 in steam window, then uncheck checkbox "Additional" -> "Hide border and titlebar" (the translation may be slightly different).

@RokeJulianLockhart
Copy link

RokeJulianLockhart commented Aug 14, 2024

#1040 (comment)

@gracicot, I don't see any reason to limit this modification to Linux-based OSes. I've been pained by this running Windows 11 Pro, macOS, and Fedora. It applies as much to other OSes' WMs as it does to KWin or GNOME's.

As an example, there are hooks for Windows's dwm.exe which provide additional functionality. However, unless these are set as key binds, they're unavailable in Steam (at least, until I locate an answer to https://superuser.com/q/1850632/904401).

@awsms
Copy link

awsms commented Aug 15, 2024

This issue is now 11 years old, and the very single time a Valve employee bothered to have a look at it was to post something completely off-topic.
Safe to assume it will never be taken care of.

@zelurker
Copy link

zelurker commented Aug 15, 2024 via email

@OwOday
Copy link

OwOday commented Nov 5, 2024

Recently installed on arch and with my window manager I cant move maximize or interact with the steam window. Missing my WM's normal context bar for some reason. All this really needs is a launch flag

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests