ShellFront.org - where shells come alive

Installing Modules

<< Back to the Tutorials Index

Once you have Litestep installed, you'll probably want to install a few extra modules.

What is a Module?


First off, let me explain what a module is. In order to do that, you have to understand what Litestep is first:

Litestep is an alternative shell for Windows. Explorer is the default one which provides the familiar taskbar, start menu, system tray, shortcuts, right-clicking on the desktop, etc. A Windows shell replaces all of that functionality with its own. So, Litestep has a way to show you your loaded tasks/programs, a way to access your start menu, a way to launch your favorite programs, etc. On its own, Litestep is simply an executable program that provides access to Windows functions for modules, also known as plugins. (I will refer to them as "modules" from here on). All of the functionality you see when you first install Litestep is provided by what we call the "core modules" (listed at the top of the Modules List). These are modules that are provided by the Litestep Development Team in order to cover the basic functionality of Windows. Whenever a new build of Litestep is released that usually means that these core modules have been updated, fixed, and so on.

The majority of modules are one file with a .dll extension. Systray.dll would be an example of a module. Usually, this is all you need to get the module working (besides the step.rc configurations). Some older LS modules, usually just wharf modules, have an .app extension. Each of them work the same.

There are really just two general types of modules. There are wharf modules (also known as "wharfmods"), which are modules that are created to be able to load in the wharf as a "wharf tile" (or "button"). A lot of older modules are wharf modules. The other main type of modules is called a "LoadModule". These modules are loaded differently than Wharf Modules and don't need the wharf to be displayed. Some LoadModules are visible on your screen when loaded and others are invisible when loaded and just provided extra functionality to Litestep (usually called !bang modules if they just provide extra !bang commands (explained below)).

Now, since the core modules only provide the basic functionality that you need to run Windows such as a taskbar, a system tray, an application launcher, a popup menu, a clock, and shortcuts, most people often want to expand the functionality of their setup. This usually involves installing some new modules. There are hundreds of modules available; all coded and released by third party coders, or, coders who are not part of the LS Dev Team. The most popular and common 3rd party modules are listed and described on the "Most Popular Modules" page. Here are some other places to get modules:

  • If you don't know which module you want, but have an idea of what functionality you need, then you should visit Modulo. Modulo has a very complete listing of modules which are divided into logical catagories. You will find descriptions and example configuration information for each module there.
  • If you do know exactly which module you want then you should go to the Modules List page. This page includes every known module and each build released for that module. Although this page is very complete, it does not provide individual module information. It just provides a place for you to download exactly what you want.

Hopefully, by the time you read this tutorial, you have played around with Litestep a bit and gotten a general understanding of how it works. In order to install a module, you must understand atleast a couple things: Litestep is general configured using the Step.rc file. A few older modules use the Modules.ini file for configuration purposes. This means that in order to get most modules working, you have to insert several commands into your step.rc that are specific to that module. Most modules are packaged up in .zip files (use a program like WinZip to access .zip files) and include well written documentation (usually named readme.txt or something similar). Usually, in this documentation, you'll find information on exactly what commands you'll need to put in the Step.rc file and how they should be used.

Generally, there are four types of "commands" that a module could use.

  1. There's a command type that follows this form:
    SystrayAlwaysOnTop
    Such a command is usually true if it's included, and false if it's not included in the Step.rc. Sometimes you can simply put "true" or "false" after the command.
  2. The next type of command is very similar to the first, except it's usually used to define paths or other similar definitions such as size or position of a module. It usually looks like a command in this form:
    SystrayIconSize 16
    This command would tell systray.dll (a third party system tray module) that the systray icons should be 16*16 pixels in size. This command would mean nothing without such a parameter after it.
  3. The third type of command a module uses looks a lot like this:
    *Shortcut "Recycle" -44 -20 sc-recycle.bmp .none .none #1MS !recycle
    This is a common line that specifies a shortcut. Notice the asterisk (*) in front of the line. These lines are used with popup menus, shortcuts, and several other modules that display things on your desktop. Each "word" that's after the initial *Command specifies certain attributes for that particular setting (a shortcut in this case). Make sure not to mix the order of these up... the module relies on what is placed first, second, third, and so on.
  4. The fourth and last type of command that a module provides for you when loaded is called a !bang command. These are commands that modules provide for you that change a behavior of the module, Litestep, or something else on your computer. The .24.6 builds of Litestep provide an About dialog window (accessed by using !about) with a "bang commands" section which lists all of the available !bang commands at that time. A very common !bang command is:
    !recycle
    This command is provided by Litestep for you to "refresh" your configuration once you change it. So, after you make a change to your step.rc or update a bitmap, or install a new module, you would run !recycle to have Litestep apply your new changes. You should have noticed by now that !bang commands are executed instantly. They perform actions immediately.

    In order to run !bang commands you'll have to install lsxcommand which allows you to run !bang commands by typing them into lsxcommand's command line or you'll have to set up your popup menu, wharf (the application launcher), or your shortcuts to run certain common !bang commands. For information on doing this, refer to the Litestep FAQ or your Litestep Manual (located in your Litestep folder in the /doc directory). You may also want to visit lscommands.litestep.com for a complete listing of modules and their commands.


