home *** CD-ROM | disk | FTP | other *** search
/ PC World 2002 May / PCWorld_2002-05_cd.bin / Software / Vyzkuste / litestep / LiteStep_Installer_2.0.exe / changes.txt < prev    next >
Encoding:
Text File  |  2002-02-16  |  100.2 KB  |  2,104 lines

  1. - Fixed [systray2 / Maduin / 2002-02-16]
  2.   - !SystrayMove didn't accept negative coordinates (patch from Sci)
  3.  
  4. - Fixed [lsapi / Maduin / 2002-02-16]
  5.   - LSLogLevel was off by one
  6.  
  7. - New Feature [litestep, lsapi, dllmgr / Maduin / 2002-02-13]
  8.   - Logging is now supported in the LS core
  9.   - LSLogFile "filename.log" sets the filename for the log file
  10.   - LSLogLevel sets the verbosity level (default is 2)
  11.       - 1 reports errors
  12.       - 2 reports errors and warnings
  13.       - 3 reports errors, warnings, and notices (informational)
  14.       - 4 reports errors, warnings, notices, and debugging messages
  15.   - Litestep.exe and dllmgr.dll now generate log messages; more to come
  16.   - LS modules can use logging through LSLog and LSLogPrintf functions in LSAPI
  17.  
  18. - Added [lsapi / Maduin / 2002-01-21]
  19.   - Added variables:
  20.     - OS-Name: OS name, suitable for display to the user (ex "Windows 95", "Windows 2000")
  21.     - OS-Version: OS version (major.minor)
  22.     - OS-MajorVersion: OS major version number
  23.     - OS-MinorVersion: OS minor version number
  24.     - WinXP: defined only if running Windows XP
  25.  
  26. - Fixed [litestep / Message / 2002-01-13]
  27.   - Some more changes to the tray manager... still don't like some the hacks im using so
  28.     the implementation may change in future as we figure out exactly why certain things 
  29.     are happening
  30.   - Added a LSNoStartup switch, same as -nostartup command line option  
  31.     
  32. - Fixed [litestep / Message / 2002-01-07]
  33.   - Fixed (again) startup items not being ran, should work this time
  34.   
  35. - Fixed [litestep / Message / 2002-01-06]
  36.   - Fixed a memory leak in traymanager (thanks nivenh for finding it)
  37.  
  38. - Fixed [lsapi / Message / 2002-01-04]
  39.   - Fixed a linking problem with !SwitchUser and Win9x's user32.dll
  40.   
  41. - Fixed [litestep, stepsets, lsapi, desktop2 / Message / 2002-01-03]
  42.   - You can use variables with all settings now
  43.     Example: ThemeBackgroundColor FF00FF
  44.              CommandBackgroundColor $ThemeBackgroundColor$
  45.     This should work with Colors, Int, Bools, and String... so everything pretty much
  46.   - Moved the recovery menu function into seperate files just organize the source a little
  47.     bit more
  48.   - Added !SwitchUser to change users in XP (from [steev])
  49.   - Added DesktopOnDisplayChange setting... will run the specified command when the display
  50.     properties are changed
  51.  
  52. - Fixed [vwm2 / Message / 2001-12-10]
  53.   - Fixed placement of windows in the vmw on multiple monitor systems
  54.  
  55. - Fixed [popup2, litestep, code / Message / 2001-12-09]
  56.   - Removed litestep project dependency on gui modules
  57.   - Moved source into folders in the project view for easier navigation
  58.   - Removed ILogDispatch from core, litestepclass, never used
  59.   - Fixed a bug in popup2.dll with popupicons and popupfolderpix
  60.   - Renamed the following popup settings to be more consistent
  61.         NoPopupFolderIcon = PopupNoFolderArrow
  62.         NoPopupTransparent = PopupNotTransparent
  63.         NoPopupTitles = PopupNoTitles
  64.         NoPopupTitleText = PopupNoTitleText
  65.         NoPopupCloseButton = PopupNoCloseButton
  66.         MinPopupWidth = PopupMinWidth
  67.         MaxPopupWidth = PopupMaxWidth
  68.         NoPopupBevel = PopupNoBevel
  69.         NoPopupMenuBevel = PopupNoMenuBevel  
  70.  
  71. - Fixed [systray2, litestep / Message / 2001-11-26]
  72.   - Systray2, Stripped everything out of it except for basic gui, this module will 
  73.     not run without a new build
  74.   - More Traymanager fixes, uses new LSNOTIFYICONDATA structure to support longer
  75.     tooltips. System tray modules will have to be updated before being used with this
  76.     build. System tray must issue the LM_SYSTRAYREADY message when they are ready to
  77.     receive the icons, and must not post the "TaskbarCreated" message.
  78.   - Removed the tray project from the LiteStep workspace
  79.  
  80. - Changed [lsapi / Message / 2001-11-25 ]
  81.   - Made the default build of lsapi now include PNG support
  82.     Use "Release/Debug Without PNG" to build an lsapi.dll without PNG  
  83.  
  84. - Fixed [litestep, systray2 / Message / 2001-11-21]
  85.   - Added TrayManager to LiteStep, this takes over the function of managing the system
  86.     tray from systray modules. Now includes W2k support.
  87.   - LM_SAVESYSTRAY, LM_RESTORESYSTRAY messages no longer required and do no function
  88.   - Modified systray2 to only activate it's w2k support if used on a system without
  89.     TrayManager
  90.     
  91.   NOTE: Do not use Maduin's Systray 1.05b with w2k support with this build, it will
  92.   probably result in multiple icons or other weirdness
  93.  
  94. - Fixed [systray2 / Message / 2001-11-21]
  95.   - Added Windows2000 and WindowxXP support. Seems to work fine when first loaded,
  96.     but after a recycle w2k loses its volume icon and xp loses all icons (?). A simple fix
  97.     for w2k is to run trayfix.exe after a recycle, and that will put the volume icon back.
  98.     
  99.     NOTES:
  100.     The DUN icon uses 4 icons to display status, when NIM_ADD the icons, they all have the
  101.     same HWND, but differ in NOTIFYICONDATA.uID. To get around this, we only check to see
  102.     if an icon already exists by HWND only, and not uID. On NIM_MODIFY, we set the uID
  103.     of any found icon to the modifying icon's uID or problems occur with the mouse handling.
  104.     
  105.     UnloadShellServiceObjects needs to be called before LM_SAVESYSTRAY is handled or
  106.     the DUN/Volume icons get saved also and won't be handled properly when the tray is
  107.     restarted after a recycle.
  108.     
  109.     The tooltip on the DUN icon still doesn't handle well. I think this is our implementation
  110.     and not MS related.
  111.     
  112. - Fixed [everything / Message / 2001-11-20]
  113.   - Removed all the TCHAR, _TEXT hoopla (it was never properly implemented fully
  114.     and just made the source look like poo)
  115.   - Source formatting! All the source should have a standard look now.
  116.     (formatting done using the astyle @ http://www.sourceforge.net/projects/astyle)
  117.     (command line options were: astyle -cbKpt *.cpp *.h *.c)
  118.     (Using tabs instead of spaces)
  119.     
  120. - Fixed [hook, hookmgr, litestep / Message / 2001-11-20]
  121.   - Removed WH_SHELL code, now using RegisterShellHook in LiteStep.exe only
  122.   - HookMgr and Hook only need to be loaded if a module uses their hooks
  123.     (mmsupport for instance) by settings "LSUseHooks" to true in the step.rc
  124.     
  125. - Fixed [lsapi / Message / 2001-11-19]
  126. -More fixes to png's extension checking, should fix the problem with tasks (thanks nivenh)"
  127.  
  128. - Fixed [lsapi, hook, hookmgr / Message / 2001-11-17]
  129.   - Added support for RegisterShellHook, this will allow for cmd.exe windows
  130.     to be properly handled under NT/2K
  131.     
  132. - Fixed [lsapi, hook, hookmgr / Message / 2001-11-17]
  133.   - Fixed a bug in the png support extension checking (thanks nivenh for finding this)
  134.   - Removed the test code defines from hook and hookmgr since the code was always being used
  135.  
  136. - Added [lsapi / Message / 2001-11-13]
  137.   - Png support added (Thanks nivenh for hte code and the help!)
  138.     Uses libpng (www.libpng.org) and zlib (www.zlib.org)
  139.     There is a special build to compile an lsapi with png support
  140.     NOTE: you should unzip libpng and zlib sources in the lsapi directory
  141.     and use the lpng120\projects\msvc\libpng.dsw to compile the lib versions
  142.     of libpng and zlib
  143.  
  144. - Fixed [popup2, systray2 / Message / 2001-10-16]
  145.   - Fixed custom popups and multiple monitors
  146.   - Changes the start size of systray2 to 0,0 (per blkhawk)
  147.  
  148. - Fixed [stepsets / Message / 2001-08-25]
  149.   - Fixed StripComment, test for qoute was incorrect
  150.  
  151. - Deleted [console, script / Message / 2001-08-21]
  152.   - Removed the console and script projects (They weren't finished anyways)
  153.  
  154. - Modified [popup2 / Maduin / 2001-08-19]
  155.   - Folder items can now have different bitmaps/colors than normal items; the
  156.     following step.rc commands are new:
  157.       - PopupFolderColor, PopupSelFolderColor
  158.       - PopupFolderBgColor, PopupSelFolderBgColor
  159.       - PopupFolderPix, PopupSelFolderPix
  160.       - PopupGradientFolder
  161.       - PopupFolderFontFace
  162.       - PopupFolderFontHeight
  163.   - The new settings work the same the existing PopupEntry*/PopupSelEntry* ones
  164.  
  165. - Fixed [bangmgr, popup2 / Maduin / 2001-08-17]
  166.   - The !Popup bang command now work just like the other !Popup* bang commands
  167.  
  168. - Fixed [stepsets / Maduin / 2001-08-16]
  169.   - Fixed a bug in VarExpansion which caused popup items to be lowercased
  170.  
  171. - Fixed [popup2 / Maduin / 2001-08-16]
  172.   - Introduced a bug in the last build: If NoPopupTitleText was set the popup
  173.     did not paint itself properly.
  174.  
  175. - Modified [popup2 / Maduin / 2001-08-15]
  176.   - Rewrote the icon/text layout routines
  177.   - Added PopupArrowImage and PopupSelArrowImage to specify a bitmap to be used
  178.     as the folder arrow.
  179.   - Added PopupIconsOnRight
  180.   - Got rid of that annoying "Re5ources_PopupMenu" tooltip
  181.   - Got rid of the shortcut overlay icons
  182.  
  183. - Modified [lsapi.h, stepsettings.h, litestep.rc / Phil @ leaf / 2001-08-04]
  184.   - Increased MAX_BANG* and RCCOMMAND limits (blind change as uncommented, but assuming that this will increase the number of commands that LS can register).
  185.   - Updated LiteStep.rc copyright information and also the special build comment =b
  186.  
  187. - Fixed [litestep, lsapi, dllmgr, hookmgr, hotkey/ Chaku / 2001-08-03]
  188.   - Fixed memory leak when displaying bang commands in about box.
  189.   - Fixed the problem that wrong error messages are shown in messagebox.
  190.   - Fixed the problem that after several times of recycle, a lot of blank
  191.     entries of rev ids are inserted in the about box.
  192.  
  193. - Fixed [litestep, bangmgr, lsapi / Chaku / 2001-08-01]
  194.   - Fixed threaded-related bang command problems.
  195.  
  196. - Fixed [lsapi / Message / 2001-06-26]
  197.   - Fixed memory leak in lsapi's GetShellFolderPath if SHGetMalloc Failed
  198.  
  199. - Fixed [litestep, lsapi, dllmgr, bangmgr, taskbar / Chaku / 2001-06-26]
  200.   - Fixed memory leaks created by threading when handling the 
  201.     LM_THREAD_BANGCOMMAND message in dllmgr and litestep and added Relase().
  202.   - Fixed missing AddRef()'s in bangmgr AddBangCommand 
  203.     and ThreadedBangCommand::Execute.
  204.   - Fixed the problem of having a timer and shell window's created destroyed message to maintain the
  205.     internal task list.   
  206.  
  207. - Fixed [hotkey / Message / 2001-06-01]
  208.   - Some of the _TEXT macros were borked, fixed now
  209.  
  210. - Fixed [lsapi / NeXTer / 2001-05-29]
  211.   - Windows XP was erroneously reported as Windows 2000
  212.  
  213. - Fixed [lsapi / Maduin / 2001-04-02]
  214.   - CommandTokenize wasn't accepting bracketed tokens
  215.  
  216. - Modified [Stepsets / NeXTer / 2001-03-30]
  217.   - Modified the expansion of evars, so envvars are properly expanded
  218.  
  219. - Added [lsapi / Headius / 2001-03-12]
  220.   - Added !Reload bang...reloads settings from disk but does not notify
  221.     modules with a refresh message like !Refresh does
  222.  
  223. - Modified [multiple / Headius / 2001-03-10]
  224.   - Modified all uses of _bstr_t(value, false) to be just _bstr_t(value)
  225.     - May have been causing problems with memory allocation for bstrings
  226.  
  227. - Fixed [lsapi / murphy / 2001-03-09]
  228.   - Fixed typo in devteam names ;-)
  229.   - Fixed loading of changes.txt in about-screen.
  230.   - Added 'Windows XP' in System Info of about-screen.
  231.  
  232. - Fixed [popup2 / Maduin / 2001-03-09]
  233.   - PopupSeparatorPix now works with PopupAutoSeparator
  234.   - Fixed a minor focusing bug
  235.  
  236. - Fixed [lsapi, stepsets / Maduin / 2001-03-01]
  237.   - Squashed some bugs in GetRCLine and LSExecute
  238.  
  239. - Fixed [litestep / Headius / 2001-02-21]
  240.   - Run, RunOnce, and Startup items were being run in the wrong order
  241.  
  242. - Fixed [lsapi / Headius / 2001-02-20]
  243.   - Fixed a memory violation in ParseBangCommand
  244.  
  245. - Added, Modified [All / Chaku / 2001-02-19]
  246.   - Traditional Chinese translations added
  247.   - Added parentheses to some macros to prevent potential problems
  248.   - Changed desktop to use RESOURCE_MSGBOX to display warning box
  249.   - Modified the GetResStr and GetResStrEx to load string table resources properly
  250.  
  251. - Added [All / NeXTer / 2001-02-18]
  252.   - Swedish translations added for most events
  253.  
  254. - Fixed [lsapi, stepsets / Headius / 2001-02-09]
  255.   - Fixed !About bangs not populating list
  256.   - Fixed environment variables not being picked up
  257.  
  258. - Fixed [stepsets, litestep / Headius / 2001-02-07]
  259.   - Fixed problem starting up under Win98/Win95 "file not found"
  260.   - Modified litestep to link to Multithreaded rather than Multithreaded DLL lib
  261.  
  262. - Fixed [lsapi, stepsets, litestep / Headius / 2001-02-06]
  263.   - Fixed return values for successful/failed bang commands in LSExecuteEx
  264.   - Fixed several memory leaks in settings subsystem
  265.   - Began implementing configuration flags to trim LS functionality at will
  266.  
  267. - Modified [stepsets, lsapi, litestep / Headius / 2001-02-05]
  268.   - Performance improvements to stepsets
  269.     - Added line iterator interface to replace ReadX functions, about 25% faster
  270.     - Moved GetX code from GetRCX functions, about 25% faster
  271.   - Litestep.exe now registers as a type library for core interfaces
  272.  
  273. - Modified [stepsets, bangmgr, litestep, lsapi, misc / Headius / 2001-02-04]
  274.   - Modified IBangManager and IBangCommand interfaces to more close fit what
  275.     bang commands do
  276.     - No return value support (bang don't have return values anyway)
  277.     - No array of parameters (bangs accept a single string parameter)
  278.     - No OLE support in base interfaces (building and manipulating SAFEARRAY is slow)
  279.   - Modified other core modules to use new IBangManager interface correctly
  280.   - Fixed memory leak in startup code (thanks jugg)
  281.   - Fixed Settings bug that broke include support
  282.   - Minor performance cleanup in stepsettings
  283.  
  284. - Fixed [stepsets, bangmgr / Headius / 2001-02-03]
  285.   - Fixed problem with ReadLine/ReadConfig and LCReadNextLine/LCReadNextConfig
  286.     - Continuing to read after a failed read would loop back to the start
  287.   - Fixed problem with include support in ParseInclude
  288.     - wchar_t string was not being converted correctly to char string
  289.   - Fixed build of bangmgr.tlb going to wrong directory
  290.  
  291. - Modified [stepsets, winlist, misc / Headius / 2001-02-02]
  292.   - Reimplemented StepSettings internally with wide chars (wchar_t)
  293.     - Reduces number of conversions done to use the component
  294.     - COM uses wchar_t in the form of BSTR's
  295.     - Should improve settings performance
  296.     - One exception: GetFullPathName is not provided in wide char form under 9X,
  297.       so a conversion is done to ANSI char and back again. This will preclude the
  298.       parser from working with files with UNICODE chars in them without modification.
  299.       Normally you won't have to worry about it.
  300.   - Modified IWindowList interface to not use HRESULT to make it more simple to use.
  301.   - Reimplemented StandardWindowList to support new interface
  302.   - Made minor modifications to several pieces of code to allow LS to compile with
  303.     STLPort, a port of SGI's STL libraries. STLPort will not be used by default.
  304.     - STLPort causes binaries to be very slightly larger, and LS to take about
  305.       300k more memory, but is free and open. Recompile LS using STLPort headers
  306.       and libraries if you are interested. See www.stlport.org
  307.   - Added /opt:NOWIN98 linker option to projects that didn't have it
  308.     - Shrinks the binaries a touch
  309.  
  310. - Modified [macros? / Headius / 2001/02/01]
  311.   - Fixed SCREEN_WIDTH and SCREEN_HEIGHT macros to work correctly on 95 and NT4
  312.     - Caused taskbar to not be visible
  313.  
  314. - Added, Modified [core, stepsets, lsapi, litestep, sysvwm / Headius / 2001-01-31]
  315.   - Split IStepSettings and DStepSettings interfaces to avoid naming conflicts
  316.   - Added additional utility methods to IStepSettings and DStepSettings
  317.   - Completed implementation of IStepSettings and DStepSettings
  318.     - StepSettings in the stepsets project is the implementation of IStepSettings
  319.     - DStepSettingsImpl in the stepsets project is the implementation of DStepSettings
  320.   - Removed StepSettings code from lsapi
  321.   - Modified lsapi to use IStepSettings interface for settings retrieval
  322.   - Modified StepSettings to no longer manager StepName and ThemeName
  323.   - Modified lsapi to manage theme flags and caching locally
  324.   - Modified litestep to load stepsets.dll object library and create new instance
  325.     of IStepSettings for lsapi to use
  326.   - Modified lsapi exports to use IStepSettings interface
  327.   - Added type library to stepsettings
  328.     - Step settings should now be a full COM library. External applications can
  329.       use COM APIs to create an instance of the StepSettings parser
  330.     - Dispatch interface is not yet implemented
  331.   - Added core type libraries to bangmgr, stepsets, to allow them to be loaded
  332.     by OLEView
  333.  
  334. - Modified [core, lsapi, sysvwm, popup / Headius / 2001-01-29]
  335.   - Cleaned up the IStepSettings and DStepSettings interface to be more usable
  336.   - Implemented business methods of both interfaces in StepSettings
  337.     - StepSettings will be moved to a seperate service DLL and registered as a
  338.       full-fledged COM component
  339.     - The StepSettings COM dll should be usable from any application, with or
  340.       without Litestep running, to allow third-party apps and scripts to utilize
  341.       the 24.6 step.rc parser.
  342.     - IDispatch support, component registration, and class factory pieces are not
  343.       yet implemented
  344.   - Renamed sysvwm.c to sysvwm.cpp and made appropriate changes to it
  345.   - Removed old popup module from core. Source and binary are available on modulo.
  346.     - popup2 will become core popup soon
  347.  
  348. - Modified [ all / Message / 2001-01-29]
  349.   - Updated the copyright notices to 2001
  350.   - Removed txt files from modules (not needed since we actually have
  351.     great documentation that is updated with changes.txt)
  352.  
  353. - Fixed [popup2 / Maduin / 2001-01-28]
  354.   - !PopupDesktops and !PopupTasks now hide when you click on the desktop
  355.  
  356. - Modified [shortcut2, common.h / Headius / 2001-01-28]
  357.   - Cleaned up code to prevent warnings, performance problems with bools
  358.  
  359. - Modified [ workspaces/project files / Message / 2001-01-28]
  360.   - Removed the "_vs6" from all project and workspace filenames
  361.   - Added .mak files to each project, not sure if these work or not
  362.     but there has been requests for mak files (these were generated
  363.     automatically by vs6)
  364.  
  365. -Added, Modified [core, bangmgr, vwm2, script, litestep / Headius / 2001-01-28]
  366.   - Modified IBangManager/DBangManager to support OLE automation
  367.     - Allows a single class to be both dispinterface and vtbl interface
  368.   - Moved bangmgr coclass to bangmgr.idl from core
  369.     - coclass information is put in bangmgr.tlb, which compiles into bangmgr.dll
  370.   - Modified litestep to use bangmgr.dll typelib to load bangmgr
  371.   - Implemented IDispatch in StandardBangManager
  372.     - Functions are implemented as bangmanager.Execute("!Bang")
  373.     - Dynamic dispinterface may be possible, i.e. BangManager.Recycle()
  374.   - Added script project for activescripting support (not functional yet)
  375.     - Should support any installed activescripting language when finished
  376.       - VBScript, JScript, Perl, Python, and others
  377.     - Will allow full access to step.rc, bang commands, module manager
  378.   - Modified vwm2 to use EnumWindows rather than GetWindow loop
  379.     - Continuing to look for bugs
  380.  
  381. - Modified [ShortCut2 / NeXTer / 2001-01-26]
  382.   - The topmost problem is finally fixed with a little assistance from jugg
  383.  
  384. - Added [ bangmgr, core, lsapi, dllmgr, msgmgr, winlist / Headius / 2001-01-20 ]
  385.   - Modified core IStepSettings interface to make more sense, be more user friendly
  386.   - Added IStepSettings methods to StepSettings class in lsapi
  387.     - Methods not yet implemented
  388.   - Added component registration/unregistration code to four core services
  389.   - Modified manager startup to use COM apis instead of ugly kludge
  390.  
  391. - Fixed [ bangmgr / Message / 2001-01-20]
  392.   - Bangs weren't being removed from the map, now they are
  393.  
  394. - Modified [all / Message / 2001-01-19]
  395.   - Modifed all files to use TCHAR, this will enable us to
  396.     us UNICODE and MBCS in the future, will need to aadjust some
  397.     function to pass the size of string in bytes instead of the number
  398.     of characters.
  399.  
  400. - Modified [taskbar / Headius / 2001-01-17]
  401.   - Added four new parameters:
  402.     - TaskbarWidth, defaults to screen width, sets width of taskbar
  403.       - Also accepts percentage of screen width, as "TaskbarWidth 50%"
  404.     - TaskbarPositioning, defaults to false, enables absolute positioning
  405.     - TaskbarX, defaults to 0, requires TaskbarPositioning = true
  406.     - TaskbarY, defaults to 0, requires TaskbarPositioning = true
  407.  
  408. - Modified [sysvwm / NeXTer / 2001-01-17]
  409.   - Fixed an issue with dragging under LSbox
  410.  
  411. - Added [desktop2 / Message / 2001-01-11]
  412.   - Added four additional modifiers:  alt     alt key
  413.                                       lwin    left win button
  414.                                       rwin    right win button
  415.                                       apps    button next to the right win button
  416.  
  417. - Modified [desktop2 / Message / 2001-01-10]
  418.   - Removed DesktopLeftClick, DesktopRightClick, DesktopMiddleClick,
  419.     DesktopX1Click, DesktopX2Click, !DesktopSetRightClick, !DesktopSetLeftClick,
  420.     !DesktopSetMiddleClick, !DesktopSetX1Click, !DesktopSetX2Click
  421.   - Fixed desktop getting focus when using xmouse
  422.   - Addednew support for key modifiers used as the following:
  423.     *desktop [main button]+[modifier]+[modifier]+.. command
  424.     Modifiers are:  lbutton     left mouse button up
  425.                     rbutton     right mouse button up
  426.                     mbutton     middle mouse button up
  427.                     x1button    x1 mouse button up
  428.                     x2button    x2 mouse button up
  429.                     ctrl        control key down
  430.                     shift       shift key down
  431.  
  432.     Examples:
  433.     *desktop rbutton !popup // Right button up displays popup
  434.     *desktop lbutton !about // Left button up displays about box
  435.     *desktop lbutton+ctrl !recycle // Left button up while holding down control key
  436.                                       recycles LiteStep
  437.     *desktop rbutton+ctrl+shift !quit // You can figure it out =]
  438.  
  439.     Note: you can do *desktop rbutton+lbutton !about and it will display the
  440.     about box when you hold down the lbutton and click the rbutton, *but* releasing
  441.     the lbutton will fire off the command set by *desktop lbutton
  442.   - Added !DesktopSetClick, you use this in the same way as the step.rc config, just
  443.     minus the "*desktop"
  444.     !DesktopSetClick lbutton+ctrl !recycle
  445.  
  446. - Modified [hook / Message / 2001-01-10]
  447.     - Added code to exclude certain programs from having their messages
  448.         hooked. Add the executable exe name to HKCU\software\litestep\hookexclude
  449.         as a string.
  450.  
  451. - Fixed [ popup2 / Message / 2001-01-09]
  452.   - Fixed the popup window showing up in task manager (set the owner to the
  453.     hidden litestep window
  454.  
  455. - Modified [hook / Message / 2001-01-09]
  456.     - Removed some external dependencies
  457.     - GetMsgProc ignores messages that have the PM_NOREMOVE flag (they are just
  458.         being peek'd and not removed from the que)
  459.     - Removed CRT dependencies from the release build and made _DLLMainCRTStartup
  460.         a stub to call DLLMain
  461.  
  462. == Build 2001-01-02 ===========================================================
  463.  
  464. - Added [lsapi / Message / 2000-01-02]
  465.   - If changes.txt is present in the same directory as litestep.exe, an
  466.     additonal option "changes.txt" will appear in the drop down list, selecting
  467.     it will display the changes.txt
  468.  
  469. - Added [command / Message / 2000-12-31]
  470.   - Added CommandRememberPosition to allow the module to remember where it
  471.     was last placed
  472.   - Added !CommandResetPos to move the module back to the settings sepecified
  473.     in the step.rc
  474.  
  475. - Modified [ command / Message / 2000-12-20]
  476.   - Fixed some problems with always on top
  477.   - Added CommandNotMoveable, default is moveable
  478.  
  479. - Fixed [lsapi / Maduin / 2000-12-19]
  480.   - Nested Ifs are handled correctly now
  481.  
  482. - Added [ Popup2, lsapi / Message / 2000-12-19]
  483.   - Added !PopupRecycleBin and !PopupRecentDocuments (this works correctly
  484.     under W2K where as !DynamicFolder:$recent$ display everything
  485.   - Added following variables:
  486.       $commonadmintoolsdir$
  487.         All Users\Start Menu\Programs\Administrative Tools
  488.       $admintoolsdir$
  489.         <user name>\Start Menu\Programs\Administrative Tools
  490.  
  491. - Modified [ShortCut2 / NeXTer / 2000-12-15]
  492.   - Hopefully the ontop problems are gone
  493.  
  494. - New Feature [popup2 / Maduin / 2000-12-12]
  495.   - Added PopupSeparatorPix which lets you assign a bitmap to be used for all
  496.     !Separator items
  497.   - Added PopupTasksStartPinned which causes !PopupTasks to automatically be
  498.     pinned when it is shown (requested)
  499.  
  500. - Modified [ShortCut2 / NeXTer / 2000-12-10]
  501.   - Code cleanup in preparation for LS coding standards draft
  502.  
  503. - Modified [lsapi / Message / 2000-12-09]
  504.   - Split some of the functions in lsapi.cpp off into different files to be
  505.     more manageable.
  506.   - Added multimonitor functions to lsapi (these are basically the same
  507.     functions as those found in Microsoft's multimon.h)
  508.   - Some general house cleaning of unused varaibles and code
  509.   - Add common.h, this file include the common include files and definitions
  510.     for most LiteStep modules (Use this file if you are going to include
  511.     Multimonitor support in your application, it redefines the needed MS apis
  512.     with the LiteStep ones
  513.   - Modified existing modules that support multimonitors to use this file
  514.  
  515. - Modified [all / Message / 2000-12-08]
  516.   - Added LiteStep copyright and gnu notice to all source files and headers
  517.     All cpp files have the comment space at top for individual files changes.
  518.  
  519. - Added [desktop2 / Message / 2000-12-08]
  520.   - Added XButton support, DesktopX1Click, DesktopX2Click, !SetDesktopX1Click,
  521.     !SetDesktopX2Click (won't work if you have the MS mouse software loaded)
  522.  
  523. - New Feature [taskbar / Maduin / 2000-12-07]
  524.   - Added TaskbarKeepDesktopArea to prevent taskbar from changing the desktop
  525.     area
  526.   - Added !TaskbarHide, !TaskbarToggle, and !TaskbarShow
  527.  
  528. - Added [desktop2 / Message / 2000-12-07]
  529.   - Cleaned up the code some, added LM_REFRESH handling
  530.  
  531. - Modified [popup2 / Message / 2000-12-06]
  532.   - Modified !PopupRun to use the mru class in lsapi\, it now shares
  533.     the same mru run list as command.dll
  534.  
  535. - New Feature [taskbar / Maduin / 2000-12-06]
  536.   - Added TaskbarActiveFont, TaskbarActiveFontHeight, TaskbarActiveFontBold,
  537.     and TaskbarActiveFontItalic
  538.   - Added TaskbarFont, TaskbarFontHeight, TaskbarFontBold, and
  539.     TaskbarFontItalic
  540.  
  541. - Modified [desktop2, lsapi / Message / 2000-12-06]
  542.   - Yet more work on desktop2's multimon support
  543.   - Added SetDesktopAreaMainMonitorOnly, SetDesktopArea<int>, SDALeft<int>
  544.     SDATop<int>, SDABottom<int>, SDARight<int> see desktop2.tx t for details.
  545.   - Removed lsmulitmon.cpp, .h from lsapi, removed SetDesktopAreaEx, they just
  546.     werent working out as planed.
  547.  
  548. - Modified [desktop2, lsapi / Message / 2000-12-05]
  549.   - More work on multimonitor support in desktop2 for SetDesktopArea
  550.   - Added lsmultimon.cpp,.h to lsapi for enumerating desktops and setting
  551.     desktoparea via SetDesktopAreaEx (still beta testing)
  552.  
  553. - Fixed [lsapi, popup2 / Message / 2000-12-04]
  554.   - Fixed the directoryfolders giving an access violation and causing them
  555.     not to display
  556.   - Fixed the "X" not working on a torn off popup
  557.   - Turned off warning message when using ShellExecute via LsExecute, this will
  558.     keep that annoying "access to the specified device, path, or file was
  559.     denied" window from popping up
  560.  
  561. - Modified [command, lsapi / Message / 2000-12-01]
  562.   - Added CommandNotAlwaysOnTop, CommandSelectAllOnFocus to command.dll
  563.   - Cleaned up some of the multimon macros in macros.h, no need to check if
  564.     the system is multimon or not, multimon.h does that.
  565.  
  566. - Fixed [popup2 / Chaku / 2000-12-01]
  567.   - Fixed the problem that when left or right clicking on an item that has
  568.     submenu the whole popup will be closed.
  569.  
  570. - Modified [Shortcut2 / NeXTer / 2000-11-30]
  571.   - Cleaned up the new code
  572.  
  573. - Fixed [Shortcut2 / Message / 2000-11-30]
  574.   - Added code to move a shortcut whose position was not on a display monitor
  575.     to the nearest monitor (This should cure the problem with shortcuts not
  576.     being visible because of different resolution in multimon systems)
  577.  
  578. - Modified [Shortcut2 / NeXTer / 2000-11-30]
  579.   - Added the 'r' flag that makes the shortcut relative to the one before it
  580.  
  581. - Modified [ command, lsapi, desktop2, shortcut2 / Message / 2000-11-28]
  582.              taskbar, vwm2, popup2
  583.   - Added basic Multimonitor support. (Top-Left corner of left most monitor is
  584.     given the coordinates (0,0), everything else is relative to that. Negative
  585.     coordinates are relative to the right side of the right most monitor or
  586.     relative to the bottom of the lowest monitor)
  587.  
  588. - Modified [popup2 / Message / 2000-11-27]
  589.   - Per mindjunctions: !PopupFolder, !PopupDynamicFolder, & !DynamicFolder now
  590.     support an optional file pattern. this goes after the directory. Currently only
  591.     one patern is allowed, and it will no span subdirectories unless those
  592.     subdirectories match the pattern.
  593.     Example: *Popup     "Documents"     "!PopupDynamicFolder:$documentsdir$" *.doc
  594.     Makes a popup menu titled "Documents" containing only the *.doc files from the
  595.     My Documents directory
  596.  
  597. - Modified [lsapi / Message / 2000-11-27]
  598.   - Fixed qouted paths in include
  599.   - General code cleaning in VarExpansion unitialized variable checking
  600.   - GetLitestepWnd() now caches the hwnd on the first call to prevent subsequent
  601.     calls to FindWindow
  602.   - Implemented some new macros for resource string loading in macros.h
  603.   - Modules using GetResStr and GetResStrEx have been converted to using the macros
  604.  
  605. == Build 2000-11-28 ===========================================================
  606.  
  607. - Modified [lsapi / Message / 2000-11-27]
  608.   - Added include to step.rc parsing, allows for inclusion
  609.     of other files when loading the step.rc
  610.     syntax is include <path & file name>
  611.     e.g. include $litestepdir$popup.rc
  612.     included files are processed where they are included
  613.     (so don't use variables defined after the include statement
  614.     in the included file)
  615.  
  616. - Modified [vwm2, sysvwm, lsapi/ Chaku / 2000-11-27]
  617.   - Modified !VWMMoveApp, !VWMOpen, !VWMDesk to accept desktop names for vwm2
  618.   - Fixed the way desktop names are handled in sysvwm, so that first character of the desktop
  619.     name can be a number.
  620.   - Fixed !VWMDesk's boundary checking problem, but not !VWMMoveApp's yet
  621.   - Added my name to the about box :-)
  622.  
  623. - Modified [Command, Lsapi / Message / 2000-11-27]
  624.   - Added CommandBevel to put a bevel around the command window
  625.   - Added CommandBevelSize, CommandBevelLightColor, CommandBevelDarkColor
  626.   - Fixed Frame3D, it was swapping some coordinates
  627.   - Added inclusion of lsdebug.h to macros.h
  628.   - Added some basic error checking to macros.h to verify proper order of
  629.     include files. (macros.h needs to be included before windows.h)
  630.  
  631. - Modified [Popup2 / NeXTer / 2000-11-27]
  632.   - Fixed the RevID so that the right version number is reported
  633.  
  634. - Modified [sysvwm / Chaku / 2000-11-25]
  635.   - Fixed UnRegisterBangCommands function, so that it actually remove all the bangs
  636.   - Modified !VWMMoveApp to accept desktop number(starts from 0).
  637.   - Modified !VWMMoveApp, !VWMOpen, !VWMDesk to accept desktop names.
  638.  
  639. - Modified [command, lsapi, popup2, hookmgr, hook / Message / 2000-11-24]
  640.   - Added !CommandFocus - will show the command window if it is hidden and
  641.     set focus in the edit control
  642.   - Added response to LM_REFRESH & !Refresh
  643.   - Added _LSDEBUGPRINTMSG(text, msg) to lsdebug.h, msg is an int representing a
  644.     window message, when the output the int will be in hex form
  645.     E.G. _LSDEBUGPRINTMSG("WM_LBUTTONUP", 514) will output:
  646.     <filename>:<line number> WM_LBUTTONUP = 202
  647.   - Fixed drop files to inclose a path in qoutes if it included spaces when using
  648.     !PopupRun
  649.   - Readded code to hookmgr and hook to handle CallWndProc, evidently the cause
  650.     for the lockups was the hooking of the debugger (in my case deb.exe), so code
  651.     has been added to keep the deb.exe proccess from being hooked. Anyone using hooks
  652.     should replace "deb.exe" in hook.cpp with the name of their debugger. (The code to
  653.     enable CallWndProc is enabled by defining _TEST_CODE)
  654.  
  655. - Modified [command / Message / 2000-11-24]
  656.   - Added !CommandShow, !CommandHide, !CommandToggle, CommandHideOnUnfocus,
  657.     CommandHiddenOnStart, CommandNoClearOnCommand (these all function exactly
  658.     like their lsxcommand counterparts)
  659.  
  660. == Build 2000-11-24 ===========================================================
  661.  
  662. - Modified [command, lsapi / Message / 2000-11-24]
  663.   - Command.dll is now functional on the basic level, see command.txt for details
  664.   - Added _LSDEBUGLASTERR to lsdebug.h, it calls GetLastError and passes it to
  665.     FormatMessage to retrieve the error message for the error number then outputs
  666.     the message using OutputDebugString
  667.   - Added _LSDEBUGLASTERR2(dword) to lsdebug.h, same functionality as _LSDEBUGLASTERR
  668.     but uses an error number passed into it instead of GetLastError
  669.   - Added macros.h to lsapi project to hold commonly used macros
  670.     - Added CONVERT_COORDINATE_X(x) and CONVERT_COORDINATE_Y(y) to macros.h, they convert
  671.       a negative coordinate to be relative from the right/bottom of the screen
  672.   - Changed to LSExecute and LSExecuteEx's return values to something more sensible, it would
  673.     return anything from 0, NULL or an error before if it failed, now it returns a value in
  674.     accordance with ShellExecute. A value greater than 32 if successful and a value less than
  675.     or equal to 32 if it fails. This should allow for the ability to tell if a command executed
  676.     failed or succeeded properly now
  677.   - Added MRUList class (mru.cpp and mru.h) to lsapi project, allows for the use of a common
  678.     storage for modules needing to maintain a MRU run list. See command.cpp for an example
  679.     implementation.
  680.  
  681. - Modified [taskbar / Chaku / 2000-11-24]
  682.   - Fixed the start button text position problem, and the non-responsive mouse
  683.     clicking when start button is absent
  684.  
  685. - Modified [Desktop2 / NeXTer / 2000-11-23]
  686.   - The !DesktopSetArea command is finally working, I must have been very
  687.     tired when I wrote that code. Not only did it call the wrong function,
  688.     but also registered the wrong command. That noone hasn't noticed before
  689.     now is pretty remarkable
  690.  
  691. - Modified [taskbar / Chaku / 2000-11-22]
  692.   - Added the task flashing feature, TaskButtonFlash, and some flashing color
  693.     and skining code.
  694.  
  695. - Fixed [popup2 / Kevin / 2000-11-21]
  696.   - Popups other than the default one did not adjust their position to make
  697.     sure they were within the screen.
  698.  
  699. - Modified [LiteStep / NeXTer / 2000-11-21]
  700.   - Added the ability to specify bang commands on the command line. The bang
  701.     has to be the last argument since everything following it is assumed to
  702.     be the arguments for the bang (NOTE: This requires that LS is already
  703.     running)
  704.  
  705. - Modified [ShortCut2 / NeXTer / 2000-11-21]
  706.   - Added the ability to place shortcuts relative the screen center. Just add
  707.     a 'c' after the relevant coordinate (i.e., -42c)
  708.  
  709. == Build 2000-11-21 ===========================================================
  710.  
  711. - New Feature [popup2 / Kevin / 2000-11-20]
  712.   - Merged in Chaku's code for multiple popups
  713.  
  714. - New Feature [lsapi / Kevin / 2000-11-19]
  715.   - New bang command: !alert <message> <title>
  716.     - Displays a message box with the given message and title
  717.     - <title> is optional
  718.   - New bang command: !confirm <message> <title> <yes-command> <no-command>
  719.     - Displays a message box with the given message and title and lets
  720.       the user select "Yes" or "No"; then executes the appropriate
  721.       command.
  722.     - <title> is optional. <yes-command> and <no-command> must be
  723.       enclosed in brackets if they have parameters
  724.  
  725. - Modified [LSAPI / NeXTer / 2000-11-17]
  726.   - Removed a little overhead in the function setting the internal variables
  727.   - Removed the appending of a '\' to environment variables (type set in a console)
  728.     since this screwed up if the var referenced a file (comspec), and making an
  729.     accurate identification would take too much time, and fail for removable media
  730.  
  731. - Modified [sysvwm, vwm2 / Maduin / 2000-11-16]
  732.   - Added new messages to let other modules (popup2, namely) get desktop information.
  733.   - You can now give each desktop a name with the RC command VWMDeskNameN where
  734.     N is the desktop number. While these names aren't currently used by the VWM for
  735.     anything, popup2 (and eventually other modules) can use them.
  736.  
  737. - Modified [popup2 / Maduin / 2000-11-16]
  738.   - !PopupTasks can now be used as a regular bang command
  739.   - Added !PopupDesktops which lists the VWM desktops (with names) and lets you
  740.       switch between them. This can also be used as a regular bang command.
  741.       (This requires the new sysvwm.dll or vwm2.dll)
  742.  
  743. - Modified [popup2 / Maduin / 2000-11-15]
  744.   - Added PopupDefaultIcon to specify a default icon for entries with none
  745.   - Added PopupIconSpacing to set the number of pixels between the icon and the text
  746.   - Added PopupIconSize to resize icons
  747.   - Added PopupEntryAlignment and PopupTitleAlignment to set the horizontal
  748.       alignment of text. The value can be "left", "center", or "right". The default
  749.       is "left". These don't work perfectly with icons yet; but they're a work in
  750.       progress.
  751.   - Fixed a little memory leak
  752.  
  753. - Changed [Popup2 / Message / 2000-11-12]
  754.   - Removed 2000-10-18 additions to popup2 for right click open
  755.   - Implemented right click context menus for the following items: !PopupFolder,
  756.     !PopupDynamicFolder, !DynamicFolder, !PopupMyComputer, !PopupNetwork, !PopupControlPanel,
  757.     !PopupPrinters (this code is by no means perfect, i.e. sub menus on the context menu
  758.     do not function, i.e. the send to menu)
  759.  
  760. - Fixed [Litestep / Message / 2000-11-10]
  761.   - Finished converting void installLitestep(LPCSTR szPath) to use resource
  762.     strings, only void uninstallLitestep() in litestep.cpp is left to do
  763.   - Added an uninstall litestep option to the ctl-alt-f1 recovery menu
  764.   - Changed the recovery menu to use GetResStr instead of LoadString to allow
  765.     for localization
  766.  
  767. - Fixed [Desktop2 / NeXTer / 2000-11-07]
  768.   - Oups... Setting the parent to the desktop made it show up in the task
  769.     list. Back to the drawing board
  770.  
  771. - Rollback [Popup2 / NeXTer / 2000-11-07]
  772.   - Due to compatibility problems, Popup2 has been rolled back to the
  773.     pre-2000-11-04 state. The changes will be re-added when the problems have
  774.     been fixed
  775.  
  776. - Modified [Desktop2 / NeXTer / 2000-11-07]
  777.   - Changed the parent window to the desktop and removed the clipping.
  778.     This should (theoretically) make it easier to adapt LS to a multi-monitor
  779.     setup
  780.  
  781. - Modified [LSAPI / NeXTer / 2000-11-06]
  782.   - Added the envvar UserName
  783.  
  784. - Modified [sysvwm / NeXTer / 2000-11-03]
  785.   - Added support for LSBox
  786.   - Fixed a lot of problems with the mouse handling
  787.  
  788. - Added [Desktop2 / NeXTer / 2000-11-01]
  789.   - Added !DesktopSetArea left top right bottom, the rules are the same as
  790.     for the normal settings
  791.  
  792. - Fixed [DllMgr / NeXTer / 2000-11-01]
  793.   - The module map was case sensitive, which is rather silly on a case insensitive
  794.     file system
  795.  
  796. - Fixed [LiteStep / NeXTer / 2000-10-30]
  797.   - The -install/-uninstall feature is no longer broken under 9x (why hasn't
  798.     anyone reported this before?)
  799.  
  800. - Modified [LSAPI / NeXTer / 2000-10-30]
  801.   - Cleaned up GetToken() a bit. Had forgotten a couple of silly things the
  802.     last time I changed it
  803.  
  804. - Modified [Wharf / NeXTer / 2000-10-29]
  805.   - After inceasant pestering by DeViLbOi, WharfAlwaysOnTop now defaults to
  806.     false
  807.  
  808. - Modified [lsapi / Maduin / 2000-10-19]
  809.   - Added simple expression support to If. Now supports boolean
  810.     connectives ("and", "or" and "not") and comparison of integers
  811.     using relational operators (=, <>, <=, <, >=, >). Support for
  812.     strings and arithmetic is coming.
  813.  
  814. - Modified [lsapi / Message / 2000-10-18]
  815.   - Added two new variables ResolutionX and ResolutionY which is the screen height and
  816.     width in pixels, not very usefull with the current if,else implementation, but
  817.     provided for future use with expressions
  818.  
  819. - Added [Popup2 / Message / 2000-10-18]
  820.   - Right clicking on a menu item that is a !PopupFolder or !PopupDynamicFolder, or one of
  821.     of their subfolders. will cause the directory to be opened in a single pane explorer
  822.     window
  823.  
  824. - Modified [lsapi / Maduin / 2000-10-18]
  825.   - Added preliminary support for conditionals (If/ElseIf/Else/EndIf) to the
  826.     step.rc. It doesn't support real expressions yet, but you can conditionally
  827.     process blocks of commands based on variables.
  828.   - Added predefined variables for OS detection (useful with conditionals)
  829.   - LSAPI.TXT has more detailed information on both of these
  830.  
  831. - Fixed [Lsapi / Message / 2000-10-14]
  832.   - If a variable is a system variable (i.e. $windir$) it will now append a
  833.     backslash to the variable, this should make all directory variables behave the
  834.     same with a back slash now
  835.  
  836. == Build 2000-10-06 ===========================================================
  837.  
  838. - Modified [Shortcut2 / NeXTer / 2000-10-06]
  839.   - The caption set for the shortcut is now set as the window caption for
  840.     the shortcut, so that operations can be performed on individual shortcuts
  841.     when using an advanced scripting module
  842.   - Added the ability to set whether or not captions are shown for all and
  843.     individual shortcuts. See shortcut2.txt for details
  844.  
  845. - Modified [Wharf, LSAPI / NeXTer / 2000-10-03]
  846.   Wharf:
  847.   - Fixed the sound handling, thanks to DeViLbOi for pointing it out
  848.   LSAPI:
  849.   - Changed GetRCBoolDef() to interpret the value as true if declared but not
  850.     assigned a value, or assigned a value not recognized as a false
  851.  
  852. - Modified [LiteStep, Hotkey / NeXTer / 2000-10-02]
  853.   LiteStep:
  854.   - Cleaned up the about dialog a bit
  855.   Hotkey:
  856.   - Enter, Mul, Div, Add, Sub and Dec (decimal key) are now supported
  857.  
  858. - Added [command / Message / 2000-09-26]
  859.   - Added start of the "lsxcommand" type core module
  860.  
  861. - Modified [taskbar, systray2 / noodge, Message / 2000-09-25]
  862.   - Added resource strings.
  863.  
  864. - Modified [desktop, desktop2, dllmgr, hookmgr, hotkey, litestep / Message / 2000--09-25]
  865.   - Changed resource string identifier to use the following pattern IDS_<MODULENAME>_ERROR<#>
  866.  
  867. - Modified [litestep / Maduin / 2000-09-21]
  868.   - If Litestep is rendered unusable due to problems with modules and/or
  869.     themes, you can hit Ctrl+Alt+F1 to bring up a recovery menu with a few
  870.     basic commands (recycle, quit, run, shutdown) that should help you fix
  871.     the problem.
  872.  
  873. - Modified [popup2 / Maduin / 2000-09-21]
  874.   - Added the following menu items (these work just like !PopupTasks)
  875.     - !PopupMyComputer
  876.     - !PopupNetwork
  877.     - !PopupControlPanel
  878.     - !PopupPrinters
  879.   - Added NoPopupTitleText to prevent the display of title text while
  880.     still displaying the title graphic.
  881.   - The bottom bitmap (PopupBottomPix) can now be any height; before
  882.     it had to be the same height as the title bitmap.
  883.   - Integrated the .icon support from popup 9.3. If icons are enabled
  884.     (PopupIcons) then you can explicitly assign an icon to an entry with:
  885.       *Popup .icon=custom.ico "Title" command.exe
  886.     This works for all popup item types. If the icon file name has spaces
  887.     in it then you must enclose the whole thing in quotes (".icon=a b.ico").
  888.  
  889. - Modified [litestep, lsapi / Message / 2000-09-17]
  890.   - Added new settings for the about box, ThemeName and ThemeAuthor, to be displayed in the
  891.     about box, ThemeName can be 20 characters long and ThemeAuthor 15 characters long
  892.  
  893. - Modified [install3 / Headius / 2000-09-04]
  894.   - Added a couple more dialogs to the install3 project
  895.  
  896. - Fixed [hotkey / Headius / 2000-09-04]
  897.   - Hotkeys were case sensitive, and windows expected caps
  898.     - i.e. "Win A" worked..."Win a" did not
  899.     - Always registered as the capitolized version
  900.  
  901. == Build 2000-09-04 ===========================================================
  902.  
  903. - Fixed [lsapi, vwm2, wharf / Headius / 2000-09-04]
  904.   - Removed support for TransparentBlt Win32 API call
  905.     - Windows98 implementation seems to be leaking, may have been source of tasks.dll problems
  906.     - Let me know if this fixes tasks problems
  907.   - Removed extraneous call to destroyWindow in VWM2
  908.     - Resulted in window being destroyed twice, with subsequent memory errors
  909.   - Fixed calls to CombineRgn in Wharf
  910.     - Calls were made with a null destination, causing first-chance exceptions
  911.  
  912. - Modified [LSAPI, Popup2, Wharf, SysTray2, Taskbar / NeXTer / 2000-08-31]
  913.   - Altered the WM_POPUP message to pass both mouse coords in lParam
  914.  
  915. - Modified [Hotkey / NeXTer / 2000-08-30]
  916.   - Shouldn't reserve unused hotkeys anymore (specifically ctrl-esc), let me
  917.     know if it doesn't work
  918.  
  919. - Added, Modified [console, core, litestep / Headius / 2000-08-29]
  920.   - Added console project
  921.     - Implemented a most basic console loadmodule
  922.     - Log messages sent to the core log dispatch will be displayed according to preferences
  923.     - Needs a lot of work.
  924.   - Added ILogDispatch, ILogHandler, IStepSettings interfaces to core
  925.   - Added StandardLogDispatch to litestep
  926.   - Modified ILitestep to support ILogDispatch retrieval
  927.  
  928.  
  929. == Build 2000-08-29 ==========================================================
  930.  
  931. - Fixed [taskbar, systray2 / Headius / 2000-08-29]
  932.   - Repaired a memory fault bug in systray2 when running with another systray going
  933.   - Repaired a memory fault in systray2 when updating the tooltip for a new icon
  934.   - Repaired a memory fault in taskbar when adding windows to the taskbar
  935.  
  936. - Modified [LSAPI / NeXTer / 2000-08-29]
  937.   - Cleaned up GetRCColor() after the change to the settings caching
  938.  
  939. - Fixed [taskbar / Headius / 2000-08-29]
  940.   - Removed a couple small memory leaks
  941.  
  942. - Modified [lsapi, desktop, desktop2, dllmgr, hookmgr, hotkey / Message / 2000-08-29]
  943.   LSAPI:
  944.     - Added GetResStr, and GetResStrEx to retrieve resource strings based on
  945.      locale, GetResStrEx does a sprintf on the resource string
  946.   The Rest:
  947.     Moved messages to resource string tables. (So far only English string tables are done
  948.      but other languages can easily be added now)
  949.  
  950. - Rewrite [lsapi / Headius / 2000-08-28]
  951.   - Complete rewrite of the step.rc loading/caching internals
  952.     - Settings were cached based on how they were requested the first time
  953.     - Now cached once at startup, reinterpreted on request
  954.     - Possible symptoms of the old way causing problems:
  955.       - Colors showing up as black, regardless of setting
  956.       - Strings coming back as "TRUE" or "FALSE"
  957.       - Integers always being 1 or 0, regardless of setting
  958.       - Boolean values always being TRUE or FALSE
  959.     - Memory usage should be lower
  960.     - May be a bit faster
  961.     - Will lessen the effect of module order on settings validity
  962.   - Moved exported settings functions to StepSettings.cpp
  963.  
  964. - Modified [Popup2 / NeXTer / 2000-08-28]
  965.   - Now handles scrolling of long menus, courtesy of Sylvain Rouquette (Syl)
  966.   - New setting: PopupScrollSpeed <int>, default is 1
  967.   - Errata: PopupTitleBold only works in conjunction with PopupFontFace, due
  968.     to the method for retreiving the default font
  969.  
  970. - Modified [Popup2 / NeXTer / 2000-08-27]
  971.   - Should now handle gradients gracefully on newer builds, let me know if any
  972.     problems occur
  973.   - Added the settings PopupTitleBold <bool> and PopupEntryFontHeight <int>
  974.   - Made !DynamicFolder menus display the caption of their parent
  975.   - Fixed the vertical alignment of the text, should look better now
  976.  
  977.  
  978. == Build: 2000-08-25 ==========================================================
  979.  
  980. - Modified [LSAPI, Wharf / NeXTer / 2000-08-26]
  981.   LSAPI:
  982.   - Added the function BOOL GetRCBoolDef(LPCTSTR szKeyName, BOOL bDefault)
  983.     If not found, or no value specified, it returns bDefault, otherwise it
  984.     returns the value
  985.   Wharf:
  986.   - Added the setting WharfAlwaysOnTop
  987.  
  988. - Fixed [wharf / Headius / 2000-08-25]
  989.   - Rewrote the wharf types to be classes, subwharfType extends wharfType
  990.   - Moved painting code into wharf type classes
  991.   - Restructured paint handling to call class methods
  992.   - Fixed the immovable wharf bug
  993.   - Fixed (re-implemented) the right-click popup
  994.  
  995.  
  996. == Build: 2000-08-24b =========================================================
  997.  
  998. - Fixed [lsapi / Headius / 2000-08-24]
  999.   - Fixed the GetRCXXX functions to cache a special string when a value was not
  1000.     found to prevent arbitrary calls from setting their own default value into
  1001.     the cache.
  1002.   - Changed LSGetImagePath() again, to trust the results from GetRCXXX.
  1003.  
  1004. - Modified [LSAPI / NeXTer / 2000-08-24]
  1005.   - Changed LSGetImagePath() to work properly with the new caching system
  1006.  
  1007.  
  1008. == Build: 2000-08-24 ==========================================================
  1009.  
  1010. - Modified [Popup2 / NeXTer / 2000-08-24]
  1011.   - Changed the min width default to 128px
  1012.  
  1013. - Modified [LSAPI / NeXTer / 2000-08-23]
  1014.   - Changed LoadLSImage() so that it uses the correct path if LSImageFolder
  1015.     has been changed during a recycle.
  1016.  
  1017. - Added [desktop / Headius / 2000-08-23]
  1018.   - Added a dummy desktop.dll module that informs the user to use desktop2.dll
  1019.     instead
  1020.   - desktop.dll dummy will load desktop2.dll to aid upgrading older versions of
  1021.     LS
  1022.  
  1023. - Added [ShortCut2 / NeXTer / 2000-08-20]
  1024.   - Added the ability to define default sounds, see shortcut2.txt for details
  1025.  
  1026.  
  1027. == Build: 2000-08-17 ==========================================================
  1028.  
  1029. - Modified [LiteStep / NeXTer / 2000-08-17]
  1030.   - Unbroke the shell warning, sorry about that folks
  1031.  
  1032. - Modified [dllmgr, lsapi, popup, lswinbase / Headius / 2000-08-17]
  1033.   - Added code to force bang commands to be called from within the thread that
  1034.     registered them
  1035.   - Removed the return of HTNOWHERE from popup's hit testing, works threaded
  1036.     now
  1037.   - Modified failed class registration in Window to give it a second try
  1038.   - Modified the thread waits in dllmgr to be non-blocking, prevents lockups
  1039.     when mixing threaded and non-threaded modules
  1040.  
  1041. - Modified [ShortCut2, Hotkey, LSAPI, Popup2 / NeXTer / 2000-08-17]
  1042.   ShortCut2:
  1043.   - Can be refreshed with the use of the !Refresh command
  1044.   - The shortcuts now revert to the normal state before being shown
  1045.   Hotkey:
  1046.   - Now responds to the !Refresh command
  1047.   LSAPI:
  1048.   - Changed GetRCColor() back to the old way. Whatever the problem was, the fix
  1049.     broke it...
  1050.   Popup2:
  1051.   - Hidden files and folders are no longer shown
  1052.   - Hides the extensions for .bat and .pif files
  1053.  
  1054.  
  1055. == Build: 2000-08-16 ==========================================================
  1056.  
  1057. - Modified [lsapi / Headius / 2000-08-16]
  1058.   - Changed !RecycleStep to !Refresh, see above for information on its use
  1059.   - Added new Litestep Message LM_REFRESH
  1060.     - Module dev: Register to recieve this message using LM_REGISTERMESSAGES
  1061.           and your modules will be notified when settings have been refreshed.
  1062.     - Ideally, modules will eventually not have to be completely recycled
  1063.       to re-load settings
  1064.     - Please support this feature in your modules. It will not break any
  1065.       compatibility with other LS variants
  1066.  
  1067. - Fixed [Popup2, Lsapi / Message / 2000-08-16]
  1068.   - Fixed a bug in !PopupDynamicFolder causing it not to display
  1069.   - Added !RecycleStep which clears the step.rc cache and reloads it with out a
  1070.       hard recycle of litestep so now you can do this
  1071.       !execute [!recyclestep][!reloadmodule $litestepdir$popup2.dll] and
  1072.       changes made in the step.rc affecting only popup2.dll will take affect
  1073.       without recycling all of litestep
  1074.  
  1075. - Fixed [LSAPI / NeXTer / 2000-08-16]
  1076.   - The BitmapToRegion() function had the wrong conditions for flagging
  1077.     non-transparent sections
  1078.   - GetRCColor() used BGR order when LSColorBGR wasn't specified. Noone knows
  1079.     why it worked before
  1080.  
  1081. - Modified [ShortCut2 / NeXTer / 2000-08-15]
  1082.   - When using sounds you can now use .none for the mouseover to only get sound
  1083.     on click
  1084.  
  1085. - Fixed [lsapi / Headius / 2000-08-15]
  1086.   - Flaw in GetRCBool that caused it to cache the passed-in value, rather than
  1087.     the actual result of the variable
  1088.   - May or may not have caused people problems, but it was in error
  1089.  
  1090. == Build: 2000-08-15 ==========================================================
  1091.  
  1092. - Fixed [lsapi, dllmgr / Headius / 2000-08-15]
  1093.   - lsapi:
  1094.     - Modified the line caching code to use a seperate map
  1095.     - Modified FindLine to look up lines from the line cache, O(1) complexity
  1096.       instead of O(n) before
  1097.     - Fixed problem in the line/variable caches that resulted in variables
  1098.       stored case-sensitive
  1099.     - Fixed bug in TransparentBltLS where the results were not being blitted
  1100.       correctly
  1101.   - dllmgr:
  1102.     - Further improvements to module threading
  1103.       - Prevents LoadModule and QuitModule from running simultaneously
  1104.       - Prevents multiple initModuleEx from running simultaneously
  1105.       - initModuleEx calls fire in sequence
  1106.  
  1107. - Fixed [lsapi / Headius / 2000-08-14]
  1108.   - Added grd's code back, for testing and fixing purposes
  1109.  
  1110.  
  1111. == Build: 2000-08-14 ==========================================================
  1112.  
  1113. - Enhancement [lsapi / Headius / 2000-08-14]
  1114.   - Added code to improve startup/recycle times by caching variables at the time they are read
  1115.   - Backed down bitmap, icon, and transparency changes to test them further (my fault)
  1116.  
  1117. - Rewrite [lsapi / grd / 2000-08-14]
  1118.   - Recoded BitmapToRegion, using a combination of the old and the new versions
  1119.   - Recoded TransparentBltLS and fixed:
  1120.     a) issue that might have caused leakage or protection faults.
  1121.     b) implementation that would make TransparentBltLS cause flicker.
  1122.   - Experimental recoding of LoadLSIcon, might not be compatible with all modules
  1123.  
  1124. - Fixed [dllmgr / Headius / 2000-08-13]
  1125.   - Added critical section code to force module loading to be sequential
  1126.     - Modules dependent on other modules to be loaded already required this
  1127.   - Determined an issue with threading: Bang Commands are executed in a seperate
  1128.     thread from the one they are running in. This is the problem with core popup.
  1129.     - We will be exploring a couple different options for executing bang commands
  1130.       in the appropriate context.
  1131.  
  1132. - Created [install3 / Headius / 2000-08-11]
  1133.   - Added install3 project to be the new installation
  1134.   - Began creating installation dialogs
  1135.  
  1136.  
  1137. == Build: 2000-08-11 ==========================================================
  1138.  
  1139. - Enhancement [dllmgr / Headius / 2000-08-11]
  1140.   - Added code to DLLModuleManager to optionally run modules in their own threads
  1141.     - EXPERIMENTAL - please let me know what problems you have with it
  1142.     - Add "threaded" after your LoadModule lines to load modules in their own threads
  1143.       - Example: LoadModule "$LiteStepDir$\desktop2.dll" threaded
  1144.     - Module developers that wish to handle their own message pumps may do so. specifying "nopump" in the
  1145.       LoadModule line will defer to the module's pump. If there is no pump, the module will terminate immediately
  1146.     - Certain modules appear to have problems running threaded, such as core popups. We are looking into it.
  1147.     - You should see a performance improvement on multi-processor systems
  1148.  
  1149. - Modified [LSAPI, ShortCut2 / NeXTer / 2000-08-10]
  1150.   LSAPI:
  1151.   - Made !UnloadModule and !ReloadModule able to handle an unlimited number
  1152.     of modules. Each module should be enclosed in quotes to follow the
  1153.     recommendations for forward compatibility.
  1154.   ShortCut2:
  1155.   - Added drag'n'drop, courtesy of Sylvain Rouquette (Syl)
  1156.  
  1157. - Fixed [vwm2 / grd / 2000-08-07]
  1158.   - fixed the list of windows so that GXExplorer and similar programs should work
  1159.   - fixed a potential protection fault bug in the painting routine
  1160.  
  1161. - Modified [ShortCut2 / NeXTer / 2000-08-07]
  1162.   - Added sound support, courtesy of Sylvain Rouquette (Syl)
  1163.  
  1164.  
  1165. == Build: 2000-08-06 ==========================================================
  1166.  
  1167. - Fixed [systray2 / grd / 2000-08-06]
  1168.   - fixed a resource leak upon tray icon deletion
  1169.  
  1170. - Modified [LiteStep, Popup2 / NeXTer / 2000-08-05]
  1171.   Popup2:
  1172.   - Made the arrows static (doesn't resize)
  1173.   - Now takes the folder arrow into account when calculating the width of items
  1174.   LiteStep:
  1175.   - Changed some VC code into more generic API code in the startup code
  1176.  
  1177. - Fixed [systray2 / grd / 2000-08-05]
  1178.   - fixed a bug where the icons got deleted on recycle
  1179.   - fixed some other minor issues
  1180.  
  1181.  
  1182. == Build: 2000-08-04 ==========================================================
  1183.  
  1184. - Modified [LiteStep / NeXTer / 2000-08-03]
  1185.   - Added the ability to pause a recycle by holding the shift key
  1186.   - Made sure all messageboxes have the topmost flag set
  1187.  
  1188. - Fixed [vwm2 / grd / 2000-08-03]
  1189.   - fixed some bugs on recycling (I think)
  1190.   - added support for sticky-windows
  1191.   - added support for changing desk on window focus
  1192.  
  1193.  
  1194. == Build: 2000-08-03 ==========================================================
  1195.  
  1196. - Modified [LiteStep / NeXTer / 2000-08-02]
  1197.   - Fixed a minor syntax error
  1198.   - Added code to prevent the accidental launch of multiple instances
  1199.   - Fixed the behavior of the -nostartup switch
  1200.   - Implemented support for specifying an arbitrary step.rc on the
  1201.     command line (the support was already there, but nonfunctional)
  1202.  
  1203. - Fixed [litestep / Headius / 2000-08-01]
  1204.   - Fixed /install flag to add a backslash between litestep dir and Litestep.exe if needed
  1205.  
  1206. - Modified [SafeStr, LiteStep / NeXTer / 2000-08-01]
  1207.   SafeStr:
  1208.   - Modified change to CharInStr() to handle null characters.
  1209.   LiteStep:
  1210.   - Changed the about box slightly.
  1211.  
  1212. - Modified [lsapi / Headius / 07-28-00]
  1213.   - Modified CharInStr function to use strchr rather than current search method
  1214.   - Moved all settings-related code out of lsapi into a StepSettings class
  1215.   - lsapi exports make calls on the StepSettings class
  1216.   - StepSettings encapsulates all the details of reading in step.rc format configs
  1217.  
  1218.  
  1219. == Build: 2000-07-27 ==========================================================
  1220.  
  1221. - Fixed [systray2 / grd / 07-26-00]
  1222.   - systray2 would crash litestep when trying to remove icons
  1223.   - systray2 default wrapping direction was up, now changed to down
  1224.   - added systray2 documentation (systray2.txt)
  1225.  
  1226.  
  1227. == Build: 2000-07-25 ==========================================================
  1228.  
  1229. - Fixed [Wharf / Message / 07-21-00]
  1230.   - Modules using LSWinbase would register for LM messages using hParent which
  1231.     was set to the wharf, the wharf now passes these messages on to LiteStep
  1232.  
  1233. - Modified [Popup2 / Message / 07-21-00]
  1234.   - Added !PopupDynamicFolder for compatiability with old Popup
  1235.   - Added folder merging capability to !DynamicFolder, !PopupDynamicFolder
  1236.     and !PopupFolder
  1237.  
  1238. - Modified [LSAPI / NeXTer / 07-21-00]
  1239.   - Changed the parsing system to treat token"token" as a single token, to
  1240.     make the use of older themes easier.
  1241.  
  1242.  
  1243. == Build: 2000-07-21 ==========================================================
  1244.  
  1245. - Fixed [LiteStep / NeXTer / 07-21-00]
  1246.   - Fixed the icon. It got corrupted by the CVS system.
  1247.   - setupVars() wasn't called soon enough on recycle, so anything that
  1248.     relied on the system variables would cause errors.
  1249.  
  1250.  
  1251. == Build: 2000-07-20 ==========================================================
  1252.  
  1253. - Added [systray2, popup2 / Headius / 07-17-00]
  1254.   - Added the new systray2 module, a cleaned up and updated version of grd's grdtray
  1255.     - Credit goes to grd for this one, and in record time too!
  1256.     - Very early implementation, not tested heavily
  1257.   - Added popup2 as a new popup based on Re5ource's/Johan Redestig's popup v8
  1258.     - It was decided that v8 was in better shape than 9.3x and a better candidate for integrating into LS core
  1259.     - Credit goes to Johan for his wonderful contribution to Litestep!
  1260.  
  1261. - Added [vwm2 / grd / 07-10-00]
  1262.   - Complete rewrite from scratch. Yet not so great but quite stable
  1263.     and most features works.
  1264.  
  1265. - Modified [LiteStep / Message / 06-25-00]
  1266.  - Updated the resource version information
  1267.  
  1268. - Modified [core, winlist, msgmgr, dllmgr, bangmgr, litestep / Headius / 06-22-2000]
  1269.  - split core service interfaces into ole and non-ole versions
  1270.  
  1271. - Fixed [litestep / Maduin / 06-16-2000]
  1272.   - Had to recycle twice to get step.rc changes to take effect
  1273.  
  1274. - Fixed [litestep / Maduin / 06-15-2000]
  1275.   - Minimized applications weren't being hidden
  1276.  
  1277.  
  1278. == Build: 2000-06-10 ==========================================================
  1279.  
  1280. - Modified [litestep / Message / 06-10-2000]
  1281.  - Added new icon
  1282.  - Removed old about box dialog from litestep.rc
  1283.  
  1284. - Modified [lsapi / Maduin / 06-10-2000]
  1285.   - Added new about box implementation
  1286.  
  1287. - Modified [lsapi / Headius / 06-09-00]
  1288.   - Added LitestepAPIInit function to contain one-time init code for lsapi.dll
  1289.   - Added support for TransparentBlt to TransparentBltLS to speed up FF00FF-style
  1290.     transparency under 98 and 2k
  1291.  
  1292. - Fixed [ MsgMgr, WinList, LsTime2 / Message / 06-04-00]
  1293.   MsgMgr:
  1294.   - Changed from PostMessage to SendMessage in GetRevId since it was waiting
  1295.      for a return string (per Maduin)
  1296.   WinList:
  1297.   - Was registering for LM_GETREVID, didn't need to, removed
  1298.   LsTime2:
  1299.   - hParent not being set, changed to GetLitetepWnd when sending LM_REGISTERMESSAGE
  1300.      and LM_UNREGISTERMESSAGE, will now show in !about
  1301.  
  1302. - Modified [ hook, hookmgr, litestep / Message / 06-03-00]
  1303.   HookMgr:
  1304.   - Yet another rewrite
  1305.     - No longer uses lswinbase
  1306.     - HookMgr uses a sepereate thread now
  1307.     - Added HookCallback for modules to use when using HookMgr
  1308.     - Probably should be using WM_CALLWNDPROC or WM_CALLWNDPROCRET but these
  1309.      lock my system up everytime i try set one... =\ ( so the implementation
  1310.      is commented out for now)
  1311.   Hook:
  1312.   - Aww... yet another rewrite of hook (Back to using WM_COPYDATA, silly me
  1313.      you can't pass the pointer to the MSG struct from GetMsgProc)
  1314.   - Probably should be using WM_CALLWNDPROC or WM_CALLWNDPROCRET but these
  1315.      lock my system up everytime i try set one... =\ ( so the implementation
  1316.      is commented out for now)
  1317.   LiteStep:
  1318.   - Removed call causing hookmgr to be unloaded twice
  1319.   - Moved code that hides minimized windows  from hook.dll to litestep
  1320.  
  1321. - Modified [core, litestep, msgmgr / Maduin / 05-29-2000]
  1322.   - Modified the SendMessage function in IMessageManager to return a value as
  1323.       some messages depend on this.
  1324.   - Added functions GetWindowsForMessage and GetMessagesForWindow to the
  1325.       IMessageManager interface and the StandardMessageManager implementation.
  1326.  
  1327. - Modified [LSWinBase / NeXTer / 05-29-00]
  1328.   - The windows' class pointer wasn't initialized early enough, resulting in
  1329.     any messages originating from the WM_CREATE handler being unhandled.
  1330.  
  1331.  
  1332. == Build: 2000-05-28 ==========================================================
  1333.  
  1334. - Modified [Shortcut2 / NeXTer / 05-28-00]
  1335.   - When using opaque shortcut images, you can speed up loading considerably
  1336.     by adding an 'o' to the flags. This will prevent the use of regions for
  1337.     the marked shortcut.
  1338.  
  1339. - Fixed [lsapi, litestep / Headius / 05-28-00]
  1340.   - Added arbitrary .rc file support to the .rc caching mechanism
  1341.   - Added CacheRCFile to read/parse/cache an RC file
  1342.   - Wired CacheRCFile into SetupRC and LCOpen to fix the problems with non-step/theme.rc open
  1343.     requests failing with "File not found"
  1344.   - Reorganized start/stop/load sequence in main executable to prevent it from loading
  1345.     settings twice initially. Should speed up start time.
  1346.  
  1347. - Fixed [ Laspi, Desktop2 / Message / 05-27-00]
  1348.   - Fixed a memory leak in AddVariable, it was returning before deleting
  1349.     lowerName
  1350.   - Fixed a memory leak in ParseBangCommand, was not deleting tempCommand if
  1351.     (FAILED(hr))
  1352.   - Removed all references to BangMap, !About bangs not functioning at this
  1353.     time
  1354.   - Added __stdcall to bang commands for addition of BangManager
  1355.   - Added lsdebug.h in \lsapi, contains macros for debugging
  1356.  
  1357. - Added [bangmgr, core, lsapi, litestep / Headius / 05-26-00]
  1358.  - Added new interfaces to the core:
  1359.    * IBangManager - a bang command manager/executor
  1360.    * IBangCommand - represents an executable bang command in some form
  1361.    * ILitestep - overarching interface that contains all core services
  1362.  - Created StandardBangManager implementation of IBangManager
  1363.  - Created CallbackBangCommand implementation of IBangCommand
  1364.    * Handles callback-style bang commands, like what exists today
  1365.  - Wired StandardBangManager and CallbackBangCommand into the LSAPI bang functions:
  1366.    * AddBangCommand and AddBangCommandEx to add callback bangs
  1367.    * RemoveBangCommand to remove callback bangs
  1368.    * ParseBangCommand to parse and execute bang commands with no return values
  1369.    * Callback bangs currently do not support return values through LSAPI and Step.rc
  1370.  - Created implementation of ILitestep interface in class "Litestep"
  1371.  - Wired Litestep into existing services
  1372.    * ILitestep supports querying for default services as well as finding/registering/unregistering
  1373.      3rd-party implementations of core services
  1374.  - Added functions to populate and clear IBangManager between recycles
  1375.  - Cleaned up reference counting within StandardBangManager. Developers: AddRef before
  1376.    you pass an IBangCommand to be added.
  1377.  
  1378.  
  1379. == Build: 2000-05-26 ==========================================================
  1380.  
  1381. - Modified [projects, lsapi / Headius / 05-25-00]
  1382.  - Updated RC file buffers to be kept in a single map, indexed by the full path of the file
  1383.  - Added caching mechanism for *Commands in the RC files
  1384.  - Added map from file to *Command cache to allow support for arbitrary files
  1385.  - Modified SetupRC to populate caches
  1386.  - Updated LCOpen, LCClose, and the LCRead functions to use the caches, rather than
  1387.    opening a file
  1388.  
  1389. - Modified [LSTime2, Shortcut2, LiteStep / NeXTer / 05-25-00]
  1390.   LSTime2:
  1391.   - Added ntpfrac.cpp to avoid the irritating warnings about initialized data
  1392.   Shortcut2:
  1393.   - After a tip from blkhawk, all drawing is now done in the WM_ERASEBKGND
  1394.     handler. Should be a wee bit smother than before.
  1395.   LiteStep:
  1396.   - Added a condition that makes it possible to build under BCB. This should be
  1397.     a temporary fix until Borland releases a fix for the BSTR handling.
  1398.  
  1399. - Workspaces [ Desktop2, Hotkey, Litestep, Lsapi, Lstime2, shortcut2, taskbar / Message / 05-24-00]
  1400.   - Added text files to each workspace to document the step.rc, bang commands
  1401.     and variables
  1402.   - completed Desktop2, LStime2, and Lsapi - other still need to be done
  1403.   - Add post-build steps to each workspace, the text file will be copied to
  1404.     \litestep\release\docs for easy collection when releasing a build
  1405.   - Add post-build steps to Litestep workspace to copy changes.txt and
  1406.     doc\license.txt to \litestep\release
  1407.  
  1408. - Modified [LSAPI / Headius / 05-24-00]
  1409.   - Removing neato debug dialogs in lsapi
  1410.   - Added hierarchical caching for rc file config lines
  1411.   - Modified rc file caching to use vector entries in a map, to allow for additional files
  1412.  
  1413. - Modified [LSAPI / NeXTer / 05-23-00]
  1414.   - Due to popular demand, yesterdays syntax change is no longer in effect.
  1415.     GetRCColor() will assume hex for single values and dec for triplets.
  1416.   - However, GetRCInt() does, as of yesterday accept values in either octal,
  1417.     decimal or hexadecimal. (Examples: Oct: 0370, Dec: 42, Hex: 0xF0E1D2C3)
  1418.   - Fixed the problem with LSGetImagePath() where it wouldn't refresh the
  1419.     setting after updating step.rc. (Thanks to Jugg for pointing it out)
  1420.  
  1421. - Modified [Winlist / Message / 05-22-00]
  1422.   - Changed LM_ADDWINDOW & LM_REMOVEWINDOW to LM_WINDOWCREATED &
  1423.      LM_WINDOWDESTROYED for compatiability with changes in hook
  1424.  
  1425. - Modified [LSAPI / NeXTer / 05-22-00]
  1426.   - Fixed the use of vectors, since it caused a crash when built under
  1427.     BCB. Should also be marginally faster since it now also makes proper
  1428.     use of iterators.
  1429.   - Also tweaked the GetRCxxx functions a bit. Bools can now be turned off with
  1430.     either off, false and no.
  1431.   - GetRCColor() now accepts color values as either a single value or a
  1432.     triplet in the bases octal, decimal and hexadecimal. All values default to
  1433.     decimal, so if you want hex, begin the value with 0x (zero x-ray), or just
  1434.     0 (zero) for octal. (Examples: 1241245, 0x00FF8040, 255 0 0, 020 030 040)
  1435.  
  1436. - Fixed [lstime2, lstime2 workspace / Message / 05-21-00]
  1437.   - Added two new builds to lstime2, now have Win32 Release, Win32 Debug which ar non-ntp versions
  1438.   of lstime, and Win32 Release NTP and Win32 Debug NTP which as NTP version of lstime2
  1439.   - Setup dialog (NTP) is now displaying (code in this module could still use some
  1440.      cleaning)
  1441.  
  1442. - Modified [LSWinBase, Desktop2, Shortcut2 / NeXTer / 05-21-00]
  1443.   LSWinBase:
  1444.   - Added Window::init() to allow proper initialization regardless of the
  1445.     project type.
  1446.   Desktop2:
  1447.   - Removed some superflous code, and fixed some other minor issues.
  1448.   Shortcut2:
  1449.   - Had forgotten to reset the region after changing the topmost attribute.
  1450.  
  1451. - Fixed [lstime2 / Message / 05-20-00]
  1452.   - Fixed a bug where the last character in the theme file was being
  1453.      overwritten with a null-terminating character (\0) if the file did not
  1454.      end in a newline (\n)
  1455.   - General house cleaning in drawing routines and data validation
  1456.  
  1457. - Modified [Shortcut2 / NeXTer / 05-20-00]
  1458.   - !ShortcutGroupOnTopToggle now works... I had forgotten to add the actual code
  1459.  
  1460. - Fixed [hook / Message / 05-19-00]
  1461.   - Moved hInst into shared memory section
  1462.   - Does not return HSHELL_WINDOWCREATED/DESTROYED for cmd.exe under w2k
  1463.      (may have something to do with threading)
  1464.   - Skip catching HSHELL_TASKMAN, HSHELL_LANGUAGE, HSHELL_ACTIVATESHELLWINDOW
  1465.      they were causing lockups in win9x
  1466.  
  1467. - Added [Lstime2 / Message / 05-19-00]
  1468.   - Rewrote lstime to d2 format using cpp and lswinbase
  1469.   - General cleaning (its finally working now)
  1470.   - Added NTP to lstime2, right click on the clock for the menu
  1471.   - First write of the ntpclient class (setup dialog doesnt display, but Ntp syncronization works)
  1472.  
  1473. - Modified [hook, hookmgr, litestep / Message / 05-18-00]
  1474.   - Removed the following libs from being linked (thet weren't needed):
  1475.     uuid.lib odbc32.lib odbccp32.lib gdi32.lib winspool.lib comdlg32.lib
  1476.     ole32.lib oleaut32.lib advapi32.lib
  1477.   - Removed headers files that were not needed
  1478.   - Revised shell message handling, the shell messages are now sent only to
  1479.     litestep to be handled by msgmgr and not hookmgr
  1480.   - Removed InstallShellFilter, shell hook is now install automatically
  1481.   - GetMsgProc no longer uses WM_COPYDATA, instead the LM_SHELLMESSAGE is sent
  1482.     to hookmgr with:
  1483.     wParam: Specifies whether the message has been removed from the queue
  1484.     lParam: Pointer to an MSG structure that contains details about the message
  1485.   - Removed litestep call to hookmgr for shell messages
  1486.   - Rewrote hookmgr to handle only WM messages and to d2 format
  1487.  
  1488. - Modified [Shortcut2 / NeXTer / 05-17-00]
  1489.   Shortcut2:
  1490.   - Added the command !ShortcutGroupOnTopToggle.
  1491.  
  1492. - Added [install2 / Message / 05-15-00]
  1493.   - Added install2 which is the ls24.5 installer by jugg
  1494.  
  1495. - Modified [lsapi, hookmgr / Headius / 05-15-00]
  1496.   - Updated GetRCXXX functions to use the variable cache
  1497.   - Fixed problem with variable cache not flushing during recycles
  1498.   - Removed the handling of a couple shell messages to prevent Task Manager lockup problems
  1499.  
  1500. - Modified [Shortcut2, LSAPI / NeXTer / 05-13-00]
  1501.   Shortcut2:
  1502.   - If a shortcut is started as hidden, the resources for it aren't created
  1503.     until it is shown, substantially decreasing the time to load LS if there
  1504.     are many hidden shortcuts.
  1505.   LSAPI:
  1506.   - Tweaked the parsers a little
  1507.  
  1508. - Modified [lsapi / Headius / 05-12-00]
  1509.   - changed RCBuffer, ThemeBuffer, and PicBuffer to use a vector internally
  1510.  
  1511. - Modified [Shortcut2, SysVWM / NeXTer / 04-27-00]
  1512.   Shortcut2:
  1513.   - You now have to preceed any creation flags with '#', otherwise it'll be
  1514.     assumed that it's the command.
  1515.   SysVWM:
  1516.   - Now uses the default LoadLSImage() function to load the images, so
  1517.     specifying a path to it shouldn't cause any problems.
  1518.  
  1519. - Modified [Shortcut2, LSAPI / NeXTer / 04-26-00]
  1520.   Shortcut2:
  1521.   - After som thorough testing by rootrider, it should now be pretty stable.
  1522.     Currently supported bang commands are !ShortcutGroupToggle,
  1523.     !ShortcutGroupShow, !ShortcutGroupHide, !ShortcutGroupOnTop &
  1524.     !ShortcutGroupOnBottom, followed by one or more group numbers, or * to
  1525.     perform the operation on all groups.
  1526.   LSAPI:
  1527.   - Now clears all evars on recycle.
  1528.  
  1529. - Added [Shortcut2 / NeXTer / 04-25-00]
  1530.   - Complete rewrite from scratch, 2nd edition. The first edition
  1531.     accidentally got overwritten when I had finished it...
  1532.  
  1533. - Modified [LSAPI, / MrJukes / 04-25-00]
  1534.   - Replaced the BitmapToRegion() function with a streamlined version.
  1535.  
  1536. - Modified [General, LSAPI / NeXTer / 04-23-00]
  1537.   General:
  1538.   - Added BCB project files for all the individual DLLs.
  1539.   - Altered the core modules to use the safer prototypes for bang commands.
  1540.   LSAPI:
  1541.   - GetToken() is now an API function, but since the syntax might still change
  1542.     I don't recommend it's use just yet, unless you like living on the edge.
  1543.   - AddBangCommand() and AddBangCommandEx() will now only accept functions with
  1544.     the currect format. For ABC this is
  1545.     void BangProc(HWND sender, LPCSTR args) and for ABCE
  1546.     void BangProcEx(HWND sender, LPCSTR args, LPCSTR command).
  1547.     Please note that this does not in any way affect existing modules, it's
  1548.     strictly a source code issue.
  1549.  
  1550. - Modified [LSAPI, LSWinBase, Desktop2 / NeXTer / 04-21-00]
  1551.   LSAPI:
  1552.   - Fixed UniversalTokenize(): didn't clear the passed strings like it should.
  1553.   LSWinBase:
  1554.   - Added Window::handle(): returns the window handle for use outside the class.
  1555.   Desktop2:
  1556.   - The bang commands now use the recommended format of !ModuleNameFunctionName.
  1557.     Third party module creators should preferably adopt the same style to
  1558.     provide consistency
  1559.  
  1560. - Modified [LSWinBase, Desktop2, Hotkey / NeXTer / 04-20-00]
  1561.   LSWinBase:
  1562.   - Most of said bumps have been smoothed out. Some were actually more or less
  1563.     fatal, but that should be fixed.
  1564.   Desktop2:
  1565.   - Some minor fixes
  1566.   Hotkey:
  1567.   - Now uses the LSWinBase library
  1568.  
  1569. - Added [LSWinBase, Desktop2 / NeXTer / 04-19-00]
  1570.   LSWinBase:
  1571.   - First revision, it's working nicely, and I don't think we want any more
  1572.     features built in, perhaps smooth out a few bumps, but nothing major.
  1573.   Desktop2:
  1574.   - Now uses Window (in lswinbase) as base class, should simplify the process
  1575.     of writing C++ based modules somewhat
  1576.  
  1577. - Modified [ShortCut / NeXTer / 04-19-00]
  1578.   - Commenced conversion to C++ style, lots of work remains, but it's a start.
  1579.  
  1580. - Modified [LSAPI / NeXTer / 04-19-00]
  1581.   - The parsing system is rewritten from scratch.
  1582.   - Merged LCTokenize() and CommandTokenize() into a single function, both
  1583.     remain for compatibility reasons.
  1584.  
  1585. - Modified [LSAPI / NeXTer / 04-18-00]
  1586.   - Added LS_GWL_CLASSPOINTER to lsapi.h to simplify the creation of classbased
  1587.     modules. More along these lines are to be expected in the future.
  1588.   - Rewrote CommandParse() from scratch. CommandTokenize() will follow shortly.
  1589.  
  1590. - Modified [HotKey / Message / 04-18-00]
  1591.   - Module rewritten based on the framework in Desktop2.
  1592.  
  1593.  
  1594. == Build: 2000-04-17 ==========================================================
  1595.  
  1596. - Fixed [LSAPI / NeXTer / 04-17-00]
  1597.   - ParseBangCommand() didn't parse the information correctly if NULL was being passed
  1598.     as the argument for the bang command.
  1599.   - Also fixed a memory leak in the same function, for good measure.
  1600.  
  1601. - Modified [Desktop2 / NeXTer / 04-17-00]
  1602.   - The code is now almost crystal clear, if we can apply this structure
  1603.     to the other modules, much will have been acheived.
  1604.  
  1605. - Modified [LSAPI, Desktop2 / NeXTer / 04-17-00]
  1606.   LSAPI:
  1607.   - Merged new code for merging images in LoadLSImage(). Thank's to
  1608.     Gustav Munkby (grd) for the new code.
  1609.   - Removed some old junk.
  1610.   - Added the struct Message for passing messages from the WndProc to the
  1611.     actual message handlers.
  1612.   Desktop2:
  1613.   - Began a slight revision, to make this piece of code adhere to a "standard style"
  1614.     that can be used in the future.
  1615.  
  1616. - Fixed [Wharf / NeXTer / 04-16-00]
  1617.   - Fixed a bug where the wharf wouldn't hide properly when the following
  1618.     settings where used:
  1619.       AutoHideWharf
  1620.       WharfCloseOnSwitch
  1621.       ;WharfNoAnim  (swithed off)
  1622.     (Courtesy of Sergey Popov)
  1623.     Still some work to do though.
  1624.   - The message handling was radically overhauled to prepare the code for
  1625.     a convertion to proper C++ style.
  1626.  
  1627. - Modified [ Desktop2 / Message / 4-16-00]
  1628.   - Changed the desktop clicks to use LSExecute instead of ParseBangCommand
  1629.       This results in desktop2 not needing to parse the string before calling
  1630.       LSExecute, removed some unneeded variables and functions
  1631.       Can now do something like DesktopLeftClick cmd.exe to cause the left click
  1632.       to open a command window in WinNT etc
  1633.   - Fixed LM_GETREVID not being registered
  1634.  
  1635. - Fixed [ Lsapi / Message / 4-16-00]
  1636.   - Fixed popups displaying in upper left hand corner in certain cases
  1637.  
  1638.  
  1639. == Build: 2000-04-16 ==========================================================
  1640.  
  1641. - Modified [LSAPI / NeXTer / 04-16-00]
  1642.   - Added the distinction between desktop and desktopdir in the above list.
  1643.  
  1644. - Modified [LSAPI / NeXTer / 04-15-00]
  1645.   - Reworked setupVars() to be more efficient, and added more predefined variables
  1646.   - The following variables are available (several of them might be inaccessible
  1647.     on your system, depending on your setup):
  1648.       litestepdir, admintools, bitbucket, commondesktopdir, commondocuments,
  1649.       commonfavorites, commonprograms, commonstartmenu, commonstartup, controls,
  1650.       cookies, desktop, desktopdir, dialup, documents, drives, favorites, fonts,
  1651.       history, internet, internetcache, nethood, network, networkanddialup,
  1652.       printers, printhood, programs, recent, scheduled, sendto, startmenu,
  1653.       startup, templates.
  1654.  
  1655. - Fixed [ Lsapi / Message / 4-14-00 ]
  1656.   - Fixed a variable redefinition error in GetRCString
  1657.   - Uncommented _LMBANGCOMMANDA in lsapi.h, this was used in litestep.cpp for
  1658.     the purpose of allowing non-litestep modules to run litestep bang commands
  1659.  
  1660. - Modified [LSAPI / NeXTer / 04-14-00]
  1661.   - Added a function to strip all comments, leading and trailing whitespace from
  1662.     lines read with LCReadNextLine().
  1663.   - Made some slight changes to GetRCString() to make it more "politically correct".
  1664.  
  1665. - Fixed [Desktop2 / Message / 04-14-00]
  1666.   - Made right click default to !popup
  1667.  
  1668. - Modified [LSAPI / NeXTer / 04-14-00]
  1669.   - Some general cleaning, some code commented out until we know nothing uses it.
  1670.   - Desktop now properly resets the desktop area on resolution changes.
  1671.  
  1672. - Fixed [Lsapi / Message / 04-14-00]
  1673.   - Wasn't allowing modules to redefine bangs (e.g. sysvwm & lsvwm redefined !vwmleft..etc)
  1674.  
  1675. - Modified, Added [Desktop2 / Message / 04-13-00]
  1676.   -Reimplemented desktop clicks to use a function for setting their variables
  1677.     (Thanks MrJukes and Dem0sh for your help)
  1678.   -Added three new bang commands:
  1679.     !SetDesktopLeftClick
  1680.     !SetDesktopRightClick
  1681.     !SetDesktopMiddleClick
  1682.     These allow you to change what the mouse clicks do on the fly
  1683.     e.g. !SetDesktopLeftClick !popup x=0 y=0
  1684.   -Remove autorun functionality (was our understanding that this was flakey
  1685.     and that a 3rd party module is available that better provides this
  1686.     functionality, may be reimplemented in the future, but I see no reason
  1687.     for it to be a desktop function)
  1688.   -Did some more house cleaning (i.e. removed unused variables, added proper
  1689.     headers, proper format)
  1690.  
  1691. - Modified [Lsapi, Litestep / Message / 04-13-00]
  1692.   -Bang commands now stored in a stl map structure
  1693.   -Rewrote AddBangCommand, AddBangCommandEx, ParseBangCommand, RemoveBangCommand
  1694.     If use multiple bangs in a command like this !vwmleft !about, you will now need
  1695.     to use the proper method !execute [!vwmleft][!about]
  1696.   -Change BangAbout to use the new map when displaying bang commands
  1697.   -Added setupBangs called in litestep startup to register lsapi bangs
  1698.   -Fixed GetRCString on returning the full line in the step if it was all qouted
  1699.     now                   SetDesktopLeftClick !popup x=0 y=0
  1700.     will work the same as SetDesktopLeftClick "!popup x=0 y=0"
  1701.   -Added setupBangs() to litestep startup routine
  1702.  
  1703. - Changed [LSAPI / NeXTer / 04-13-00 ]
  1704.   - Rewrote LCTokenize() from scratch, now less than half the size of the original,
  1705.     and not obfuscated at all!
  1706.  
  1707. - Changed [Wharf / NeXTer / 04-12-00 ]
  1708.   - The wharf now correctly updates its position on resolution changes.
  1709.  
  1710. - Fixed [LSAPI / NeXTer / 04-11-00 ]
  1711.   - Fixed LSReadNextConfig() not recognizing tab characters.
  1712.   - Fixed a memory leak in LSExecuteEx().
  1713.  
  1714. - Fixed [Desktop2 Workspace / Message (per CoreFile) / 4-09-00 ]
  1715.   - Removed desktop2 linking to lsutil.lib
  1716.  
  1717.  
  1718. == Build: 2000-04-08 ==========================================================
  1719.  
  1720. - Modified/Fixed [MsgMgr / Message / 04-08-00]
  1721.   -Added GetRevID method for handling !about (NOTE: this method is likely to
  1722.     disappears when a method is implemented to return a list of hwnds for
  1723.     a given message
  1724.  
  1725. - Modified/Fixed [Popup / Message / 04-08-00]
  1726.   -Fixed LM_POPUP not using the coordinates passed to it via wParam and
  1727.     lParam
  1728.  
  1729. - Modified/Fixed [LiteStep / Message / 04-08-00]
  1730.   -Reimplemented !about, !about detailed via void GetRevId(WPARAM wParam, LPARAM lParam)
  1731.     (NOTE: Uses msgmgr, implementation to change when msgmgr returns list of hwnd for given
  1732.     message)
  1733.  
  1734. - Modified/Fixed/Added [Popup / Message / 04-08-00]
  1735.   -Added VarExpansion to ParseBangCommand (now when a third party module, i.e.
  1736.     lsxcommand, sends a bang command to be parsed, variables will be expanded.
  1737.     e.g. previously you had to do !unloadmodule c:\litestep\modules\systray.dll,
  1738.     now you should be able to do !unloadmodule %moduledir%systray.dll, or
  1739.     something similiar)
  1740.   -Reimplemented !about, !about detailed
  1741.   -Added !about bangs, will display all registered bang commands
  1742.   -Changed About dialog to use a listbox instead of a textbox (modules will be
  1743.     unaffected by this change)
  1744.   -Changed !popup to take coordinates to display the popup (e.g. !popup x=0 y=0)
  1745.  
  1746. - Modified [Desktop2 / Message, noodge / 04-06-00]
  1747.   -Added the following step.rc settings:
  1748.     DesktopLeftClick <command>
  1749.     DesktopMiddleClick <command>
  1750.     DesktopRightClick <command>
  1751.     Causes click on desktop to execute the resepective command
  1752.  
  1753. - Modified [DllMgr, Wharf / NeXTer / 04-06-00]
  1754.   - Added direct support for modules compiled with Borland compilers
  1755.     (leading underscore)
  1756.   - Wharf now notices changes in screen resolution.
  1757.  
  1758. - Fixed [Desktop, Popup / Message / 04-05-00]
  1759.   - Removed some unused variables (ok, well really just commented them out until
  1760.   this build is throughly tested)
  1761.   - Did some more work on setting the desktop area, hopefully this is fixed now
  1762.   - Fixed the implementation of list::reallocate, was crashing when using
  1763.   opendynamic and showtasks
  1764.  
  1765.  
  1766. == Build: 2000-03-31 ==========================================================
  1767.  
  1768. - Modified [litestep / NeXTer / 03-31-2000]
  1769.   - Changed the "blah" errors to tell what went wrong, easier to debug that way...
  1770.  
  1771.  
  1772. == Build: 2000-03-30 ==========================================================
  1773.  
  1774. - Fixed [desktop2/noodge/03-30-2000]
  1775.   - Put the correct version of desktop2 in the builds. This should fix all the
  1776.     popup problems people were having
  1777.  
  1778. - Fixed [popup / NeXTer / 03-30-2000]
  1779.   - Fixed an indexing problem in the hittest, to allow access to the last entry.
  1780.  
  1781.  
  1782. == Build: 2000-03-28 ==========================================================
  1783.  
  1784. - Fixed? [litestep, dllmgr / Headius / 3-27-2000]
  1785.   - Added exception handling to main executable to punt exceptions during execution. Modules may act screwy because we're swallowing exceptions they are causing, but litestep shouldn't crash.
  1786.   - Improved exception handling in DLLModuleManager to unload modules that except during initialization and to ignore exceptions while quitting modules.
  1787.  
  1788. - Fixed [popup / NeXTer / 03-17-2000]
  1789.   - Made the folder arrow static, so that it doesn't resize with the entries
  1790.   - Added the removal (whatever) of the extension for .url files
  1791.   - Removed the initModule() function, since it's obsolete
  1792.   - Made necessary changes to allow compilation under Borland C++Builder
  1793.   - Minor cosmetic changes to the code (more comming!)
  1794.  
  1795. - Fixed [taskbar / Maduin / 03-15-2000]
  1796.   - Taskbar retracts its always-on-top status when an application goes full screen
  1797.   - Optimized update routines, should reduce CPU usage slightly
  1798.  
  1799.  
  1800. == Build: 2000-03-13 ==========================================================
  1801.  
  1802. - Modified [lsapi, workspace, popup / Message / 03-12-2000]
  1803.   - Fixed lsapi crashing with an undeclared variable (envvar was being set to NULL, and then was being
  1804.      added to the map)
  1805.   - Removed lsutil from the desktop2 dependencies (per noodge)
  1806.   - Added MessageBox warning if lsapi finds an unitialized variable, will tell the variable, and the line
  1807.   - Fixed !popupdynamicfolder not displaying folders more than 3 levels deep
  1808.   - Fixed !popupdynamicfolder using the combined paths when executing
  1809.  
  1810. - Modified [desktop2 / Message / 03-09-2000]
  1811.   - Removed use of LSSettings in desktop2, it was only using 7 variables from there, moved them to desktop.h
  1812.      this resulted in a 4k decrease in dll size, and SetDesktopArea seems to function correctly.
  1813.  
  1814.  
  1815. == Build: 2000-03-06 ==========================================================
  1816.  
  1817. - Modified [lsapi / Message / 03-05-2000]
  1818.   - Added $LiteStepDir$ which is the path to litestep. No longer need to define this in step.rc
  1819.  
  1820. - Fixed [lsapi / Message, NeXTer / 03-04-2000]
  1821.   - Moved stl code from lsapi.h to lsapi.cpp, otherwise it would conflict with c code
  1822.   - convert all variable names to lower case before adding them to the variable cache
  1823.   - Added deine to make the compile compatiable with version 4.0 system dll's, default was version 5.0
  1824.      and caused problems with win95/NT
  1825.  
  1826.  
  1827. == Build: 2000-03-03 ==========================================================
  1828.  
  1829. - Modified [popup / Message / 03-02-2000]
  1830.   - !PopupDynamicFolder can now merge folders together, | seperates paths
  1831.     Ex *Popup     "Programs2"     "!PopupDynamicFolder:$StartMenu$|$CommonStartMenu$"
  1832.  
  1833. - New code [lsapi / Message / 03-02-00]
  1834.   - Added caching to step.rc variables (i.e. $LiteStepDir$)
  1835.   - Added pre-defined variables, these variables are set by litestep
  1836.     $StartMenu$       - returns the path to the start menu
  1837.     $Programs$        - returns the path to the programs menu in the start menu
  1838.     $CommonStartMenu$ - returns the path to the common start menu in Nt/2k
  1839.     $CommonPrograms$  - returns the path to the common programs menu in the start menu in NT/2k
  1840.     $Desktop$         - returns the path to the desktop folder
  1841.     $Recent$          - returns the path to the recent folder
  1842.     $Favorites$       - returns the path to the favorites folder
  1843.     $Documents$       - returns the path to the document folder
  1844.  
  1845. - Modified [taskbar / Maduin / 03-01-2000]
  1846.   - Taskbar can now be docked to top or bottom screen edge
  1847.   - Added command 'TaskbarEdge <edge>' where <edge> can be 'top' or 'bottom' (default)
  1848.   - Fixed some minor autohide bugs
  1849.   - Desktop area is now restored (if it was changed) when taskbar.dll is unloaded
  1850.  
  1851. - Modified [taskbar / Maduin / 02-29-2000]
  1852.   - Added tooltips to taskbar buttons
  1853.   - Added transparency support for taskbar button skins
  1854.  
  1855.  
  1856. == Build: 2000-02-28 ==========================================================
  1857.  
  1858. - Fixed [desktop2, shortcut / Headius / 02-28-2000]
  1859.   - SetDesktopArea was not being called
  1860.   - Sounds were being terminated before a new one was played
  1861.  
  1862. - Fixed [hook / Maduin / 02-28-2000]
  1863.   - Shell hook notifications weren't being sent
  1864.  
  1865. - Fixed [litestep / Maduin / 02-27-2000]
  1866.   - Fixed bug in DataStore which caused sysvwm to crash LS after a couple recycles
  1867.  
  1868. - Fixed [taskbar / Maduin / 02-27-2000]
  1869.   - Restoring a previously maximized task did not re-maximize it
  1870.   - Restoring a task caused the VWM to move to desktop 1
  1871.   - Right-click context menu items were not properly enabled
  1872.  
  1873. - Created [taskbar / Maduin / 02-25-2000]
  1874.   - The taskbar module is designed to replace the functionality of desktop's taskbar
  1875.   - All existing step.rc commands are supported
  1876.   - Start button and tray are not implemented yet, everything else should be
  1877.  
  1878.  
  1879. == Build: 2000-02-24 ==========================================================
  1880.  
  1881. - Modification, bugfixes [winlist, msgmgr, core, hookmgr / Headius / 2-24-2000]
  1882.   - Modified the IWindowList interface to explicitly use long values, updated clients appropriately
  1883.   - Reimplemented StandardWindowList (winlist.dll) to use STL instead of static array
  1884.   - Fixed the crashing bug in StandardMessageManager
  1885.   - Fixed another recycling bug in hookmgr
  1886.  
  1887. - New code, bug fixes [litestep, core, dllmgr, msgmgr, winlist, wharf, popup, lsapi / Headius / 2-23-2000]
  1888.   - MessageManager moved into its own component, exposing IMessageManager interface
  1889.   - Litestep modified to use the new IMessageManager component
  1890.   - DataStore interface created
  1891.   - Bug fixes to experimental popup2 code
  1892.  
  1893. - Bugfixes, improved code [litestep, lsapi, dllmgr / Headius / 2-22-2000]
  1894.   - Fixed the recycle crash bug
  1895.   - Modified the core startup/recycle/stop sequence to be more efficient and reliable
  1896.   - Minor cleanup in dllmgr
  1897.   - Initial look at componentizing remaining services
  1898.  
  1899.  
  1900. == Build: 2000-02-18 ==========================================================
  1901.  
  1902. - Clean [lsapi / Message / 02-18-2000]
  1903.   - Removed the EasterEgg Bang declaration =P
  1904.  
  1905. - Fixed [litestep / Maduin / 02-17-2000]
  1906.   - Reimplemented !reloadModule and !unloadModule
  1907.  
  1908. - New code [desktop2 / Headius / 2-11-00]
  1909.   - New desktop2 module to replace the base desktop window from desktop.dll. Equivalent to desktop.dll with no taskbar or tray.
  1910.  
  1911.  
  1912. == Build: 2000-01-31 ==========================================================
  1913.  
  1914. - Bugfixes, new code [litestep, winlist, core, popup, desktop, wharf / Headius / 1-29-00]
  1915.   - Re-implemented Window List as a COM object (vtbl only; dispatch is forthcoming)
  1916.   - Modified popup, wharf, desktop, litestep to use new IWindowList interface
  1917.   - Modified litestep to load IWindowList instance from dll
  1918.   - Re-fixed popup bug, thanks to Fahim for finding the original problem
  1919.   - Re-implemented DLL Module Manager as a COM object (vtbl only; dispatch is forthcoming)
  1920.   - Modified litestep to use the new IModuleManager interface
  1921.   - Created new projects: core, winlist, dllmgr
  1922.     - Core contains the interface definitions for the core services
  1923.     - winlist contains the standard implementation of the IWindowList interface
  1924.     - dllmgr contains the dll implementation of the IModuleManager interface
  1925.   - Threading temporarily removed from module loading
  1926.  
  1927. - Bugfixes [popup / Headius / 1-22-00]
  1928.   - Transparency bug in popups under NT/W2k has been solved with a workaround.
  1929.   - Known memory leaks in popups have been eliminated.
  1930.  
  1931.  
  1932. == Build: 2000-01-21 ==========================================================
  1933.  
  1934. - Bugfixes, code rewrite, new code [litestep, desktop, hookmgr / Headius, Message, NeXTer]
  1935.   - Removed all hook-related code from desktop. Desktop is now no longer an integral part of core (internal) functionality.
  1936.   - New HookManager code integrated into the system allows modules to register for system messages as well as shell messages.
  1937.   - 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
  1938.   - 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.
  1939.   - Updated lsapi to be .cpp, changes are as follows:
  1940.     - 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.
  1941.     - Minor typecasting fixes
  1942.   - Minor rework of core module loading sequences, some exploration into exposing service interfaces to modules.
  1943.   - Fixes to make old trayicons go away when the app is dead. Tray still seems to be broken, likely to be tossed and rewritten.
  1944.   - Fixes to prevent error messages about AppBtnClass
  1945.   - Removed the easter egg bang
  1946.   - Modified DLLModuleManager.LoadModule to allow passing parameters to start a module in its own thread, with its own message pump
  1947.   - Other stuff I'm forgetting.
  1948.  
  1949.  
  1950. == Build: 2000-01-20 ==========================================================
  1951.  
  1952. - Bugfixes [litestep, desktop / Headius]
  1953.   - Fixed problems with desktop.dll reporting "Could not register window" for a couple window classes.
  1954.   - Added error message to module loader to help identify problems in the future. ***NOTE*** initModule() will not be called in modules anymore. Use initModuleEx().
  1955.   - Discovered the cause of the transparent popups, but no fix yet.
  1956.  
  1957.  
  1958. == Build: 2000-01-18 ==========================================================
  1959.  
  1960. - Bugfixes [litestep, popup, wharf / Headius]
  1961.   - Fixes in DLLModuleManager to prevent modules that do not load from causing crash on shutdown
  1962.   - Fixes in MessageManager to prevent the possibility of empty entries in the map that might have been causing crashes
  1963.   - Fixes in popup to use the new WindowList, fixes work but not quite thread-safe yet
  1964.   - Fixes in wharf to use the new WindowList, fixes work but not quite thread-safe yet
  1965.   - Wharf.c file updated to be .cpp, minor type casting fixes
  1966.  
  1967.  
  1968. == Build: ????-??-?? ==========================================================
  1969.  
  1970. - Bugfixes/Code Rewrite [litestep, desktop / Headius]
  1971.   - 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.
  1972.   - 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.
  1973.   - 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.
  1974.   - 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.
  1975.   - Rewrite of LSTaskButton to control its own destiny. It now handles its own repainting, window activation, and other logic.
  1976.   - Task buttons will not show tooltips for now. I need to rework how this is done.
  1977.   - 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.
  1978.   - Initial look at loading functionality as COM objects. Interfaces are starting to solidify, the next steps will be simple ones.
  1979.   - Investigation of scripting support. Scripting support will be trivial to add once core objects have been COMified.
  1980.  
  1981.  
  1982. == Build: 2000-01-16 ==========================================================
  1983.  
  1984. - Bugfixes [desktop, litestep / Headius]
  1985.   - 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.
  1986.   - 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.
  1987.   - Fix for bug: data store was being accessed after having been deleted. Data store is now deleted only after we are finished with it.
  1988.  
  1989.  
  1990. == Build: 2000-01-15 ==========================================================
  1991.  
  1992. - BugFix/Code Rewrite [litestep.cpp / Headius]
  1993.   - The data storage code in litestep.cpp was moved to a seperate class. You
  1994.     can have LS store data (generally for during a recycle) by sending
  1995.     LM_SAVEDATA with the high word of WPARAM set to the ID of the data, the low
  1996.     word set to the size, and LPARAM a pointer to the data.
  1997.   - The data can be retrieved by sending the same information in an
  1998.     LM_RESTOREDATA message, with an empty buffer. This will also remove it from
  1999.     the data store.
  2000.  
  2001.  
  2002. == Build: 2000-01-13 ==========================================================
  2003.  
  2004. - Update of changes since November 99 [desktop, litestep / Headius]
  2005.   - 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.
  2006.     - A fix was made to desktop to repair problems with painting and taskbar size
  2007.   - Various utility classes have been created in the lsutil project for the desktop port to C++
  2008.   - Tray icon management (internal) has been split off into tray.dll
  2009.   - Litestep has had portions rewritten in C++ to better manage memory and abstract away various functional interfaces
  2010.     - DLL module management has been split off and ported
  2011.     - Message management and distribution has been split off and ported
  2012.     - The running of startup programs has been split off into a static class
  2013.  
  2014.  
  2015. == (Earlier builds not tracked) ===============================================
  2016.  
  2017. - BugFix [VS_6 workspace / Message]:
  2018.   - Added lsutil to the dependencies for desktop, was getting a linker error otherwise
  2019.   - Converted sources back to dos format, somehow had become saved in UNIX format.
  2020.  
  2021. - Feature Addition [sysvwm/vwm.c / Maduin]:
  2022.   - Can now execute commands on VWM switch:
  2023.     VWMOnSwitchToN <commands>, where N is desktop number
  2024.  
  2025. - BugFix [hotkey/hotkey.c / jugg]:
  2026.   - Fixed crash bug when pressing WIN key by itself.
  2027.  
  2028. - BugFix [VS_6 workspace / jugg]:
  2029.   - lsapi project command line had two conflicting compile options.
  2030.  
  2031. - Changes [lsapi/lsapi.c, litestep/litestep.c / jugg]:
  2032.   - Made the color format RGB default. Thus removing the ColorRGB command.
  2033.     However, added the command LSColorBGR for those who still want it reversed.
  2034.   - Changed all core commands to start with "LS" so now you have "LSNoShellWarning"
  2035.     replacing "ExplorerNoWarn", "LSSetAsShell" replacing "SetAsShell",
  2036.     "LSImageFolder" replacing "PixmapPath".
  2037.   - updated all modules to reflect these changes (wharf/lsvwm/sysvwm/shortcut/desktop)
  2038.  
  2039. - Feature Addition/Change [hotkey/hotkey.c / jugg]:
  2040.   - disabled dynamic hotkey loading of explorer start menu hotkeys by default.
  2041.     To turn them on use "HotkeyLoadExplorerKeys"
  2042.   - Changed command "WinKeyNoPopup" to "HotkeyNoWinKeyPopup"
  2043.  
  2044. - BugFix [lsapi/lsapi.c / visigoth]:
  2045.   - Fixed jugg's fix to ParseBangCommand()
  2046.     (NOTE: lsxcommand is fine - strlen doesn't check for null pointers)
  2047.     (ADDENDUM: Well blow me down! How about that. - jugg)
  2048.  
  2049. - BugFix / Change [lsapi/lsapi.c, litestep/litestep.c / jugg]:
  2050.   - Fixed ParsebangCommand function, so it removes extra whitespace. (NOTE:
  2051.     this seems to break lsxcommand when entering a !bang command that doesn't
  2052.     pass an argument. Everything else works great.)
  2053.   - Did a little clean up on litestep.c (removed code for that weird
  2054.     HideApplication thing that never worked anyway and was useless)
  2055.  
  2056. - Major['ish] Change [litestep/litestep.c / Ender]:
  2057.   - Done some major restructuring and pruning of litestep.c, removing some
  2058.     obsolete code and just generally making the code neater :)
  2059.  
  2060. - Feature Addition / BugFix [lsapi/lsapi.c / visigoth]:
  2061.   - Added CommandParse library function - parses a command and its arguments.
  2062.   - LSExecute / CommandTokenize seem to be fixed now...
  2063.   - LSExecuteEx now defaults to SW_SHOWNORMAL if passed 0 for final argument.
  2064.  
  2065. - BugFix [changes.txt, desktop/desktop.c, hotkey/hotkey2.c / visigoth]:
  2066.   - Fixed jugg's entry from BugFux to BugFix :P (changes.txt)
  2067.   - Merged fix from Jay Kramer (jkramer@depcoinc.com) for minimize/maximize
  2068.     problems.  Code now checks for system menu before doing so (desktop.c)
  2069.   - Fixed compiler warning: LSExecute not declared (hotkey2.c)
  2070.  
  2071. - BugFix [sysvwm\vwm.c / jugg]:
  2072.   - Fixed erroneous refresh of sysvwm when using the autohide feature
  2073.     without "VWMAutoHideFix" set.
  2074.   - Fixed autohide bug, when the vwm was docked to two sides of the screen,
  2075.     the vwm would appear when mouse was moved to either side.
  2076.  
  2077. - BugFix [lsapi.c / jugg]:
  2078.   - Fixed CommandTokenize function so that you no longer are forced to place
  2079.     all commands completely in quotation marks or brackets.
  2080.  
  2081. - Bugfix [litestep.c / Maduin]:
  2082.   - Fixed the Loadmodule code so that the modules get passed the correct
  2083.     Instance now. Thanks to MrJukes for spotting this.
  2084.  
  2085. - Bugfix [shortcut.h / murphy]:
  2086.    - Added char extra_group[10]; to struct shortcutType. Was made to
  2087.      make shortcut.c compile.
  2088.  
  2089. - Feature Addition [desktop.c / (e)]:
  2090.    - Added code by Jay Kramer (jkramer@depcoinc.com)
  2091.      min/max click update for start bar (new explorer functionality)
  2092.  
  2093. - Feature Addition / Bugfix [vwm.c / (e)]:
  2094.    - Added VWMAutohideFix. This makes the autohide VWM only appear
  2095.      when the mouse hovers in the actual VWM area (as opposed to the
  2096.      entire screen edge).
  2097.  
  2098. - Feature Addition [Shortcut.c / Ender]:
  2099.    - Semi-working Shortcut Multiple Mastergroups. Some strange behavior I
  2100.      can't figure out, someone fix it :P
  2101.      [Method: #3M{2,5}T  : Master for group's 3, 2 AND 5]
  2102.  
  2103. == Older changes in oldchanges.txt ============================================
  2104.