--------------
I. About LsBox
--------------
LsBox is a Litestep loadmodule that allows the creation of 
freefloating and skinnable "Boxes" that can be used to 
generate custom messageboxes, Floating Menues and Dialogs.

----------------
II. Requirements
----------------
You will need a newer build to run LsBox. LsBox will load under 
Win95 and WinNT 4 - if you have IE4 and a newer version of 
comdlg32.dll installed installed. comdlg32.dll is usually
included with IE.

-----------------
III. Installation
-----------------
Just copy LsBox.dll to your LiteStep dir and add the following 
line to your step.rc: 

   Loadmodule C:\Litestep\LsBox.dll
(*assuming you have your LS stuff in C:\Litestep*)

--------------
IV. How to use
-------------
To actually use LsBox you have to have a .box 
file and a few gfx to use with it.
I include a example skin with every release, so you
can start right out of the box.

The .Box file's syntax is much like the syntax of the 
Step.rc.

After having placed everything in the right directorys
and editing the .box file you can call
      
        !LsBoxCreate <path and filename of the .Box file>

Examples:
	!LsBoxCreate recycle.box
        Or
	!LsBoxCreate Lsbox\Shutdown.box

to create a box.

Now you should be able to see the box. If you want to 
destroy the box and free the resources used by it 
you have to call

	!LsBoxDestroy <the "LsBoxName" of the box>

You can also create a box at startup by adding one or more 
    "*LsBoxCreate <path and filename of the .Box file>"
Commands to your Step.rc.


