LiteStep

From Wikipedia, the free encyclopedia

LiteStep
screenshot of a LiteStep enabled Windows computer, running the NonStep II theme
Screenshot of a LiteStep
Latest release 0.24.7 / December 17, 2005
Preview release 0.24.8-pre
Written in C/C++
OS Microsoft Windows
Genre Shell
License GNU General Public License
Website http://lsdev.org/

LiteStep is a Windows shell replacement licensed under the terms of the GNU General Public License (GPL), for Windows 9x and up. It was inspired by AfterStep, which in turn was inspired by NEXTSTEP. LiteStep was initially developed by Francis Gastellu as a closed source project until April of 1998 (version b23), and was then entirely rewritten (versions 24 and up) by the newly assembled development team. LiteStep later inspired DarkStep, which supports scripting, and PureLS. It also inspired Phil Stopford in 1999 to start LDE(X), which is a complete and production-stable LiteStep-based Windows interface replacement.

LiteStep is one of the oldest remaining Windows shell replacements. Over time, and due to the rise of popularity in freeform skinning, LiteStep desktop designs have tended to drift away from the Afterstep layouts seen under pre-24 versions.

Like most of the commonly known Windows shell replacements, LiteStep is based on the idea of a small core that loads configurable modules (DLLs). LiteStep has the biggest number of modules and this allows all Windows users to configure their environment to be rich and full-featured or minimalistic. When needed, additional modules are now downloaded and installed automatically from the Internet.

A theme for LiteStep is a collection of configurations, scripts and images stored in a .zip or .lsz file that, when installed, change the visual style of the desktop. When using recent themes with a recent version of LiteStep, installation is automatic.

LiteStep may appeal to people who like their desktop to be visually appealing, people who like to configure their environment, Unix/Linux users, and people who find the Start button interface that comes with Windows to be less than ideal.

[edit] Modules

The interface of LiteStep is composed of modules, most having the extension .dll. They are loaded through a text configuration file called step.rc. The syntax of step.rc is very simple. To load different modules you would write a line like this:

LoadModule     $ThemeDir$Modules\alitestepmod.dll

LoadModule tells litestep.exe to load a module where "$ThemeDir$" is the variable defining the location of the theme files. "Modules\" is the directory under the theme directory that holds the theme-specific modules, and "alitestepmod.dll" is the filename of the Module being loaded.

Variables are just as easy to set, with many already hardcoded. $LiteStepDir$ is one such variable being the directory that litestep.exe resides in.

Other variables can be set by writing a line in step.rc like this:

Firefox     "C:\progra~1\Mozill~1\firefox.exe"

You could then use the variable $Firefox$ instead of the full path to the executable. Variables can be combined in a statement to provide flexibility and power.

include "$dirTheme$$rcStep$"

The variable $dirTheme$ is the directory of the theme being currently used, and $rcStep$ is a variable that calls the theme's specific configuration file.

Modules are what make LiteStep look and behave the way you want it to. There are graphical modules that are used to build GUI elements. There are also non-graphical modules used to create hotkeys, watch window classes, and create Litestep-specific commands called !bang commands.

!bang commands are a flexible and powerful way to define scripting variables that can reference files, folders, namespaces, executables, other LiteStep modules or parts of the current LiteStep interface. Many !bang commands are hardcoded into the LiteStep core, but others can be provided through scripting or through !bang modules. Bangs are also the primary way you control the modules themselves. Bangs can be executed through a hotkey, a popup menu, shortcuts, or through one of the Litestep commandline modules.

Some of the most popular modules include:

  • lsxcommand.dll: One of the oldest continually maintained non-core modules. This is a commandline where you can enter bang commands, filepath commands i.e. notepad.exe or C:\, and urls.
  • geekamp.dll: A module that creates bangs to control winamp. The bangs can then be used in User Interface elements such as shortcuts, or hotkeys, etc.
  • hotkey.dll: This type of module lets you create custom hotkeys such as CTRL+R, which can be used to execute a bang command such as !recycle, which reloads all of litesteps configurations from the step.rc, or a module specific bang command such as (for example) !amp_play, which instructs geekamp (or some similar modules) to tell Winamp to play the current song in its playlist.
  • xlabel.dll: The relatively new x-modules are in a state of constant development. xlabel is an extension of label.dll. Most theme developers now use xlabel for its ease of use, backward compatibility, and highly advanced features over its predecessors. This module allocates areas of the desktop for text or images, or a combination of both, to create a truly custom look to windows. Basically anything you would like to display and interact with can be made using xlabel.

[edit] External links