LiteStep v. 0.24.6 documentation

written by the LiteStep Documentation Effort, August 2000
Changes.TXT

  .: introduction   .: configuration   .: installation   .: theme installation   .: theme creation   .: development   .: glossary   .: links  
  .: command   .: desktop   .: hotkey   .: litestep   .: lstime   .: popup   .: shortcut   .: systray   .: taskbar   .: vwm   .: wharf  

How do I configure LiteStep?
LiteStep and all LiteStep modules are configured through a text file known as the Step.RC, located by default in the same directory as litestep.exe. Each module that is loaded by LiteStep has its own settings to be placed in the Step.RC. These settings can go in any order in the Step.RC, however it is good practice to group together the commands for each module. Any line in the Step.RC that begins with a semi-colon, ";" is a "comment", and is ignored by LiteStep.

LiteStep reads the Step.RC on startup and when you use !Recycle or !Refresh. If you make a change to the Step.RC, the change will not take place until you !Recycle, !Refresh or restart 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?
A !Bang command is an internal command specifically designed to control LiteStep or one of its modules. All !Bang commands are prefixed with an exclamation point, "!". For example, the !Bang command "!Run" displays the Windows Run dialog box. !Bang commands can be executed by hotkeys, shortcuts, popups and so on. A full list of the !Bang commands available to LiteStep at any particular time can be obtained by issuing the !About command and selecting "!Bang Commands" from the drop-down list. An explanation of the function of each !Bang command can be found in the appropriate documentation.

For example, to put the !Recycle command in the popup menu:

       *Popup "Recycle LiteStep" !Recycle

Remember any !Bang Command that alters something in the Step.RC is only a temporary change and will be changed once you !Recycle, !Refresh or restart LiteStep

What is an Environment Variable?
Environment Variables allow you to define certain words to abbreviate commonly used paths. They are surrounded by dollar signs ($) and can be used in any LiteStep command, although most commonly in the Step.RC. Environment Variables are best used for replacing long paths or frequently used paths so that they can be quickly typed into the Step.RC when required. In addition, Environment Variables are a useful tool for making themes easily customisable. The user can quickly enter their own paths for the Environment Variables used in the theme, reducing the need to fix every single path in the Step.RC.

Note: When replacing path names with Environment Variables you should always end the path with a "\".

Defining the Environment Variable "ModuleDir":

       ModuleDir C:\LiteStep\modules\

Referencing this path in the Step.RC is done like this:

       LoadModule $ModuleDir$popup.dll

There are a large number of predefined Environment Variables configured into LiteStep. Please refer to the LiteStep Core documentation.

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