_ _ _ _ _ __ ____ _____ __ ____ //_ //_ //_ __ ////_ _ _ _ _ _ _ _ _ /__\/ __/\ / / _ \ /__\/ __/ /_ // _// _//_ \o ////////////////////// //_// __/\ \/ /||_|| //_// __/ //// \_/ \_// __/o/////____//____//____/o/___/\__/ \__/ \___/o/___/___/ /_/ _________. _________________. [dev0.de] [contact/imprint] ____________________________________. __________________. [root] [history] [design] [products] [links] [treeview] (litestep builds) ls-bin-20000303.zip - complete compile of 2000/03/03 (~250kb) ls-bin-20000118.zip - complete compile of 2000/01/18 (~138kb) ls-bin-19991022.zip - complete compile of 1999/10/22 (~125kb) to get an older build click here. (info on litestep builds) - 2000/03/03 - - Bugfixes [litestep, desktop / Headius] - Fixed problems with desktop.dll reporting "Could not register window" for a couple window classes. - Added error message to module loader to help identify problems in the future. ***NOTE*** initModule() will not be called in modules anymore. Use initModuleEx(). - Discovered the cause of the transparent popups, but no fix yet. - Bugfixes, code rewrite, new code [litestep, desktop, hookmgr / Headius, Message, NeXTer] - Removed all hook-related code from desktop. Desktop is now no longer an integral part of core (internal) functionality. - New HookManager code integrated into the system allows modules to register for system messages as well as shell messages. - Core updated to use HookManager for hooks. Module hookmgr is loaded internally by the system, and runs in its own thread. DO NOT add hookmgr.dll to your step.rc - Updated lsapi to use WindowList instead of winList. No core modules have dependency on the winList array or on the LM_WINLIST message anymore. It is still provided for backward compatibility, BUT WILL BE REMOVED. We will publish the preferred replacement soon. - Updated lsapi to be .cpp, changes are as follows: - There are two supported BangCommand prototypes currently, "void BangCommand(HWND hwnd, char* args)" and "void BangCommand(HWND hwnd, char* command, char* args)". Var-len param list version is deprecated and is not likely to work anymore. We would like people to move to the 3 param version. - Minor typecasting fixes - Minor rework of core module loading sequences, some exploration into exposing service interfaces to modules. - Fixes to make old trayicons go away when the app is dead. Tray still seems to be broken, likely to be tossed and rewritten. - Fixes to prevent error messages about AppBtnClass - Removed the easter egg bang - Modified DLLModuleManager.LoadModule to allow passing parameters to start a module in its own thread, with its own message pump - Other stuff I'm forgetting. - Bugfixes [popup / Headius / 1-22-00] - Transparency bug in popups under NT/W2k has been solved with a workaround. - Known memory leaks in popups have been eliminated. - Bugfixes, new code litestep, winlist, core, popup, desktop, wharf / Headius / 1-29-00] - Re-implemented Window List as a COM object (vtbl only; dispatch is forthcoming) - Modified popup, wharf, desktop, litestep to use new IWindowList interface - Modified litestep to load IWindowList instance from dll - Re-fixed popup bug, thanks to Fahim for finding the original problem - Re-implemented DLL Module Manager as a COM object (vtbl only; dispatch is forthcoming) - Modified litestep to use the new IModuleManager interface - Created new projects: core, winlist, dllmgr - Core contains the interface definitions for the core services - winlist contains the standard implementation of the IWindowList interface - dllmgr contains the dll implementation of the IModuleManager interface - Threading temporarily removed from module loading - New code [desktop2 / Headius / 2-11-00] - New desktop2 module to replace the base desktop window from desktop.dll. Equivalent to desktop.dll with no taskbar or tray. - Fixed [litestep / Maduin / 02-17-2000] - Reimplemented !reloadModule and !unloadModule - Clean [lsapi / Message / 02-18-2000] - Removed the EasterEgg Bang declaration =P - Bugfixes, improved code [litestep, lsapi, dllmgr / Headius / 2-22-2000] - Fixed the recycle crash bug - Modified the core startup/recycle/stop sequence to be more efficient and reliable - Minor cleanup in dllmgr - Initial look at componentizing remaining services - New code, bug fixes [litestep, core, dllmgr, msgmgr, winlist, wharf, popup, lsapi / Headius / 2-23-2000] - MessageManager moved into its own component, exposing IMessageManager interface - Litestep modified to use the new IMessageManager component - DataStore interface created - Bug fixes to experimental popup2 code - Modification, bugfixes [winlist, msgmgr, core, hookmgr / Headius / 2-24-2000] - Modified the IWindowList interface to explicitly use long values, updated clients appropriately - Reimplemented StandardWindowList (winlist.dll) to use STL instead of static array - Fixed the crashing bug in StandardMessageManager - Fixed another recycling bug in hookmgr - Created [taskbar / Maduin / 02-25-2000] - The taskbar module is designed to replace the functionality of desktop's taskbar - All existing step.rc commands are supported - Start button and tray are not implemented yet, everything else should be - Fixed [taskbar / Maduin / 02-27-2000] - Restoring a previously maximized task did not re-maximize it - Restoring a task caused the VWM to move to desktop 1 - Right-click context menu items were not properly enabled - Fixed [litestep / Maduin / 02-27-2000] - Fixed bug in DataStore which caused sysvwm to crash LS after a couple recycles - Fixed [hook / Maduin / 02-28-2000] - Shell hook notifications weren't being sent - Fixed [desktop2, shortcut / Headius / 02-28-2000] - SetDesktopArea was not being called - Sounds were being terminated before a new one was played - Modified [taskbar / Maduin / 02-29-2000] - Added tooltips to taskbar buttons - Added transparency support for taskbar button skins - Modified [taskbar / Maduin / 03-01-2000] - Taskbar can now be docked to top or bottom screen edge - Added command 'TaskbarEdge edge' where edge can be 'top' or 'bottom' (default) - Fixed some minor autohide bugs - Desktop area is now restored (if it was changed) when taskbar.dll is unloaded - 2000/01/18 - - Update of changes since November 99 [desktop, litestep / Headius] - Desktop has been rewritten in C++. Portions of functionality have been split into seperate classes as much as possible. It is unlikely any class will be removable from the dll, the code is too cohesive. - A fix was made to desktop to repair problems with painting and taskbar size - Various utility classes have been created in the lsutil project for the desktop port to C++ - Tray icon management (internal) has been split off into tray.dll - Litestep has had portions rewritten in C++ to better manage memory and abstract away various functional interfaces - DLL module management has been split off and ported - Message management and distribution has been split off and ported - The running of startup programs has been split off into a static class - BugFix/Code Rewrite [litestep.cpp / Headius] - The data storage code in litestep.cpp was moved to a seperate class. You can have LS store data (generally for during a recycle) by sending LM_SAVEDATA with the high word of WPARAM set to the ID of the data, the low word set to the size, and LPARAM a pointer to the data. - The data can be retrieved by sending the same information in an LM_RESTOREDATA message, with an empty buffer. This will also remove it from the data store. - Bugfixes [desktop, litestep / Headius] - Fix for bug: desktop window showing up in sysvwm. The magic dword was only being set if there was an appbar. Moved it to always be set. - Fix for bug: tray icons not showing up without taskbar. The icons now will show up as they did before, on the desktop according to settings. - Fix for bug: data store was being accessed after having been deleted. Data store is now deleted only after we are finished with it. - Bugfixes/Code Rewrite [litestep, desktop / Headius] - Initial work to encapsulate window list. WindowList is now an interface to the list of windows, for apps that do not want to maintain a list themselves. Currently still uses the old winList array internally. - Incorporated WindowList into litestep.cpp. Legacy apps that require access to the winList array still will work, but this is temporary.. apps must move away from this method. - Rewrite of desktop to remove window list logic. WindowList will maintain a litestep-wide list on its own now. Desktop is just another client of that list. - Rewrite of desktop to use a map of LSTaskButtons rather than a giant array. Memory will be saved by doing this, but STL might take that memory over. - Rewrite of LSTaskButton to control its own destiny. It now handles its own repainting, window activation, and other logic. - Task buttons will not show tooltips for now. I need to rework how this is done. - Desktop will be phased out in favor of new UI modules that aren't so badly written. Bugfixes will continue to be made to keep desktop around for those that need it. - Initial look at loading functionality as COM objects. Interfaces are starting to solidify, the next steps will be simple ones. - Investigation of scripting support. Scripting support will be trivial to add once core objects have been COMified. - Bugfixes [litestep, popup, wharf / Headius] - Fixes in DLLModuleManager to prevent modules that do not load from causing crash on shutdown - Fixes in MessageManager to prevent the possibility of empty entries in the map that might have been causing crashes - Fixes in popup to use the new WindowList, fixes work but not quite thread-safe yet - Fixes in wharf to use the new WindowList, fixes work but not quite thread-safe yet - Wharf.c file updated to be .cpp, minor type casting fixes - 1999/10/22 - - Changes [litestep/litestep.c / Maduin]: - Restored "SetAsShell", "ExplorerNoWarn", and "PixmapPath" in order to smooth the transition to the new style commands. This is a temporary measure, these commands will eventually be removed permanently.