--------------------------------------
V. Box File Options and Bang commands
--------------------------------------

  -LsBoxName <Name Of the Box>
   The name of the box is used to identify a box. It's the 
   window title shown in the taskbar and it is needed to 
   destroy or to modify the state of a Box.
 
  -LsBoxX <xpos>
   and 
  -LsBoxY <yPos>
   These can have negative values too.

  -LsBoxHeight <Height>
   and
  -LsBoxWidth <Width>
   Use these to override the bitmap width/height autodetection.
   there is no support for Stretch Skinning yet.

  -LsBoxBackGround <Image>
   Can be made transparent with great magic pink(tm)
   This also sets the Width&Height of the box.
  
  -LSBoxDragRect <X1> <Y1> <X2> <Y2>
   These set the dragable area of the box.

  -LsBoxSticky
   Shows the Box on all Desktops

  -LsBoxUnique
   This in a unique feature
   it makes a Box unique
   so there can be only one 
   unique box of a kind.

  -LsBoxRememberPosition
   This let the Box save it's Position on Destroy

  -LsBoxAlwaysOnTop
   This makes the box AlwaysOnTop

  -LsBoxPopupAtMousePos
   This will make the box pop up at your mouse pointer

  -LsBoxNotSnappy
   This will allow a box to be moved outside the screen

  -LsBoxOnLeftClick "!Bang"
   Starts a !Bang or a command on leftclick.
   Default is "!none"

  -LsBoxOnRightClick "!Bang"
   Starts a !Bang or a command on rightclick.
   Default is "!popup"

  -LsBoxStartHidden
   Starts a Box Hidden.

  -LsboxFont <Name of Font to display>
   Name Of the Font to Use  

  -LsboxFontSize <Size of Font>
   Size of the font in Pixel

  -LsboxFontColor <Colorvalue>
   Use RGB Values for this option, like FFAAFF

  -!LsBoxGroupShow <group>
   And
  -!LsBoxGroupHide <group>
   And
  -!LsBoxGroupToggle <group>
   This will hide/show/toggle the Shorcuts of the given group.
   
  -!LsBoxToggle <Name of the Box>
   And
  -!LsBoxShow <Name of the Box>
   And
  -!LsBoxHide <Name of the Box>
   Show and Hide a Box. This wil NOT unload the box and 
   is much faster than to recreate the box everytime.

  -!LsBoxResetPos
   This will reset the Position of a all Boxes to the position in the .box files
      
  -*Shortcut <Hint> <xPos> <yPos> <Normal> <Over> <Clicked> (#<group><h>) <(Bang)Command(s)>
   This will work exactly like the "normal" Shortcuts. The only Flag that makes 
   sense to use at this time is <h> for hidden on startup. All Shortcuts are in 
   group 0 by default.

  -*Text <xPos> <yPos> <Text to display> {<Color1> <Color2> <Color3> <(Bang)>}
   This will paint text to the background of the box. 
   Textcut-alike functions aren't finished, yet.

  -*WharfModule <xPos> <yPos> <width> <height> <Wharfmodule to load>
   WharfModule Support - This is already as good as it gets -
   all individual Module settings have to be placed in the Step.rc.
   All modules are handled relative to the litestep path. Don't use 
   %variables%!

  -*Module <Module to load>
   Brandnew Module loading. Is unstable at best and causes crashes.
   Individual Settings still have to be placed inside the step.rc.
   All modules are handled relative to the litestep path. Don't use 
   %variables%!

-----------------------------------
VI. How to load a Module into LsBox
-----------------------------------
If you load a module inside a Box please remember that all settings have 
to be placed in the step.rc not in the .box file because the module won't 
find it in the .box file. 
All Module Paths are relative to C:\Litestep.

Known Modules to work in *Module Mode:
LsSlider v1.2
Sysvwm
chkvwm

Example:
*Module "lsslider.dll"

Known Modules to work in *WharfModule Mode:
LsXWharf
Chronos
Systray2
lsCpuIT
Wharfanoid
Bounce
burnclk
Sysvwm

Example:
*WharfModule 0 0 64 64 "Chronos.dll"

-----------
VII. History
-----------
rel 2.3
    -{LsBox}Boxes can now be created at Recycle/Startup by adding a
            "*LsBoxCreate <path and filename of the .Box file>" 
            line in your Step.rc
    -{Shortcuts}I removed the Shortcutgroups - they will be make a comeback 
                later
    -{BoxAPI}LsBox will now show in !about
    -{BoxFiles}You can now have Comments after an Entry in the .Box file.
                
rel 2.2
    -{Shortcuts}Added support for ShortCutgroups to LsBox
                !LsBoxGroupShow/Hide/Toggle it's all there ;)
    -{Bangs}Added a !LsBoxToggle Bang
    -{Boxes}LsBox won't close on Alt-F4 anymore (request)
    -{Lsbox}Fixed a hole in the LsBoxDestroy Function. This should have caused 
            Crashes 
    -{LsBox}I moved all the Bangs to a seperate File.

rel 2.1
    -Cleaned up vast parts of LsBox trying to fix the problem with threading.
     It didn't help and the problem still exists - So don't use threading 
     with Lsbox till i fix the problem. !don't use no threading at all!
    -{Boxes}Removed the adaptive rgn handeling - it was flickering too much
    -{Bangs}Changed the "!LsBoxResetPos" bang to reset all positions to the ones
            in the .box file even "normal" movement is now reset.
    -This is the first offical version to work with LsSlider!
    -Added "How to load a Module into LsBox" to the docs.

rel 2.0
    -Added LsBoxOnLeftClick
    -Added LsBoxOnRightClick
    -Added LsBoxStartHidden
     This will let you start a box Hidden by default
    -Added !LsboxResetPos - This will help if a box was moved in some unnatural 
     way. Like when a box moves to 15mil X and 4mil Y after a resolution change
    -Fixen not visible Text problem
    -Fixed vanishing Shortcuts then Crash Problem

rel 1.99c
    -{Boxes} Fixed the !LsBoxDestroy function, seems still to be crashing on some 
             win2k maschines. I still don't know what causes the crashes.
    -Fixed the !lsBoxShow and !LsBoxHide functions - I broke them in the 
     last release.

rel 1.99b
    -Fixed the dissapearing box problem by ignoring the ParentWnd supplied on InitModuleEx
    -{Modules} will work with the new LsSlider release (load as *module)
    -{Modules} will work with my Sysvwm patch (load as wharfmodule)

rel 1.99a
    -There was no release 1.99a <G>

rel 1.99
    -{Boxes} fixed a bug that caused an infinite loop after !LsBoxDestroy
    -{Modules} New Module Format {Prototype}
     I have already testet some of the more tolerant modules with this, but most
     won't work *right*..... you can try it if you want.
    -{WharfModules} Moved all WharfModule loading routines in this SubModule

rel 1.98
    I have rewritten the module from ground up
    Here is what is different: 
    -{Boxes} added a Winamplike "Snap to edge" feature
    -{Boxes} Boxes won't "jump" on DesktopAreaChange anymore
    -{Boxes} Boxes aren't visible in Tasks anymore
    -{Boxes} Changed the way the background Bitmap is painted
    -{Boxes} Changed the way the DragRect is set - RTM
     This fixes the Magic Pink(tm) flash problem
    -{Shortcuts} Changed the way (bang)commands are called.
     Should be now faster & fool-proof, too.
    -{Shortcuts} Added complex RGN handeling (still flickers a bit) -
     Shortcuts can now be placed *Outside* the main Box.
    -{Modules} implemented Wharf+ specs
    -{Modules} WharfModule are now actually unloaded properly
    -{BoxFiles} fixed a bug in the Keyname compare function
    -{Text(cuts)} fixed the FontName setting to actually work - was Times New Roman only 

rel 1.71
    -fixed LsBox for Win95
    -Module paths should now be relative to the Litestep dir 

rel 1.7 
    -added native support for Wharfmodules
    -added native support for displaying Text
    -added !LsBoxShow and !LsBoxHide
    -Paths are now handled relative to the Litestep Path.
    -Trying to call !LsBoxCreate for an already created unique hidden 
     box will automatically call !LsBoxShow
    -LsBoxX and LsBoxY can now have negative values
    -fixed the all-tooltips-show-last-tooltip-text bug
    -removed the LsBoxstatistics bang - wasn't worth the trouble

rel 1.5
    -added failsave functions to prevent crashes caused by incorrect
     options set in the .box file.
    -evars in commands should work now
    -a box can now save its position to the .box file
    -LsBox should now work right with older Ls-Builds
    -minor compatibily fix with PureLs ;=)
     (changed initModuleEx return value to none-zero)
    -LsBox should now work right with pureLs
    -changed the way the Cfg pointer memory structure is created
    -removed some useless code
    -replaced window enumerating and box-destroy functions with
     recursive versions.
    -fixed a bug that caused crashes on !recycle in some cases
    -added a !LsBox_Statistics bang - This bang will give detailed 
     infos about Memory useage of the boxes that are currently running


rel 1.1
    -added hints to the shortcuts   
    -added LsBoxPopupAtMousePos by request
    -added LsBoxWidth and LsBoxHeight - 
      no support for Stretch Skinning, yet
    -removed old work-around code for pre-041600 builds
    -fixed my tokenize functions - delimeters should work now.
    -the windowclass "Lsboxclass" will now be unregistered at recycle

rel 1.0
    -Rewrote cfg-destroy mechanism
    -fixed the cfg leak

rel 0.98
    -Added LsBoxSticky
    -Added LsBoxUnique
    -Added LsBoxAlwaysOnTop
    -Added Destroy of other boxes from inside a box
    -Added Creation of a box from inside a box

rel 0.95
    -improved *image painting
    -rewrote *shortcut handeling

rel 0.9
    -first preview release

