ReactOS Explorer

From ReactOS Wiki
Jump to: navigation, search

The page ReactOS Explorer is a short article on something that should have a lot more information written on it.
If you know anything else about it, you are STRONGLY encouraged to add the information in. If you are unsure of proper formatting or style, add it to the talk page or this page itself as you think best and others will help.


ReactOS Explorer is the default graphical shell that comes with ReactOS from version 0.2.0 forward. It is meant to be the equivalent of Windows Explorer on Windows operating systems.

Components

explorer.exe

Commit history (Source code can be found in: /reactos/base/shell/explorer)

filebrowser.exe

Commit history (Source code can be found in: /reactos/base/shell/filebrowser)

browseui.dll

Commit history (Source code can be found in: /reactos/dll/win32/browseui)

shell32.dll

Commit history (Source code can be found in: /reactos/dll/win32/shell32)

explorer-old.exe (Deprecated)

Commit history (source code can be found in rosapps/applications/explorer-old)

History

Before version 0.2, ReactOS would just boot to a command prompt. However, the devs expressed a desire to have a shell similar to what Windows provides. Since ReactOS was so new, shell32.dll and such libraries either did not exists or were stubs. So Martin Fuchs took on the challenge and wrote an explorer that relied very little on shell32.dll and such. However, the devs. knew that this implementation would prevent 3rd party shells from running in ReactOS. In time, with the help of many different devs, the missing libraries and a rewritten explorer.exe would be added to make the new shell work.

FAQ

The ReactOS GUI sucks! Why don't you use another shell?

When ReactOS is more complete you will be free to use any other alternative shell. But we need a Explorer like shell, to be fully compatible. Your moaning won't change anything...

ReactOS desktop looks quite old! Why don't you create a new explorer.exe?

ReactOS is an Alpha Operating System. Currently our devs have other tasks in our TODO list, as Improving software and hardware compatibility, that must be completed first. And since ReactOS is designed to look like Windows Server 2003, this is what the shell in Windows looks like!

There are alternative Shells out there, when ReactOS is compatible enough it will be able to load them. Also an Italian dev (Dax) is developing an alternative explorer (currently unofficial) that seems to be a nice replacement. It is written in C++, so if you want to help its development just download the sources and play with it.

About the shell: Why don't you add KDE4 to ReactOS?

  • KDE 4 is gonna run on Windows. But that has nothing to do with ReactOS. We do not need nor do we want to have KDE4 within the source repository. Alternative shells fall under the "user installable and not needed for compatibility" category and thus will not be included.
  • We are alpha software, ReactOS can barely boot at times, we are not going to release "distros" any time soon. So no custom GUIs with KDE 4 or whatever else... Feel free to make your own if you want, but the dev team will not do so.
  • ReactOS Explorer is the default shell, this will not change anytime soon. And any change to its coding will not dramatically change the way it looks either.
  • We appreciate your suggestions about icons, themes, fonts and all that jazz... ReactOS doesn't have theme support, the default "theme" is going to stay there for some time. (ALWAYS use the design forum for these suggestions).

Which GUI can I use?

To answer this, one must understand how the GUI functions in ReactOS/Microsoft(R) Windows(R):

  • The DIB Engine (in the graphics subsystem), along with your video card's driver, provide rendering primitives, such as rectangles, lines and BitBlit operations.
  • Then there is the Win32 subsystem (CSRSS), which provides the windowing functionality, including console windows.
  • The USER32.DLL library provides slightly more complex windows, such as buttons and checkboxes.
  • The library COMCTL32 provides even more sophisticated windows, such as file open dialogs.
  • The shell (for instance Explorer) is an ordinary program, which is started upon bootup. It creates the desktop with its icons, and the start menu. It is this last component which can be changed out with another shell. There are many popular open source "Explorer replacements" like LiteStep and BlackBox available, which we intend to support.

Summary

So to finally clear everything up let's lay out all the facts:

  • Well KDE 4 is gonna run on Windows. But that has nothing to do with ReactOS. We do not need nor do we want to have KDE4 within the source repository. Alternative shells falls under the "user installable and not needed for compatibility" category and thus will not be included.
  • We are alpha software, ReactOS can barely boot at times, we are not going to release distros any time soon. So no custum GUIs with KDE 4 or whatever else... Feel free to make your own if you want, but the dev team will not do so.
  • ReactOS Explorer is the default shell, this will not change anytime soon. And any change to its coding will not dramatically change the way it looks either.

- We appreciate your suggestions about icons, themes, fonts and all that jazz... ReactOS has basic theme support, but the default "theme" is going to stay there for some time. (ALWAYS use the design forum for any suggestions.)

External links