The registry-guts behind the edit:
This is a fairly brief description as going into endless details of every possible scenario could easily make this page a ridiculous size. I'll just cover the main issue and a few little side trips.
The registry operations on Window_Placement (W_P) in IE 5.0, in a simple scenario, are as follows. For simplicty's sake, I'll only include the really important parts of W_P below (5th byte, 9th byte, width, and height):
If I closed the original window first, it would write back 02, 03, 58 02, 9B 01 just like usual, and the new window would write back 00, 01, [new width], [new height]. On opening IE 5x again though, it would ignore everything, open at 58 02 by 9B 01, and use it for new windows too. I think of the 00 and 01 as a 'just kidding marker', that has to do with opening the original window maximized, but otherwise tells IE to use the 58 02 and 9B 01 default that must be hard-coded in.
My edit or patches, applied before IE is opened, just tell it that the
default new window size is such-and-such, so when IE opens a new window
it uses that value, and it writes back the same useful value when you close
out of it completely. I've no idea why using the maximizing shortcut
is necessary for me, but the patched default disappeared twice using the
original icon, for reasons I've given up on figuring out. I just
reapplied the patch, started IE up again, and went again on my merry way.
IE 5.5 and 6.0:
IE 5.5 and up apparently uses a tacked-on workaround to fix the wrong problem, but also almost fixes the original problem of the teensy default. The same scenario as above results in the following registry accesses:
If you close a new window last, IE writes back 00, 01, [new width], [new height]. But IE actually uses them the next time, so when you close IE's main window the next time, it writes them back and they become the usual ones to use. Essentially then, the 02 and 03 only act to tell IE (5x-6.0) that its main window should be opened maximixed; if you start IE while they are 00 and 01 it will not open maximized, but at the dimensions specified further on in the value. MS apparently excised the part about defaulting to certan dimensions if IE first opens non-maximized.
Where IE gets even more interesting is in the wrong problem it fixes. The extra querying and setting of W_P are so IE can insure that the specified dimensions are not larger than the current screen resolution. Not smaller, of course, but larger. Certainly this is a major problem we've all faced... opening new windows that are too large ;). You can try it out yourself. Use the patch appropriate for your resolution, change to a higher resolution, start 5.5 or 6.0, and the new windows will open as specified by the patch (much smaller than the screen due to the new resolution). Now exit and apply the 1600x1280 patch (a resolution my screen won't even handle). This worked for me in 5.0... I'd get only the corner of a huge new window since my resolution was generally at 800x600. In IE, you'll get a new window cropped down to fit your resolution. Good show, that. I'm delighted that MS has made sure that I'll never be plagued by over-large new windows again, especially considering that I never once was before.
On the whole, I don't care what the problem was anymore. I can
use IE now without feeling my blood pressure rise as every click to maximize
a new window reminds me of the fundamental issues behind the stupid default
and the difficulty of changing it as one normally would. Now I just
think more and more about Linux, especially since W2K couldn't manage to
remember my window settings for more than ten seconds. But a company
that can't get the minor details right still gets all of the important
points taken care of, right?
IE 5.0, IE 5.5, IE 6.0, Internet Explorer, and Windows 98se, Me, and 2k/2000 are all trademarks of Microsoft Corp.
All rights to page contents reserved by author, copyright 2001.