Yet Another Steam Bug: dual-monitors aren't brand new, guyz, it's not hard to cope with them



  • Ok, so a brief description of my gaming PC. It has two monitors, the primary is standard 1080p (1920x1080 pixels), while the secondary is 1920x1200 pixels. My screen resolution dialog looks like this:

    Note that the monitors are aligned at the bottom, meaning the top-most pixels of my secondary monitor is actually at coordinate -120 pixels. Note that this is perfectly legitimate and valid, and that the OS contract only specifies that the primary monitor's origin is at 0,0 (kind of by definition of being "the primary monitor") and all other monitors could have any origin at any location relative to primary.

    Give that, explain this full-screen screenshot from Steam:

    To create that, all I did is drag the Steam window to the secondary monitor and hit "maximize" in its title bar. Look at the result.

    All I can think of is they have some kind of broken-ass windowing code that takes the Y offset of the monitor the window is on and subtracts it from the original twice. So you end up with the window being -240 pixels instead of the correct -120, and of course its titlebar then becomes inaccessible so it's a bitch of a whore to get the fucking thing restored*.

    Of course the bigger WTF here is, this is all unnecessary. The OS (shockingly) will just fucking tell you what size and origin the window should have when maximized. That's not a thing you need to write custom code to override, unless you like having buggy, broken, piece of shit, so-- oh right it's Steam.

    Oh well, it's still less buggy than Discourse.


    Just to rub it in, let's see what EA's Origin does:

    Oh hey, lookee there, it works.


    *) Yes, I know the "right-click the window preview in the taskbar and hit Restore, but how many average Steam users know that?



  • Terrible. Just awful. That wallpaper is so bright! No wonder you're always pissed off!.

    Seriously, Steam is these days more interested in hocking their Steam crapbox than supporting Windows. They are probably doing some hack to get this to work on Linux, which screws it up on Windows.



  • Yeah, and as Morbs used to love reminding us, Linux is still so broken it can't handle non-rectangular monitor setups (or, rather, it handles them by just "pretending" they are rectangular and trying to ignore the deadspace that results), I'm sure this code works just fine on Linux.

    @cartman82 said:

    Terrible. Just awful. That wallpaper is so bright! No wonder you're always pissed off!.

    The maddest of my mad creations!


  • Winner of the 2016 Presidential Election

    While I do believe that you updated Steam I want to throw in that while I had the problem, it got solved over time. Not sure when, but when I tried it out just now it worked pretty well on my second monitor.

    And my setup is even worse:

    Sorry for the german, but the page is pretty much the same.

    Filed Under: My "chose a random border-color"-selector apparently wanted to take pink as a color for this screenshot... oh well



  • Interesting! You're right, when you offset the monitor by a random amount and they are no longer aligned on the top or bottom, it gets much closer to working!

    It's still broken though. It covers the taskbar on the secondary monitor. And I don't have my taskbars set to auto-hide. But at least all its widgets are on-screen.


  • Winner of the 2016 Presidential Election

    Now that you mention it: is that taskbar on the second monitor something they added in Win8? Win7 (this computer) treats the second monitor taskbarless and I used to want one here.

    Do the taskbars actually show different things depending on what is on the specific monitor?

    Filed Under: Aaaaaaand the topic now derailed into something else


  • Winner of the 2016 Presidential Election

    @blakeyrat said:

    I'm sure this code works just fine on Linux.

    I can't test that right now since I have only one monitor, but I can assure you that the Linux client is buggy as hell as well. Just look at the number of open issues.



  • One of the recent 'new' issues on Linux is the new Steam icon having RGB/BGR differences and being non-transparent in addition to it. Yeah.

    Also the main reason Origin gets it right is that EA is sensible enough to use a common library (i.e. Qt) for user interface, as opposed to Valve's crazy VGUI library with all its peculiarities just to be able to work the same in-game as out-of-game (which Qt also somehow manages nowadays!).



  • Windows 8. Here's the settings dialog:

    RARE GENUINE DISCOURSE PRAISE: I just found out it hooks copy/paste of images in the browser. Shockingly, they adopted a modern browser feature that actually does increase usability of the product.



  • Wait, how come it has a bug tracker and us Windows users have to post in their fucking idiotic Beta forum and hope someone at Valve reads it, which they never do?


  • Winner of the 2016 Presidential Election

    I don't know, but they seem to have stopped reading the Linux bug tracker as well a long while ago. Several annoying and easy-to-fix bugs have been open for a long, long time.


  • Winner of the 2016 Presidential Election

    Okay, I was wrong. They actually read the bug tracker and assign people to those bugs, they just don't fix them.



  • @asdf said:

    I don't know, but they seem to have stopped reading the Linux bug tracker as well a long while ago.

    So it's the typical open source project.

    @asdf said:

    They actually read the bug tracker and assign people to those bugs, they just don't fix them.

    Ooooo this puts them a cut-above most open source projects! They read the bugs before ignoring them for years at a time!


  • Winner of the 2016 Presidential Election

    @blakeyrat said:

    Ooooo this puts them a cut-above most open source projects! They read the bugs before ignoring them for years at a time!

    Your definition of "above" is disturbing. They pretend to care and then leave you waiting for years. That's way more cruel than closing bugs as WONTFIX or just ignoring their existence.



  • I still have this annoying thing in the Source engine's text rendering (or maybe it's mangling 4-byte UTF-8 characters like some highly popular database engine) where it won't render my nickname's emoji characters while Steam itself, using the same fucking VGUI library, does it perfectly fine. Maybe I'm TRWTF for using emoji, but other people have even worsely fucked up names which Source renders just fine...



  • There are a lot of indie developers (I know one personally) who got a rude shock when they implemented the Steam multiplayer API and found out Steam supports the full range of unicode. That's one case where Steam is Doing It Righttm and forcing others to also Do It Righttm.

    Those cases are extremely rare.



  • @blakeyrat said:

    There are a lot of indie developers (I know one personally) who got a rude shock when they implemented the Steam multiplayer API and found out Steam supports the full range of unicode. That's one case where Steam is Doing It Righttm and forcing others to also Do It Righttm.

    Those cases are extremely rare.

    Yeah, considering game engine devs have this penchant for reinventing things that the host windowing system usually does much better than they ever will, like text rendering...

    Just wait until you run into someone who wishes to write their ingame messages in Hebrew or Arabic... (or: RTL text is a fantastic way to completely break home-brew text rendering square wheels in games; also, before you ask, I have seen a thread from an Israeli Eve player asking for RTL support in Eve, I'd have to dig it up though.)



  • I found out the hard way XNA by default only supports ASCII characters (supposed to be an optimization lol). If you want extended character support, you gotta manually modify your spritefont files and add them in.



  • Trying to do RTL is also usually a fantastic mess in the browser, too. Most site designs couldn't cope with it very well at all.



  • TRWTF is users who don't use American English.



  • @mott555 said:

    TRWTF is users who don't use American English.

    I'm very proud of that particular instance of being TRWTF, thank you very much.



  • I wonder, if we don't manage to blow up our planet and globalization continues, in a few hundred years there might be a dominant world language and alphabet, and all the localization issues would naturally go away.



  • Let's hope it's one without too many extravagances like diacritics or combining characters. Like, say, English.



  • @Arantor said:

    Trying to do RTL is also usually a fantastic mess in the browser, too. Most site designs couldn't cope with it very well at all.

    Al-Jazeera's website does alright (best I can tell, at least, as I don't know a single whit of Arabic), though! So at least the browsers get it, even if inserting RTL into an otherwise LTR site leads to cringe-worthy results. (I wonder what comments in say...French would look like on the layout of a normally-RTL site?)



  • Al-Jazeera pretty much has to because that's a major part of its audience. It's a bit different when you're talking about off-the-shelf software that doesn't really 'get' RTL.



  • @Arantor said:

    Al-Jazeera pretty much has to because that's a major part of its audience. It's a bit different when you're talking about off-the-shelf software that doesn't really 'get' RTL.

    Agreed that Al-Jazeera has to make it work by hook or by crook. I'm just using it to say that a RTL-supporting layout doesn't require 50 levels of arcana with a hefty helping of unobtainium on top to accomplish.



  • No, it doesn't if you're building it as a core part of your product or service, but most of the off-the-shelf systems - especially with third part customisations - are... questionable... in the RTL department.



  • Windows + ⬇



  • Just out of Morbsid curiosity, I tried it on Linux. It doesn't work there either. At least not all the time.

    Sometimes it maximizes correctly, sometimes it only redraws within the window size it had previously, so most of it is cut off. Sometimes it just won't maximize until I minimize it first. But then sometimes it won't minimize unless I click it twice. Also the system controls for window sizing have wildly different effects than Steam's own window controls. They seem to conflict with each other and the Steam window gets into lots of half-broken confused states.

    I guess it turns out re-inventing the window controls is a bad idea for all platforms. What a surprise.



  • Hm. Now I'm slightly curious as to how a Mac handles it.



  • In an ironic twist of... something... the Win version on Wine is pretty much fine. The only problem I could find is the maximize button doesn't turn into an unmaximize button right away if I use the system controls to maximize. Otherwise I couldn't break it. And yes I'm using silly multimonitor setups. (3 monitors even!)

    This confirms my theory that Valve should have never attempted the Linux version b/c there's no way it'll ever work as well as the Wine version.



  • Warning: Missing argument 2 for wpdb::prepare(), called in /home/blakeyrat/blakeyrat.com/wp-content/themes/inove/footer.php on line 22 and defined in /home/blakeyrat/blakeyrat.com/wp-includes/wp-db.php on line 1147



  • Yes, I really, really wish more programs just used native window controls. Especially Microsoft! No, I'm not using Windows 8, so don't style Office or Visual Studio like Windows 8.

    Sometimes these apps will, of course, freeze. When that happens, the window contents fade a little and the system renders a default window border and window controls around it. It actually looks better.



  • Oh noes! My 1337ness... fading... away...



  • It's OK. You can fall back on blaming both Wordpress and PHP and you'll still be right.



  • Something seems to have broken without any configuration change or anything done on my part. Self-breaking software! I love this new concept, someone tell Atwood.



  • Does your host automatically maintain and update the PHP installation for you?



  • I think they did an upgrade of PHP a couple months back. WordPress also auto-updates itself every couple weeks. The bugs in the theme it looks like, which is just one I got from the WordPress sharing site. Not sure it's something I can fix without changing themes.



  • @blakeyrat said:

    Self-breaking software! I love this new concept, someone tell Atwood.

    They're working on perfecting self-DoSing software at the moment, but they'll probably put it on the roadmap.


  • I survived the hour long Uno hand

    You can edit any theme files from within wordpress' admin, but looking at the error, I doubt it'd be worth the time. Your best bet is probably to switch themes and consider switching back when they've updated.



  • Eh it seems pretty harmless. I'll just leave it erroring. Too lazy.



  • How about just adding a @ to suppress the error?



  • I didn't write the theme, it's just one I downloaded from the "gallery" or whatever.



  •  

    #copyright:nth-child(3)
    {
        display:none !important;
    }
    

    Filed under: Fixing the root cause of the problem.



  • @blakeyrat said:

    Hm. Now I'm slightly curious as to how a Mac handles it.

    Well, I wanted to try it out, but…



  • :facepalm:

    TRWTF is we're missing some common emoji.



  • I love that error dialog, and I wish it was more aggressive. Maybe like, "why the HOLY FUCK would you use a case-sensitive filesystem, you dumb shit? Do you even KNOW how dumb an idea it is? Jesus man."



  • To be fair, case-sensitive file systems are the devil. As is OS X.



  • Not to mention that dumping the full path of the application binary in the error message is idiotic.
    On my system “Users” and “Desktop” are localized; also “Contents/MacOS” is inside the application bundle so it shouldn’t be touched.
    And isn’t Steam running on Linux now? Shouldn’t it work on case sensitive filesystems then?

    Also, this:



  • @mott555 said:

    To be fair, case-sensitive file systems are the devil. As is OS X.

    What's your take on BSD or any other derivation of Linux then?


Log in to reply