Darkstep

DarkStep

Areas:

* Introduction
* Installation
* Configuration
* Example Step.rc
* Downloads
* Themes
* Darkstep Message Board

– Introduction
What is DarkStep? It’s a program which replaces Explorer as the shell under Win9x, NT and W2K. DarkStep will sometimes be called a clone of another shell replacement, LiteStep, because I used to work on LiteStep before leaving the development team and starting work on DarkStep. To an extent that description would be apt because DarkStep was written with certain of the shortcomings of LiteStep in mind. DarkStep was written from the ground up using code from many sources such as public domain software libraries, code on Internet forums as well as some brilliant stuff done for message passing for LiteStep by one of the dev team members – Bryan Killian.
DarkStep was conceived as a themer’s shell because while LiteStep offered a lot of customizability, the user had to know quite a bit about the internal workings of LiteStep in order to change a theme or to get all the customizability of LiteStep working. DarkStep on the other hand, aims at providing the same sort of customizability as LiteStep while also providing ease of use so that a user will be able to switch themes on the fly without having to actually get their hands dirty so to speak by messing with configuration files and stuff 🙂
The above goal is achieved by way of an API which makes it easy for developers to read from and write to multiple configuration files so that they can separate theme specific info from config specifi info in such a way that switching themes will not affect the way a user has their shell set up. Incidentally, if you are familiar with LiteStep, you might be surprised to learn that DarkStep does not come bundled with any modules at all. DarkStep depends on third-party developers to supply all the extra functionality that the user will require and on booting up with no modules at all will provide a user with a bare desktop with basic functionality via a console that can be invoked by pressing CTRL+ALT+R. DarkStep will work with most LiteStep modules as well as native DarkStep modules though certain functionality may be missing from LiteStep modules that you may see in native DarkStep modules due to the way the two shells operate.
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 …

– 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 do all the work of allowing you to switch between DarkStep and Explorer or you can follow the following instructions depending on whether you use Win9x or NT – the procedure for W2K is the same as for NT.

Win9x:
1) Open system.ini in a text editor like notepad or type sysedit at the run dialog box.
2) In the [boot] section find the line shell=Explorer.exe
3) Either change the line to shell=C:DarkStepdarkstep.exe where c:DarkStep is the path where you have unziped DarkStep to, or you can put a semicolon (;) infront of shell=Explorer.exe, hit return, and on the new line type shell=C:DarkStepdarkstep.exe again where C:DarkStep is the path where you have unzipped DarkStep to.
4) Save the file and either reboot your system or if you have multiple profiles logoff and log back in.

NT/W2K:
1) To make DarkStep the system wide shell:
a) Open up regedit and goto:
HKLMSoftwareMicrosoftWindows NTCurrentVersionWinLogonShell
b) Change the value from Explorer to DarkStep.exe
2) To make DarkStep the shell for the current user:
a) Open up regedit and create the key:
HKCUSoftwareMicrosoftWindows NTCurrentVersionWinlogonShell
b) Give this new key the value DarkStep.exe

In Explorer:
1) Add the line ExplorerNoWarn=on to the step.rc file.
2) Run DarkStep.exe

– DarkStep specific syntax

Within DarkStep all bools (0 or 1) must be represented by =on or =off. This is required all throughout the Step.rc file. If nothing is specified after a boolean command the setting is completely ignored and the default value will be assumed.

– Step.Rc Explained
You can view an actual example here
1) [StartUp] Section

In the [StartUp] section, your LoadModule and core variables go. Variables that are represented by bools (0 or 1) need to have either =on or =off to function. Example: ExplorerNoWarn=on

a) Variables

o ExplorerNoWarn=[on/off]
This variable allows for the warning of running DarkStep within the Explorer shell. When the on flag is set, DarkStep will not warn you. When the off flag is set, a popup box will be brought up when you execute DarkStep within the Explorer shell.

o HideApplication=[on/off]
This toggles whether or not you can see DarkStep running in a task manager. When the flag is set on, it will not show up. When the flag is set off, it will show up.

