Sizer version 3.4 has been abandoned because of too many problems integrating with modern applications.
is a ground-up rewrite that is designed to overcome these issues
Details on this page are for information only.
This page holds information and work-in-progress downloads for the new version of Sizer. I'm pretty
slow at releasing proper versions. This is partly because I don't like to rush things; and partly
because I find it difficult to write things up and put them on the web.
I know a lot of people are very keen to get 64 bit support so I'm posting work in progress versions
here. I suspect many users are happy to sacrifice a bit of stability to get their hands on a bleeding
edge version. These versions come with the following caveats:
- Incomplete. See notes in the Features section for details what's been done.
- No installer. It's only available as a zip package. Just unzip all the files and run sizer.exe
- May have bugs. Hopefully these versions are stable but testing will have been limited.
- No docs.
- 21 July 2013: Sizer 3.4 Dev Build 482. Add menu option to add a new
configuration setting based on the size/position of the current window. Add fix for stickiness and/or
crashes with Excel and Word 2010.
- 27 May 2013: Sizer 3.4 Dev Build 477. Include Firefox right click workaround.
Include option to resize by adjusting corner/edge opposite to cursor.
- 25 July 2012: Sizer 3.4 Dev Build 465. Fix bug with system menu resizing
in v462. Minor tweaks to system tray resizing.
- 24 July 2012: Sizer 3.4 Dev Build 462. Fix multi-monitor issues with
interactive and system tray sizing. Show hotkey shortcuts in popup menus.
- 23 July 2012: Sizer 3.4 Dev Build 459. First pass at multi-monitor
support. Can select which monitor to move a window to during resizing.
- 19 July 2012: Sizer 3.4 Dev Build 455. Save configuration settings
to file rather than registry.
- 29 Sept 2011: Sizer 3.4 Dev Build 426. Rework config dialog box to
use a list view with columns for name, width, height and hotkey name.
- 26 Sept 2011: Sizer 3.4 Dev Build 422
The exact feature set of Version 3.4 may change. Depending on how long things take I might drop features
in order to release a proper version. I've split features into two sections: things I will definitely
put in and things I hope to put in. The comments in green are things that have been done; the stuff
in red is still to do.
- 64 bit support. Sizer 3.4 is all about 64 bit support. I get lots of emails asking for this
and a few offering help. Without going into lot of technical details this is tricky task. It's complex
because Sizer must integrate with both full 64 bit applications and 32 bit applications (which, noticeably
to most users, run under an emulation layer).
- Did some experiments and proved the MSDN documentation on Windows hooks is wrong. As part of my day
job I went to a conference and managed to collar Jeffrey Richter and ask a few questions. (Jeff
wrote the seminal book "Advanced Windows" which introduced me to windows hooks.) He was extremely
helpful explaining why things are the way they are. Unfortunately his advice turned into a dead-end
but I owe him a bit thank you.
- Did more experiments are things are stranger than I first thought. The order things happen is important
and there's no way I can control what other program do before Sizer is run. So after a bit of thought
have devised another approach.
- Implemented the 64-bit part of Sizer and it everything seems to work.
- Made a few tweaks to get things working on XP64 as well.
- TODO: More testing on x64, try all the poorly written applications like: Firefox, iTunes and Acrobat.
- TODO: Confirm changes work on older OSes. I'll do XP and W2K but won't bother with Win9x or NT4.
- Have done some testing on W2K and found the program didn't even run! This is in an issue with Visual
Studio 2010 which is fixed now.
- Hot-Key function. I've always used Hot Key Plus to to resize windows but I appreciate this
approach is limited. Lots of people ask for this feature but I've always resisted. It's not the number
of requests but the weight of poorly written application that's put this on the must-have list.
I'll save the rant for another time but I get a lots of “bug” reports for Sizer where
the bug is actually another program. To provide a sensible workaround for situations where interactive
sizing doesn't, hotkeys are on the must haves.
- Configuration dialog updated to include hotkey controls.
- Hot key registration and error messages implemented.
- TODO: check key handling on non-English OS.
- Show assigned hot-keys in pop-up menu.
- Changed configuration dialog to have multi-column list view, one column to show hot-key.
- Multi-monitor awareness.
- Window can be repositioned relative to a specific monitor. The drop down list shows monitor dimensions
- Confirmed settings work on 64 bit XP and 32 bit and Win2K.
- TODO: Confirm assumptions about secondary monitor workarea are correct.
- TODO: Consider how taskbar interacts with primary monitor and whether to add option to ignore taskbar.
- TODO: Implement option to allow out of bounds sizing/moving.
- TODO: Consider adding an 'identify monitor' button.
- Portable version.
- Made lots of changes so hook portions don't use registry.
- An XML file is used to record sizer settings. Sizer works out the location of the XML as follows:
I've decided to leave the mapping of key codes as an open problem. The effect on Sizer is unlikely
to be major and it only affects uncommon key combinations and only if the config file is exchanged
between keyboard with different languages. I've yet to come up with an example that causes Sizer
problems, but I'm sure problem keys to do exist. The problem stems from using virtual key codes
(which are portable) whereas the name of the key can only be obtained using a scan code (which depends
on the keyboard installed). There's no mechanism to work with extended scan codes so for example
right arrow could be mixed up with with Num-6. Sizer records information that might be non-portable
is such situations. This works between machines for me but I've only tested on UK keyboards.
Firefox 6 workaround. I don't know what it is with Mozilla developers but they simply can't
accept the way Windows works and insist on using undocumented routines or non-standard mechanisms.
Firefox 6 throws up yet another problem with non-client Windows messages which means you have to
double right-click to get the Sizer popup.
- From the command line. If Sizer os started with the a command line like -config filename.xml then filename.xml is used for loading and saving configuration information.
- If no command line is specified then it looks for the sizer.xml in the same directory as
the sizer.exe executable. If this file exists this is used regardless whether it contains valid
XML or not.
- If the above step doesn't work then the config file is saved/loaded from the local application data
directory. On Win7 this will be in the form c:\Users\UserName\AppData\Roaming\Sizer\sizer.xml.
Use current window settings as new entry. Have option to include a Sizer menu item that picks
up the current size and position and populates the config dialog box.
- Used Spy++ to figure out why Firefox 6.0 is broken. 99% sure there's a workaround that's a bit clumsy
but shouldn't break other applications.
- Implemented workaround in devbuild 477.
- Initial implementation in devbuild 482.