version 2.2.9 release
	* Menu  Mini Pixmaps will no longer be loaded if MenuMiniPixmaps is set 0
	  in look.
	* WinTabs is now capable of grouping similarly named tabs together to 
	  eliminated repeating patterns. See GroupTabs and GroupNameSeparator options.

version 2.2.8 release
    * Implemented possibility to define exact size of the virtual desktop, 
	  which may not be exact multiply of the screen size.
    * Automatic detection and execution of text editors and web browsers in term
      if they require it.
    * Added functionality to ascompose to allow for constantly updating display 
  	  of stuff; command line should be: 
	  script.sh | ascompose  -I --endless --click-timeout 0 -q -f -;
    * Implemented functionality to setup slicing of frame sides and titlebar 
      elements.
    * Added functionality to ascompose to set XROOTPMAP property while
	  changing root background.
    * Added UnderPointer placement type to center window under mouse pointer on 
      map.
    * Added BlurSize option to MyStyles for blurring of transparent background.
	  Use like so: BlurSize 10x20  will set horizontal blur to 10 pixels and 
	  vertical to 20.
   
version 2.2.7 release
    * Added -bc or --border-color cmd line option to WinTabs module to determine
      what color to use while rendering border around swallowed windows.
      By default the Back color of focused MyStyle will be used.
	* Added DontCoverDesktop feel flag to disable colored cover to come up during
	  different prolonged operations.

version 2.2.6 release
	* Implemented ShowHints option in WinList allowing user to specify contents
	  of displayed balloons. Supported options are : Name,IconName,ResClass,ResName
	  or any combination of these.

version 2.2.5 release
	* new policy for window groups - if a group leader or an oldest window
	  in the group is raised - whole group is raised. If any window in the
	  group get's moved to a different desktop - whole group is moved.
	  Example of a group of a windows is GIMP and pretty much any GTK app.
	* new policy for transients(Dialogs) handling - all transients are stacked
	  above its owner with newest transient on top of the others.
	  If any transient is raised - all other transients and the owner are
	  raised as well. If any transient, or an owner is moved to another desk -
	  all other transients for this owner and owner will be moved as well.
	* New ShowHints option to Wharf determining what is shown in the balloon:
	  possible options are Name, Comment and Exec, or any combination of these.
	* Wharf now withdraws similar to older aftersteps -
	  if clicked on top portion - withdraws to a top corner, if clicked on lower -
	  to bottom corner, left - left, right  - right.
	* New options in WinList config : NoCollides, AllowCollides and NoCollidesSpacing
	  These cause WinList to auto magically adjust it's size to avoid covering 
	  windows matching patterns in NoCollides. AllowCollides ovverrides NoCollides.
	  NoCollidesSpacing determines amount of free space to leave between WinList and 
	  NoCollides windows. Note that this works only in one dimention - if RowsFirst 
	  then in horizontal, otherwise in vertical.
	* added menus for different layouts of Wharf, WinList and Pager.
	* cleanups in Desktop/Pictures menu.
	* Implemented fast JPEG thumnail loading using built-in libJpeg functionality.
	* added support in Wharf to load items from DesktopEntries - Two new unctions:
	  CategoryTree "name" and DesktopEntry "name".  
	  
version 2.2.4 release
	* SVG image format support using librsvg
	* implemented menu balloons. When it is enabled in look ballons will be shown for 
	  items that have attached comments (in .desktop files ) and Background pixmap 
	  previews will show when item is selected.
	* allowed for localized text in menu entries, generated from .desktop files.
	* added FolderReference setting in .include files to facilitate the above 
	  localization.
	* major cleanup and improvement of the main menu structure.
	* new look.Smooth
	
version 2.2.3 release
	* added <then><else> and <unless> tags handling
	* added <if> asxml tag to conditionally execute stuff
	* added <set> tag to asxml to be able to set variables to evaluated
  	  expressions in xml scripts
	* Implemented new option for MyStyle - Overlay <type>  <"other_mystyle">
	* Implemented support for TextureMenuItemsIndividualy 0 - which is
	  same background for all menu items
	* implemented feature to be able to suppress text labels in WinList
	* implementing themability of the folder icons in menus
	* implemented tips for menu.
	* added functionality to allow for specifying entire popups in menu entry files
	* added submenu to Desktop to be able to toggle some menu options off/on
	* implemented *WharfStretchBackground flag to wharf config - upon
	  which wharf's background is rendered similarly to menu when
	  TextureMenuItemsSeparately is not set
	* added defaults syntax to WinList config.
	* WinList can now read its options from look/feel in addition to its own file.

version 2.2.1 release
	* Disabled GTK and KDE applications colorization by default - edit 
	  base config to re-enable it

version 2.2.0 release
	* added xscreensaver to menu as a screensaver.
	* added menu for automated editing of AS config files. ASRun checks
	  if file exists in private directory, and copies it over from shared 
	  if its not.
	*Added support for fullscreen windows.
	*Made possible application of the colorscheme to KDE and GTK apps.
	*Added pretty icons to menu 
	*Updated menu to use systemwide desktop categories.
	*Added WinList option to enable icons shown next to window name : 
		ShowIcon
		ScaleIconToTextHeight
		IconSize
		IconAlign
		IconLocation
	*Added balloon options for text distance from the border 
		BalloonTextPaddingX
		BalloonTextPaddingY
	*Added Wharf option 
		*WharfFiolderOffset
	* Added Wharf MyStyles
		*WharfOddTile
		*WharfFocusedOddTile
	*Added functions : 
		ExecBrowser
		ExecEditor
		SignalReloadGTKRCFile
		KIPCSendMessageAll
		Fullscreen
		SmallMiniPixmap
		LargeMiniPixmap
  	* Added Base config settings : 
		BrowserCommand
		EditorCommand
		gtkrcPath
		gtkrc20Path
		NoKDEGlobalsTheming  (flags to disable updated to kdeglobals)
	* Changed behaviour of ToggleLayer to simply increase or descrease layer 
	  of the window
	* Added Category setting to .include files in startmenu to be able to 
	  iunclude desktop category from systemwide .desktop list.
	* new tool ASRun to run arbitrary command using AfterStep.
	

