Difference between revisions of "ReactOS Explorer"

From ReactOS Wiki
Jump to: navigation, search
(explorer-old.exe)
(Updated details about themes & stuff)
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{Stub}}
 
{{Stub}}
'''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. It was originally created and maintained by [[User:Martinfuchs|Martin Fuchs]]. In 2014, it was replaced by a new explorer written David Quintana, Andrew Hill and others.
+
'''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 ==
 
== Components ==
=== explorer.exe ===
+
==== explorer.exe ====
{{ROSAPPS|base/shell/explorer}}
+
{{Code history|base/shell/explorer}}
  
=== explorer-old.exe ===
+
==== filebrowser.exe ====
{{Code history|applications/explorer-old}}
+
{{Code history|base/shell/filebrowser}}
 +
 
 +
==== browseui.dll ====
 +
{{Code history|dll/win32/browseui}}
 +
 
 +
==== shell32.dll ====
 +
{{Code history|dll/win32/shell32}}
 +
 
 +
==== explorer-old.exe (Deprecated) ====
 +
{{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 ==
 
== FAQ ==
Line 14: Line 26:
 
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...
 
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 desktop looks quite old! Isn't there any themes I can use? ===
 +
 
 +
Since [[ReactOS]] is designed to look like Windows Server 2003, this is what the shell in Windows looks like!
 +
 
 +
However, in the current stable version (and git revision), [[uxtheme]] is implemented, so therefore ReactOS currently has its own unique theme called Lautus, which gives ReactOS a nice unique look. But that is not the only theme ReactOS has currently.
 +
 
 +
More themes, like Lunar (gives ReactOS an XP-like Luna look!), Mizu, and Modern and are on the way, and are available in the latest git revision/build.
  
[[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. Anyway, we have a branch where a explorer-new.exe is being developed. Currently its development is stopped due to unimplemented COM/OLE background code which is needed to make it work.
+
Of course, you can always use your own themes or any you find on the internet. (And uxtheme won't need to be patched due to the way it is written.)
  
 
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.
 
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.
Line 25: Line 43:
 
* 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.
 
* 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.
 
* [[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).
+
* 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? ===
 
=== Which GUI can I use? ===
Line 38: Line 56:
 
=== Summary ===
 
=== Summary ===
 
So to finally clear everything up let's lay out all the facts:
 
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.
 
* 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 [[Distributions|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.
 
* We are alpha software, ReactOS can barely boot at times, we are not going to release [[Distributions|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.
Line 45: Line 64:
 
== External links ==
 
== External links ==
  
*[http://www.foxplanet.de/explorer/ Homepage]
+
*[https://www.reactos.org/node/780 Proper?! Windows explorer.exe implementation]
 +
*[http://www.foxplanet.de/explorer/ Old Explorer Homepage]
  
 
[[Category:ReactOS Components]]
 
[[Category:ReactOS Components]]
 
[[Category:Design]]
 
[[Category:Design]]

Revision as of 13:26, 8 May 2019

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! Isn't there any themes I can use?

Since ReactOS is designed to look like Windows Server 2003, this is what the shell in Windows looks like!

However, in the current stable version (and git revision), uxtheme is implemented, so therefore ReactOS currently has its own unique theme called Lautus, which gives ReactOS a nice unique look. But that is not the only theme ReactOS has currently.

More themes, like Lunar (gives 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 you find on the internet. (And uxtheme won't need to be patched due to the way it is written.)

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 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