LiteStep v. 0.24.6 documentation

written by the LiteStep Documentation Effort, August 2000
How do I configure LiteStep?
What is a Module?
A module is a mini-program or plugin that adds features to LiteStep. Almost all LiteStep modules have a .dll extension, although some old Wharf modules have an .app extension. Modules bring new Step.RC commands and new !Bang commands to LiteStep, so it is essential to read the appropriate documentation before using and configuring a new module.

"Core" modules are those that come with the basic LiteStep distribution. There are ten of these core modules: desktop, popup, vwm, systray, taskbar, wharf, shortcut, command, lstime and hotkey. However, the true power and flexibility of LiteStep lies in the large number of Third-Party Modules, usually written by programmers outside of the Development Team. There are currently several hundred Third-Party Modules available, with a wide range of functions. These modules are updated reasonably regularly until they are considered stable by the author and the community. It is important to stay informed of the latest and/or most stable version of any modules you are using. Refer to the Links section for webpages that have Third-Party Modules for download.

Both Core and Third-Party modules are loaded by LiteStep with the LoadModule command. The core desktop2.dll should be loaded before all other modules.

       LoadModule C:\LiteStep\desktop2.dll
       LoadModule $LiteStepDir$hotkey.dll

Note that full paths or Environment Variables can be used in this command. Some modules can also be loaded by the Wharf. Refer to the documentation for the Wharf for instructions on how to do this.

What is a !Bang Command?
What is an Environment Variable?
Can I use conditional Statements?
Conditional statements allow for themes to be more platform independent and are similar to the "conditional compilation" feature in programming languages such as C and C++. Conditionals allow different actions to be carried out, depending on the result of a statement.

If [expression1]
[block1]
ElseIf [expression2]
[block2]
...
ElseIf [expressionN]
[blockN]
...
Else
[else-block]
EndIf

The example above illustrates the basic layout of a conditional statement. If [expression1] is true, then [block1] will be processed. If [expression1] is false, [expression2] will be evaluated. Expressions will continue to be evaluated until a true statement is reached, at which point processing of the conditional statement will stop. If no expressions are found to be true, the final [else-block] will be carried out.

The only required parts of the conditional statement are "If" and "EndIf". There can be any number of "ElseIf" expressions but only one (optional) "Else" command. If an "Else" command is present, it must be placed at the end of the entire conditional statement, immediately before "EndIf".

Expressions can contain boolean operators, like "and", "or", and "not", and relational operators, such as "<", "<=", "<>", "=", ">=", and ">".

The equals sign, "=", is used for testing equality and the greater than/less than combination, "<>", is used for testing inequality; C-style combinations "==" and "!=" are not supported. Currently only comparison of integers is supported, but strings will be supported in the future.

Examples:

; Use a predefined Environment Variable to select different commands based on OS
If WinNT
*Popup "DOS Prompt" cmd.exe
Else
*Popup "DOS Prompt" command.com
EndIf

; Comparison of integer values and use of boolean operators
If ResolutionX < 800 or ResolutionY < 600
Wallpaper wpsmall.bmp
ElseIf ResolutionX = 800 and ResolutionY = 600
Wallpaper wpjustright.bmp
Else
Wallpaper wplarge.bmp
EndIf