If anyone is having trouble moving the details pane to the bottom, I have written instructions (on Super User and below):
Does Windows 8 have a Status Bar to display details of a file? - Super User
---
On Windows 8, in file explorer, how do I display the details pane at the bottom instead of on the right?
How do I display both the details pane and preview pane simultaneously?
---
You need to edit system files.
After you modify the system files, you may have the details pane at the bottom and the preview pane on the right simultaneously.
Instructions
- Copy `%WinDir%\System32\shell32.dll` and `%WinDir%\SysWOW64\shell32.dll` to the desktop or to temporary directories.
- Take ownership of and rename the original `shell32.dll` files.
- Save `Rename shell32.dll.bat`:
Code:
takeown /f "%WinDir%\System32\shell32.dll"
icacls "%WinDir%\System32\shell32.dll" /grant Administrators:F
ren "%WinDir%\System32\shell32.dll" "shell32.dll.bak"
takeown /f "%WinDir%\SysWOW64\shell32.dll"
icacls "%WinDir%\SysWOW64\shell32.dll" /grant Administrators:F
ren "%WinDir%\SysWOW64\shell32.dll" "shell32.dll.bak"
- Right click on `Rename shell32.dll.bat` > Run as administrator > Yes.
- Repeat the following steps for each `shell32.dll` on the desktop or in temporary directories:
- Right click on `shell32.dll` > Properties > For "Attributes", disable "Read-only" > OK.
- You will need either Resource Hacker, Anolis Resourcer, or Restorator.
- Resource Hacker
- File > Open ... > Select the `shell32.dll` file.
- UIFILE
- 3 > 1033 > Replace text > Compile Script:
Code:
<duixml>
<Element resid="FolderLayout" layout="shellborderlayout()" sheet="genericlayoutstyle">
<StatusBarModule ModuleID="StatusBarModule" layoutpos="bottom" layout="filllayout()"/>
<TemplateBackground id="atom(PreviewContainer)" height="53rp" layoutpos="bottom" layout="filllayout()">
<TemplateBackground id="atom(PreviewShineLayer)"/>
<PreviewBackground id="atom(BackgroundClear)" background="ARGB(0, 0, 0, 0)" layout="borderlayout()">
<PreviewThumbnail ModuleID="PreviewThumbnailModule" MaxThumbSize="256" layoutpos="Left"/>
<Element layoutpos="Client" layout="filllayout()">
<PreviewMetadata ModuleID="PreviewMetadataModule" NullSelectPropertyString="prop:*System.OfflineStatus;*System.OfflineAvailability" layoutpos="Client"/>
</Element>
</PreviewBackground>
<Sizer id="atom(PreviewPaneSizer)" sizingtarget="atom(PreviewContainer)" FramePersistType="2" SlidesUpAndDown="true" layoutpos="top" DownOrRightGrowsTarget="false"/>
</TemplateBackground>
<TemplateBackground id="atom(ReadingPane)" layout="filllayout()" layoutpos="right">
<PreviewThumbnail ModuleID="ReadingPaneThumbnailModule" HideProperty="PreviewHandlerRunning" Vertical="true" layoutpos="client" background="ARGB(0, 0, 0, 0)"/>
<ReadingPaneModule ModuleID="ReadingPaneModule" layoutpos="none"/>
</TemplateBackground>
<Sizer id="atom(ReadingPaneSizer)" sizingtarget="atom(ReadingPane)" GrowTargetFirst="true" SlidesUpAndDown="false" PrioritySizer="atom(PageSpaceControlSizer)" DownOrRightGrowsTarget="false" FramePersistType="2" layoutpos="Right"/>
<ProperTreeModule id="atom(ProperTree)" ModuleID="ProperTreeModule" sheet="documentslayoutstyle" layoutpos="Left"/>
<Element id="atom(ViewHostContainer)" layoutpos="Client" sheet="documentslayoutstyle" layout="borderlayout()">
<ViewHost id="atom(clientviewhost)" layout="borderlayout()" layoutpos="client">
</ViewHost>
</Element>
</Element>
</duixml>
- 4 > 1033 > Replace text > Compile Script:
Code:
<duixml>
<Element resid="FolderLayout" layout="shellborderlayout()" sheet="musiclayoutstyle">
<StatusBarModule ModuleID="StatusBarModule" layoutpos="bottom" layout="filllayout()"/>
<TemplateBackground id="atom(PreviewContainer)" height="53rp" layoutpos="bottom" layout="filllayout()">
<TemplateBackground id="atom(PreviewShineLayer)"/>
<PreviewBackground id="atom(BackgroundClear)" background="ARGB(0, 0, 0, 0)" layout="borderlayout()">
<PreviewThumbnail ModuleID="PreviewThumbnailModule" MaxThumbSize="256" layoutpos="Left"/>
<Element layoutpos="Client" layout="filllayout()">
<PreviewMetadata ModuleID="PreviewMetadataModule" NullSelectPropertyString="prop:*System.OfflineStatus;*System.OfflineAvailability" layoutpos="Client"/>
</Element>
</PreviewBackground>
<Sizer id="atom(PreviewPaneSizer)" sizingtarget="atom(PreviewContainer)" FramePersistType="2" SlidesUpAndDown="true" layoutpos="top" DownOrRightGrowsTarget="false"/>
</TemplateBackground>
<TemplateBackground id="atom(ReadingPane)" layout="filllayout()" layoutpos="right">
<PreviewThumbnail ModuleID="ReadingPaneThumbnailModule" HideProperty="PreviewHandlerRunning" Vertical="true" layoutpos="client" background="ARGB(0, 0, 0, 0)"/>
<ReadingPaneModule ModuleID="ReadingPaneModule" layoutpos="none"/>
</TemplateBackground>
<Sizer id="atom(ReadingPaneSizer)" sizingtarget="atom(ReadingPane)" GrowTargetFirst="true" SlidesUpAndDown="false" PrioritySizer="atom(PageSpaceControlSizer)" DownOrRightGrowsTarget="false" FramePersistType="2" layoutpos="Right"/>
<ProperTreeModule id="atom(ProperTree)" ModuleID="ProperTreeModule" sheet="musiclayoutstyle" layoutpos="Left"/>
<Element id="atom(ViewHostContainer)" layoutpos="Client" sheet="documentslayoutstyle" layout="borderlayout()">
<ViewHost id="atom(clientviewhost)" layout="borderlayout()" layoutpos="client">
</ViewHost>
</Element>
</Element>
</duixml>
- 5 > 1033 > Replace text > Compile Script:
Code:
<duixml>
<Element resid="FolderLayout" layout="shellborderlayout()" sheet="photolayoutstyle">
<StatusBarModule ModuleID="StatusBarModule" layoutpos="bottom" layout="filllayout()"/>
<TemplateBackground id="atom(PreviewContainer)" height="53rp" layoutpos="bottom" layout="filllayout()">
<TemplateBackground id="atom(PreviewShineLayer)"/>
<PreviewBackground id="atom(BackgroundClear)" background="ARGB(0, 0, 0, 0)" layout="borderlayout()">
<PreviewThumbnail ModuleID="PreviewThumbnailModule" MaxThumbSize="256" layoutpos="Left"/>
<Element layoutpos="Client" layout="filllayout()">
<PreviewMetadata ModuleID="PreviewMetadataModule" NullSelectPropertyString="prop:*System.OfflineStatus;*System.OfflineAvailability" layoutpos="Client"/>
</Element>
</PreviewBackground>
<Sizer id="atom(PreviewPaneSizer)" sizingtarget="atom(PreviewContainer)" FramePersistType="2" SlidesUpAndDown="true" layoutpos="top" DownOrRightGrowsTarget="false"/>
</TemplateBackground>
<TemplateBackground id="atom(ReadingPane)" layout="filllayout()" layoutpos="right">
<PreviewThumbnail ModuleID="ReadingPaneThumbnailModule" HideProperty="PreviewHandlerRunning" Vertical="true" layoutpos="client" background="ARGB(0, 0, 0, 0)"/>
<ReadingPaneModule ModuleID="ReadingPaneModule" layoutpos="none"/>
</TemplateBackground>
<Sizer id="atom(ReadingPaneSizer)" sizingtarget="atom(ReadingPane)" GrowTargetFirst="true" SlidesUpAndDown="false" PrioritySizer="atom(PageSpaceControlSizer)" DownOrRightGrowsTarget="false" FramePersistType="2" layoutpos="Right"/>
<ProperTreeModule id="atom(ProperTree)" ModuleID="ProperTreeModule" sheet="photolayoutstyle" layoutpos="Left"/>
<Element id="atom(ViewHostContainer)" layoutpos="Client" sheet="documentslayoutstyle" layout="borderlayout()">
<ViewHost id="atom(clientviewhost)" layout="borderlayout()" layoutpos="client">
</ViewHost>
</Element>
</Element>
</duixml>
- 6 > 1033 > Replace text > Compile Script:
Code:
<duixml>
<Element resid="FolderLayout" layout="shellborderlayout()" sheet="documentslayoutstyle">
<StatusBarModule ModuleID="StatusBarModule" layoutpos="bottom" layout="filllayout()"/>
<TemplateBackground id="atom(PreviewContainer)" height="90rp" layoutpos="bottom" layout="filllayout()">
<TemplateBackground id="atom(PreviewShineLayer)"/>
<PreviewBackground id="atom(BackgroundClear)" background="ARGB(0, 0, 0, 0)" layout="borderlayout()">
<PreviewThumbnail ModuleID="PreviewThumbnailModule" MaxThumbSize="256" layoutpos="Left"/>
<Element layoutpos="Client" layout="filllayout()">
<PreviewMetadata ModuleID="PreviewMetadataModule" NullSelectPropertyString="prop:*System.OfflineStatus;*System.OfflineAvailability" layoutpos="Client"/>
</Element>
</PreviewBackground>
<Sizer id="atom(PreviewPaneSizer)" sizingtarget="atom(PreviewContainer)" FramePersistType="2" SlidesUpAndDown="true" layoutpos="top" DownOrRightGrowsTarget="false"/>
</TemplateBackground>
<TemplateBackground id="atom(ReadingPane)" layout="filllayout()" layoutpos="right">
<PreviewThumbnail ModuleID="ReadingPaneThumbnailModule" HideProperty="PreviewHandlerRunning" Vertical="true" layoutpos="client" background="ARGB(0, 0, 0, 0)"/>
<ReadingPaneModule ModuleID="ReadingPaneModule" layoutpos="none"/>
</TemplateBackground>
<Sizer id="atom(ReadingPaneSizer)" sizingtarget="atom(ReadingPane)" GrowTargetFirst="true" SlidesUpAndDown="false" PrioritySizer="atom(PageSpaceControlSizer)" DownOrRightGrowsTarget="false" FramePersistType="2" layoutpos="Right"/>
<ProperTreeModule id="atom(ProperTree)" ModuleID="ProperTreeModule" sheet="documentslayoutstyle" layoutpos="Left"/>
<Element id="atom(ViewHostContainer)" layoutpos="Client" sheet="documentslayoutstyle" layout="borderlayout()">
<ViewHost id="atom(clientviewhost)" layout="borderlayout()" layoutpos="client">
</ViewHost>
</Element>
</Element>
</duixml>
- 19 > 1033 > Replace text > Compile Script:
Code:
<duixml>
<Element resid="FolderLayout" layout="shellborderlayout()" sheet="documentslayoutstyle">
<StatusBarModule ModuleID="StatusBarModule" layoutpos="bottom" layout="filllayout()"/>
<TemplateBackground id="atom(PreviewContainer)" height="53rp" layoutpos="bottom" layout="filllayout()">
<TemplateBackground id="atom(PreviewShineLayer)"/>
<PreviewBackground id="atom(BackgroundClear)" background="ARGB(0, 0, 0, 0)" layout="borderlayout()">
<PreviewThumbnail ModuleID="PreviewThumbnailModule" MaxThumbSize="256" layoutpos="Left"/>
<Element layoutpos="Client" layout="filllayout()">
<PreviewMetadata ModuleID="PreviewMetadataModule" NullSelectPropertyString="prop:*System.OfflineStatus;*System.OfflineAvailability" layoutpos="Client"/>
</Element>
</PreviewBackground>
<Sizer id="atom(PreviewPaneSizer)" sizingtarget="atom(PreviewContainer)" FramePersistType="2" SlidesUpAndDown="true" layoutpos="top" DownOrRightGrowsTarget="false"/>
</TemplateBackground>
<TemplateBackground id="atom(ReadingPane)" layout="filllayout()" layoutpos="right">
<PreviewThumbnail ModuleID="ReadingPaneThumbnailModule" HideProperty="PreviewHandlerRunning" Vertical="true" layoutpos="client"/>
<ReadingPaneModule ModuleID="ReadingPaneModule" layoutpos="none"/>
</TemplateBackground>
<Sizer id="atom(ReadingPaneSizer)" sizingtarget="atom(ReadingPane)" GrowTargetFirst="true" SlidesUpAndDown="false" PrioritySizer="atom(PageSpaceControlSizer)" DownOrRightGrowsTarget="false" FramePersistType="2" layoutpos="Right"/>
<ProperTreeModule id="atom(ProperTree)" ModuleID="ProperTreeModule" sheet="documentslayoutstyle" layoutpos="Left"/>
<Element id="atom(ViewHostContainer)" layoutpos="Client" sheet="documentslayoutstyle" layout="borderlayout()">
<ViewHost id="atom(clientviewhost)" layout="borderlayout()" layoutpos="client">
</ViewHost>
</Element>
</Element>
</duixml>
- 20 > 1033 > Replace text > Compile Script:
Code:
<duixml>
<Element resid="FolderLayout" layout="shellborderlayout()" sheet="documentslayoutstyle">
<StatusBarModule ModuleID="StatusBarModule" layoutpos="bottom" layout="filllayout()"/>
<TemplateBackground id="atom(PreviewContainer)" height="53rp" layoutpos="bottom" layout="filllayout()">
<TemplateBackground id="atom(PreviewShineLayer)"/>
<PreviewBackground id="atom(BackgroundClear)" background="ARGB(0, 0, 0, 0)" layout="borderlayout()">
<PreviewThumbnail ModuleID="PreviewThumbnailModule" MaxThumbSize="256" layoutpos="Left"/>
<Element layoutpos="Client" layout="filllayout()">
<PreviewMetadata ModuleID="PreviewMetadataModule" NullSelectPropertyString="prop:*System.OfflineStatus;*System.OfflineAvailability" layoutpos="Client"/>
</Element>
</PreviewBackground>
<Sizer id="atom(PreviewPaneSizer)" sizingtarget="atom(PreviewContainer)" FramePersistType="2" SlidesUpAndDown="true" layoutpos="top" DownOrRightGrowsTarget="false"/>
</TemplateBackground>
<TemplateBackground id="atom(ReadingPane)" layout="filllayout()" layoutpos="right">
<PreviewThumbnail ModuleID="ReadingPaneThumbnailModule" HideProperty="PreviewHandlerRunning" Vertical="true" layoutpos="client" background="ARGB(0, 0, 0, 0)"/>
<ReadingPaneModule ModuleID="ReadingPaneModule" layoutpos="none"/>
</TemplateBackground>
<Sizer id="atom(ReadingPaneSizer)" sizingtarget="atom(ReadingPane)" GrowTargetFirst="true" SlidesUpAndDown="false" PrioritySizer="atom(PageSpaceControlSizer)" DownOrRightGrowsTarget="false" FramePersistType="2" layoutpos="Right"/>
<ProperTreeModule id="atom(ProperTree)" ModuleID="ProperTreeModule" sheet="documentslayoutstyle" layoutpos="Left"/>
<Element id="atom(ViewHostContainer)" layoutpos="Client" sheet="documentslayoutstyle" layout="borderlayout()">
<ViewHost id="atom(clientviewhost)" layout="borderlayout()" layoutpos="client">
</ViewHost>
</Element>
</Element>
</duixml>
- 21 > 1033 > Replace text > Compile Script:
Code:
<duixml>
<Element resid="FolderLayout" layout="shellborderlayout()" sheet="genericlayoutstyle">
<StatusBarModule ModuleID="StatusBarModule" layoutpos="bottom" layout="filllayout()"/>
<TemplateBackground id="atom(PreviewContainer)" height="53rp" layoutpos="bottom" layout="filllayout()">
<TemplateBackground id="atom(PreviewShineLayer)"/>
<PreviewBackground id="atom(BackgroundClear)" background="ARGB(0, 0, 0, 0)" layout="borderlayout()">
<PreviewThumbnail ModuleID="PreviewThumbnailModule" MaxThumbSize="256" layoutpos="Left"/>
<Element layoutpos="Client" layout="filllayout()">
<PreviewMetadata ModuleID="PreviewMetadataModule" NullSelectTitlePropertyString="prop:System.Computer.SimpleName;*System.Computer.Description" NullSelectPropertyString="prop:*System.Computer.DomainName;*System.Computer.Workgroup;*System.Computer.Processor;System.Computer.Memory" layoutpos="Client"/>
</Element>
</PreviewBackground>
<Sizer id="atom(PreviewPaneSizer)" sizingtarget="atom(PreviewContainer)" SlidesUpAndDown="true" layoutpos="top" DownOrRightGrowsTarget="false"/>
</TemplateBackground>
<TemplateBackground id="atom(ReadingPane)" layout="filllayout()" layoutpos="right">
<PreviewThumbnail ModuleID="ReadingPaneThumbnailModule" HideProperty="PreviewHandlerRunning" Vertical="true" layoutpos="client" background="ARGB(0, 0, 0, 0)"/>
<ReadingPaneModule ModuleID="ReadingPaneModule" layoutpos="none"/>
</TemplateBackground>
<Sizer id="atom(ReadingPaneSizer)" sizingtarget="atom(ReadingPane)" GrowTargetFirst="true" SlidesUpAndDown="false" PrioritySizer="atom(PageSpaceControlSizer)" DownOrRightGrowsTarget="false" FramePersistType="2" layoutpos="Right"/>
<ProperTreeModule id="atom(ProperTree)" ModuleID="ProperTreeModule" sheet="documentslayoutstyle" layoutpos="Left" RootMgrClsid="{93319CCC-B277-48FF-95BD-6CDCCAFCBD31}"/>
<Element id="atom(ViewHostContainer)" layoutpos="Client" sheet="genericlayoutstyle" layout="filllayout()">
<ViewHost id="atom(clientviewhost)" layout="borderlayout()">
</ViewHost>
</Element>
</Element>
</duixml>
- File > Save.
- File > Exit.
- Copy the modified `shell32.dll` to its system directory.
- Right click on the Start corner > Command Prompt (Admin) > Yes.
- Type:
Code:
cd %SystemDirectory%
copy %DllPath%
- While typing, replace `%SystemDirectory%` with `shell32.dll`'s system directory and `%DllPath%` with the path of the `shell32.dll` file.
- Verify that `shell32.dll` exists in its system directory.
- Close the command prompt.
- Charms bar > Settings > Power > Restart.
Sources
Disadvantages
The downside that I have noticed so far is that explorer operations that require elevation will prompt user account control (UAC) dialogs with "unknown publisher". However, this is not a big deal for me because I do not need to edit protected files so often, and the benefit of having the details pane outweighs the disadvantage.