- 1 About Shell
- 1.1 Progress
- 1.2 Shell32 components scheme
- 1.3 Unimplemented features
- 1.4 Reports in the bugtracker
- 1.5 Reorganization of shell resources
- 1.6 Components
- 1.6.1 Browseui.dll
- 1.6.2 Dynamic Data Exchange
- 1.6.3 IPC
- 1.6.4 Sidebar
- 1.6.5 Command line parameters
- 1.6.6 Desktop
- 1.6.7 Taskbar
- 1.6.8 The notification area
- 1.6.9 Address bar
- 1.6.10 Menu bar
- 1.6.11 "Start"
- 1.7 Additional features
- 1.8 Other classes
- 1.9 Themes in new explorer
- 1.10 Settings via registry
- 1.11 Links
- 13.07.2014 - CMergedFolder was completed
- 24.08.2014 - hotkeys Ctrl+C, Ctrl+X, Ctrl+V was implemented.
- 28.09.2014 - IPC was implemented
Shell32 components scheme
Reports in the bugtracker
- shell/explorer issues (CORE-5620)
- Major unimplemented features of the shell (CORE-9277)
- shell32: rewrite shell folders implementation (CORE-7585)
- shell32: shell icon cache and icon extractors need to be rewritten (CORE-7563)
Reorganization of shell resources
As part of its work (
CORE-10030) Robert Naumann:
- reworked the property dialogs, maked them nicer, add missing resources and remove unneded ones
- Changed the start menu Icon from an icon to a bitmap resource
- Fixed existing and add missing icons
- reorganized the resource folder structure
As of 13.07.2017:
- content of current folder are displayed
- icon is displayed in the header
- buttons are displayed
- buttons are have icons
- list mode have sort arrows
The buttons in the file browser toolbar can be subdivided into 4 groups:
- The navigation buttons, with history back/forward and “up”,
- The sidebar buttons, with “folders” and “search”,
- The file operations, with “copy to”, “move to”, “delete” and “undo”, and lastly
- The view mode, which shows a dropdown to select the listview style.
- view mode
- copy to/move to (CORE-11132)
Dynamic Data Exchange
IPC mechanism used by browseui to open new windows in the existing process. This function was implemented 28.09.2014.
- CORE-12577 - disable IPC via registry
03.12.2014 implementation of CExplorerBand class was started , which needed for sidebar. Gigaherz was add this class for research sidebar implementation in Windows.
05.02.2016 patch (
CORE-10838) with initial implementation of classes BaseBar и CBaseBarSite was published .
19.02.2016 Sylvain Deverre started work on sidebar in github-repo.
30.05.2016 Results of his work was add to trunk.
01.06.2016 Sidebar was implemented.
26.07.2016 In the sidebar was implements expand the tree view to the current folder when a new folder is browser and showing the context menu on right click.
02.08.2016 In the sidebar was implemented displaying of disk name.
01.02.2017 In the sidebar was implemented rudimentary support for drag icons.
Command line parameters
08.09.2014 base of parser of command line parameters was writes.
CORE-12163 was closed 07.11.2016.
Now, explorer supports next parameters:
05.02.2017 in the trunk was implemented auto update of desktop after change his content.
Hide desktop icons
15.05.2014 work on taskbar was started.
As of 31.07.2017:
- windows list is displaying
- you can windows minimize/restore with left-click
- you can call windows action-list with right-click
- taskbar autohide is implemented
- taskbar size changing to certain step
01.11.2017 in revision 2ed535d (0.4.8-dev-46) Giannis implemented some taskbar settings (lock, keep on top of other windows, auto-hide, show clock, show seconds). Other will implemented later.
The notification area
The notification area was implemented 5 июля 2014 г. Now:
- in the tray displayed apps icons
- you can app minimize/restore with left-click
- you can call app action-list with right-click
- hiding of inactive icons is not implemented
Shell service objects
Shell service objects - component, which implement in the tray icons of sound, battery, safely remove and others. His implementation was started 23.07.2014.
17.08.2014 basic functions was implemented.
23-24.03.2017 Eric Kohl implemented:
- r74225 - Implement code to show and hide the power and volume icons in the notification area aka systray.
- r74226 - Show and hide the power systray icon.
- r74228 - Implement the power schemes popup menu.
- r74227 - Show and hide the volume systray icon.
04.05.2014 work on address bar was started.
As of 25.08.2016:
- current path displaying
- recognition support
- system folder name are displayed instead GUID/CLSID
- address is entered with Enter pressed
- addressbar autoresizing
- addressbar combobox
|Color and value|
|My Network Places|
|Printers and Faxes|
|Scanners and Cameras|
|Start Menu Folder|
|Temporary Internet Files|
Unimplemented items are displayed as inactive. It works with keyboard control.
- CORE-11467 - ReactOS logo in menu band
Menu items implementation
|Color and value|
|Copy To Folder...|
|Move To Folder...|
|Favorites||Add to Favorites|
|Tools||Map Network Drive|
|Disconnect Network Drive|
CORE-10837- Unable to launch Folder Options due to missing class
- CORE-11141 - FolderOptions are unimplemented
- CORE-10800 - Improvements to Folder Options
- CORE-1246 - Changing or creating new file associations in Folder options is missing
CORE-12540- Implement TreeView of Folder Options
- CORE-12906 - Folder Options: File Types: Implement
05.02.2017 folder properties dialog was implemented in r73703 with all available settings.
Copy to / Move to
18.04.2016 Barrett Karish was publish patch with implementation of this function.
Connect/disconnect network drive
03.07.2017 Jared Smudde started implementation of netplwiz.dll library, which perform this function.
- 21.11.2015 in r69992 was started implementation of setting dialog of classic start menu
- 22.11.2015 in r70001 was implemented buttons:
- Add > open shortcut wizard
- Advancad > open %username%/Start menu
- Clear > Clears %username%/Recent
29.09.2014 in shell-experiments was applied patch with new shutdown dialog.
Work on copy dialog was started in november 2014. (
- 23-feb-2015 it was implemented, but without animation
- 23-apr-2015 was implemented animation
Implementation of this feature was start 17.02.2015 and finished 14.03.2015. (
Browser of registry и NT-objects
15.03.2015 was implemented replace for explorer registry and NT-objects from old explorer as shell-extensions.
Maybe, this function will implemented as shell extension.
Improve support for shell extensions
They was implemented on GSoC. (quick start panel, battery state, and usb-ejecter)
18.08.2017 USB-ejecter extension was added to trunk.
CORE-13841- implementation of eject CD/DVD/USB
20.10.2017 was implemented quick launch panel extension.
For filling panel need to add shortcuts to folder C:\Documents and Settings\%username%\Application Data\Microsoft\Internet Explorer\Quick Launch.
Also, you can create user bar.
The panel is created on the right. You can't move it. Shortcuts runs. You can show/hide text, title, close panel. You can do reduce the panel, but hidden icons don't restored. Bug: you can't without errors swap quickstart panel and taskbar.
|Color and value|
|CTRL + A|
|CTRL + C|
|CTRL + F|
|CTRL + G|
|CTRL + N|
|CTRL + O|
|CTRL + P|
|CTRL + S|
|CTRL + V|
|CTRL + X|
|CTRL + Z|
|CTRL + F4|
|CTRL + while dragging an item|
|CTRL + SHIFT with arrow keys|
|CTRL + ESC|
|CTRL + F6|
|Windows Logo+ L|
|NUM LOCK+Asterisk sign (*)|
|NUM LOCK+Plus sign (+)|
|NUM LOCK+Minus sign (-)|
The CMergedFolder class structure is set of classes, whose primary purpose of the merged folder is the ability to aggregate the contents of multiple shell folders into one virtual folder that includes items from all of the sources, and also merges the child items of the same name into one virtual item.
Implementation was started 28.06.2014 and finished 13.07.2014.
It used in:
CMergedFolder allows displayed in the start menu the shortcuts from two folders:
- "Programs" (content of %userprofile%/Start menu/Programs and All Users/Start menu/Programs).
- "Start menu" (content of %userprofile%/Start menu and All Users/Start menu)
Favourites displayed shortcuts from %userprofile%/Favourites.
Recent documents in the Start, with using CMergedFolder show files from %userprofile%/Recent.
The IShellDispatch 2 is planned to taken from Wine, converted it to C++, added to ReactOS and finalized.
Also, in shldisp.idl are missing IShellDispatch3 and IShellDispatch4 (and v5 and v6, but they not include in W2k3). They and tests, which will be written later, will send to Wine.
First commits was in rr71116 and 71117.
- CORE-12955 - implementation:
- ShutdownWindows was implemented 02.04.2017 in r74268 - show shutdown dialog
CORE-11401 - will not implemented
Themes in new explorer
Settings via registry
You can change some parameters in registry.
- Hidden - show hidden folders and files
- HideFileExt - hide files extensions
- ListviewShadow - shadows at icons text on the desktop
- StartMenuLogoff - "Logoff" item in the Start