Page 1 of 2

ros shell and filemanager in one program?

Posted: Fri Apr 29, 2005 1:25 am
by ThePhysicist
First I think, that explorer.exe does not really seem a good name, because people may associate explorer.exe with a lot of bugs, security problems and "Fatal exception error in module explorer.exe..." or something like that. So maybe rosexplorer may be a little better.
But that is not the point.

I have seen, that like in MS windows, the reactos explorer.exe is both: the shell and the filemanager. And putting shell and filemanager together seems to be nothing more than doing the same as MS.
But correct me, if I am wrong.

I think it would be better, if there were rosshell and rosexplorer for the following reasons:

1.) many users will not use the default file manager, because they might be more happy with their favorite file manager (like 2xExplorer, wich I use at the moment) So no need to run explorer.exe

2.) Using the shell for other things may not be a very good thing, because if the filemanger crashes, the shell will, too. This is handled in XP: explorer.exe simply resarts. But before SP2 this was pretty annoying sometimes.

3.) If you don't run the filemanager, you would probably save some memory for other things.

I think integrating explorer.exe (shell, filemanager, internetbrowser) so deep into the system, that you can't get it away was the worst thing MS had done. A a reason for a lot of security holes.

So my question: Would you want them to be together or do you think shell and filemanager should be different programs?

Posted: Fri Apr 29, 2005 5:14 am
by inocentPC
don't be afraid that we will suspect any kind of monopol from reactos developers. make reactOS work like XP and we will give you a french kiss.

just joking


Re: ros shell and filemanager in one program?

Posted: Fri Apr 29, 2005 8:55 am
by Epmak
Physicus wrote:First I think, that explorer.exe does not really seem a good name
Let it it be abreviation from ReactOS Explorer:

Posted: Fri Apr 29, 2005 12:42 pm
by Stead
i for one do not know a single person who doesn't use explorer as there file manager, but then i don't know anyone who is happy using linux either :lol:

i actually prefer the windows explorer to the reactos explorer, not fussed on the layout, seems more like an alternative file manager that you find everyware, and from a user point of view i'm also convinced 3 in 1 is good, especially for new people, if they can browse the web, they can browse folders and vice versa! although i'm still not convinced its the big security issue that everyone claims it is,

problem with security is that everyone wants it, but no one wants to be restricted with what they do, one brilliant way to stop things spreading would be to make the entire internet read only, which would make things a lot easier, but lots of people would be very unhappy about it :p

anyway, blah blah etc !

as far as i know some programs use the explorer.exe file manager( is that true?) i would keep the file manager as explorer.exe for compatabilitys sake, but the shell could be a seperate program, also as far as i'm aware explorer.exe isn't a web-browser, but does use all the magical internet explorer dll's which is (i assume) ware all the security problems come?

mind you, i suppose since the shell is open source, you could download it, take out all the file stuff, then compile it, and have your lightweight shell!, hell you can even call it linux.exe, actually it would be neat to have just the shell, i wonder if it would make a noticable difference in the amount of memory it uses

also in xp you can run the shell and explorer as seperate processes so if one crashes the other doesn't! (at least i'm sure you can...)

Posted: Fri Apr 29, 2005 1:25 pm
by mf
Basically, if you code right, crashing an explorer window shouldn't be able to crash the shell. It hasn't got to do with calling it explorer.exe and it also hasn't got to do with having shell and filemanager as separate binaries.

Posted: Fri Apr 29, 2005 6:28 pm
by Gasmann
IIRC Windows XP (and maybe other versions, too) has an (special hidden :P ) setting in registry to start the explorer windows in a separate process from the shell. What I want to say that it shouldn't be needed to have different binaries, just make it possible to run both in separate processes so that if one crashes it wouldn't crash the other.

Posted: Sat Apr 30, 2005 10:42 pm
by Quigs
what's hidden?
open up an explorer window, go to folder options ->
view, "Launch folder windows in a seperate process"

The one reason I want them seperated is so I can run the shell with basic user rights and run one window with admin...

Posted: Sun May 01, 2005 5:37 am
by MadRat
He's talking about "elevated" sessions,

Posted: Sun May 01, 2005 8:51 am
by GvG
Quigs wrote:The one reason I want them seperated is so I can run the shell with basic user rights and run one window with admin...
Boot normally, then "RunAs" explorer.exe as Administrator?

Posted: Sun May 01, 2005 1:21 pm
by MadRat
su %adminaccountname% /e

Split the shell and explorer.

Posted: Sun May 01, 2005 2:23 pm
by oiaohm
Name of shell reactos.exe. As far as I know we don't have a reactos.exe yet.

Problems with shell and explorer together. I run a filesearch and crash explorer I also crash the shell. Or a picture pre image on an damaged image crashes explorer I loss shell.

Not worth the hell.

Now a split shell explorer could also be used by desktop developers.

Posted: Sun May 01, 2005 3:05 pm
by Gasmann
I can't see any advantages of having them in different binaries. If you run it in another process, the shell won't crash if the explorer window crashes. And I think splitting it would confuse Windows users new to ReactOS.

Split would confuse windows users Yea right.

Posted: Sun May 01, 2005 4:43 pm
by oiaohm
Split of binarys makes sure that some coder does not stuff up and merge the processes back together restarting all the same problems again.

Really the shell and the browser never sould have been in one binary just to much risk of trouble.

Also you realize that spliting the processes if not done right causes a over use of ram. Ie the internal vars required of the browser and shell are allocated for each process could lead to double alloc. Sharing vars accross processes could cause a problems like the old setup did.

Playing with Threads can get tricky. Note the windows XP work around only ends up with Double allocs lots of them that the shell or the Browser don't require.

Also spliting the shell and explorer will let people set there own file browser ie I might like Windows Explorer and someone less might like MC .

Posted: Sun May 01, 2005 11:45 pm
by martinfuchs

I don't think it makes much sense to split the shell part and the file manager part of explorer.exe into two distinct binaries. In fact I tried it, removed the file manager code from explorer and compiled it into rosshell.exe. Here you can see the difference in the resulting binary size:

explorer.exe: 1,5 MB
rosshell.exe: 1,3 MB

The reason is that a bunch of code is used in both parts. So splitting will only result in an increased sum of binary size and increased runtime memory usage. If you use one process for the shell (rosshell.exe), and another one for file windows (explorer.exe), both will comsume ~ 1 MB of code size, and each will allocate its own heap memory. Using only one binary for both processes will enable you to share the code. Using only one process for both tasks will even reduce memory usage because this way you can share the heap (including icon caches and some more data) too.

The only (little) advantage I can see is for that users, which want to use another file manager, for example winefile. They can install rosshell as default shell, and launch their file manager on demand.

Posted: Mon May 02, 2005 1:28 am
by ThePhysicist
What if you put the stuff needed by both filemanager and shell into a dll? I'm not sure, but am I right: This will be loaded into memory only once, can even be used by other apps and does not crash if explorer crashes (?)