ReactOS Explorer

From ReactOS Wiki
Revision as of 21:55, 12 February 2020 by Dizt3mp3r (talk | contribs) (About the shell: Why don't you add KDE4 to ReactOS?)
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

Why doesn't ReactOS have a modern UI?

The target is Windows 2003 and ReactOS' UI is based upon that. There are two alternative theme choices and both are suited for desktop operation. Note that neither of them are tablet-based themes as you will find in current Windows. Only the naive but uninformed user believes the UI look-and-feel is in any way tied to the real functionality of the o/s. If you are comparing the default UI with that of current Windows you may not appreciate that ReactOS' UI is configurable and the interface being FOSS will be customisable in a way that current Windows is not. Eventually, it will be possible to configure ReactOS to look the way you desire with 3rd party tools and themes.

Are there any other themes I can use?

In the current stable version (and git revision) uxtheme has been implemented without deliberately missing vital functionality and therefore uxtheme will not need to be patched (unlike Windows in which themeing was intentionally crippled). In addition ReactOS has its own unique theme called Lautus which gives ReactOS a unique, modern look. More themes like Lunar (giving ReactOS an XP-like Luna look), Mizu, and Modern and are on the way and are available in the latest git revision/build.

Of course, you can always use your own themes or any that you can find on the internet. There are alternative Shells out there and when ReactOS is sufficiently compatible it will be able to load them. Also, an Italian dev known as Dax is developing an alternative explorer (currently unofficial) that seems to be a decent 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 does 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-but-not-needed-for-compatibility" category and thus will not be included.
  • We are alpha software and as with all Alpha-grade software, ReactOS cannot yet reliably run 3rd party software. So, no custom GUIs with KDE 4 or whatever else... Feel free to make your own if you want but the dev team have other, more important things to do. The ReactOS team are not going to release custom "distros" any time soon.
  • 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.
  • We appreciate your suggestions about icons, themes, fonts and all that jazz... ReactOS has basic 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:

  • ReactOS already has some included themes (Lautus, Lunar, Mizu, and Modern), the majority of them being in the latest git revision/build. And you are free to use your own themes or ones from the internet as uxtheme won't need patching due to the way it's been written.
  • 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