ADDENDUM:
2:49:53 PM PDT, 7/14/2000
FOR THOSE OF YOU THAT MAY BE NEW TO SHELL REPLACEMENT - The step.rc file MUST be in the root DarkStep directory, or whatever directory your are running the DarkStep.exe from.
Thanx to Rich (on the DS Voice Chat) and PokPok (via e-mail and DS Voice Chat) for bringing this to my attention - I guess we sometimes get so used to doing some things that we just don't think about it when trying to help others ...
As taken directly from the DarkStep.txt file:
DarkStep ver 0.971
~~~~~~~~~~~~~~~~~
Part 1 - Introduction
What is DarkStep? It's a program which replaces Explorer as the shell under Win9x, NT
and Windows 2000. If you are wondering at this point what a shell is, the shell under
Explorer is the interface that you see on Windows - the desktop with the shortcuts, the
task bar and the Start button. The default interface provided by bare-bones DarkStep is
simply a bare desktop with a Console. Now that isn't much, is it? Well, you can add as
much extra functionality as you prefer by loading modules.
So what are modules? They are specially written add-ons which provide extra functionality
such as a taskbar, a system tray, a clock and many other features. DarkStep has few native
modules currently though I do hope that this will change in the future. But DarkStep is
also compatible with the module format used by another shell replacement. Therefore, you
have a wider variety of modules to draw on than would normally have been the case.
The aim of DarkStep is to be an easy to use alternative shell for a user with any level of
computer expertise - whether they be an expert or a novice. This is achieved by transparently
doing all the work necessary in switching shells. The configuration of the core DarkStep
components is a snap as well due to the fact it is all done via a graphical user interface
where you simply click a button or check a box with a minimum of typing. However, the modules
themselves will probably require a fair bit of computer expertise because most of them have
been designed in such a manner that their configuration requires the editing of text files
and a fair amount of documentation reading. Hopefully, this situation will improve in the
future as more and more module authors code easier to use modules.
DarkStep is not an open source project though an SDK will be available for module
developers with any extra help necessary provided. While it is not an open source project,
DarkStep will never be a commercial application either - it is rather what you might term
“Donationware” . It is completely and utterly free without any restrictions for you
to use and distribute, but if you like it and would like to send me books, clothes,
money, hardware etc as thanks, I will not say no :-) Some might question this attitude
in this day and age of open source projects but I have decided to keep this project
closed source mostly because of the fact that I've seen the code that I and others
worked on for LiteStep for so long being used without a word of thanks or any mention
by others in closed source projects. That sort of attitude has soured me on open
sourcing and as I worked very hard to shape DarkStep into what it is, I don't want the
same thing to happen with DarkStep ...
Part 2 - Installation
Copy all the files in the distribution zip file into a directory of your choice such as
C:\DarkStep. You can use a shell switcher such as LiteSpawn to allow you to switch between
DarkStep and Explorer as your shell of choice. Or, you can allow DarkStep to set itself up
as the shell when you first run it. This option will be available to you only the very first
time that you run DarkStep.
Once you extract all the files from the distribution ZIP file and either run DarkStep.Exe
or restart your machine, you'll be prompted by a dialog which asks you whether to set
DarkStep as your shell. This is a one-time message which will not be displayed on your
machine ever again unless you reinstall Windows or switch to a different machine. If you
don't use a shell switcher like LiteSpawn, it is OK to say “Yes” to the dialog. It will
then detect the version of Windows that you are running and modify either your System.ini
file or the registry to set DarkStep as the shell.
If you did say “Yes” to setting DarkStep as the shell, DarkStep will prompt you as to
whether you'd like to restart your machine after the changes. If you say “Yes” you should
be presented with the normal Windows shutdown dialog which would allow you to either shutdown
the computer or restart it.
Once computer restarts and DarkStep comes up, you'll notice that the only thing on your desktop
is the DarkStep Console. If you are a new user, this is normal. If you did have an existing
install of DarkStep, you'll notice that none of your existing modules are loaded and if you had
a custom skin for the Console that that skin is not loaded. All of this is due to the new way
that core settings are stored - the settings aren't there yet.
So how do you put the settings in? Simply right-click on the border of the Console and you'll
see a simple popup menu which has five options: “Configuration”, “Loaded Modules”, “Import
Settings”, “Export Settings” and “About”. If you had DarkStep installed on your machine
previously, don't be fooled into thinking that the “Import Settings” option will import your
existing Step.Rc - unfortunately, it won't! That option and it's sister option “Export Settings”
is there so that you can import your registry settings from one machine to tranfer to another
machine after you've used the new configuration method.
The option that you should concern yourselves at this point is “Configuration” - if you select
it, you'll be presented with a property sheet which will allow you to set your DarkStep core
settings, the modules that you load and the Console settings. As everything is graphical, I
hope it is self explanatory. The only thing that would need explanation might be the background
and text colors for the Console. Simply click on the color itself to be presented with a color
selection dialog. Another thing to note is that the Modules tab under “Configuration” has both
an “Add” button and an “Insert” button. This is due to the fact that the order in which you load
modules is sometimes important and they will be loaded in exactly the order they appear in the
“Modules” tab's list. So while the “Add” button always puts a module at the bottom of the list,
you can highlight an existing module in the list and click on “Insert” to have the new module
appear above the highlighted one in the list.
If you are an existing DarkStep user, once you've configured DarkStep to your liking, you'll
try to execute the !recycle !bang command (!bang commands are explained in section 5). But
you'll be surprised to find that it has no effect. This is because system-wide recycling has
been disabled from this version on (For those of you who aren't familiar with the term,
recycling simply is a way of refreshing a module if it's settings have changed). You can
either logout and login again (type !logoff in the Console) or shutdown your machine (type
!shutdown in the Console) and restart it at this point.
Or, if you would like to continue working, you can dynamically load the modules that would
normally be loaded. How do you do that? Simple enough - right-click on the Console and select
“Loaded Modules” from the context menu. You'll have a blank list as no modules are loaded at
the moment. Click on the “Load” button and you can select the modules to load and you'll see
that they are loaded instantly. If you are familiar with changing module configurations by
editing the Step.Rc file, do so and if you want to recycle simply come back to the “Loaded
Modules” dialog and select the module (or modules - you can select several at once) and simply
click on “Recycle” for the changes to take effect.
Part 3 - DarkStep specific syntax
All non-registry based configuration information for DarkStep modules is contained in a file
named Step.Rc which can usually be found in the DarkStep directory. The Step.Rc file is
divided into sections so that each module has its own section. However, all LiteStep modules
go under one section named [LiteStep] as the LiteStep Step.Rc format is slightly different
from that of DarkStep.
Within the DarkStep step.rc file all bool values MUST be followed by either
on/1 or off/0. If nothing is specified after a boolean command for a native
DarkStep module, the setting always defaults to off. The bool values for all
LiteStep modules should also be changed in the above manner but always use on
in the case of LiteStep modules. If a setting is not specified for a LiteStep
module, the setting could be on or off depending on the internal default for that
module.
ex: NoTaskbar
The above example should be changed to “NoTaskbar on” in the case of DarkStep,
otherwise a taskbar WOULD be displayed as the internal default is OFF for
this particular setting.
ex: NoSystray 0 (There WILL be a systray)
Part 4 - Step.Rc Explained
This section will help you to know what goes where within DarkStep's step.rc.
The brackets [] after each boolean value ARE NOT used, they are only there
to show you that either on or off is available to you in this area. Also, each
DarkStep native module must have its own section. For example, for dstasks.dll,
you will need to add a [DSTasks] section to your step.rc.
a) [Environment] Section
In the environment section, you define all your E-Variables.
E-Variables allow you to define a single word to represent
frequently used values such as paths. E-Variables should
be in the form of [Variable] [value]. No dollar sign should
appear within this section. You can invoke the variable
later in the step.rc by doing $[variable]$. You do not need
to redefine system environment variables such as PATH, WINDIR
or COMSPEC in the [Environment] section but can still use them
as if you'd defined them there.
Set Variable ex: DSDir c:\DarkStep
Usage ex: *Popup “Module Installer” $DSDir$\modinst.exe
*Popup “Dos” $COMSPEC$
*Popup “NotePad” $WinDir$\NotePad.Exe
b) [LiteStep] Section
This is where you will use all of your LiteStep module step.rc
commands. All *commands like *Popup and all module calls like
LSCommandOnTop should be placed in here.
Part 5 - Bang commands
Bang commands are commands that are called to do a specific function. An
example would be !RUN, this bang command would bring up the run dialog box.
- !SCRIPT
Runs a scriptlet which is given as a parameter to the command. You have
to specify the full path to the scriptlet file.
ex: !SCRIPT C:\DarkStep\test.js
- !SHUTDOWN
Brings up the windows shutdown dialog box.
- !LOGOFF
Logs you off the current user as if you had selected Log Off Current
User within windows.
- !QUIT
Shuts down darkstep and all running modules. WARNING - Unless you
are running a program to catch crashes such as LiteSpawn, you will
be left without a shell!
- !RUN
Brings up the windows run dialog box.
- !CASCADEWINDOWS
Cascades all running windows on the current virtual window.
- !MINIMIZEWINDOWS
Mimimizes all running windows on the current virtual window.
- !RESTOREWINDOWS
Restores all minimized windows on the current virtual window back
to the way they were before being minimized.
- !UNLOADMODULE
Unloads a current running module.
ex: !UNLOADMODULE C:\DarkStep\systray.dll
- !RELOADMODULE
Reloads a module.
ex: !RELOADMODULE C:\DarkStep\systray.dll
- !ABOUT
Brings up a dialog box displaying the current version of DarkStep and
all loaded modules.
- !SPLASH
Displays the DarkStep splash screen.
- !BANGLIST
Displays a listing of all currently available bang commands from all loaded
modules and DarkStep core files. Will not work if !ABOUT dialog box is open.
- !CONFIG
Displays the core configuration dialog which can normally be accessed by right-
clicking the border of the Console.
- !MODULES
Displays the loaded module management dialog which can normally be accessed by
right-clicking the border of the Console.
- !FIND
Displays the Windows find files dialog. This command uses an undocumented Windows
API call and might not work on all versions of Windows. Further, the dialog is
missing the first tab where you can specify the wild card file spec and directories
to search in and searches all drives by default (at least on Win98)
- !FINDCOMP
Displays the Windows find computer dialog. This command uses an undocumented Windows
API call and might not work on all versions of Windows. (Only tested on Win98SE)
Part 6 - Hotkeys
The hotkeys listed below are hard coded core hotkeys only.
- ctrl+alt+r
Invoking this set of keys brings up the DarkStep Console
window. Within this window you can type in !Bang commands
and programs.
ex: !Splash
ex: c:\windows\notepad.exe
- F8
By holding down the F8 key on startup or recycle, you will be asked whether
to load each module specified in the [StartUp] section individually.
Part 7 - Command Line Options
The command line options below are hard coded core options only. You can invoke them
by typing darkstep.exe -[command here] in a dos prompt, command line program, and/or
binding it to another module such as shortcuts.
- -nostartup
Adding this to a command line startup of DarkStep will disable the loading
of startup group programs.
ex: c:\darkstep\darkstep - nostartup
- -ask
Ask whether to load each module specified in the [StartUp] section
individually.
ex: c:\darkstep\darkstep -ask
Part 8 - Bug reports/suggestions
There are several ways to get support or to offer suggestions:
Part 9 - Future Plans
I plan to add support for other graphic formats besides BMP. I really hadn't
planned beyond that as the 1.0 version of DarkStep was supposed to coincide with
the addition of multi-image format support. Then will probably come some form of a
GUI configurator and theme switcher if somebody doesn't beat me to it :-) After
that, I guess it will all be left to the natural evolution of software .
Part 10 - Credits/Thanks
- MHolmesIV (Bryan Killian) for his IPC code for LiteStep that he allowed me to use in DarkStep
- IMatix for their SFL library parts of which I modified to build my Step.Rc reading/writing
routines
- PaintLib
- CodeGuru
- BaT (Lapo) for the excellent logo
- tin_omen, MorpheusX and jorje for all the help they provided in hammering out a theme compatible
Step.Rc format
- tin_omen, demigod, Bob Wells, BaT, dethnite and all the other beta testers who've been invaluable
in finding bugs before I released DarkStep to the public
- Ender and jugg who sat with me on IRC and did a great job of beta testing the final private
release before the first public beta
- demigod who took my poor attempt at documentation and turned it into this great looking and pretty
thorough document that you are reading
- Bob Wells who's been invaluable as the man behind the DarkStep.Com domain and who's done an
awesome web site for DarkStep at http://www.mswebdesign.com/DarkStep/
- Microsoft's MSDNTM and MINDTM sites which have proved to be an invaluable source of useful code
snippets and articles
- Don Box and his "Essential COM" for shedding light on the mysteries of COM
- KuhnDog for allowing us to use his theme as the DarkStep default
Fahim (FahimF@email.com)
DarkStep documentation rewritten and formatted by demigod for Fahim Farook.
contact: demigod@darkstep.com
last updated: 05/09/00 12:18PM
********
DarkStep© is protected by International Copyright Laws and is the sole property of Fahim Farook.
WindowsTM is a trademark of Microsoft Corporation.
All other Trademarks (TM), Registered Trademarks (®) and Copyrights (©) are the property of their respective owner(s).
|