../Window(s) webview/General Info
General Info
With IE4/5 installed - on any Windows version - you can apply a background to each folder, and use the webview (the left panel shown on your windows giving details about the selected files, and mostly detailed in this section):
You knew this. But we had to mention it, anyhow. You can apply an image inside your windows; just choose 'view' in the toolbar, and 'customize this folder'.
It gives the folder the attribute 'system' and a hidden file, 'desktop.ini' is created in it. In notepad you'll see a line like "IconArea_Image=C:\xx\xx.xxx" specifying the path to your .bmp, .gif or .jpg. IconArea_Text=0x00RRGGBB is textcolor (see below).
If you wanna present someone a folder with background, you have to put the bitmap in the folder (make it hidden). Then change this line to look like "IconArea_Image=.\xx.xxx". This won't survive a 'zip' (the read-only attribute of the folder gets lost).
The image you apply is repeated on the icon area, and there is no way to center or align it. To produce a similar effect use an about 500*600 image and align your image inside it, because your folder size isn't changing very much when browsing.
Background Wizard (free, all versions) lets you put a background to a bunch of folder windows at once, can even do a whole drive. Painless, cool application! But it doesn't make a backup of your existing desktop.ini files.
Windows
XP changes stuff (again) - it lacks the options to apply a picture/textcolor, and to apply a webview in the "customize this folder" wizard. What you have to do:
-
create a desktop.ini file in the folder (new textfile, afterwards rename), containing the lines:
[{BE098140-A513-11D0-A3A4-00C04FD706EC}]
Attributes=1
IconArea_Image=BGPATH
IconArea_Text=0x00RRGGBB
...replacing BGPATH and RRGGBB (text color).
-
give the folder a 'system' attribute. The simplest way is the msdos command line, type "attrib", your folder path in quotes and then +s, like this: attrib "c:\folder\path" +s. Or you could use PropertiesPlus, or even XP (that's long tho): change the folder icon (this will create a desktop.ini file and set the folder to system), then edit this desktop.ini file replacing its content.
Also, you could restore the old version of the customize wizard (thank you Redhades for this one) - now working from a folders rightclick menu. For that, you'll need a copy of ieshwiz.exe from an older Windows version. Put that in /windows/system32/ and copy this text into a textfile, give it a .reg extension, doubleclick to import in registry:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\customize]
@="Customize Wizard"
[HKEY_CLASSES_ROOT\Directory\shell\customize\command]
@="ieshwiz.exe %1"
Both .exe (English version) and regfile are
here (22 kB). If you need the file in your own language, maybe you've got it on a cd somewhere. Some IE installations (sometimes even IE6), got the file in "ie4shlnt.cab" - you get the old 98 version (on a 98 cd, find it in WIN98_40.CAB). Win2k got a later version (no way to extract properly from the cd), Me has the latest (on the Me cd, WIN_16.CAB).
Webview Installer (free, Win XP) can apply any desktop.ini to a folder and it's subfolders while renaming the old ones, you can use it to apply webviews and window backgrounds.
The webview is a gui extension that allows to use html to recreate/improve the basic window layout. It was mainly used by Microsoft for the left "panel" shown in opened folders (With a blue cloud background in 98/2k, some squares in Me and the "Common Tasks" in XP, linked with visual styles).
Customizing the webview can be done simply, or more advanced. What's involved? In your Windows\Web (for 2k, Winnt\Web) folder there are some hidden files, differing with your windows version (Xp has practically nothing, and doesn't use any of that anyway, so see
here if you need info on xp). Beside the .htt (explained later) files, there are 3 important images (the cloudy background (wvleft), colored line (wvline) and the cog image that hides stuff in system folders (wvlogo)). Easy customization here is to edit them (don't forget to make a backup).
The background (cloud or squares thing) is called "wvleft.bmp" and is 182x237 in 98 or "wvleft.gif" and 150x56 in Me. It's good to know there's some white (or your system's background color in Me) underneath and to the right it when the window is big. Using a larger image than the Webview pane itself as the wvleft.bmp/wvleft.gif will make the webview appear as if there's a background picture applied to the Webview pane, but use this solution only if you don't want to edit any .htt files (see
here).
Most people use parts of wallpapers to make their wvleft's: cut a part you think will look good and resize it to about the Panel size (max: 200px). You could also use gradients/brush tools to make the image fade out in the borders. You can download some
wvlefts and
wvlines at the download pages.
Web Views (shareware, Win 9x/2k) applies these webview images for you, normal and hidden view.
Webview: editing .htt files
Main part of the webview is those .htt (hyper text template) files, describing the view and actions of the webview area. They are most similar to every html files (web pages), the major difference being the presence of "objects" (with special CLSIDs for those of you who know what that means) available to improve the look or the functionalities (the folder icon at the top left, the preview thumbnail, and most important: the FileList, where the icons are shown).
Anyway if you are new to html you don't really need all that, it is always possible to fiddle a bit with very little knowledge...
All these .htt files control the webview area of special folders (like the recycle bin, the control panel...), but one, named "Folder.htt" is used by default on every folder set to be viewed "as Web Page". This file is the one you should edit to change all normal folders.
Along with that you can customize a particular folder by selecting "Customize this folder" when right-clicking a folder, then choosing "Create or modify an html document".
In Win 9x, when a particular folder is customized, a folder.htt is created in that folder itself (copied from the one in Windows/Web). In Win Me, the folder.htt file is created in a sub-folder of that folder, named "Folder Settings". The Folder Settings folder is a hidden and system folder so make sure you have that option turned off to be able to view those files and folders. In addition a desktop.ini file is created if it wasn't present, with a line indicating which is the .htt the folder should use:
[{5984FFE0-28D4-11CF-AE66-08002B2E1262}]
PersistMoniker=file://Folder.htt
See
above, and the folder is set to 'system'.
The procedure to manually install a .htt template is described in the
download template page.
If you edit those, there's a lot more to customize (don't forget to make some backups!). Lots of properties of the webview can be edited here, like the Webview thumbnail size, the folder icon size, scrollbar colors (just like IE!!) and more stuff. Check the
Appearence page for some basic editing (Panel background/Line).
[* elastic:] As mentioned above, a whole lot of customization can be done with your "folder.htt" and when I say a whole lot, I mean it. Since a folder.htt is basically a HTML file, you can use all kinds of scripts within it. This includes Javascript, JScript (thats Microsoft's version of Javascript), VBScript, DHTML etc. ActiveX objects can also be used in templates, to manipulate excel sheets, text files etc.. or along with another technology, called the Windows Script Host (WSH), although WSH has been primarily used for scripting in Win 2k and Windows NT for other tasks. This gives it tremendous functionality. Go to to the
scripting the webview page for more info about scripting.
Also note there are some variables that get replaced automatically: %THISDIRPATH%, %THISDIRNAME% and %TEMPLATEDIR% (the windows/web folder).
For now, if you just want to edit the basic look, check the
Appearence page.
Webview: compatability/distributing
It is always possible to copy an .htt file from a folder to another, and then create/edit the desktop.ini files if necessary. This also works on someone's computer with the same Windows version.
important: In fact, when browsing your computer, windows looks for a desktop.ini file in each folder you visit, and if the reference to a .htt file is present, loads the web content.
A template is just a zip file containing an .htt file and its surrounding images and script. You can download some
templates at the webview downloads pages.
[*kmr:] Distribution of templates hasn't really taken off, but I'm hoping someday it will. There are so many cool possibilities, skinners who know a bit of html could create amazing things.
Concerning scripting, there were, as you can imagine, some improvements made in each new OS, making for example a Me webview lack options when used in 98 etc... Mostly, an upgraded browser is supposed to fix this (because it updates Shell32.dll), but it doesn't very much.
At the same time the .htt have been updated accordingly, making it difficult to distribute in a general point of view (but an Me webview is made to work on 98, with less options).
To include a folder.htt in custom CDs make sure you use %THISDIRPATH% as a root, to make the webview compatible in all drives.
Webview: Windows XP's Common tasks
XP makes a big use of the webview: you have a choice of minimizable menus containing common places and tasks, file details and more. Unfortunately the webview has been integrated directly into the shell and the code/images are loaded directly from dlls: main code (untouchable...), texts, icons and layout are in shell32.dll and the visual style's shellstyle.dll adds the style sheets (and special pictures). In addition the HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\WebView\BarricadedFolders key contains the folder that are blocked.
But you can still customize the XP webview, just not as easily as in older windows versions. There are actually two ways: editing the dlls (very limited), or customize each and every one of your folders using desktop.ini files.
An older folder.htt linked with a desktop.ini will work on XP, allowing to customize specific folders, just place a desktop.ini file containing the lines:
[{5984FFE0-28D4-11CF-AE66-08002B2E1262}]
PersistMoniker=file://c:\path\Folder.htt
... and set the folder attributes to system.
2k sp3 and Xp sp1 remove the use of non signed webview by default. However the following three registry values are available to allow Web view functionality in Windows Server 2003, Windows XP SP1, and Windows 2000 SP3:
Create these registry values in the following registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer
"AllowLegacyWebView"=dword:00000001
Permits Windows to display the Web view templates or customizations (Folder.htt) that have an MD5 hash registered with Windows. By default, only Windows 2000 Web view templates and some other few have an MD5 hash registered with Windows. Web view templates or customizations that do not have a hash registered are not displayed.
"AllowUnhashedWebView"=dword:00000001
Permits Windows to display the Web view templates and customizations (Folder.htt) that do not have an MD5 hash registered with Windows. In this case, you receive a security message for Web view templates or customizations that do not have a hash registered. If you click Yes to the security message, the hash for the template or customization registers. When Windows displays the Web view templates later, you do not receive the security message.
"RevertWebViewSecurity"=dword:00000001
Permits Windows to display the Web view templates and customizations (Folder.htt) that do not have an MD5 hash registered with Windows. In this case, you receive a security message only for Web view templates or customizations that contain potentially unsafe scripting. This is the same behavior that occurs in Windows XP before SP1 and Windows 2000 before SP3. For this policy to work you must also set the AllowLegacyWebView value to 1.
This makes it difficult to customize many folders at once, but you could grab
Webview Installer (free, Win XP), that will apply them for you (change the folder.htt path in the provided desktop.ini). It will apply any desktop.ini to a folder and it's subfolders while renaming the old ones, and set the folder to 'system'. In general check this item on
desktop.ini files (including the last part regarding the use of ieshwiz.exe) for more on applying webviews on a single folder in xp.
Now if you want to edit the real hardcoded XP webview (you won't be able to add functions, just remove/reorganise them and change the styles/images), check shell32.dll in resource hacker (
modding page), there are two UIFILEs (them again), the second one is a xml file that will get parsed by shellstyle.dll to add the style/html. Each panel is defined as:
<linkelement resid=PANELTYPE layout=borderlayout()></linkelement>
where PANELTYPE can be any of the following: AppletLink (Music/Picture tasks), TaskLink (File and Folder tasks like cut/copy etc..), CategoryLink (Other places) and CategoryList/CategoryView (Details, depending if many, or one file is selected).
Then is lots of
<element id=atom(ID) />
that it is possible recognize by checking the ID.
Finally text used is in strings #1953 to #1956 and icons are also there somewhere (ex: rename is 242).
Then, shellstyle.dll has all the styles needed in its two UIFILEs, and also the bitmaps for the panels. More info on visual styles
here.
When set to "view as web page", explorer uses the folder.htt in the \Windows\Web as the default template for all normal folders. This property is editable through the registry. Look for the "Directory" key in the registry in HKCR\Classes / HKCR\CLSID. Dig around a bit in sub-keys, and you'll find a key that stores information to the location of the path of the template (a .htt file) that explorer should use for the webview (in 98: HKCR/Directory). It's easy to edit this path.
Likewise, Windows has a few "Special Folders" like the Control Panel, Printers etc, which each use a different webview of their own. The info regarding which Special folder uses which template is stored under their respective CLSIDs in the registry. Here's a list of a few Special Folders, their CLSIDs and the webviews that they use.
Directory :
Control panel :
My computer :
Recycle Bin :
Printers:
Dial-up networking :
Scheduled tasks :
Search - Computers :
Search Results :
My Network Places :
FTP Folder :
Briefcase :
Web folders :
|
{21EC2020-3AEA-1069-A2DD-08002B30309D}
{20D04FE0-3AEA-1069-A2D8-08002B30309D}
{645FF040-5081-101B-9F08-00AA002F954E}
{2227A280-3AEA-1069-A2DE-08002B30309D}
{992CFFA0-F557-101A-88EC-00DD010CCC48}
{D6277990-4C6A-11CF-8D87-00AA0060F5BF}
{1f4de370-d627-11d1-ba4f-00a0c91eedba}
{e17d4fc0-5564-11d1-83f2-00a0c90dc849}
{208D2C60-3AEA-1069-A2D7-08002B30309D}
{63da6ec0-2e98-11cf-8d82-444553540000}
{85BBD920-42A0-1069-A2E4-08002B30309D}
{BDEADF00-C265-11d0-BCED-00A0C90AB50F}
|
file://%webdir%\folder.htt
file://%webdir%\controlp.htt
file://%webdir%\Folder.htt
file://%webdir%\recycle.htt
file://%webdir%\printers.htt
file://%webdir%\dialup.htt
file://%webdir%\schedule.htt
file://%webdir%\fsresult.htt
file://%webdir%\fsresult.htt
file://%webdir%\nethood.htt
file://%webdir%\ftp.htt
file://%webdir%\brfcase.htt
pubplace.htt
|
When customizing a folder in windows Me, the user can select which webview he wants to apply to the Folder being customized. The options include 'Standard', 'Classic', 'Simple' etc. These different webviews indicate the webviews that are installed on your system.
The Information regarding which webviews are installed on your system and the files they are associated with is stored within the registry in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\WebView\Templates\x where the x represents a number. A subkey named 'Supporting Files' under this key holds information as to which other supporting files are to be used and copied to the customized folder for the concerned webview.
Other keys under HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\WebView\Templates\x are pretty self explanatory; they contain information which the Folder Customization wizard uses for Details like the name of the webview, its description, the template to be used, the bitmap to be used in the preview window etc.