Steam window always auto focuses itself when it launches without user permission, but at that point users might be typing on other application quite frequently, so part of keyevents supposed to be delivered to that app could be caught by steam window. Two serious issues on this:
It breaks user's workflow -- say you are typing complicated code on a editor using lots of modifier keystrokes -- like vim or emacs, and steam just took away keyevents of those code and keyboard command you just typed, your code and your editors are left in an unclear condition caused by incomplete code input or keyboard command input, and as I said if you are working with very complicated code base on text editor with advanced functionalities, any thing unclear -- even that's a small thing, could bring you huge mental burden and slow your work down seriously.
If those keyevents that steam window takes away happen to match a series of steam window commands, then that would get executed as well, and users might don't even notice that -- steam window may still somehow inform users, but unexpected information from steam may easily confuse users.
proposed solution
If you look at other popular applications -- like firefox browser for example, default behavior upon launch is:
take focus if user is on desktop, or in other words, no window is currently focused
do not take focus if user is currently focusing on some windows
If for some reason this cannot be implemented, provide users an option to disable auto focusing behavior.
the problem
Steam window always auto focuses itself when it launches without user permission, but at that point users might be typing on other application quite frequently, so part of keyevents supposed to be delivered to that app could be caught by steam window. Two serious issues on this:
It breaks user's workflow -- say you are typing complicated code on a editor using lots of modifier keystrokes -- like vim or emacs, and steam just took away keyevents of those code and keyboard command you just typed, your code and your editors are left in an unclear condition caused by incomplete code input or keyboard command input, and as I said if you are working with very complicated code base on text editor with advanced functionalities, any thing unclear -- even that's a small thing, could bring you huge mental burden and slow your work down seriously.
If those keyevents that steam window takes away happen to match a series of steam window commands, then that would get executed as well, and users might don't even notice that -- steam window may still somehow inform users, but unexpected information from steam may easily confuse users.
proposed solution