I decided that February 29th would be a good day to do releases from now on. Does that sound good? :)
Here is PureLS 0.40 - I hope it is all that you ever wanted, although I know it isn't. There isn't much to say about the release. There are not a lot of new features since the last release. This release fully supports 2K/XP notification icons, and you will never loose icons because you unload a systray module. (You may loose icons still if you quit the shell, then restart it). You must use vtray.dll 1.06 or systray2.dll 2.0.3 for your systray module. I am currently developing another systray module which works really well under PureLS, but the Balloon Tip support is not quite finished.
The binary and source can be grabbed from the normal place. I suppose I'd best remind you where the normal place is, since it has been so long. Get them right over here.
Here is a small summary of the changes from the last public release:
* Complete overhaul to the notify icon tray (systray) service.
- XP DUN issue fixed among other problems.
- Systray modules may be unloaded without loosing any icons.
- Only use vtray.dll or recent builds of systray2.dll.
- Do not use grdTray, or old systray builds.
* Complete overhaul to the startup runner service.
- RunOnceEx supported.
- Correct handling of RunOnce serialization, so that installation
scripts are handled correctly.
- Startup run policies are now respected on NT machines.
- Many bugs fixed.
- On NT systems, startup items will only be ran once per logon
session (may be overridden by the command line).
* Shellsvc is now fairly self contained, and provides most of the
various background services expected from a shell.
- This includes: tray notifications, task list event service,
startup runner, desktop appbar management (not complete).
* Large implementation changes to PureLS and the Litestep Module Handler
- Litestep modules are ran in a contained thread, seperate from
the PureLS core.
- Thread recovery basics implemented, which allows for a 'fail safe'
interface to be implemented.
- Added interface for modules to register Dialog Windows so their
messages can be handled.
- New/changed command line options.
- Multiple instance check.
- New About dialog architecture. Current dialog is a bit sketchy,
but the structure is there for a nice one to be implemented.
- LM_BANGCOMMAND supported, !.exe will now work with PureLS.
- Thoroughly cleaned up the lsapi GDI functions. Many optimizations
and code readability changes.
- Added recent Litestep functions such as LSLog, GetRCCoordinate,
- Fixed implementation of all of the LCxxx functions. It was very
problematic in earlier builds.
* Build Environments
- full UNICODE support
- MinGW make files (partially broken at the moment)
* Lots of things (TM)
- A huge amount of code cleanup and general bug fixes.
- Most of the changes listed in the source archive changes.txt were
day to day (year to year :P) transitions, and do not necessarily
represent a removal/addition/change/fix from the last release to
the current release.
- Currently if no modules or configuration files are successfully
loaded, the shell will exit.