o NoSplashScreen=[on/off]
This toggles whether or not the splashscreen is displayed on bootup of DarkStep. When the flag is set on, there will be no splashscreen. When the flag is set off, a splash screen will show up when you first load DarkStep

b) LoadModule

All load module lines go within this section, even LiteStep ones.
ex: LoadModule C:DarkStepsystray.dll
ex: LoadModule C:LiteStepvwm.dll

2) [Enviroment] Section

In the enviroment section, you define all your E-Variables. E-Variables allow you to define a word to equal a path. E-Variables should be in the form of [Variable]=[path]. No dollar sign should appear within this section. You can invoke the variable later in the step.rc by doing $[variable]$.
Set Variable EX: WinDir=c:windows
Usage Ex: *Popup “Dos” $WinDir$command.com

b) Command Line Options
– The command line options below are hard coded core options only. You can invoke them buy typing darkstep.exe -[command here] in a dos prompt, command line program, and/or binding it to another module such as shortcuts.

o -nostartup
Adding this to a command line startup of DarkStep will disable the loading of startup group programs.
ex: c:darkstepdarkstep – nostartup

3) [Config] Section

Here you define the path to your image directory, even the ones for LiteStep modules. The line should look something like: PixmapPath C:DarkStepImages.

4) [Themes] Section

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

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

o !SHUTDOWN
Brings up the windows shutdown dialog box.

o !RECYCLE
Refreshes DarkStep, modules, and the step.rc. You would use this when you make step.rc changes and wish the changes to take effect.

o !LOGOFF
Logs you off the current user as if you had selected Log Off Current User within windows.

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

o !RUN
Brings up the windows run dialog box.

o !CASCADEWINDOWS
Cascades all running windows on the current virtual window.

o !MINIMIZEWINDOWS
Mimimizes all running windows on the current virtual window.

o !RESTOREWINDOWS
Restores all miminized windows on the current virtual window back to the way they were before being minimized.

o !UNLOADMODULE
Unloads a current running module. Example !UNLOADMODULE systray.dll

o !RELOADMODULE
Reloads a module. Example !RELOADMODULE systray.dll

o !ABOUT
Brings up a dialog box displaying the current version of DarkStep and all loaded modules.

o !SPLASH
Displays the DarkStep splash screen. Only works once.

– Hotkeys

The hotkeys listed below are hard coded core hotkeys only.

o 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:windowsnotepad.exe

– Bug reports/suggestions

You can contact me on IRC as Fahim or FahimF but I don’t hangout on #litestep that much. You can also e-mail me at FahimF@email.com

– 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

– 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
– TinOmen, MorpheusX and jorje for all the help they provided in hammering out a theme compatible Step.Rc format
– TinOmen, 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 www.darkstep.com

Fahim

Download Section
You can always get the most recent version of Darkstep here.

* Original Darkstep Release
* Most Current Build
* Desktop.dll: This is basically a hacked version of the litestep loadmodule desktop.dll to give you taskbar functionality. It DOES NOT include systray support. You can add that by dl’ing the systray module below.
* Darkstep Startup/shutdown screens for Windows
* Darkstep Screensaver Don’t have one of these for Icesphere do ya?
* Darkstep Background – Like the graphics at darkstep.com
* LSXCommand Loadmodule – LS module, updated to be Darkstep compatible.

Darkstep Themes

* Dark Dimension – A port of Low Dimension from Litestep

Some Modules & Utils you might find useful

* Maduin’s Systray
* ShellSelect – Useful at login if you use more than one shell.
* LSQuickbox shows your quicklaunch bar on the desktop.
* LSQuickbox Win2k version only
* Popup with multiple popup support. I have not tried more than one. Let me know if it works 🙂

If you are looking for a particular loadmodule for darkstep, none have been released yet. I know what works on most of the tested systems, but it might not on yours. I have the largest Litestep module collection on the net (that I have run across), YES, even more than Modulo. Browse my LS Download directory if you know what you are looking for. I have not yet set up a database with descriptions, but will eventually.