I am not very knowledgeable in this area, so I don't think I can give any useful comments on the code, but I have some questions:
- Why call `maybeHideDockIconDueToWindowOrderingOut` in those two places specifically? And why isn't `doOrderOut` called when the window is closed? - Is this supposed to work with CrossOver as is? The situation with Steam seems even weirder than before. For instance the first dock icon is the default icon, which stays until you close all Steam windows (news, friends list, main window) and then open another, after which it will have the Steam icon instead of the default icon.