version 2.0.5 release
	* Added ReverseOrderHorizontal and REverseOrderVertical to 
	  windowbox flags
	* ButtonBevel, ButtonAlign, ButtonIconSpacing look options added 
	  to allow for better configuration of iconic window button look.
	* menu will not include any unavailable items by default. To keep them 
	  in menu - you have to add .include file with option ShowUnavailable 
	  set in it.
	* Added MinipixmapSize <Width> <Height> to look config to set maximum 
	  size of menu minipixmaps
	* Added TitleVSpacing and TitleHSpacing to MyFrame to allow for 
	  changing distance from tbar border to text.
	* Added InheritDefaults to MyFrame so to be able to init MyFrame to 
	  whatever defaults should be - in case you only want to make minor 
	  alteration to default MyFrame.
	* Added IgnoreConfig to database settings to allow for disabling of 
	  handling of ConfigRequests coming from client.
	* Added --pattern <pattern> to WinTabs module to allow for setting 
	  pattern from cmd line.
	* Lots of WinTabs fixes and improvements.
	* Added SwallowWindow "name" <module_name> built-in to allow for 
	  selection of a window to be swallowed by module, such as WinTabs.

version 2.0.4 release
	* Desktop Cover tint is now same as Base color from selected colorscheme. 
	* added look.Breeze contributed by ziph.
	* updated FAQs and moved them under ASDocGen generated tree.

version 2.0.3 release
	* added several MyFrame features : 
		TitleFHue, TitleUHue, TitleSHue, TitleFocusedHue, TitleUnfocusedHue,
		TitleStickyHue - to allow altering Hue of the titlebar on focus/unfocus.
		TitleFSaturation, TitleUSaturation, TitleSSaturation, 
		TitleFocusedSaturation, TitleUnfocusedSaturation, TitleStickySaturation - 
		to allow altering stauration of the titlebar on focus/unfocus events.
		LeftBtnAlign, RightBtnAlign to allow for different align of the right 
		and left blocks of title buttons.
	See look.Unity for sample usage of that.


version 2.0.2 release
	* added include_ordered <order_id> <path> 
	  keyword to menu .include syntax - allow including menu trees so that they 
	  all get sorted down at the bottom of menu.
	* libs can now compile as DLLs under CYGWIN.

version 2.0 release
	*Reimplemented Ident module
	*Added bunch of docs to ASDocGen and incorporated code from asimbrowser to 
	 generate HTML catalogue of installed files.
	*Added keyboard shortcuts to menus : 
		Esc or Left or Backspace - exit menu, 
		Enter or Right - run selected item or go to submenu
		Up, Down - select item
		A-Z,a-z,0-9 select item with hotkey or a first item that starts with 
		that letter.

version 2.0 beta5
	*Added Utility for autogeneration and maintenance of documentation - ASDocGen.
	 It is capable of generating docs in plain text, HTML, PHP, XML and NROFF formats,
	 from DocBook XML source, and comments embedded in source code.
	*Animate module is now back in bussiness.
	*Added TextStyles 7, 8 and 9 to implement different styles of outlined text
	*Added ability to hilite focused Wharf tile using MyStyle "*WharfFocusedTile"
	*Added ability to sort items in WinList menu in alphabetical order using 
	 WinListSortOrder 1 (in feel)
	*Added ability to remove icons from WinList menu using WinListHideIcons (in feel).

version 2.0 beta4
	* Reverted cursor settings back to feel file.
	* Used ascompose as new Banner module
	* Added to ascompose ability to process files tag by tag, allowing for animation.
	* Added to look config :
		[DontAnimateBackground	0|1]
		[CoverAnimationSteps   	<steps count>]
		[CoverAnimationType	<type>]
	  DontAnimateBackground disables non-blocking root background changing of
	full-screen backgrounds, that looks like slow animation. This is recommended
	for fast machines.
	  CoverAnimationType determines what type of animation to use while removing
	blue-tinted desktop cover - use values from 0 to 13.
	  CoverAnimationSteps is the number of animation steps to take while removing
	blue-tinted cover window.

version 2.0 beta3
	* Added WinTabs module - to swallow windows with Class matching specified
	  pattern and arrange them in single window using tabs.

version 2.0 beta2
	* Added CursorFore and CursorBack settings to look to adjust color of the mouse
	  cursor
	* Cursor settings now must be in look and not in feel.
	* Improved algorithm behind saving desktop state and restoring it on startup.
	  To enable it add the following line to autoexec :
	  Function "WorkspaceState"
	* new <color domain="ascs" name="name" argb="color_value"/> tag to ASImage XML.
          Could be used to define color aliases at the beginning of the xml script.


