2010-03-02

Vista/Windows 7 - Can't Stop Itself From Being Fresh

Here's the scenario:  I've got two folders open, one with sorted folders, and the other one containing over 500 files that need to go into the sorted folders.  Many of the files need minor correcting: say, a file is named SOMEJUNK-And_The_Rest. It needs to be just And_The_Rest.  So, I hit F2, slash off SOMEJUNK and... my file disappears!  It's gone up to the 'A' section of the file list, while my view is still in the 'S' part.  I then need to go to the 'A's, select the file, and move it to the folder with the sorted directories.

This is annoying.  In XP, editing a name left the file where it was, until you hit F5 to refresh the folder, or changed the sort order by clicking on a column name.

Turns out, there's no fix for this behavior in Vista and Windows 7; no setting to revert to not auto-refreshing/auto-arranging Explorer fews.  According to a Microsoft employee:

"Windows Explorer in Windows 7 uses a new custom list view control that doesn't support custom ordering like the old one did. So in folder views you can no longer drag items around to rearrange them. Basically, pretty much nobody used this (except on the desktop, where it is still supported), and re-implementing it in the new virtualized list view wasn't worth the cost.

You can sort the items by any of their properties, such as name, date, etc.

Why do you want to arrange them differently?
"
(source: Brandon Live's post at http://www.neowin.net/forum/topic/813020-rearrange-folders-in-the-user-folder/)

I especially enjoy the last bit; this is a developer on the Windows Desktop team that asserts no one used a feature, and can't fathom why anyone might have wanted it.  Except, a quick google search on terms relating to turning it off reveals quite the opposite: people are butting their heads against this and desperate for a way to turn off this new 'feature'.

Some further digging shows that Microsoft sort of documents this on MSDN:
"By default, the Windows 7 item view does not support custom positioning, custom ordering, or hyperlinks, which were supported in the Windows Vista list view. Use this interface when you require those features of the older view. If, at some later time, the item view adds support for those features, these options will automatically use the newer view rather than continuing to revert to the older view as they currently do."
(source: http://msdn.microsoft.com/en-us/library/dd378351(VS.85).aspx)

So, Vista and Windows 7 both not only get confused and occasionally can't be bothered to refresh media in one's optical drive, but when it comes to folders, there's no way to stop it from refreshing.  There's a very nice explanation from the Classic Shell developer(s) FAQ:
"Can Classic Shell disable the "Auto-arrange" feature in Explorer?
No. The Auto-arrange is not a feature, but rather the absence of the feature to "remember the position of any icon in any folder". As far as I know there is no switch to turn on and the feature has to be implemented from scratch. This is further complicated by the fact that Explorer in Windows 7 uses a new undocumented control "DirectUIHWND" instead of the documented "SysListView32" control like all the versions before it. Most likely when the functionality was moved from the old control to the new, this feature didn't make it.
I understand many people are upset about this (since it worked fine on Vista and before), but I don't believe this can be solved by a shell extension. You have a better chance complaining to Microsoft about it."


I become more disgusted with Vista daily, but there is a work around on it; in a folder where you're working on your files, simply select one and move it 'out of order'.  This prevents Vista from refreshing after every rename --- for that folder, until you close it.  

The long term solution, obviously, is to use a replacement explorer, or, for those adventurous sorts, buy a Mac or run a 'nix and leave the Redmond nightmare behind. 

No comments: