I know this is annoyingly soon after my last post, but I just have to brain-dump it, and it's too important for an edit. Plus, an edit would totally ruin the dramatic tension I left at the end of the last post. This way is better for all of us - many rainforests will be spared. Or something. (The caffiene and sugar are really starting to kick in.)
So I was thinking about how cool and awesome my new laptop is, and how I always get motivated to do lots of work whenever I get expensive new toys. The only problem is, compared to my regular workstation with a regular comfy keyboard/mouse combo, the laptop just isn't comfortable. Sure, in a hotel room in Europe it's great; but back in my Lair of Power it's merely good, and outstripped by the Better that is my desktop machine.
One of the things I really enjoy about desktop computing is dual monitor configurations. I swear, after using dual-head systems for a while, going back to single-screen is like being strangled to death and drowned in damp sand at the same time - and without hot elven women there to help assuage the pain. (See what I mean about the sugar and caffiene? I may also be slightly feverish, and the associated brain-cell-barbeque is likely not helping. I sure hope to God this is as funny tomorrow morning as it is in my head right now. Although I'll settle for it just not being bizarrely pathetic.)
So right... I was talking about something meaningful, supposedly. Laptops and such. The thing I like about this laptop is the ubersexy 1440x900 WXGA+ resolution, which is just so much more awesome than 1024x768. The whole 17" thing is pretty hot, too. Unfortunately, it still gets trumped by dual 17" 1280x1024 LCDs, which simply provide far more real-estate-power. And Billybob knows it's all about the real estate.
When I code, I fill up a metric buttload of space. I often run two instances of VS side-by-side, one on each monitor. Even in less severe scenarios, I almost always have a stack of documentation, note-taking, and assorted web-browser windows open on my secondary monitor. Real estate is amazingly valuable.
Naturally, then, one thing that just made me hot and bothered at the Egosoft office is the artists' display setups: a 21" widescreen LCD with a second 19" on the side for spare stuff. They run some ungodly resolution with a large number of digits in it. It's very little short of orgasmic for someone who, like me, can never acquire enough screenspace.
So anyways... back to the whole buying-toys-to-get-productive thing. Obviously the new-laptop toy is great, but it has limited usefulness here at home. I also want a new development workstation, because after a dual-core system, going back to an Athlon XP 2400 is murderously slow. The little glitches while I try to web-surf and do large compiles never really bothered me before, but the laptop's Core Duo power gave me a brief taste of life without those hiccups, and that taste was better than cocaine.
That got me to fantasizing about tech hardware, which is never healthy. I figured, heck, if I'm dreaming about dropping $2500 on a blazing-hot new development rig, why not do it right and buy a screen upgrade, too, seeing as I'm always so short on screen real-estate and all? This of course brought back to mind the awesome potential of the widescreen/dual setup.
Unfortunately, I realized that that just won't cut it. Because what I need isn't more pixels. What I need is smarter software.
VS2005 is nice. It really is. There are some hiccups with it still, like the fact that 9 times out of 10 if I double-click a workspace in Explorer VS will just deadlock and presumably go do something unspeakable with itself in a dark corner somewhere. I really don't know what happens. Oh, and the Intellisense background update is still horridly broken.
But it still does one thing bad, and that's dual-head support. I'd really love to be able to tear off windows and slap them on another display for a while. I can do this to a limited degree with things like toolbar windows, but there are some bad Z-order issues that arise when working with other apps on the second monitor. In general, it just doesn't work.
I'd settle for one of two things, honestly. The first solution would be the easy, cheap hack, and make me happy for at least a while: hide a little toggle-switch in the IDE somewhere that says "when I click Maximize, I really want you to inflate over all available monitors instead of just the one you're on right now." I can do this if I un-max the window and resize it by hand, but that leads to ickiness of its own. It also makes it a pain in the ass to write code, because code windows fill up two monitors when what I really want is to have a code space on each monitor.
The second option would be far more complicated to build (I suspect) but infinitely cool: open two IDE "parent windows" that are actually the same instance of VS and act on the same open workspace. As it stands, if I try to open the same workspace in two separate instances of VS, one will barf because it can't access read-only stuff like Intellisense databases, which the other instance has locked. This makes it more or less worthless; I may as well just open Notepad on the other monitor for all the benefits that VS retains in that mode.
So if I could just have VS intelligently handle dual-monitor setups, that would be so damn cool. I know art packages have done that for years; Photoshop does it nicely, 3DSMax does a reasonable job, and Final Cut Pro on the Mac is undoubtedly one of the best dual-head-aware pieces of software I've ever seen. When VS can do it, too, I will be one happy geek.
... yeah, all that was pretty much pointless. Except to say that VS has crappy support for dual-monitor setups.
(And someone please, please, please tell me that this magic switch already exists and I just suck because I haven't found it yet.)