pLS Logo by Todd [Tin Omen] Kadrie
News | PureLS | SDK | Config | Help

00.05.29: Request / New Build

If anyone knows of a good resource that has Win32 headers available that will compile with strict ANSI-C compliance, I'd appriciate the tip. Currently if I specify the /ZA compiler option (strict ANSI-C compilance) in MSVC, it can't get through the Win32 headers without producing errors. So, any information would be appriciated.

Here is another one for your enjoyment, hopefully. :) Has a few changes that will be noticeable and hopefully useful. In the next build or two following this one, we will start moving over to the new PureLS configuration setup. In other words, the "config.dll" will start to be utilized instead of the old "lsapi.dll" for loading configuration settings and what not. Anyway, the following is some of what has changed, and any new configuration options will be explained on the Config page.

Release Notes:
-Added several command line options but only three are currently implemented.

-Redid a good portion of the Module loading/unloading routines allowing for more dynamic control over modules.

-Made portions of the code more solid, making sure our memory handling was controlled if problems ever arrised.

-Wrote a bit of comments in the code and generally cleaned up.

-Messed around a bit with compiler options and defines trying to cut down even more on external dependancies.

00.05.25: Option Pack

I found the original archive Johan Redestig (re5ource) sent me with the popup r9 build. It contains documents and whats_new information. I updated the Option Pack with the zip file.

00.05.22: Option Pack / WebSite / Docs... sorta

I've removed "chronos.dll" and "systray.dll" from the PureLS Option Pack as Maduin just released new versions of both modules that incorporate the fix needed to run under PureLS. So, go get Maduin's updated versions over at

From all the emails I have gotten concerning the WebSite colors ranging from "It looks good, but the contrast could improve" to the ever relevant "It sucks!". We will be coming up with bit better text color and table background color. Thanks for the input.
Update: The colors are changed. Enjoy.

For those who have been looking for some information on how to install PureLS, our good man tin_omen over at has written up an excellent tutorial on getting PureLS up and running off of an existing LiteStep installation, which you can get to at

Otherwise just follow the documentation for specific modules to get your setup configured correctly. There are no PureLS specific commands, besides the "LoadModule" command to load up the modules (plugins). However, currently all pre-existing LiteStep step.rc syntax should be valid under PureLS, as we are using the LiteStep step.rc parser. So, things like "enviroment variables" and "PixMapPath" etc. should work fine for now. However, this will be changing as we finish developing our own configuration system.

00.05.18: New Build

Ok, the build is back up. Sorry for the delay. Everything should be good to go now. I hope.

We uploaded a new build. At this point we aren't including changes and what not, as a lot of the code changes happen in places that are not being utilized at the moment. However, if there are ever any changes that affect the use of PureLS, we will note them here in the news update. Once we get our CVS setup going, we will start to keep a "whats-new" log giving more detailed and extensive information.

Here is what has changed in this release that will be noticeable:

- The "UnloadModule" and "ReloadModule" functionality is working better, there are some updates to be done yet though.

- The use of "startup.dll" is more fail safe now, and any errors durring the processing of it will not cause problems.

00.05.17: WebSite

Let me know if the websites colors / textsize etc is making it hard to read. Things look fine of course on my computer setup, but maybe doesn't look good for everyone. I finally got to see this website under Netscape, and while nothing is majorly borked, the table borders are a little different then under IE.

00.05.16: Option Pack Update

Updated the PureLS Option Pack with chronos.dll updated by Maduin to fix the return value from the module initialization procedure.

00.05.15: Tid bits

Added a "PureLS Option Pack" (available over on the download page) which currently contains two modules that have been updated to work with PureLS. The first is Maduins Systray.dll. The reason this needed updating is that the systray.dll's "iniModuleEx()" function returned an incorrect value, this has been fixed. The second is (everyone sit down please) re5ources popup.dll r9 written by re5ource himself! Ok, this update wasn't written specifically for PureLS, but is a copy I have had for quite a long time (right before re5ource quit developing popup.dll) which he had given me to beta test, but never released. It works great with PureLS, and so I'm posting it for public use.

You will notice that Maduin's chronos.dll does not work under PureLS, as it also returns a incorrect value on startup like systray.dll did. However, since the source code to it is not released, I will not be releasing the fixed version until Maduin gives me the go ahead.

There is no documentation in this release. Basically, just grab some LiteStep Modules and create a text file named step.rc and put it in whatever directory you extracted the PureLS files to, and set things up like you were running the LiteStep shell.

Looks like everything is running fairly smoothly so far. I do realize however that the only webpages on the site that have content are the News and PureLS pages, the others have not been finished yet :)

00.05.14: Welcome to PureLS

And here we have it. The launch of PureLS. I guess the correct thing to do here is to start off with a little introduction and short history, then lead up to our future goals. So here goes.

PureLS comes from the roots of the ever popular LiteStep Shell. PureLS is written in ANSI-C compliance, utilizing the Win32 API. What does "PureLS" stand for? Simply put, its a combination of two things: "Pure" - for its pure ANSI-C code base, and "LS" - for following the philosophy of LiteStep to be a powerful user oriented Shell.

This project started a few months ago, and took several different shapes and directions before becoming what it is now. The current developers are jugg and ender. Both of whom did prior work on the LiteStep Shell, as well as several modules (plugins).

Some of our main goals for this project is to make all of our code strictly ANSI-C compliant, utilizing Win32 API. Doing this will allow us to achieve our next goal of making it possible to compile with any ANSI-C / Win32 compliant compiler, thus eliminating the barrier holding back a lot of potential Module developers who do not have a copy of the expensive MS-VC++ compiler.

To continue, I should probably explain what PureLS contains currently. The following is the list of files you will find in the distrobution:


As you probably noticed, the file "lsapi.dll" has the same name as a similar file from the LiteStep shell. This is for full native support of LiteStep modules. LiteStep modules will always have full support under PureLS, and module developers can continue to develop for the LiteStep 0.24.5 module specs, and have it work with PureLS. However, PureLS also adds a new module architecture that allows for even greater stability and flexibility to both the module authors and the users.

There is a lot more to explain and show, and we will do so as we proceed with developement. This current release is not feature complete, but it is stable and should provide the same full functionality that you have come to expect from other shells. So, read the release notes, and give us feedback. We hope you enjoy what we've done.

The website isn't complete of course. We will be updating the contents of it as we have time, and as we get stuff to add.

For now email until we setup a decent mailing list etc.

The source code which is currently available is not the complete PureLS code. Only portions that need to be released to comply with different licenses such as the LiteStep code used in purels.c and lsapi.c. Eventually all of the code will be opened, but not right away.

Release Notes:
- This is the first public release, however it is not complete. While it is stable, and runs fine (so please use!), but for module developers the new API and architecture is not finished yet.

- Any LiteStep module that used the old "WinList" (LiteStep's built-in enumerated window list) will not work.

- The native LiteStep "desktop.dll" does not work.

- Enviroment variables do not work in the "LoadModule" lines, but do work in all other standard places.

- There are no command line switch options currently. To prevent Startup items from running, either hold down the SHIFT key, or remove the "startup.dll" file.

- Configuration items for modules and !bang commands are still currently read by "lsapi.dll". This is a temporary depandancy.

News | PureLS | SDK | Config | Help

pLS Logo by Todd [Tin Omen] Kadrie