TEKNIDERMY - ISSUE 8: February/March 2002

Ghost in the Shell
A Bit on Shell Managers

When diving into the fathomless ocean that is skinning, you're bound to run into the cephalopod that is the shell replacement sooner or later. A frightfull creature to most, for they do not comprehend what it does and why.

Here, I'll introduce you to some scuba gear to help you out with your shell encounters, it's called the shell manager and it helps you keeping your relationship with these creatures a friendly one.

First up I'll take a peek at the four most popular shell managers (which means that these are the four I know of). There'll be quite a bit of jargon here, so in the second part, I'll compare these pieces of diving equipment and explain what those mystic function do. And I'll finish this crash course with some pointers to more info and the usual conclusion.


Installing and uninstalling shells manually

In the days before shell managers switching shells had to be done by hand. Not too difficult, except when you use the wrong path to your shell of choice, then Windows will greet you at startup with a friendly message stating you have to reinstall it. This usually leads to complaints all over the place: "LiteStep has messed up my computer. I had to reformat and reinstall Windows to get my machine back up running. I hate you and your piece of crap software!!". Well, newsflash, Windows is lying. There's no need to reinstall Windows and there's certainly no need to format you drive.

Under Win9x (Windows 95, 98 and ME) changing your shell is done by opening the file c:\windows\system.ini up in a text editor. Locate the line starting with shell= and change the path to wherever you've stashed your alternate shell. For me, it would be something like: shell=e:\sys\shell\LiteStep\litestep.exe, 'cos that's where LiteStep's executable is located on my machine. Save, reboot (or log out and in) and you should be either running your new shell or facing Windows' reinstall message.

Under WinNT (Windows NT, 2000 and XP) changing your shell is a little bit more complicated. It involves *gasp* *horror* the Registry. First you fire up regedit, this is done by going to the Start Menu, clicking on Run... and typing regedit, finished with an [enter]. Then locate the key HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\shell and change it's value to the path to the executable of the shell you want to run. Then close regedit, reboot or log out and in and you should be using your new shell.