version 2.0 beta1
1. General
        AfterStep had been almost entirely rewritten in this new incarnation.
        Here is the short list of new architectural changes:
        1.1. New high performance and high quality image handling engine has
             been developed to fulfill GUI needs. It includes different image
             transformations, such as scaling, tiling, cropping, blurring,
             blending of arbitrary number of layers, in-memory image compression,
             support for 12 different file formats, including its own parser/writer
             of XPM files, capable of achieving much better performance then
             default libXpm. Supported image formats are :
             XPM, PNG, JPEG, XCF(GIMP image format), PPM, PNM, BMP, ICO,
             CUR, GIF, TIFF, and XML scripts. Where XML scripts allow for user to
             create script of transformations to be performed on the image at the
             time when it gets loaded.
             libAfterImage also provides support for TTF fonts ( using libfreetype )
             and smoothed standard X raster fonts.
        1.2. Window hints handling has been rewriten and reorganized, and most of the
             Extended WM specs has been incorporated, as well, as better support for
             Motif, ICCCM and old GNOME hints has been implemented.
        1.3. All the GUI rendering code has been aggregated into libAfterStep
             and now all the GUI elements are rendered using consistent approach
             in every module and every part of the AfterStep proper. From now on
             interface is build from so called TBars. TBar is rectangular area
             that may be focused(hilited) or unfocused and pressed or unpressed.
             Each TBar has the following structure :
                - the background of the TBar, which is defined by MyStyle and state
                  of the bar - there are two MyStyles assigned to each TBar - one
                  for focused and one for unfocused state.
                - tiles of the TBar. Tiles are smaller features that gets arranged
                  inside the bar according to its size, alignment, position and
                  order. Tiles could be static icons ( cannot be pressed );
                  blocks of buttons - each having two shapes - pressed and normal;
                  Text labels; Empty space tiles.
                  There could be upto 256 tiles, each residing on one of the cells
                  in 16x16 grid. Several tiles could reside in single cell, in
                  which case they get superimposed on top of each other.
                - bevel of the TBar. When TBar is rendered all of its tiles are
                  superimposed on top of its background, and resulting image
                  will have a 3D bevel drawn on it, using colors from same
                  MyStyle as used for background. Bevel could be switched off
                  partially or entirely. Respective configuration options has
                  been added  where appropriate. When TBar is pressed - its
                  bevel is inverted.

             When TBar is rendered all of its elements gets superimposed on top
             of each other using one of 13 blending methods supported by
             libAfterImage, with default being simple alphablending. See
             MyFrame configuration for more details. This is refrred to as
             "Composition Method".
        1.4. Due to the fact that AfterStep is using compression to store
             images in memory - there is no need to have separate root
             background handler, and so asetroot has been discontinued and
             afterstep proper now does all the root background loading.
             You could simply copy-and-paste your asteroot config into your
             look file. This has an added advantage of simplifing theme support
             for root backgrounds.
        1.5. Significant work has been done to create libAfterConf which
             provides easy means for reading configuration options, and
             facilitates implementation of any configuration tool.
        1.6. Some work has been done to improve support for themes. AfterStep
             proper and modules now load configuration files is this order :
             1 - base config
             2 - look, feel, menu, database, autoexec and module specific config
             3 - theme file
             4 - theme override file
             theme override file is needed so that user may have a list of
             critical options that he/she does not want to be changed by any
             theme.
             What is missing here is comprehensive theme building tool.
        1.7. AfterStep now make extensive use of X shaped extensions ( where
             available ) Everything could be shaped now - titlebars, Pager,
             Wharf, etc. To make some element shaped - MyStyle with BackPixmap
             type 125 or 126 should be used.
        1.8. Menus are now treated same as regular windows. They could be
             configured in database file using preset Style "ASMenu" to have
             different titlebar buttons, frame decorations, stickiness, etc.
             MenuPinOn has been changed to be just another titlebar button,
             with PinMenu function assigned to it.
        1.9. AfterStep no longer uses fixed scheme of 5 titlebar buttons on
             each side, and order of buttons could be configured in look. There
             is still limitation to have no more then 10 buttons total.