Setting Up the Module


Now, to actually get the module set up, you should open up the module's .zip file using WinZip or your favorite .zip utility. Unzip the zip file's contents into its own folder. It's usually not a good idea to place the module's files in the main Litestep directory. That could make it confusing for you and you might end up overwriting some important files.

Remember that there are two main types of modules (mentioned above). Here is the most important thing (and also the first thing) you have to do in order to get a module set up:

  • Wharf Modules:
    Wharf modules are loaded within your wharf. To do this you must have a wharf module installed already. The default installation of Litestep includes a wharf module called wharf.dll. In order to load a module inside wharf.dll you would type a line similar to this:
    *wharf "Clock" @C:\litestep\modules\lstime2.dll
    This would create a wharf tile which would display a tooltip with "Clock" in it when your mouse hovers over it. It would contain the lstime2.dll Wharf Module in that tile. Note that the "@" symbol is located before the path to the module's .dll file. You should always use this syntax when loading a Wharf Module.
  • LoadModules:
    LoadModules are the most common type of Litestep module. They are always loaded as follows:
    LoadModule $ModuleDir$systray.dll
    The part of that line located within the two dollar signs ($) is called an e-variable and is usually defined towards the top of the Step.rc file. For more information on e-variables, please read HOW-TO Upgrade to the Latest LS Build.

    The LoadModule part of this line just specifies that you want to Load a LoadModule. The second part is the path to the module's .dll file. If there are any spaces in the path you will have to enclose that path name with quotation marks ("). LoadModule lines are often in the first part of your Step.rc file and should be located before any other Litestep configuration information. Note that the order you load LoadModules is often important. Modules are loaded from top-to-bottom, so it may be a good idea to place your more important modules that provide system functionality towards the top of the list. Other, less important modules, might have to load towards the bottom of the list.

Now, to get the module set up and configured correctly you're going to have to read through the documentation provided with the module. It will (atleast it should) inform you on whether it's a Wharf Module or LoadModule, what commands you need in your Step.rc, what those commands do, and what !bang commands this module provides. If the module's documentation doesn't provide this essential information or is otherwise insufficient then you may find better success by referring to the Step.rc examples on Modulo or the module command references on lscommands.litestep.com. You may also wish to join #ls_help on IRC (efnet) and ask there.

Final Notes


That's really about it. I can't tell you how to install and configure each and every module here (there are over a hundred individual third party modules right now) but I hope that this tutorial has given you some sort of idea of what a module is and a general idea for how to configure them. Most modules require that you create your own bitmap files or use bitmaps from other themes in order to actually see the module. This is a general rule for all of Litestep.

Have fun with your new modules!

where would I be without winamp? metapad - the best vanilla notepad replacement available! Slackware Linux - I love it!
(hosted by Liquid Web!)
This site (ShellFront, http://www.shellfront.org), its name, its contents, means of organization, layout Copyright © 2001-2003 Joel D. Parker unless otherwise mentioned on this site.
News posted on this site (ShellFront, http://www.shellfront.org) is Copyright © 2001-2003 of the respective author (listed at the end of each post). All comments made on this site are Copyright © 2001-2003 of the respective author (listed on the left of each comment).
The organization, file naming scheme, and layout (Collection) of the Archives (LS modules, utilities, shells, source code, documents, reviews, et al) on this site (ShellFront, http://www.shellfront.org) is Copyright © 2001-2003 Joel D. Parker. The invididual files and source are copyrighted by the respective owners and licensed separately from any expressed license by ShellFront regarding the Collection.
Usage of content found on ShellFront elsewhere is strictly prohibited except as allowed by the Copyright laws of the United States of America or as allowed by the copyright holder.
ShellFront's Privacy Policy
The "ShellFront" name was created by NeXTer