HOME

TheInfoList



OR:

LiteStep is a
Windows Shell The Windows shell is the graphical user interface for the Microsoft Windows operating system. Its readily identifiable elements consist of the desktop, the taskbar, the Start menu, the task switcher and the AutoPlay feature. On some versions of ...
replacement for Windows 9x and up, licensed under the terms of the
GNU General Public License The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
(GPL). LiteStep replaces the
Windows Shell The Windows shell is the graphical user interface for the Microsoft Windows operating system. Its readily identifiable elements consist of the desktop, the taskbar, the Start menu, the task switcher and the AutoPlay feature. On some versions of ...
which provides access to the
graphical user interface A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
on
Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
-based computers. Depending on the theme used, it can replace or remove shell elements, such as the start menu and
taskbar The taskbar is a graphical user interface element that has been part of Microsoft Windows since Windows 95, displaying and facilitating switching between running computer program, programs. The taskbar and the associated Start menu, Start Menu were ...
. It can also be used to create informational-type displays. Aside from the core executable, LiteStep is made up of modules, some of which are included with the initial installation. Other modules, which a theme may require to function properly, are automatically downloaded. The modules and core provide users with the ability to create anything from minimal environments, to elaborate and heavily scripted desktops. Customizations are provided in the form of themes, which may be created or modified with a text editor. A theme for LiteStep is a collection of configurations, scripts, and/or images which are distributed in a file with the zip or lsz extension. The lsz file extension is a renamed zip file, which is associated with the LiteStep Theme Installer.


History

LiteStep was inspired by
AfterStep AfterStep is a stacking window manager for the X Window System. The goal of AfterStep's development is to provide for flexibility of desktop configuration, improved aesthetics and efficient use of system resources, and was used in such distributi ...
, which in turn was inspired by
NeXTSTEP NeXTSTEP is a discontinued object-oriented, multitasking operating system based on the Mach kernel and the UNIX-derived BSD. It was developed by NeXT, founded by Steve Jobs, in the late 1980s and early 1990s and was initially used for its ...
. LiteStep was initially developed by Francis Gastellu as a
closed-source Proprietary software is software that grants its creator, publisher, or other rightsholder or rightsholder partner a legal monopoly by modern copyright and intellectual property law to exclude the recipient from freely sharing the software or modi ...
project until April 1998 (version b23), and was then entirely rewritten (versions 24 and up). LiteStep later inspired DarkStep, which supports scripting, and PureLS. LiteStep also inspired Phil Stopford in 1999 to start LDE(X), which was a complete and production-stable LiteStep-based
Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
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 AfterStep is a stacking window manager for the X Window System. The goal of AfterStep's development is to provide for flexibility of desktop configuration, improved aesthetics and efficient use of system resources, and was used in such distributi ...
layouts seen under pre-0.24 versions, and LiteStep theming has become an art form in itself, being referred to as an "OS equivalent of an expandable Leatherman multi-tool".


Example


Theme.rc

The following is an example of an OTS2 theme.rc configuration file to be loaded at LiteStep's execution. OTS2 is the second generation of the Open Theme Standard, which is to be followed for themes to be compatible with the LiteStep structure. The theme.rc file is the entry point for all LiteStep themes.
;Lines preceded by a semicolon are not parsed by the LiteStep core.

;This indicates to the LiteStep core that the theme is OTS2 compliant.
OTSMajorVersion 2
OTSMinorVersion 0

ThemeName   "Name of Theme Here"
ThemeAuthor "Name of Author Here"

; This defines a variable named "ConfigDir" to shorten defining where configuration files are located, in the next section.
ConfigDir   "$ThemeDir$Config\"

;The "Include" command tells the LiteStep core to parse the defined file. Configuration files are defined at the user's disrection for organization purposes.
Include     "$ConfigDir$themevars.rc"
Include     "$ConfigDir$xlabel.rc"
Include     "$ConfigDir$lsxcommand.rc"
Include     "$ConfigDir$xpopup.rc"
Include     "$ConfigDir$xtaskbar.rc"
Include     "$ConfigDir$xtray.rc"
Include     "$ConfigDir$vwm.rc"

;*NetLoadModule module-ver# tells the NetLoadModule2.dll to load the following modules for use with the loaded theme.
*NetLoadModule  jdesk-0.75
*NetLoadModule  xpopup-2.1
*NetLoadModule  lsxcommand-2.0.2
*NetLoadModule  rabidvwm-1.2.2
*NetLoadModule  xtray-2.2.2
*NetLoadModule  xtaskbar-2.3.4
*NetLoadModule  xlabel-4.3


Explanation

The LiteStep interface is composed of modules, most having the extension .dll. They are loaded by themes through a text configuration file named theme.rc. To load different modules you would write a line like this, to invoke LiteStep's NetLoadModule.dll:
*NetLoadModule ModuleName-version#
NetLoadModule.dll is itself a module that is loaded in a default LiteStep setup. The command *NetLoadModule tells NetLoadModule.dll to load a module for use in the current theme. LiteStep and its themes rely on variables, with many already hardcoded into the core. Variables are surrounded with $...$. $LiteStepDir$, for example, is the directory that litestep.exe resides in. Other variables can be manually set by writing a line in any configuration file 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. Module configurations can span over different files for the sake of organization. The command "include," seen below, tells LiteStep to load the specified file. The variable $ThemeDir$ is the directory of the theme being currently used. Put together with "Config\someconfig.rc" will result in the settings of file someconfig.rc being loaded from \Theme\Config\someconfig.rc.
include "$ThemeDir$Config\someconfig.rc"
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 and non-graphical modules used to create hotkeys, watch window classes for scripted events, and create LiteStep-specific commands called !bang commands. !bang commands are a way to execute event-driven functions within a given theme. These commands can reference files, folders, namespaces, executables, or elements of the theme itself. Many !bang commands are hardcoded into the LiteStep core, and others may be provided through user scripts or through the currently loaded modules. Bangs are the primary way you control the modules. !bangs can be triggered through a hotkey, popup menu, shortcut, or through module-specific events. Some of the most popular modules include: *lsxcommand.dll: This module creates a commandline where you can enter bang commands, filepath commands i.e. notepad.exe or C:\, and urls. *v_bang-lite.dll: This module 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, which can be used to execute a hardcoded bang command, or a module specific bang command. *xlabel.dll: Theme developers use xlabel for creating box-like windows on the desktop. These "boxes" can be used for informational texts (ex: cpu usage, memory usage, uptime, song playing, etc.) or images, or a combination of both. xlabel can also be used to create buttons for running !bang commands, scripts, or opening system programs. Basically, anything you would like to display and interact with can be made using xlabel.


See also

* List of alternative shells for Windows


Notes


External links

*
LOSI
(LiteStep Installer)
LiteStep Community
(Themes, Apps and User Community) {{DEFAULTSORT:Litestep Desktop shell replacement Windows-only free software Application launchers Graphical user interface elements