2. Look options
        2.1. Overview
                Frame decoration settings have been greately enhanced. It is now
             fashioned after MyStyle option and is called MyFrame. It allows
             for several named structures, with inheritance and ability to
             assign different structure to different apps using the database.
                As mentioned above root background settings has been moved into
             look - hence MyBackground and Desk back as look options.
                MyStyle has far greater number of BackPixmap types reflecting
             new functionality in libAfterImage.
                CompositionMethod setting has been added to different aspects
             of look.
                New options for more flexible placing of titlebar buttons has
             been added.
                Balloons now support both X and Y offset as well as MyStyle
             instead of simple back and fore colors.

        2.2. Window frame decorations (aka MyFrame)
                Each window is surrounded by so-called frame decoration. each
                frame decoration could be built from 9 TBars:
                1) Main Titlebar  with icons on left, label in the middle and
                   icons on right. Label may also have special underlying image -
                   so called Title Background. Ordering of this elements is set by
                   TitleButtonOrder setting ( see below ).
                2) 4 frame sides. Each of this have wixed width that is
                   determined by SideSize setting  or image size if SideSize is
                   ommited. Second dimension of the TBar changes to match the
                   size of the window.
                3) 4 frame corners. Each of this have both fixed width and
                   height, as determined by CornerSize setting or image size.

                   Each of above elements is rendered by generating background
                using respective MyStyle, and then overlaying images/buttons
                and text on top of it. Default overlaying is done using
                composition method alpha-blend. In case of main Titlebar that
                could be changed. Bevel is then drawn on top of the image as
                specified in respective setting.

                MyFrame contains
                complete instructions as to how window should be decorated :

             *******************************************************************
                MyFrame "name"
                      [Inherit     "name"]
                   #traditional form :
                      [North       <pixmap>]
                      [East        <pixmap>]
                      [South       <pixmap>]
                      [West        <pixmap>]
                      [NorthEast   <pixmap>]
                      [NorthWest   <pixmap>]
                      [SouthEast   <pixmap>]
                      [SouthWest   <pixmap>]
                  #alternative form :
                      [Side        North|South|East|West|Any [<pixmap>]] - if pixmap is ommited -
                                                                           empty bevel will be drawn
                      [NoSide      North|South|East|West|Any]
                      [Corner      NorthEast|SouthEast|NorthWest|SouthWest|Any <pixmap>] - if pixmap is ommited -
                                                                                           empty bevel will be drawn
                      [NoCorner    NorthEast|SouthEast|NorthWest|SouthWest|Any]
                  #new settings :
                      [TitleUnfocusedStyle   <style>]
                      [TitleFocusedStyle     <style>]
                      [TitleStickyStyle      <style>]
                      [FrameUnfocusedStyle   <style>]
                      [FrameFocusedStyle     <style>]
                      [FrameStickyStyle      <style>]
                      [TitleBackground       <pixmap>] - gets overlayed over background and under the text
                      [LeftBtnBackground     <pixmap>] - gets overlayed over background and under the left block of buttons
                      [LeftSpacerBackground  <pixmap>] - gets overlayed over background between left block of buttons and text label
                      [RightSpacerBackground <pixmap>] - gets overlayed over background between right block of buttons and text label
                      [RightBtnBackground    <pixmap>] - gets overlayed over background and under the right block of buttons

                  #additional attributes :
                      [SideSize        North|South|East|West|Any <WIDTHxLENGTH>] - pixmap will be scaled to this size
                      [SideAlign       North|South|East|West|Any Left,Top,Right,Bottom,HTiled,VTiled,HScaled,VScaled]
                                - default is HTiled,VTiled
                      [SideBevel       North|South|East|West|Any None|[Left,Top,Right,Bottom,Extra,NoOutline]]
                      [SideFocusedBevel      North|South|East|West|Any None|[Left,Top,Right,Bottom,Extra,NoOutline]]
                      [SideUnfocusedBevel    North|South|East|West|Any None|[Left,Top,Right,Bottom,Extra,NoOutline]]
                      [SideStickyBevel       North|South|East|West|Any None|[Left,Top,Right,Bottom,Extra,NoOutline]]
                                - default bevel is Right,Bottom
                      [CornerSize      NorthEast|SouthEast|NorthWest|SouthWest|Any <WIDTHxHEIGHT>]
                      [CornerAlign     NorthEast|SouthEast|NorthWest|SouthWest|Any Left,Top,Right,Bottom,HTiled,VTiled,HScaled,VScaled]
                                - default is HTiled,VTiled
                      [CornerBevel     NorthEast|SouthEast|NorthWest|SouthWest|Any None|[Left,Top,Right,Bottom,Extra,NoOutline]]
                      [CornerFocusedBevel    NorthEast|SouthEast|NorthWest|SouthWest|Any None|[Left,Top,Right,Bottom,Extra,NoOutline]]
                      [CornerUnfocusedBevel  NorthEast|SouthEast|NorthWest|SouthWest|Any None|[Left,Top,Right,Bottom,Extra,NoOutline]]
                      [CornerStickyBevel     NorthEast|SouthEast|NorthWest|SouthWest|Any None|[Left,Top,Right,Bottom,Extra,NoOutline]]
                                - default bevel is Right,Bottom
                      [TitleBevel      None|[Left,Top,Right,Bottom,Extra,NoOutline]
                      [TitleFocusedBevel     None|[Left,Top,Right,Bottom,Extra,NoOutline]
                      [TitleUnfocusedBevel   None|[Left,Top,Right,Bottom,Extra,NoOutline]
                      [TitleStickyBevel      None|[Left,Top,Right,Bottom,Extra,NoOutline]
                                - default bevel is Right,Bottom
                      [TitleAlign      None|[Left,Top,Right,Bottom]
                                - default is Left
                      [TitleBackgroundAlign  None|[Left,Top,Right,Bottom,HTiled,VTiled,HScaled,VScaled,LabelSize]
                      [LeftBtnBackAlign	     None|[Left,Top,Right,Bottom,HTiled,VTiled,HScaled,VScaled,LabelSize]
                      [LeftSpacerBackAlign   None|[Left,Top,Right,Bottom,HTiled,VTiled,HScaled,VScaled]
                      [RightSpacerBackAlign  None|[Left,Top,Right,Bottom,HTiled,VTiled,HScaled,VScaled]
                      [RightBtnBackAlign     None|[Left,Top,Right,Bottom,HTiled,VTiled,HScaled,VScaled,LabelSize]

                      [TitleCompositionMethod   testure_type]
                      [TitleFocusedCompositionMethod     testure_type]
                      [TitleUnfocusedCompositionMethod   testure_type]
                      [TitleStickyCompositionMethod      testure_type]
                                - default is 131 ( alpha-blending )
                  ~MyFrame
             *******************************************************************

                   MyFrame allows different MyStyles to be used for titlebar and
                frame decorations. If any of those are ommited - default
                setting from FWindowStyle/UWindowStyle/SWindowStyle will be
                used.

                   Important:
                        If you use semi-transparent images for frame sides -
                they will be overlayed on top of MyStyle generated background,
                so if you want it to be overlayed over root background - you
                should use MyStyle with BackPixmap set to 129 or 149.
                        Also note that unless you use MYStyle with BackPixmap
                126 and 125 - frame decorations will not be shaped. Likewise if
                you want frame part to have only the shape of the image, you
                specified, with no background at all - use MyStyle with
                BackPixmap set like so :

                        BackPixmap  126  empty.xpm

                Where empty.xpm is 1x1 completely transparent image (supplied
                as desktop/icons/common/empty.xpm ).

                   To identify side/corner it is possible to use abbreviations,
                such as: N, NW, SW, etc.
                   All the CompositionMethod settings must have one of the
                BackPixmap types from MyStyles ( ie 130-143 )
                   Align setting may have different meaning/capabilities for
                different items. When applied to text - it simply aligns text
                to sides mentioned. When applied to image - such as title
                background or frame side pixmap - it also specifies if image
                should be tiled, scaled or left same size. Make sure that you
                use HTiled,VTiled or HScaled,VScaled for frame sides -
                otherwise images on they will not be resized to match window
                size (this is also a feture :).
                   To center item specify Align to include both sides. For
                example :

                   Align Left,Right

                   will center item horizontally.

                Note that TitleBackground option allows you to specify an
                image to be used under titlebar label in addition to the MyStyle.
                This was done for better shaped titlebars. You may have MyStyle
                to be completely transparent shape, while TitleBackground some
                non-transparent image, and that will provide better visibility
                for the titlebar text.

             *******************************************************************
                [DefaultFrame  "name"]
             *******************************************************************

                   Allows specifying one of the MyFrames defined as
                DefaultFrame causing AfterStep to use it for all the windows,
                except those that have it redefined in database using Frame
                keyword.


        2.3. Root background settings ( aka MyBackground )

             *******************************************************************
                [KillBackgroundThreshold   <size>]
             *******************************************************************
                    Here <size> is the maximum number of pixels in root
                background image. If image is bigger that this - it will be
                unloaded from memory when desktop is switched and image is no
                longer in use. Use it on systems with low memory.

             *******************************************************************
                [DeskBack  desk# "background"]
             *******************************************************************

                   Specifies  what background to use for desk#. "background"
                can be either  image  filename  in  double-quotes,  or  the name
                of background definition (see below).

             *******************************************************************
                MyBackground "background_name"
                  background_option
                ~MyBackground
             *******************************************************************
                   Specifies the beginning of a background definition. The
                background  can be  referred to later by background_name.
                ~MyBackground ends a  root  background definition. The possible
                background_options follow:

             *******************************************************************
                [Use type  "data"]
             *******************************************************************
                   Specifies what to  use  as  the  root  background. Possible
                type values are :
                     0: load image from the file. In that case "data" should
                        specify filename. If "data" is ommited the AfterStep
                        will use default background image file for that desktop
                        ( typically ~/G/L/A/non-configurable/#desk_background )
                     1: Use MyStyle definition to fill root. In that case "data"
                        should specify one of the MyStyle names defined in your
                        look file.
                     2: Use external application to set root background. "data"
                        should specify command line options to this external app.
                        (afterstep is coded by default to use xli. If you wish
                        to use another application to display the root
                        background, you need to set the "--with-imageloader"
                        flag to use that application then recompile AfterStep.)

                Note: remaining Background options are valid only for type of 0!

                The remaining options will perform transformations on the
                source image, in this order:
                     Cut->Tint->Scale->Align->Pad.

             *******************************************************************
                Cut geometry
             *******************************************************************
                    will cut piece with specified geometry from the source image.

             *******************************************************************
                Tint color
             *******************************************************************
                    will  tint  image  with color. Gray60 will make image
                    lighter, while Gray40 will make image darker. Tinting
                    it two way !

             *******************************************************************
                Scale [geometry]
             *******************************************************************
                    scale image to specified geometry. If geometry is omitted
                    AfterStep will scale it to the screen size.

             *******************************************************************
                Align [type]
             *******************************************************************
                    it  will  align resulting image according to type.  Possible
                    values are :
                    1: - align to the right of the screen
                    2: - align to the bottom of the screen
                    3: - align to the bottom-right of the screen
                    0 or 4: - align to the center of the screen This option
                     works only in  conjunction  with  the following Pad option.

             *******************************************************************
             Pad [type color]
             *******************************************************************
                    will  pad image if it is smaller then screen
                    with specified color.  Possible type  values
                    are :
                    1: - pad horizontally and tile vertically
                    2: - pad vertically and tile horizontally
                    3: - pad both vertically and horizontally to make the image
                         the size of the screen.

             Note that all the above options with *asetroot appended to them
             will work in order to facilitate compatability with old configs.

        2.4. MyStyle changes

             *******************************************************************
             MaxColors dicontinued
             *******************************************************************
             *******************************************************************
             BackPixmap has numerous new types added :
             *******************************************************************
                2.4.1. Shaped BackPixmap types :
                     125 - image is scaled to the size of TBar and TBar is
                           shaped with alpha channel of this image.
                     126 - image is tiled to fill TBar area and TBar is shaped
                           with alpha channel of the image
                     127 - non-shaped scaled image. Works same as 128, but
                           scales image to fill TBar.
                     128-130 remain unchanged from old times
                     131 - tile and alphablend pixmap into underlying root
                           background.
                     132 - tile pixmap and tint underlying root background with
                           it.

                     133 - tile pixmap and add color values to underlying root
                           background.
                     134 - tile pixmap and subtract color values from underlying
                           root background.
                     135 - tile pixmap and calculate color difference
                           from underlying root background.
                     136 - tile pixmap and darken underlying root background with
                           it.
                     137 - tile pixmap and lighten underlying root background
                           with it.
                     138 - tile pixmap and screen underlying root background with
                           it.
                     139 - tile pixmap and overlay underlying root background
                           with it.
                     140 - tile pixmap and combine its hue with underlying root
                           background.
                     141 - tile pixmap and combine its saturation with underlying
                           root background.
                     142 - tile pixmap and combine its HSV value with underlying
                           root background.
                     143 - tile pixmap and underlying root background with
                           it.
                     144 - tile pixmap and colorize underlying root background
                           with it.
                     145 - tile pixmap and dissipate underlying root background
                           with it.
                     146-148 unused.

                     149 - two way tinting. Similar to 129, but lighter colors
                           will make underlying root background brighter, while
                     darker colors will make it darker.

                     values 150-165 are similar to 130-145, only pixmap is
                     scaled to fill TBar instead of tiled in it.

        2.5. Titlebar buttons
                ****************************************************************
                TitleButtonStyle  <val>
                ****************************************************************
                New style value 2 has been added. When 2 is used, then
                distance between titlebar edge and titlebuttons is determined
                by TitleButtonXOffset and TitleButtonYOffset.
                ****************************************************************
                TitleButtonXOffset  <x_offset_val>
                TitleButtonYOffset  <y_offset_val>
                ****************************************************************
                Determine distance of titlebar buttons from the edge of the
                titlebar
                ****************************************************************
                TitleButtonOrder  <context_sequence>
                ****************************************************************
                Determines layout of the titlebar. Default is 13579t08642.

        2.6. Menu settings
                ****************************************************************
                MenuPinOn  <image>
                ****************************************************************
                        MenuPinOn is deprecated and AfterStep will reinterpret
                it, and it will create new TitleButton using last unused
                TitleButton context. It will then assign PinMenu function to
                this button. This button will only be shown on titlebars
                belonging to menu windows. This button behaves just like any
                other TitleButton - for example you can use TitleButtonOrder to
                specify where it should go. Problem is you may not know what
                context AfterStep had choosen for it. The better way would be
                to explicitely define TitleButton, and assign PinMenu to it in
                your feel.

                ****************************************************************
                MenuHiTitleStyle "mystyle"
                ****************************************************************
                        AfterStep now allows you to specify MyStyle to be used
		for titlebar of currently hilighted menu. AS soo as menu goes out
		of focus its titlebar will be rendered using MenuTitleStyle.

                ****************************************************************
                MenuSubItemStyle "mystyle"
                ****************************************************************
                        AfterStep now includes this new feature: when you select
		an item from menu - this item will be marked as recently used,
		and next time menu is opened it will show all the recently used
                items from its SUBMENU. For exmaple you do :

                Menu->Applications->rxvt

                Next time you open Main menu - it will display rxvt just ander
                Application item with some offset.

                It looks much better when this subitems are shown with
                different (smaller ) font. To achive that - specify MyStyle
                with smaller font using MenuSubItemStyle option in your look
                file.

                This feature could be turned off or altered by using

                        RecentSubmenuItems
                option in your feel file: set it to 0 to disable feture.

                ****************************************************************
                MenuItemCompositionMethod       <130-145>
                MenuHiliteCompositionMethod     <130-145>
                MenuStippleCompositionMethod    <130-145>
                ****************************************************************
                This is a funny feature - try it and see how you like different
                values :) If you use shades of grey for your item text - you
                may not see any difference for some of this values.


        2.7. Balloon settings
             *******************************************************************
                TitleButtonBalloonBorderHilite  None|[Left,Top,Right,Bottom,Extra,NoOutline]
             *******************************************************************
             Defines bevel to be drawn around balloons - replaces BorderWidth
             setting.

             *******************************************************************
                TitleButtonBalloonXOffset  <value_in_pixels>
             *******************************************************************
                Added to complement YOffset setting.

             *******************************************************************
                TitleButtonBalloonCloseDelay <mlseconds>
             *******************************************************************
                Determines delay between when balloon is shown and before it
             disapears.

             *******************************************************************
                TitleButtonBalloonStyle  "mystyle_name"
             *******************************************************************
                MyStyle to be used to draw balloon. Note that balloons could be
             shaped (BackPixmap 125 and 126 )


3. Feel options :

        ************************************************************************
        EatFocusClick
        ************************************************************************
        When this flag is specified in feel file - AfterStep will "eat" mouse
        click, that was used to focus window in ClickToFocus mode. That means that
        if you have any function assigned to mouse clicks on the titlebars -
        those functions will only be executed if the window is already focused.

        ************************************************************************
        ClickToFocus
        ************************************************************************
        AfterStep will not switch focus following mouse pointer, but instead will
        switch it when window is explicitely clicked. This is the same as before.
        The only difference is that AfterStep will not Raise window automagically,
        unless some other settings are set. Possible way to Raise window on
        focusing include:
                - set AutoRaise 0  in feel file ( delay of 0 )
                - bind mouse clicks to Raise or RaiseLower function in feel file.
                - set ClickToRaise flag in feel file.

        ************************************************************************
        FollowTitleChanges
        ************************************************************************
        That will force AfterStep to reread and merge all the hints and
        settings from the database files, whenever window changes either its
        name or icon name.

        ************************************************************************
        PersistentMenus
        ************************************************************************
        Right now if you try to open a menu when its already opened - that will
        cause menu to close. To disable this behaviour and instead pop-up a menu
        again - use this setting.

        ************************************************************************
        NoSnapKey   <key>
        ************************************************************************
        AfterSTep now has a feature that "snaps" windows to different desktop
        features, such as edges of other windows and edge of the screen. To
        disable it temorarily you can press and hold Shift key. Use this
        setting to request different modifier key instead of Shift.

        ************************************************************************
        ScreenEdgeAttraction  <distance>
        ************************************************************************
        Defines distance from which window will be attracted to the screen
        edge, while being interactively moved/resized.

        ************************************************************************
        WindowEdgeAttraction <distance>
        ************************************************************************
        Defines distance from which window will be attracted to the other
        window's edge, while being interactively moved/resized.

        ************************************************************************
        DontRestoreFocus
        ************************************************************************
        Will not restore focus to the recently focused application wile
        switching desktops.

        ************************************************************************
        WindowBox
        ************************************************************************
        This is whole new thing to allow better window placement policy :

        WindowBox   "some_name"
              Area   WxH+X+Y
              Virtual
              MinWidth        width
              MinHeight       height
              MaxWidth        width
              MaxHeight       height
              FirstTry        SmartPlacement|RandomPlacement|Tile
              ThenTry         RandomPlacement|Cascade|Manual
              VerticalPriority
              ReverseOrder
              Desk        desk
              MinLayer    min_layer
              MaxLayer    max_layer
         ~WindowBox

        WindowBox defines area on screen/virtual desktop into which window will
        be placed on startup.
         - Area    - defines the confining region.
         - Virtual - defines that area is in virtual coordinates.
         - MinWidth,MinHeight, MaxWidth,MaxHeight - places restrains on what
        size window could be placed in this area.
         - FirstTry - strategy to use while placing window. FirstTry strategy
        will attempt to place window in empty space only.
         - ThenTry  - backup strategy to use when there is no suitable empty
        space.
         - VerticalPriority, ReverseOrder alter behaviour of some strategies  -
        Tile and Cascade, from what I remeber.
         - Desk - limits effects of this WindowBox to specific desk.
         - MinLayer,MaxLayer - limits effects of the WindowBox to windows with
        layer value that falls in range.

        Note that old SmartPlacement/RandomPlacement has been coopted to be
        used for Default windowbox.

        ************************************************************************
        DefaultWindowBox  "windowbox_name"
        ************************************************************************
        Window boxes are processed in order they were listed in config. If
        suitable windowbox could not be found for the window - then windowbox
        named in DefaultWindowBox will be forced.

        ************************************************************************
        RecentSubmenuItems <number_of_items>
        ************************************************************************
        Defines maximum number of recently used submenu items to be listed
        under menu item. Set to 0 to disable feature. Default is 4.

        3.2. Functions
                ****************************************************************
                BookmarkWindow "name" new_bookmark
                ****************************************************************
                Places a bookmark on the selected window, to be used later on to
		get back to that window.

                ****************************************************************
                GoToBookmark ["name" window_bookmark ]
                ****************************************************************
                Focuses window specified by previously placed window_bookmark.

                ****************************************************************
                PinMenu ["name"]
                ****************************************************************
                Pins menu on desktop

                ****************************************************************
                SaveWorkspace "name" file_name
                ****************************************************************
                Write list of presently running applications with its position
                and desktop number into specified file. You can run this file
                at a later time as a shell script to restore state of the
                desktop. Note this does not work for many applications that
                does not provide needed ICCCM properties on its windows.

                ****************************************************************
                ChangeTheme "name" file_name
                ****************************************************************
                Sets current theme config file. Such config file may include
                settings for look, feel, menu, autoexec and any module.

4. Database options
        ************************************************************************
        NoFrame
        ************************************************************************
        Disabled frame decorations for this window

        ************************************************************************
        Frame  "frame_name"
        ************************************************************************
        Enables "frame_name" to be used for decoration of this window

        ************************************************************************
        WindowBox "window_box_name"
        ************************************************************************
        Requires AfterSTep to use specified WindowBox for placement of this
        window.

        ************************************************************************
        DefaultGeometry
        ************************************************************************
        Fill force AfterStep to replace parts of window initial placement with
        predefined values. For example :

        Style "*mozilla*"  DefaultGeometry 1024x500

        will force mozilla windows (or any windows that have "mozilla" in its
        name ) to have initial size 1024x500.
        Note that in case of mozilla its usefull to define several Styles so
        that you will get different geometries for different dialog boxes, such
        as search/download/ etc.

        ************************************************************************
        OverrideGravity  gravity
        ************************************************************************
        Some applications (notably xv) has been designed without reading widely
        accepted and used standards such as ICCCM. Gravity value is one of
        the hints that often gets misplaced by applications. As the result may
        exhibit wierd placement behaviour - such as windows moving to the
        top-left with each resize or file opened. Try specifying StaticGravity
        for such apps. Also some applications do not set gravity correctly. For
        example you start an application with geometry +10-10 which means
        SouthWestGravity and that should fix position of left and bottom sides
        of the window. But window set its gravity to NorthWestGravity instead
        and as the result window gets placed further down to the bottom by the
        size of the framne decorations. In this cases you can specify whatever
        gravity you want and thus override those stupid apps.

        Allowed values are :
                NorthWest
                North
                NorthEast
                West
                Center
                East
                SouthWest
                South
                SouthEast
                Static

        Read more about gravity at :
                http://www.freedesktop.org/standards/wm-spec/1.3/html/x362.html

        All of the options below are similar to NoPPosition stuff - it either
        enables or disables handling of specific ICCCM, MOTIF, etc. properties
        that are set on the window by application.

        4.2. ICCCM hints handling

        ************************************************************************
        HonorPPosition
        ************************************************************************
        Forces AfterStep to use PPosition hint for this window. PPosition hint
        normally means that application has determined its position due to some
        of its own configuration settings, and position has not been
        explicitely requested on the command line. This setting overrides
        NoPPosition setting in feel file.

        ************************************************************************
        NoPPosition
        ************************************************************************
        Opposite of the above. PPosition will be ignored for the matching
        window.

        ************************************************************************
        HonorGroupHints
        ************************************************************************
        ************************************************************************
        NoGroupHints
        ************************************************************************
        ************************************************************************
        HonorTransientHints
        ************************************************************************
        Will force AfterStep to use transient hint, effectively attaching
        window to its parent( placing it on the same layer , etc. )

        ************************************************************************
        NoTransientHints
        ************************************************************************
        Ignore transient hint - window will be treated as an independent
        window.

        4.2. Motif hints handling
        ************************************************************************
        HonorMotifHints
        ************************************************************************
        ************************************************************************
        NoMotifHints
        ************************************************************************
        Forces AfterStep to disregard Motif decoration and functionality hints.

        4.3. Old style GNOME hints :
        ************************************************************************
        HonorGnomeHints
        ************************************************************************
        ************************************************************************
        NoGnomeHints
        ************************************************************************

        4.4. Modern GNOME and KDE hints ( Extended WM Hints ):
        ************************************************************************
        HonorExtWMHints
        ************************************************************************
        ************************************************************************
        NoExtWMHints
        ************************************************************************

        4.5. XResources database handling :
        ************************************************************************
        HonorXResources
        ************************************************************************
        ************************************************************************
        NoXResources
        ************************************************************************
        Forces AfterStep to disregard XResources database when it comes to
        window placement.

5. XResources database.
        Each application amy have the following resources defined for it in
        .xresources:
        ************************************************************************
        Desk <desk>
        Layer <layer>
        ViewportX <x_pos>
        ViewportY <y_pos>
        ************************************************************************
        This will be checked when window is mapped and will be merged with the
        rest of the settings to determine startup status of an application.
        ( This may need to be debugged ).

6. Pager options

        ************************************************************************
        ShadeButton  <unpressed_image> [<pressed_image>]
        ************************************************************************
        You should be able to "shade" row or column of desks by pressing
        special Shade button on desk's title. Define images to be used for it
        with this option. If no images are defined - then there will be no
        button and feature will be disabled.

7. Wharf options
        ************************************************************************
        ShowLabel
        ************************************************************************
        Flag that tells Wharf to render button's label on each of its buttons,
        effectively immitating behaviour of Zharf.

        ************************************************************************
        LabelLocation  <val>
        ************************************************************************
        Specifies location of the label. Correct values are integers in range
        of 0-32. label could be drawn on each sideof the button and just on top
        of icon. It could also be aligned to different sides.

        ************************************************************************
        FlipLabel
        ************************************************************************
        Will cause Wharf to draw vertical label text.

        ************************************************************************
        FitContents
        ************************************************************************
        Wharf will draw each button so that it fits its contents perfectly (
        icon or swallowed app ). That will cause some of th eWharf's buttons to
        differ in size from others. Use in conjunction with ShapeToContents.

        ************************************************************************
        ShapeToContents
        ************************************************************************
        Will cause Wharf to use X Shaped extentions and have a window of
        non-rectangular shape. Shape is composed from the overall geometry of
        buttons ( see FitContents ), shape of the MyStyle used to draw Wharf
        background ( if BackPixmap 126 or 125 is used ), contents of each
        button - such as swallowed app's shape, label and icons.

        ************************************************************************
        AlignContents Left,Top,Right,Bottom,HTiled,VTiled,HScaled,VScaled,HCenter,VCenter
        ************************************************************************
        That will force contents of each Wharf's button to be aligned to either
        side of the button, when FitContents is not used.

        ************************************************************************
        Bevel None|[Left,Top,Right,Bottom,Extra,NoOutline]
        ************************************************************************
        Determines exact size and shape of the 3D bevel drawn around each
        button. This option is somewhat synonymous to NoBorder. If NoBorder is
        encountered after Bevel - then it will override Bevel, otherwise Bevel
        will override NoBorder.

        ************************************************************************
        CompositionMethod testure_type
                - default is 131 ( alpha-blending )
        ************************************************************************
        Determines algorithm use to blend all the icons and Wharf background to
        form button's image. Valid values are 130-145 ( see MyStyles section
        above ).

8. WinList options

        ************************************************************************
        *WinListGeometry            +x+y
        ************************************************************************
        Specifies WinList geometry. Note that only position could be specified -
        size is defined by other parameters and number of buttons.

        ************************************************************************
        *WinListMinSize             WxH
        ************************************************************************
        Minimum size of the WinList. WinList will not shrink smaller then this
        size, when number of buttons is small, but instead it will enlarge
        buttons to fill extra space. YOu can set only Width, only Height or
        both.

        ************************************************************************
        *WinListMaxSize             WxH
        ************************************************************************
        Maximum size of the WinList. WinList will not grow larger then
        this size, when number of buttons increase, but instead it will shrink
        buttons to fit in allowed space. You can set only Width, only
        Height or both. extra rows/columns could be added when max size is
        reached in one direction.

        ************************************************************************
        *WinListMaxRows             count
        ************************************************************************
        Maximum number of rows in WinList.

        ************************************************************************
        *WinListMaxColumns          count
        ************************************************************************
        Maximum number of columns in WinList.

        ************************************************************************
        *WinListMinColWidth         width
        ************************************************************************
        Minimum width of the column

        ************************************************************************
        *WinListMaxColWidth         width
        ************************************************************************
        Maximum width of the column.
        Older *WinListMaxWidth is still supported for compatibility, but
        depreciated.

        ************************************************************************
        *WinListFillRowsFirst
        ************************************************************************
        Flag, indicating that WinList should should add new row when new button
        is added, and only if MaxRows or max height is reached - add new
        column. By Default WinLIst adds columns first.

        ************************************************************************
        *WinListUseSkipList
        ************************************************************************
        Obey SkipWinList flags set by applications or database config.

        ************************************************************************
        *WinListUnfocusedStyle      "style"
        *WinListFocusedStyle        "style"
        *WinListStickyStyle         "style"
        ************************************************************************
        MyStyle to be used for rendering of window buttons for windows thar are
        in particular state.

        ************************************************************************
        *WinListUseName             0|1|2|3   # 0 - Name, 1 - icon, 2 - res_name, 3 - res_class
        ************************************************************************
        Tells WinList what type of name to use for displaying in WinList label.

        ************************************************************************
        *WinListAlign               Left,Right,Top,Bottom
        ************************************************************************
        Sets align of the text label in WinList buttons.

        ************************************************************************
        *WinListBevel               None,Left,Right,Top, Bottom, NoOutline
        ************************************************************************
        Defines 3D bevel of WinList buttons.

        ************************************************************************
        *WinListFBevel              None,Left,Right,Top, Bottom, NoOutline
        *WinListUBevel              None,Left,Right,Top, Bottom, NoOutline
        *WinListSBevel              None,Left,Right,Top, Bottom, NoOutline
        ************************************************************************
        Defines 3D bevel of WinList buttons for windows that are in specific
        state (unfocused/focused/sticky).

        ************************************************************************
        *WinListAction              [Click]1|2|3|4|5  <action>
        ************************************************************************
        Defines what function should be executed on the window when specific
        mouse button is clicked over window's button.

        ************************************************************************
        *WinListShapeToContents
        ************************************************************************
        When Shaped extensions are available - it will cause WinList to have
        non-rectangular shape to wrap around columns/rows of buttons.

        ************************************************************************
        CompositionMethod
        ************************************************************************
        Sets composition method to be used to draw WinList buttons. Default is
        alpha-blending. Valid values are in range 130-145.

        ************************************************************************
        FCompositionMethod
        UCompositionMethod
        SCompositionMethod
        ************************************************************************
        Sets composition method for buttons representing windows in particular
        state.

        ************************************************************************
        *WinListSpacing
        *WinListHSpacing
        *WinListVSpacing
        ************************************************************************
        ************************************************************************

9. Command line options.
        Every module including afterstep proper will support the following set
        of command line switches :
        -v --version         - Display version information and stop.
        -c --config          - Display Config information and stop.
        -h --help            - Display uasge information and stop.
           --debug           - Debugging: Run in Synchronous mode..
        -s --single          - Run on single screen only.
        -r --restart         - Run as if it was restarted.
                               same as regular startup, only runs RestartFunction
                               instead of InitFunction.
        -d --display          <val> - Specify what X display we should connect to.
                                      Overrides $DISPLAY environment variable.
        -f --config-file      <val> - Read all config from requested file.
                                      Use it if you want to use .steprc
                                      instead of standard config files.
        -p --user-dir         <val> - Read all the config from requested dir.
                                      Use it to override config location
                                      requested in compile time.
        -g --global-dir       <val> - Use requested dir as a shared config dir.
                                      Use it to override shared config location
                                      requested in compile time.
        -V --verbosity-level  <val> - Change verbosity of the AfterStep output.
                                      0 - will disable any output;
                                      1 - will allow only error messages;
                                      5 - both errors and warnings(default).
                                      10- maximum level of output - everything printed
           --window           <val> - Internal Use: Window in which action occured.
                                      interface part which has triggered our startup.
           --context          <val> - Internal Use: Context in which action occured.
                                      interface part which has triggered our startup.
           --look             <val> - Read look config from requested file.
                                      Use it if you want to use different look
                                      instead of what was selected from the menu.
           --feel             <val> - Read feel config from requested file.
                                      Use it if you want to use different feel
                                      instead of what was selected from the menu.
           --theme            <val> - Read theme config from requested file.
                                      Use it if you want to use different theme
                                      instead of what was selected from the menu.
        -l --log              <val> - Spool all output into a file instead of
                                      printing it to the console.
10. Compilation flags.

        Below are the flags that could be used with ./configure script, and env
        vars to be set in order to aid debugging.

        ************************************************************************
        --enable-gdb
        ************************************************************************
        Enables extensive output of debugging messages. Also that enables
        debugging information in executable allowing for more descriptive
        messages while debugging with gdb. Note : it is usefull to specify -l
        option to avoid huge number of messages printed on console (see above).

        ************************************************************************
        --with-libefence
        ************************************************************************
        Enables memory corruption debugging using libEFence. It is usefull when
        AfterStep crashes, and it is not then possible to backtrace/debug it in
        gdb due to corrupted stack. Enabling libEFence will cause AfterSTep to
        crash at exact moment when memory corruption occur, preventing it from
        corrupting stack.

        ************************************************************************
        --enable-audit
        ************************************************************************
        Enables built in memory utilization auditing. That will cause AfterStep
        to print error messages when memory gets deallocated that was never
        allocated. Also that will print a long list of unfreed memory when
        afterstep/module shuts down. That could be used to track down memory
        leaks.

        ************************************************************************
        export CFLAGS=-DTRACE_ASIMAGES
        ************************************************************************
        Enabling that will cause libAfterImage to keep track of all the
        ASImages being created/destroyed. You could then print list of those at
        arbitrary moments, to see what images are loaded into memory.

        ************************************************************************
11. Depreciated
        11.1. Look :
             MenuPinOn

        11.2. Wharf :
             Folders/~Folders in Wharf config - use Folder/~Folder instead

        11.3. asetroot :
             If AfterStep proper fails to read any MyBackground definitions
             from the look file - it will attempt to read asteroot file. Althou
             you may be fine for now - make sure you move this config into look
             file, as in future asetroot file may become obsolete.

        11.4. WinList :
             *WinListMaxWidth
                Use *WinListMaxSize/*WinListMinSize instead

             *WinListOrientation         across|vertical
                Use *WinListFillRowsFirst instead.

12. Discontinued
        12.1. Look :
                TextureMaxColors
                MenuPinOff
                TextGradientColor
                GradientText
                ButtonMaxColors

        12.2. Feel :
                MWMFunctionHints
                MWMDecorHints
                MWMHintOverride

        12.3. WinList :
                *WinListHideGeometry        WxH+x+y
                *WinListNoAnchor
                *WinListUseIconNames
                *WinListAutoHide



