< Home > ¦ < Usage > ¦ < ScreenShotz > ¦ < Download > ¦ < Utilities >

< Themes > ¦ < Web Board > ¦ < Support List > ¦ < .970+ Configuration >

< Step.rc Explained > ¦ < DarkStep Chat > ¦ < Easy DS Shell > ¦ < News Archive >




Logo by Lapo Calamandrei «BaT»

DarkStep Support Options

***************

«« Mailing Lists »»

Support List

«« IRC Channels »»

#DarkStep on chat.planetz.com:7000

«« Web Board »»

DarkStep Web Board


******



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