Uninstalling is a matter of changing these paths back to the original path to explorer.exe (Windows' default shell). Not too hard from within Window itself, but what do you do when you get the reinstall message? Under Win9x, you have to boot to DOS. This is done by holding Ctrl at startup or pressing F8 when the "Windows is now loading" message is displayed. Then select DOS, and type edit c:\windows\system.ini. Change the value of shell= back to shell=explorer.exe, save, exit and type win or reboot.

Since the location of the shell is defined in the Registry under WinNT, recovering from an incorrect setting is not that easy. Actually, I have no idea how to change it back. You could try to restore a backup of your Registry or so. Luckily, we have shell managers these days that handle these things for you. So you shouldn't have to worry about setting the wrong path and such.

Shell managers

For this article I've picked the four shell managers that I know off. LiteSpawn is the classic every shell tweaker knows, ShellON is the one that is currently dethroning it, Carapace is my personal favourite and Snafkin is the oriental rising star. Make no mistake, each one is perfectly capable of handling your daily shell needs, any choice between them is purely based on what your personal preferences are.

Note that the shell manager will play the role of the shell in order to do its job, meaning it has to be set as the default shell. Depending on the app this can be done from within the manager itself or has to be done manually.

 

Carapace 2.0 build 534 (beta)

Starting off with my favourite, Carapace is the only skinnable shell manager out there. Unfortunately, it does not seem to be that popular out there. But I think this has more to do with people not knowing it than with it being flawed.

Carapace's shell selection screen, SharpE skin

Carapace is a work in progress, therefore part of the configuration has to be done by altering its configuration file. Not too hard, but that's exactly what we're trying to get away from with shell managers. All the features are there though, it has support for multiple shells, provides crash protection and can auto-select a default shell at startup. The interface is fairly straight forward, although, as said, only partially functioning, so this concoction should hold no secrets for its users

Carapace consists of two programs, Carapace.exe, the shell manager and CPConfig.exe, the configuration app. In order to run Carapace, you first have to make sure it can find its skins. To do so open carapace.set in a text editor and change the line Theme_loc= to the directory of the theme you want to use. After that, run CPConfig and Carapace will install itself as the default shell. Now you can add shells to it, a process which is rather self guiding.

Carapace's configuration screen, hardcoded colours anyone?

After a reboot (or log out/in) Carapace will load and will wait for about five seconds (depending on how long you've set this period) to allow you to pick a predefined shell, configure it or pick a file to use as shell. If you do not pick a shell within these five seconds, it will automatically load the shell you've set as default and exit. If you've configured it to crash protect the shell it loaded it will not exit, but instead run hidden, monitoring your shell and will pop up again if your shell crashes.

The interesting bit is ofcourse its skinnability. Carapace is partially skinnable. You can skin the shell selection window you see at startup. The skinning format should be familiar to experienced skinners, it's a combination of a textfile and several bitmaps. As usual Magic Pink (255,0,255) is used a the transparent colour. An interesting bit is that Carapace can use a Flash movie as a splash screen.

 

LiteSpawn 1.80

As you may have guessed from the name, LiteSpawn was originally intended to be used with the LiteStep shell. Due to this, it has support for some special LiteStep tricks, like enabling the user to use a different theme per profile or switch "on the fly".

the only GUI you'll ever see in LiteSpawn

It's a bit of an old timer, this last version dates back to May '99, two-and-a-half years ago. So it may come as no surprise that you won't find anything about Windows 2000, ME or XP in the documentation. I haven't checked, but it should run on those systems anyway (after all, ME is the latest in the 9x series, while 2000 and XP continue the NT line).

Nonetheless, it's a full-featured beast, boasting support for multiple shells, automatic selection of a shell after a given period of time, shell selection based on user profiles and the life saver called crash protection or in other words, allowing you to select a shell again after one has crashed (which happens to people that mess with their system loads of times). This prevents floating around with no way to run programs ('cause that's what shells do) after your shell has kicked the bucket, which really isn't much fun.

Configuration is done through a textfile called LiteSpawn.cfg, which resides in the LiteSpawn directory. Even though all options are thoroughly described in the documentation that comes with the program, we live in a time where configuring "by hand" is too big a task for the average skinner, so LiteSpawn is not for the wary.

 

ShellON 2.30

My first impression with ShellON was, "awmygawd, options everywhere". This beasty looks rather complex to the uninitiated. It literally has options everywhere. But heralded as the successor to the throne of LiteSpawn, that was to be expected.

One of ShellON's configuration screens

ShellON does a lot. Aside from dedicated shell managing functions like crash protection and multiple user profiles, it also sports features as wallpaper switching and scripting. This would be the perfect place for a corny "sadly it doesn't do the dishes" joke, but I'm not that sad. The wallpaper functions can fulfill your every wallpaper dream, keep a list of walls, monitor folders for auto-adding, change it every two minutes or at start up and more. Scripting is an interesting function. When using ShellON as your shell manager, you can let it run scripts before it loads your shell, meaning you could let it run programs and copy files before loading your shell. Okay, so I haven't figured out any use for it yet.

Like Carapace, ShellON consists of the shell loader, ShellON.exe, and a separate configuration program, config.exe. First thing to do when installing it is run this configuration program. It will then ask you to create a profile. If you name the profile the same as your login name, ShellON can autoload the shell you've picked as default whenever you log in without asking (if you've set it to do so ofcourse). Handy when multiple users share the same machine and use different shells. But unlike Carapace, you have to explicitely tell ShellON to install itself as shell manager (it's got a button to do so). Although, after running it, I noticed it did had changed the default shell without asking... Hmm, curious.

ShellON's shell selection screen

After you've added some shells to it (all done through the GUI), reboot. Upon reboot you'll see ShellON's splash screen. Here you can hit [space] to load another profile. After a couple of seconds, the shell selection screen will popup and you can pick a shell to launch. You can also choose to browse for a file and load that as shell or load nothing. Whatever you pick, ShellON will then miminise to the tray, from which it can be accessed. Ofcourse, if you choose to load nothing, you'll be left shell-less.

In case you're wondering, this is just the default scenario. You can customise ShellON to behave just as you please. If options is your game, ShellON's the manager for you. Too bad it's not skinnable.

 

Snafkin 4.73.1f.eng

Snafkin's a bit of a mystery, it's a Japanese shell manager being developed since '99 by Ken Akashi and recently translated into English by allelimo. It's completely configured through the GUI, which is very clear and to-the-point.

Snafkin's shell selection window

Upon running Snafkin, you'll first be greeted by a small Japanese splash screen, soon followed by Snafkin's shell selection screen. It will always show this screen, so even if you manage to mess things up with the configuration, you can always restore things through here. Snafkin will show the default shell and a list of available shells beneath that. First thing to do when running it for the first time is adding all your shells and setting Snafkin as the default shell. This can be done by adding it to the shell list, selecting it and then pressing the "Change Shell" button or by going to the configuration screen and and flicking on "Set Snafkin as Main Shell".

From this configuration screen you can also set a default shell to load (or in other words, the shell Snafkin will load) and a timeout value. After loading the shell, Snafkin will minimise to the tray for easy shell switching. It doesn't seem to offer crash protection though, so when your shell goes down, Snafkin's tray icon will become unreachable. Meaning only a reboot can save you.

Aside from these basic functions, Snafkin also supports plugins. Currently, there's three of them available, a Run plugin, a wallpaper changer and a Recycle Bin emptier. All in all this is a simple and easy to use shell manager. It doesn't offer any advanced functions, like the others, but if you're new to shells, I'd suggest you'd check this one out.

A comparison of features

"That's all and well", you think, "but what's the gear for me?" No worries, your guide to the oceans has got things under control. The table below gives an overview of some of the common features found in shell managers. And if those terms mean nothing to you, there's an explanation of what they mean too.

   Carapace   LiteSpawn   ShellON   Snafkin 
filesize 348k 47k 646k 128k
GUI configuration partial no yes yes
crash protection yes yes yes no
user profiles no yes yes no
shell select yes yes yes yes
timeout select yes yes yes yes
load file yes yes yes partial
skinnable yes no no no
GUI configuration

In order to use it, a shell manager has to be configured first. As always, there are two ways to do this, either by altering a textfile (the manual way) or by means of a GUI, a graphical user interface, or in other words, point and click style.

One of the reasons people use shell managers is to get away from manual configuration. You have to know what you are doing when configuring manually, which means you have to read the documentation. Say what? I ain't going to read no documentation!! A GUI on the other hand list all the option and allows the user to flick them on and off at will without the risk of messing up (okay, the risk is there, but it's a lot smaller than via manual configuration).

LiteSpawn is intended for the hardcore LiteStep user, one who is comfortable editing the step.rc (LiteStep's main configuration file) by hand and therefore comes with a manual config, which may be too difficult for new users. Carapace, ShellON and Snafkin each come with a GUI, making things much easier. Or is it? Carapace's GUI is only partially finished, so parts of it aren't functioning yet. For instance, skin selection must be done by altering Carapace's configuration file. ShellON is completely controlled by its GUI, but it is rather complex one with options everywhere. No, the best GUI for the total newbie is Snafkin's. Simple, to the point, the way it should be.

 

crash protection

Shells have this nasty habit of crashing every once in a while and since your shell is just about the only way you can run programs, that's serious stuff. Without crash protection, the only way out is a reboot (or log in and out). A shell manager that has crash protection will be running invisibly, watching your shell. If the shell crashes, the shell manager will pop up and lets you reload this shell, load another shell, shutdown, etcetera.

Aside from Snafkin, all shell managers support crash protection. LiteSpawn does it on every shell by default, unless you explicitely tell it not to. Carapace and ShellON do it the other way around, they offers no protection unless you tell it to do so on a per shell basis (so you have to set it for every shell you want to use). Curiously, I've found no mention whether or not Snafkin supports crash protection (no, I did not try), so I guess it doesn't.

 

user profiles

LiteSpawn and Snafkin have support for user profiles. This means that they will load a shell depending on who logs in. With LiteSpawn all users share the same list of shells, but have a different default one. It can also be set to load their personal shell without showing the list. With ShellON each user has a different set of shells to choose from and like LiteSpawn a user can bypass this list at will. Carapace and Snafkin do not support user profiles. I personally do not use these functions, because I never log in.

 

shell select, timeout select and load file

Core reason for using a shell managing is being able to choose which shell to run without much hassle. For that reason all shell managers will show you a list of the shells you've configured once you've booted or logged in.

Remember that the shells in the list don't show up automagically, you have to configure them first. This is not a difficult task, Carapace and ShellON both come with a separate configuration utitility with which you can pick the shells and add them to the list. In Snafkin, this is done from within the shell manager itself and LiteSpawn has to be configured manually (with the risk of mistyping the paths to the shells). So the first thing to do once you've installed your shell manager is to set up your shells.

Understandably, you might not want to have to select which shell to load every bloody time you start your machine. In order to take care of that, all shell managers allow you to set a period of time after which the shell you've set as default will be loaded.

Aside from selecting a shell from the list, LiteSpawn, Carapace and ShellON will let you pick a file to load as your shell. Quite a handy feature if you've forgotten or were too lazy to configure your shell manager when first running it, or if you want to try out a new shell without having to configure it first. Snafkin doesn't need this, because it will show the configuration screen by default.

 

What shell manager to use depends on how computer savvy you are and how often you switch shells. For newbies, Snafkin, with it's easy interface and configuration, would be the manager of choice. Power users will prefer LiteSpawn for the shear number of options it supports or ShellON if they want even more options and luxury things like scripts and auto-wallpaper changing. And I prefer Carapace for the simple reason that it is skinnable. In the end, as always, it's all a matter of what you prefer.

Futher linkage

Now that we've discussed all that, time to play. I must say that most of this story is pure deduction. I'm a lazy bastard, so I've ran the managers on top of Explorer, instead of actually running them on their own (except for Carapace ofcourse). So the only way for you to find out if my impressions were accurate, is to try for yourself. Here's where to find them:

  • LiteSpawn (direct download at ShellFront)

  • Carapace 
    Teknidermy NewsSTAND
    Sender's Name: pixol 
    Sender's E-Mail: lcgreen@gmx.co.uk 
    Message: thank you for mentioning carapace in the article, as that was a nice surprise. Unfortunately i think ls2k might be down now, so i have lost my site. Meaning no one will be able to reach it until i find another host, or host it on ldi. I must mention however i am releasing carapace in the next month which is a total recode and will be released officially under lowdimension. Once again thanks for all your hard work, and as always it was an excellent read :)

    Message received, 3rd February 2002, regarding Issue 8 
    (Craeonic's article "Ghost in the Shell)

  • ShellON

  • Snafkin (Japanese)

  • Snafkin (English)

And some places to find some shells to play with, mostly news sites linking to most of the shells out there:

Before I forget, a final word: if you just want to see the shell in action, you can always run it on top of the Explorer shell. In other words, if you merely want to see what it's all about, you don't need to install a shell as a shell and you won't need a shell manager either. There is a downside to this though. Because you run it on top of Explorer, you'll loose things like hotkeys, the tray and possibly more, because Explorer already takes care of this. So if you want to see a shell in full effect (with full functionality), it really has to be installed. And that's when a shell manager is very convenient to have around.


And there you have it. Time to encounter the cephalopods from up close. No need for fear no more. Right? The only thing left to do is slit on the scuba gear suited for you and hop into the wide beyond that awaits. Cast away the chains of Redmond, if only in appearance. Enter the Shell...

(( craeonics | 06012002 ))

TABLE OF CONTENTS