IPB
>  Man Pages > Unix > FreeBSD 6.2 > Section 1 > afterstep man page

afterstep man page

Section 1 - FreeBSD 6.2 Man Pages

Other operating system man pages available here


Advanced Search

Hopefully, this page is exactly what you are looking for, but if not, you can always find further assistance on Unix/Linux Forum!


AFTERSTEP(1.0)							AFTERSTEP(1.0)




NAME

       afterstep - X11 window manager


SYNOPSIS

       afterstep [-d dpy ] [-debug] [-f config_file ] [-s]


DESCRIPTION

       AfterStep  is  a  continuation  of  the BowMan window manager which was
       originally put together by Bo Yang.  BowMan was based on the fvwm  win-
       dow  manager,  written  by  Robert Nation.  Fvwm was based on code from
       twm.  And so on...  It is designed to emulate some of the look and feel
       of the NEXTSTEP(tm) user interface, while adding useful, requested, and
       neat features.  The changes which comprise AfterStep's personality were
       originally part of BowMan development, but due to a desire to move past
       simple emulation and into a niche as its own valuable  window  manager,
       the  current  designers decided to change the project name and move on.
       BowMan development may continue, but we will no longer be a part of it.

       Some major changes from fvwm 1.24 include:
	      1. NEXTSTEP(tm)-alike title bar, title buttons, borders and cor-
	      ners.
	      2.  AfterStep's Wharf is a much worked-out version of GoodStuff.
	      To avoid copyright complications it is not called a "dock."
	      3.  NEXTSTEP(tm)	style  menus.  However	the menus are not con-
	      trolled by applications, they are more of pop-up	service  lists
	      on the root window.
	      4.  NEXTSTEP(tm)	style  icons. The default icons are consistent
	      with those in the NEXTSTEP(tm) interface, but they  are  config-
	      urable.

       However,  the  flexibility  of  fvwm was not traded off. The initiation
       file, ~/.steprc , recognizes most of the fvwm 1.24r  commands.  Virtual
       screens and the pager are still intact.	Fvwm(1.24) modules should work
       just fine. However, compatibility with fvwm-2 is not planned.


SPECIAL NOTE FOR XFREE86 USERS

       XFree86 provides a virtual screen whose operation   can	 be  confusing
       when  used  in  conjunction  with  this	virtual  window manager.  With
       XFree86, windows  which	appear	on  the virtual  screen  actually  get
       drawn  into  video  memory,  so	the  virtual screen size is limited by
       available video memory.

       With AfterStep's virtual desktop, windows which do not  appear  on  the
       screen  do  not	actually get drawn  into  video  RAM.  The size of the
       virtual desktop is limited to about 32,000  by  32,000  pixels.	It  is
       probably  impractical  to use a virtual desktop more than about 5 times
       the visible screen in each direction.  Note that memory usage with  the
       virtual	desktop   is   a   function  of   the  number of windows which
       exist. The size of the desktop makes no difference.

       When becoming familiar with AfterStep , it is   recommended   that  you
       disable XFree86's virtual screen, by setting the virtual screen size to
       the physical screen size. When familiar with AfterStep , you  may  want
       to re-enable XFree86's virtual screen.


COPYRIGHTS

       AfterStep  is based on BowMan and shares copyrights with it.  BowMan is
       derived from Fvwm code, which is in turn derived from  twm  code,  thus
       AfterStep shares copyrights with Bowman, Fvwm, and twm.

       AfterStep  is  copyright  1996  by Frank Fejes, Alfredo Kojima, and Dan
       Weeks.  All other  modifications  are  copyright  to  their  respective
       authors.

       Permission  to  use, copy, modify, and distribute this software and its
       documentation  for  any	purpose  and   without fee is hereby  granted,
       provided  that  the  above  copyright notice appear  in	all copies and
       that  both   that copyright    notice   and   this   permission	notice
       appear in supporting  documentation.

       Please  see  the  file CREDITS included with the AfterStep distribution
       for the conditions that are incumbent on the users of AfterStep due  to
       its relations to fvwm and twm.

       FRANK  FEJES,  DAN  WEEKS, AND ALL OTHER CONTRIBUTERS DISCLAIM ALL WAR-
       RANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED  WARRANTIES
       OF  MERCHANTABILITY  AND  FITNESS, IN NO EVENT SHALL ANY CONTRIBUTOR BE
       LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR  ANY  DAM-
       AGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
       AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT
       OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


ANATOMY OF A WINDOW

       AfterStep puts  a  decorative border on the top and bottom of most win-
       dows. This border consists of a bar on the bottom that is divided  into
       three sections.	These sections are referred to as "handles".  There is
       also a top bar called the title bar which is used to display  the  name
       of the window and two title-bar buttons.

       Unless  the standard defaults files are modified, pressing mouse button
       1 on the titlebar will begin a move operation on the  window.  Pressing
       button 1 on the bottom handle bar will begin a resize operation. Press-
       ing button 2 on either the titlebar or the bottom handle brings	up  an
       extensive list of window operations.

       The  default configuration  has	a title-bar button on each side of the
       title-bar. The one on the left is used to iconify the  window,  regard-
       less   of   which mouse button is used. The one on the right is used to
       close the window, regardless of which mouse button is  used.   See  the
       section	on  "Mouse"  for  more	information.  Further modifications to
       AfterStep's  behavior  can  be  made  in  the  ~/.steprc  file,	 using
       /usr/X11R6/lib/X11/afterstep/system.steprc as a guide.

       Shaped  windows	such  as  xeyes  or oclock get a title bar that floats
       above the window and no bottom bar.  The background area of shaped win-
       dows  is  transparent.  If you are tight on memory, you can disable the
       SHAPE extensions by modifying configure.h  and  recompiling  AfterStep.
       This way shaped windows get a solid color background and you save about
       60 kbytes of memory when no shaped windows are present.


THE VIRTUAL DESKTOP

       AfterStep provides multiple virtual desktops for users who wish to  use
       them.  The screen is a viewport onto a desktop which is larger than (or
       the same size as) the screen.   Several	distinct  desktops   can    be
       accessed.  Concept:  one  desktop for each project, or one desktop  for
       each  application, when	view  applications are distinct.   Since  each
       desktop	can  be  larger  than  the physical screen, windows which  are
       larger  than  the  screen, or large groups of related windows, can eas-
       ily be viewed.

       The  size  of  the  each virtual desktop must be specified  at start-up
       (default:  2  times  the  physical  size  of the screen).  All  virtual
       desktops  must be the same  size.  The total  number  of distinct desk-
       tops need not be specified, but is limited to approximately  4  billion
       total.  All windows on the current desktop can be displayed in a Pager,
       or miniature view or the current desktop.  Windows  which are   not  on
       the  current  desktop  can be listed, along with their geometries, in a
       window list, accessible as a pop-up menu.

       "Sticky" windows  are windows which transcend the  virtual  desktop  by
       "Sticking  to  the  screen's  glass."   They  always stay  put  on  the
       screen.	This is convenient for things like clocks and xbiff's, so  you
       only need to run one  such gadget, and it always stays with you.

       Window	geometries   are  specified relative  to the current viewport.
       That is, xterm -geometry +0+0, will always show up in  the   upper-left
       hand  corner of the visible portion of the screen. It is permissible to
       specify geometries  which place	windows on the	virtual  desktop,  but
       off  the  screen.   For	example, if the visible screen is 1000 by 1000
       pixels, and  the desktop size is 3x3, and the current  viewport	is  at
       the upper left hand corner of the desktop, then	invoking xterm -geome-
       try +1000+1000 will place the window just off of the lower  right  hand
       corner  of  the	screen.   It  can be  found by moving the mouse to the
       lower right hand corner of the screen, and waiting  for	it  to	scroll
       into  view.  There  is currently no way to cause a window to map onto a
       desktop	other than the currently active desk.  A geometry specified as
       something   like  xterm -geometry -5-5 will  generally  place  the win-
       dows lower right hand corner 5 pixels from the lower right hand	corner
       of   the  visible   portion of the screen. Not all applications support
       window geometries with negative offsets.

       Some applications, like xterm and xfontsel, allow the user to   specify
       the  start-up desk on the command line. xterm -xrm "*Desk:1" will start
       an xterm on desk number 1. Other applications do  not  understand  this
       option.


INITIALIZATION

       During	initialization, AfterStep will search for a configuration file
       which describes key and button bindings, and a few  other  things.  The
       format	of these  files will be described later. First, AfterStep will
       search for a file  named .steprc in the user's home directory.  Failing
       that, it will look for /usr/lib/X11/afterstep/system.steprc for system-
       wide defaults. If that file is not found, AfterStep will exit.

       AfterStep will  set  two  environment  variables which will  be	inher-
       ited   by   its	 children.  These  are	$DISPLAY  which describes  the
       display on which AfterStep is running.  $DISPLAY  may  be  unix:0.0  or
       :0.0,  which  doesn't  work  too  well	when  passed  through  rsh  to
       another machine, so $HOSTDISPLAY will also be set, and will use a  net-
       work-ready  description	of   the  display. Unfortunately, $HOSTDISPLAY
       will use the tcp/ip transport protocol, even for a  local   connection,
       so   $DISPLAY   should	be  used  for local connections, as it may use
       unix-domain sockets, which are faster.


ICONS

       By default, AfterStep is compiled with XPM extensions which  allow  one
       to  use	color  icons similar to those in NEXTSTEP(tm), ctwm, Microsoft
       Windows, or the Macintosh.  In order to use  these  options,  you  will
       need    the    XPM    package,	 which	 should   be   available   at:
       ftp://ftp.x.org/contrib/libraries.  XPM extensions can be removed  from
       AfterStep if one wants to have monochrome icons and doesn't want pixmap
       tiled titlebars, etc.


MODULES

       A  module  is  a separate  program,  which  runs  as  a	separate  unix
       process, but transmits commands to AfterStep to execute.  These modules
       get many kinds of window information from AfterStep.  Users can	 write
       their  own  modules  to	do any weird or bizarre manipulations, without
       affecting the integrity of AfterStep itself.

       Modules MUST be spawned by AfterStep, (i.e. not executed from the  com-
       mand  line)  so that AfterStep can set up two pipes used for communica-
       tion between the module and AfterStep.  Modules can be  spawned	during
       AfterStep initialization via  the Module  option, or at any time during
       the X session by use of the Module built-in function. Modules can exist
       for  the  duration  of  the X session, or can perform a single task and
       exit.

       If a module is still active when AfterStep is told  to  quit, AfterStep
       will  close down the communication pipes, and wait to receive a SIGCHLD
       from the module, indicating that it  has detected the pipe closure, and
       has  exited. If modules fail to detect the pipe closure, AfterStep will
       exit after approximately  30 seconds anyway. The number	of  simultane-
       ously  executing  modules  is limited by the operating system's maximum
       number of simultaneously open files, usually between 60 and 256.

       Modules are documented in their own manual pages.


ICCCM COMPLIANCE

       AfterStep attempts  to  be  ICCCM  2.0  compliant.  As  of  this  (1.0)
       release, colormap handling is not completely ICCCM compliant.  In addi-
       tion, ICCCM states that it  should  be  possible  for  applications  to
       receive	ANY  keystroke,  which	is  not consistent  with the  keyboard
       shortcut approach used in AfterStep and	most  other  window  managers.
       The  user  can disable any AfterStep keystroke that should be passed to
       the application and not intercepted by the window manager.


M4 PREPROCESSING

       If AfterStep is compiled with the M4 option, AfterStep  uses  m4(1)  to
       preprocess  its	setup  files  before  parsing. This way you can use m4
       macros to perform operations at runtime.  This makes it	very  easy  to
       work with different displays with different characteristics.

       For  example,  depending  on  your mood, you might want different color
       schemes.  One way of doing this is by using the -m4opt to specify  your
       mood.   For a sunny mood use -m4opt -DSunny; for a dark mood use -m4opt
       -DDark.	Your .steprc file might then contain:

       ifdef(`Sunny',`
       StdForeColor	       Black
       StdBackColor	       LightSkyBlue
       HiForeColor	       yellow
       HiBackColor	       PeachPuff1
       PagerBackColor	       BlanchedAlmond ')

       ifdef(`Dark',`
       StdForeColor	       Black
       StdBackColor	       #60a0c0
       HiForeColor	       black
       HiBackColor	       #c06077
       PagerBackColor	       #5c54c0
       PagerForeColor	       orchid
       StickyForeColor	       Black
       StickyBackColor	       #60c0a0 ')

       The following m4 symbols are predefined by AfterStep:

       BITS_PER_RGB	       The number of significant bits in an RGB color.
			       (log  base  2  of the number of distinct colors
			       that can be created.  This is  often  different
			       from the number of colors that can be displayed
			       at once.)

       CLASS		       Your visual class.  Will return	one  of  Stat-
			       icGray,	GrayScale,  StaticColor,  PseudoColor,
			       TrueColor, DirectColor, or, if it cannot deter-
			       mine what you have, NonStandard.

       CLIENTHOST	       The machine that is running the clients.

       COLOR		       This  will  be  either  'Yes' or 'No'.  This is
			       just a wrapper  around  the  CLASS  definition.
			       Returns	'Yes' on *Color and 'No' on StaticGray
			       and GrayScale.

       AFTERDIR 	       This is set to the path where the modules  were
			       configured to be installed.

       AFTER_VERSION	       This  is  a  string  containing	the version of
			       AfterStep.

       HEIGHT		       The height of your display in pixels.

       HOME		       The user's home directory.  Obtained  from  the
			       environment.

       HOSTNAME 	       The canonical hostname running the clients (ie.
			       a fully-qualified version of CLIENTHOST).

       OPTIONS		       This is a string of compile time options  used.
			       Each  option  is  separated from the other by a
			       space.

       PLANES		       The number of bit planes your display  supports
			       in the default root window.

       RELEASE		       The  release  number of your X server.  For MIT
			       X11R5 this is 5.

       REVISION 	       The X minor protocol revision.  As seen by Pro-
			       tocolRevision(3).

       SERVERHOST	       This variable is set to the name of the machine
			       that is running the X server.

       TWM_TYPE 	       Tells which twm offshoot is running.   It  will
			       always be set to the string "afterstep" in this
			       program.  This is useful for  protecting  parts
			       of your .twmrc file that AfterStep proper won't
			       understand (like  WorkSpaces)  so  that	it  is
			       still usable with other twm programs.

       USER		       The  name  of  the  user  running  the program.
			       Obtained from the environment.

       VENDOR		       The vendor of your X server.  For example:  MIT
			       X Consortium.

       VERSION		       The  X major protocol version.  As seen by Pro-
			       tocolVersion(3).

       WIDTH		       The width of your display in pixels.

       X_RESOLUTION	       The X resolution of your display in pixels  per
			       meter.

       Y_RESOLUTION	       The  Y resolution of your display in pixels per
			       meter.

       You may well find that if you research the m4(1) manual well and under-
       stand  the  power  of m4, this will be a very useful and powerful tool.
       But if you use any of the symbols which are predefined by m4,  you  are
       in  severe danger!  For example, Sun's m4 predefines include, so if you
       use that name in your .steprc, you are out of luck.  The correct  solu-
       tion  to  this problem is to put a set of quotes around the troublesome
       word:  `include'.

       To help alleviate this problem, the following options  may  be  useful.
       To change the quoting characters used by m4, use the options -m4-squote
       and -m4-equote.	Be sure to specify both options otherwise m4  will  be
       confused.   When  these	are given, a changequote macro is given before
       the users steprc file is processed.

       NOTE: Some versions of m4 are broken with respect to  changing  quoting
       characters  and	included  files.   When the quoting strings are longer
       than one character, the macro "include(<<file>>)", where "<<" and  ">>"
       are  the  quoting characters, contains extra characters around the con-
       tents of the included file.  This will confuse AfterStep.  SunOS  4.1.3
       is known to have this problem.

       If you are using GNU m4 an additional option is available.  By specify-
       ing -m4-prefix when starting AfterStep, m4 is instructed to prefix  all
       builtin macros with m4_.  Thus, include becomes m4_include.

       The  availability of the m4 preprocessing is subject to the compilation
       define M4, which is commented out in the configure.h as distributed.


OPTIONS

       -d displayname
	      Manage  the  display called, "displayname", instead of the  name
	      obtained from the environment variable $DISPLAY.

       -debug	Puts  X  transactions  in synchronous mode, which dramatically
	      slows things down,  but  guarantees  that  AfterStep's  internal
	      error messages are correct.

       -f config_file
	      Causes  AfterStep to use config_file instead of ~/.steprc as the
	      window manager configuration file.

       -s     Run AfterStep on only the specified  screen  of  a  multi-screen
	      display.	 Normally,  AfterStep  will attempt to start up on all
	      screens of a multi-screen display.  The  "specified  screen"  is
	      the  one	provided  in the DISPLAY environment variable, or pro-
	      vided through the -d option.


CONFIGURATION OPTIONS

       The configuration file, usually ~/.steprc , is used to  describe  mouse
       and  button  bindings,  colors,	the  virtual display size, and related
       items.  This section describes the configuration options.  Lines within
       the configuration file beginning with '#' will be ignored by AfterStep.
       Lines starting with '*' are expected to	contain  module  configuration
       commands.

       StdForeColor colorname
	      Sets   the  foreground   color   for   menus   and  non-selected
	      window  titles to colorname.  When using	a  monochrome  screen,
	      this  option  is	ignored, and black is used.

       StdBackColor colorname
	      Sets  the background  color  for	menus,	and non-selected  win-
	      dows to colorname.   When  using	a  monochrome	screen,   this
	      option  is  ignored, and white is used.

       StickyForeColor colorname
	      Sets  the  foreground  color  for   non-selected	 window sticky
	      (Sticks-to-glass) titles to colorname.  When using a  monochrome
	      screen, this option is ignored, and black is used.

       StickyBackColor colorname
	      Sets  the  background  color  for   non-selected	 window sticky
	      (Sticks-to-glass) windows to colorname.  When using a monochrome
	      screen, this option is ignored, and  white is used.

       HiForeColor colorname
	      Sets  the  color for selected window's title to colorname.  When
	      using a monochrome screen, this option is ignored, and black  is
	      used.   Note  that  this	currently also controls the menu high-
	      lights, popup menu titles and the icon title font.   This  is  a
	      "feature."

       HiBackColor colorname
	      Sets  the background color for the selected window to colorname.
	      When using a monochrome screen,  this  option  is  ignored,  and
	      white is used.  Note that this also controls the IconTitle back-
	      ground color.

       MenuForeColor colorname
	      Sets the menu foreground color.	When  using  monochrome,  this
	      option is ignored.

       MenuBackColor colorname
	      Sets  the  menu  background  color.  When using monochrome, this
	      option is ignored.

       MenuStippleColor colorname
	      Sets the color for shaded out entries in	menus  (for  functions
	      which   are   not  allowed  on  the currently selected  window).
	      When  using  monochrome,	 this option  is  ignored, and a stip-
	      ple pattern is used.

       MenusHigh
	      Makes  the  popup  menu submenus appear at the top of the parent
	      menu instead of starting at the point in the parent window where
	      the submenu item lies.

       PagerBackColor colorname
	      Causes  the  pager background color to be colorname , instead of
	      white. On a monochrome  screen,  this option  is	 ignored.   If
	      the NO_PAGER option is set when building AfterStep , this option
	      is unavailable.

       PagerForeColor colorname
	      Causes the pager foreground color to be colorname , instead   of
	      black.   This is the color used to high- light the current view-
	      port in the pager window.  On a monochrome screen,  this	option
	      is ignored. If the NO_PAGER option is set  when  building After-
	      Step ,  this option is unavailable.

       PagerFont fontname
	      Makes AfterStep use the font fontname instead of "fixed" for the
	      pager labels.

       TextureTypes focusedtitle unfocusedtitle stickytitle menutitle menuitem
	      Specifies the type of gradient fill to be used on  each  of  the
	      above  parts  of	the AfterStep windows.	Currently valid values
	      are:
	      0 - No texture
	      1 - Wharf-style gradient
	      2 - Horizontal one way gradient
	      3 - Horizontal cylindrical gradient
	      4 - Vertical one way gradient
	      5 - Vertical cylindrical gradient
	      128 - User specified pixmap (See TitlePixmap, etc)
	      The entry from the included sample.steprc is TextureTypes 1 1  1
	      1  1.   This makes all gradients fill from the upper left to the
	      lower right with your specified colors.

       TextureMaxColors title unfocusedtitle stickytitle menutitle menuitem
	      The number of colors to use on textures.	Default is TextureMax-
	      Colors  10 10 10 10 10 on 8 bpp screens and TextureMaxColors 128
	      128 128 128 128 on 16+ bpp screens. The actual number  of  allo-
	      cated  colors  may  be lower.  You must at least specify a value
	      for title.

       TitleTextureColor from to
	      Colors that the gradient will go from and to when gradients  are
	      drawn  in a window titlebar.  The default values for from and to
	      are #101030 and  #303080 respectively.  Values must be in either
	      standard X color names or hex notation.

       UTitleTextureColor from to
	      Colors  that the gradient will go from and to when gradients are
	      drawn in a non-focused window titlebar.  The default values  for
	      from  and to are #86868a and  #c0b6c3 respectively.  Values must
	      be in either standard X color names or hex notation.

       STitleTextureColor from to
	      Colors that the gradient will go from and to when gradients  are
	      drawn  in a sticky window titlebar.  The default values for from
	      and to are #86868a and #c0b6c3 respectively.  Values must be  in
	      either standard X color names or hex notation.

       MenuTextureColor from to
	      Colors  that the gradient will go from and to when gradients are
	      drawn on the menu entries.  The default values for from  and  to
	      are #101030 and  #404090 respectively.  Values must be in either
	      standard X color names or hex notation.

       MTitleTextureColor from to
	      Colors that the gradient will go from and to when gradients  are
	      drawn  for  menu titles.	The default values for from and to are
	      #101030 and  #303080 respectively.  Values  must	be  in	either
	      standard X color names or hex notation.

       TitlePixmap xpmname
	      If  the  TextureType of the focused titlebar is set to 128, this
	      command causes the xpm defined by xpmname to  be	tiled  in  the
	      titlebar	instead  of a solid color or a gradient texture.  Note
	      that the titlebar by default can show a pixmap of up to 19  pix-
	      els  in  height,	though	it may be of any length.  One need not
	      specify the complete path if the xpm is in the directory defined
	      by PixmapPath.

       UTitlePixmap xpmname
	      If  the  TextureType  of unfocused titlebars is set to 128, this
	      command causes the xpm defined by xpmname to  be	tiled  in  the
	      titlebar	instead  of a solid color or a gradient texture.  Note
	      that the titlebar by default can show a pixmap of up to 19  pix-
	      els  in  height,	though	the  xpm  graphic may be of any actual
	      height and length.  The full path to the xpm is not required  if
	      it is in the directory defined by PixmapPath.

       STitlePixmap xpmname
	      If  the TextureType of sticky titlebars is set to 128, this com-
	      mand causes the xpm defined by xpmname to be tiled in the title-
	      bar  of  sticky  windows	instead of a solid color or a gradient
	      texture.	Note that the titlebar by default can show a pixmap of
	      up  to 19 pixels in height, though the xpm graphic may be of any
	      actual height and length.  The full  path  to  the  xpm  is  not
	      required if it is in the directory defined by PixmapPath.

       TexturedHandle
	      Turns  on  textures  for all window handles.  The handle texture
	      will be the same as the texture used in the window's titlebar.

       GradientText
	      Causes a gradient to be applied to  the  titlebar  text  of  the
	      focused window.  The gradient colors are set using TextGradient-
	      Color.

       TextGradientColor from to
	      Colors that the gradient will go from and to when gradients  are
	      drawn for the titlebar text.  The default values for from and to
	      are #101030 and  #303080 respectively.  Values must be in either
	      standard X color names or hex notation.

       TitleTextAlign num
	      Defines  the alignment of the window title in the titlebar.  The
	      allowable values for num are as follows:
	      1: left aligned
	      2: right aligned
	      3: center aligned (default)

       TitlebarNoPush
	      Causes the titlebar not to appear to be  "pushed	in"  when  you
	      click on it with a mouse button.	This is useful to reduce video
	      strain or if you use textured pixmaps  that  do  not  look  good
	      "pushed in."

       TitleButton num xpmname
	      Defines  the  pixmaps to use instead of the default NEXTSTEP(tm)
	      style titlebar buttons that are the default.  Up	to  8  buttons
	      are  possible.   num specifies the position of the button on the
	      window and is an integer from 1-8.  The positions are  indicated
	      as below:
	      1 3 5 7	TitleBarText  8 6 4 2
	      Note  that  you  must  bind an action to any new buttons you add
	      using the Mouse definitions.   The  pixmap  defined  by  xpmname
	      should  be  exactly  10x10  pixels to fit inside the gray button
	      bevel.

       Font fontname
	      Makes AfterStep use the font fontname  instead  of  "fixed"  for
	      menus,  the resize indicators, and icon  labels  (if IconFont is
	      not specified).

       WindowFont fontname
	      Makes AfterStep use the font fontname instead of "fixed" for the
	      window title bar.

       NoTitle windowname
	      Keeps  AfterStep	from putting a titlebar in the decorations for
	      windows named windowname.  This  is  handy for clocks and  simi-
	      lar  gadgets  that  you  don't  want to take up too much	space.
	      windowname can be a window's name or its class.

	      Windowname can  contain  the wildcards "*" and "?"  which  match
	      window names in the normal  unix	filename matching  manner: "*"
	      matches any number of any character and "?"  matches one of  any
	      character.  Actual "*", "?", and "\" characters in a window name
	      can be entered by  preceding the character with a "\".

       Sticky windowname
	      Sticky windows "stick to the screen's glass."   That  is,   they
	      don't  move  the	the viewport into the virtual desktop changes.
	      windowname can be a window's name or its class.  See NoTitle for
	      a discussion of the windowname parameter.

       StaysOnTop windowname
	      These    windows	 always  try  to stay on top of the other win-
	      dows. This might be handy  for  clocks  or  mailboxes  that  you
	      would  always  like  to be visible.  If the window is explicitly
	      lowered,	it  will  not try  to  force  its way back to the  top
	      until  it  is explicitly raised.	windowname can	be  a window's
	      name or its class. See NoTitle for a discussion of  the  window-
	      name parameter.

       StartsOnDesk windowname desk-number
	      This   command  causes windows whose name or class is windowname
	      to be initially placed on desktop number desk-number. windowname
	      should  be enclosed in double quotes.  If  the  window  requires
	      interactive placement, an outline will be displayed on the  cur-
	      rent  desk,  but	the  window will appear on the specified desk.
	      See NoTitle for a discussion of the windowname parameter.

       CirculateSkip windowname
	      Causes  windows  with  the  indicated  name  to  be skipped over
	      when  the   CirculateUp,	 CirculateDown	or Warp functions  are
	      invoked.	windowname can be a window's name or its  class.   See
	      NoTitle for a discussion of the windowname parameter.

       CirculateSkipIcons
	      Causes  circulate  and  warp operations to  skip	over iconified
	      windows.

       WindowListSkip windowname
	      Causes  windows  with the indicated name to be left out  of  the
	      window  list.   See  NoTitle  for a discussion of the windowname
	      parameter.

       NoFocus windowname
	      Causes  windows  with the indicated name to not take  the  focus
	      when  the  pointer  moves  over them in focus-follows-mouse (the
	      default) mode, or when the window  is  clicked  in  ClickToFocus
	      mode.  See NoTitle for a discussion of the windowname parameter.

       Style windowname options
	      This command is intended	to   replace   the  commands  NoFocus,
	      NoBorder, NoTitle,  StartsOnDesk, Sticky, StaysOnTop, Icon, Win-
	      dowListSkip,   CirculateSkip,   SuppressIcons,	BoundaryWidth,
	      NoBoundaryWidth,	StdForeColor,  and  StdBackColor with a single
	      flexible and comprehensive command.  This command is used to set
	      attributes  of a window to values  other than the default, or to
	      set the  window-manager default styles.  windowname can	be   a
	      window's	 name,	 class	 or resource  string. It  can  contain
	      the wildcards "*" and/or "?", which are  matched	in  the  usual
	      unix  filename  manner.	options is a comma separated list con-
	      taining all or some of the  keywords  BorderWidth,  HandleWidth,
	      NoFocus,	Icon/NoIcon,  NoTitle/Title,  NoHandles/Handles,  Win-
	      dowListSkip/WindowListHit, CirculateSkip/CirculateHit,  StaysOn-
	      Top/StaysPut,  Sticky/Slippery,  StartIconic/StartNormal, Color,
	      ForeColor, BackColor, StartsOnDesk/StartsAnyWhere,  and  IconTi-
	      tle/NoIconTitle.

	      In  the  above   list,   some  options   are   listed  as style-
	      option/opposite-style-option.   The   opposite-style-option  for
	      entries that have  them  describes the default behavior, and can
	      be used if you want to change the default behavior.

	      Icon takes an (optional) unquoted string	argument which	is the
	      icon  bitmap  or	pixmap	to  use.  StartsOnDesk takes a numeric
	      argument which is the desktop number on which the window	should
	      be initially placed.  BorderWidth takes a numeric argument which
	      is  the width of the border to place the window if it  does  not
	      have resize-handles.  HandleWidth takes a numeric argument which
	      is the height of the bottom bar to place with the window	if  it
	      has resize handles.

	      Color  takes two arguments. The first is the window label's text
	      color, and the second is the window  decoration's  normal  back-
	      ground  color.   The  two colors are separated with a slash.  If
	      the use of a slash causes  problems, then the separate ForeColor
	      and BackColor options can be used.

	      An example:

	      # Change default AfterStep behavior to no titlebars on windows!
	      # Also, define a default icon.
	      Style "*" NoTitle,Icon unknown1.xpm,BorderWidth 4,HandleWidth 5

	      # now, window specific changes:
	      Style "Fvwm*"	 NoHandles,Sticky,WindowListSkip
	      # the above line is for those that use Fvwm
	      # modules with AfterStep
	      Style "Pager"	 StaysOnTop
	      Style "*clock"	 NoHandles,Sticky,StaysOnTop,WindowListSkip
	      Style "xbiff"	 Sticky,WindowListSkip
	      Style "Wharf"	 NoHandles,Sticky,WindowListSkip
	      Style "sxpm"	 NoHandles

	      # Put title-bars back on xterms only!
	      Style "xterm"	 Title, Color black/grey
	      Style "rxvt"	 Icon term.xpm
	      Style "xterm"	 Icon rterm.xpm
	      Style "xcalc"	 Icon xcalc.xpm
	      Style "xbiff"	 Icon mail1.xpm
	      Style "xmh"	 Icon mail1.xpm, StartsOnDesk 2
	      Style "xman"	 Icon xman.xpm
	      Style "matlab"	 Icon math4.xpm, StartsOnDesk 3
	      Style "xmag"	 Icon magnifying_glass2.xpm
	      Style "xgraph"	 Icon graphs.xpm
	      Style "Maker"	 StartsOnDesk 1
	      Style "signal"	 StartsOnDesk 3

	      Note  that all properties for a window will be read together. In
	      the above example "Pager" gets the property  StaysOnTop  via  an
	      exact  window  name  match, but  also gets NoHandles,Sticky, and
	      WindowListSkip by a match to "AfterStep*".  It  will get	 NoTi-
	      tle   by	virtue	of  a  match to "*". If conflicting styles are
	      specified for a window, then the last style  specified  will  be
	      used.

	      If   the NoIcon attribute is set, then the specified window will
	      simply disappear when it is  iconified.  The   window   can   be
	      recovered  through  the  window list.  If Icon is set without an
	      argument, then  the NoIcon  attribute is cleared, but no icon is
	      specified.  An example which allows  only  the Pager module icon
	      to exist:

	      Style "*" NoIcon
	      Style "Pager" Icon

       CenterOnCirculate
	      When  circulating,  the desktop page containing the window which
	      the  pointer  is	moving to is  automatically selected.  If Cen-
	      terOnCirculate is selected, then AfterStep will do its best   to
	      center   the   target  window  in  the  desktop viewport, rather
	      than just lining up to the closest page.

       DeskTopSize HorizontalxVertical
	      Defines the virtual desktop size in units of the physical screen
	      size.

       DeskTopScale Scale
	      Defines	the  virtual desktop scale with respect to the screen.

       BoundaryWidth Width
	      Changes the bottom bar (handle) size (in pixels) on  windows  to
	      the specified value.  The default size is 8.

       NoBoundaryWidth Width
	      Changes the width of the bottom bar (handle) for windows with no
	      titles and no resize corners.  The default is 0.	 Any  positive
	      or zero value is acceptable.  The handles without resize corners
	      have the same mouse and keyboard bindings as the handles on nor-
	      mal windows.

       XORvalue number
	      Changes  the value with which bits are  XOR'ed  when doing  rub-
	      ber-band	window moving or resizing. Setting  this  value  is  a
	      trial-and-error process.

       EdgeScroll horizontal vertical
	      Specifies  the percentage of a page to  scroll  when the	cursor
	      hits the edge of a  page.  If  you  don't  want  any  paging  or
	      scrolling when you hit the  edge of  a  page, include EdgeScroll
	      0 0 in your .steprc file. If you want whole  pages,  use	 Edge-
	      Scroll   100 100.  Both  horizontal and vertical should be posi-
	      tive numbers.

	      If the horizontal and vertical  percentages  are	multiplied  by
	      1000, then scrolling will wrap around at the edge of  the  desk-
	      top.  If	"EdgeScroll  100000 100000"  is  used, AfterStep  will
	      scroll  by whole pages, wrapping around at the edge of the desk-
	      top.

       PagingDefault pagingdefaultvalue
	      Tells AfterStep if  it  should  start up	with   paging  enabled
	      or disabled.  "PagingDefault 0" will start AfterStep with paging
	      disabled, "PagingDefault 1"  will start  AfterStep  with	paging
	      enabled by default.

       EdgeResistance scrolling moving
	      Tells   how  hard it should be to change the desktop viewport by
	      moving the mouse over the edge  of  the screen,  and how hard it
	      should be to move a window over the edge of the screen.

	      The  first  parameter   tells   how    milliseconds  the pointer
	      must  spend on the screen edge before AfterStep  will  move  the
	      viewport.  This is intended for people who  use  EdgeScroll  100
	      100, but find themselves accidentally flipping pages when   they
	      don't  want to.

	      The  second parameter tells how many pixels over the edge of the
	      screen a window's edge must move before it actually  moves  par-
	      tially off the screen.

	      Note  that, with EdgeScroll 0 0, it is still possible to move or
	      resize windows across  the edge  of  the	 current   screen.  By
	      making  the  first parameter to EdgeResistance 10000, this  type
	      of  motion   is  impossible.   With  EdgeResistances  less  than
	      10000,  but greater than 0, moving over pages becomes  difficult
	      but not impossible.

       OpaqueMove percentage
	      Tells AfterStep the  maximum size   window   with  which	opaque
	      window  movement	should be used. The percentage is  percent  of
	      the total   screen area. With OpaqueMove 0, all windows will  be
	      moved   using   the  traditional	 rubber-band   outline.   With
	      OpaqueMove 100, all windows will be move as solid  windows.  The
	      default	is OpaqueMove 5 which allows small windows to be moved
	      in an opaque manner, but large  windows to be moved  as  rubber-
	      bands.   Using  this option with large values can slow down your
	      video response on slower systems.

       ClickToFocus [flag]
	      Normally keyboard input goes to the window the mouse pointer  is
	      in.  If this option is set, the keyboard input (aka focus) stays
	      with one window until a new window is clicked on.

	      If the (optional) flag is given a nonzero value, a mouse	button
	      click  that  changes  the keyboard focus is caught and processed
	      only by AfterStep.  If the flag is zero, or is not  supplied,  a
	      click  that changes the focus is passed through for the applica-
	      tion to process.

	      When the flag is nonzero, it is useful to assign a NoFocus style
	      to  all  applications  that  are entirely mouse-controlled (e.g.
	      Wharf).

       SloppyFocus
	      This option changes the way focus-follows-mouse  (the  AfterStep
	      default)	mode  behaves  when  the mouse pointer enters the root
	      window (that is, the background area).  Normally,  the  keyboard
	      focus would disappear at this stage, but when SloppyFocus is on,
	      exiting a window to enter  the  root  window  leaves  the  focus
	      unchanged.   The	focus  will not be removed from the last (non-
	      root) window you visited until the mouse pointer	enters	a  new
	      window.

	      SloppyFocus has no effect in ClickToFocus mode.

       ClickToRaise buttons
	      In  focus-follows-mouse  mode, ClickToRaise specifies mouse but-
	      tons that raise a partially obscured window to the  top.	 On  a
	      window  that  is fully visible (except a normal window may still
	      be below StaysOnTop windows) all the mouse buttons  behave  nor-
	      mally.   Please note that in most applications you can use mouse
	      buttons in combination with the shift key to  avoid  the	Click-
	      ToRaise behavior when needed.

	      In click-to-focus mode, ClickToRaise specifies the mouse buttons
	      that raise an unfocused window to the  top.   The  rest  of  the
	      mouse  buttons merely change the focus without raising, although
	      you can have them do delayed raising with the AutoRaise  command
	      or the Auto module.

	      In  both focusing modes, ClickToRaise is not triggered on window
	      decorations such as the title bar, but only on  the  application
	      area.

	      The  mouse  buttons  are numbered as in the Button command.  You
	      can specify any or all of your mouse buttons here as a space- or
	      comma-separated list.

       OpaqueResize
	      Causes  resize  operations  to  be  done with the window itself,
	      instead of an outline.  Using this option does not  always  work
	      well on slower video systems.

       DontMoveOff
	      Prevents	windows  from being moved off or  initially placed off
	      of the desktop.  A few programs will not work correctly  if  you
	      use  this   option.  This  only keeps  windows  from  being com-
	      pletely lost off the edge of the desktop. It insists on  keeping
	      16   pixels on  the  desktop, but doesn't care a bit about keep-
	      ing the whole window on the desk.  See   EdgeResistance  if  you
	      don't like having windows partially off the screen.

       AutoRaise delay
	      This built-in was replaced by the module Auto(1).

       Pager X_Location Y_Location
	      Enables a paging style of moving across  the  desktop.  A  Pager
	      window  will appear at ( X_Location, Y_Location )  (not  a  pop-
	      up).  Miniature	versions   of  all  the windows on the virtual
	      desktop are shown in the pager.  The color of the miniature ver-
	      sion   is   the same as the color of the full-size window's bor-
	      der.

	      In the Pager window, pressing mouse button  1   will  move   the
	      desktop  viewport  to the selected page (in click-to-focus mode,
	      it will also move the keyboard focus  to the window whose minia-
	      ture  you  click	on).   Pressing  button  2 on a window	in the
	      pager  will begin a window move, using the miniature to  quickly
	      move the window anywhere on the desktop.	Pressing button 3 will
	      move the top-left corner of the viewport to the location of  the
	      button  press,  even  if it does not line up with a page.  Drag-
	      ging button 3 will cause the selected  viewport  to  scroll   as
	      you  move   the  pointer.  The Pager   is  automatically sticky,
	      but does not automatically StayOnTop.

       Mouse Button Context Modifiers Function
	      Defines a mouse binding.	Button is the mouse button number.  If
	      Button   is   zero,  then  any button will perform the specified
	      function.   Context  describes  in  what	context  the   binding
	      applies.	Valid  contexts are R for the root window,  W  for  an
	      application window,  T  for  a window title bar, S for a	window
	      titlebar,  or  bottom bar, F for a window frame (the handle cor-
	      ners), I for an Icon window, or any combination  of  these  let-
	      ters.   1  is  for  the  left  title-bar button and 2 is for the
	      title-bar button A  is  for any  context	except	for  title-bar
	      buttons.	For  instance,	a context of FST will  apply when  the
	      mouse   is anywhere in a window's border, except	the  title-bar
	      buttons.

	      Modifiers  is any combination of N for no modifiers, C for  con-
	      trol,   S for shift, M for Meta, or A  for  any  modifier.   For
	      example,	a  modifier of CM  will apply  when  both the Meta and
	      shift keys are down.  Function is one of the  following:	After-
	      Step's  built  in  functions,  a	Pop-up menu, or a user-defined
	      function.

       Key keyname Context Modifiers Function
	      Binds  a	keyboard key to a specified AfterStep built  in  func-
	      tion.  Definition is the same as	for  a	mouse binding,	except
	      that  the  mouse button number is replaced with a key name.  The
	      keyname is one of the entries from /usr/include/X11/keysymdef.h,
	      with the leading XK_  omitted.  The Context and Modifiers fields
	      are  defined  as	in  the mouse binding.	Function is one of the
	      following: AfterStep's built in functions, a Pop-up menu, or  an
	      exec call to a program.

	      Binding	a key to a title-bar button will not cause that button
	      to appear unless a mouse	binding  also exists.

       IconBox left top right bottom
	      Defines  regions	of  the screen in which to place icons. Up  to
	      four  icon  boxes  can  be defined. If  an IconBox  line is pro-
	      vided, the icons will automatically be placed in them, if possi-
	      ble.  Each  time	a window  is  iconified,  a new place is found
	      for it.  Icon boxes are searched	for   space   going  left   to
	      right,   then  top  to  bottom.  Icons will not be automatically
	      placed on top of	other	icons,	 but   they   may   be	placed
	      underneath   application	windows. If left or right is negative,
	      then AfterStep will add  the  screen width  to it.  If   top  or
	      bottom is negative, then AfterStep will add the screen height to
	      it. NOTE: -0  is not  parsed  as	the  right  or bottom pixel on
	      the screen. You have to use -1 instead.

	      If  no  IconBox line is provided, or all	icon  boxes are  full,
	      then AfterStep will place icons near the current	pointer  loca-
	      tion.

       StubbornIconPlacement
	      When  used  with	IconBoxes,  causes   icons   to  avoid placing
	      themselves underneath existing windows.

       StubbornIcons
	      Changes de-iconification behavior a bit. Instead of having  win-
	      dows  always  de-Iconify	themselves on  the current  page,  the
	      de-iconify into their original position.

       SuppressIcons Prevents icon windows from being created or  drawn.  When
       used  with  the	window-list, this provides a sort of icon manager.

       StickyIcons
	      Causes  icons  to always stick to the screen's glass.  That  is,
	      icons always follow you around the desktop.  When  a  window  is
	      de-iconified,   it  gets	unstuck.  Some people find this a use-
	      ful way of moving windows around.

       IconTitle
	      Makes AfterStep add icon titles to the application's icon.  Note
	      that using icon titles will leave less space for the application
	      icon itself on the button, since the icontitle covers up part of
	      the button.

       IconFont fontname
	      Makes  AfterStep	use  the font fontname instead	of "fixed" for
	      the IconTitle fonts.

       ButtonNoBorder
	      Defines that the icon buttons should not have any borders  drawn
	      around  them.   This  is particularly useful to have "flat" icon
	      buttons, or if one defines a pixmap as the  background  for  the
	      buttons that already includes a border.

       ButtonTextureType num
	      Defines  the  gradient type to use on the icon buttons.  See the
	      discussion of TextureTypes for the  allowable  values  for  num.
	      Use  0  for num if you want to set a solid color for the texture
	      with ButtonBgColor.

       ButtonTextureColor from to
	      Colors that the gradient will go from and to when gradients  are
	      drawn  for icon buttons.	The default values for from and to are
	      #101030 and #303080 respectively.   Values  must	be  in	either
	      standard X color names or hex notation.

       ButtonMaxColors NumColors
	      The  number  of  colors  to  use	on  icon button textures.  The
	      default is 10 on 8-bit video systems and 128 on  16+  bit  video
	      systems.

       ButtonBgColor Color
	      If  ButtonTextureType is set to 0, this command forces AfterStep
	      to use Color for the button background.	The default value  for
	      Color  is  #bdbebd.   Values  must be in either standard X color
	      names or hex notation.

       ButtonPixmap xpmname
	      Defines the xpm file to be used as the background for icon  but-
	      tons.   This xpm will be what shows through the transparent pix-
	      els in the application's defined xpm  icon.   Application  icons
	      can be defined using Icon or Style.

       IconPath path
	      Specifies the full path name of a directory  where bitmap (mono-
	      chrome) icons  can be found.   The  path	should	start  with  a
	      slash.  Multiple directories may be  specified  in a colon sepa-
	      rated list, just like the PATH environment  variable.

       PixmapPath path
	      Specifies the  full  path  name  of  a  directory  where	pixmap
	      (color)  icons  can  be  found.  The path  should start  with  a
	      slash.  Multiple directories may be specified in a  colon  sepa-
	      rated list, just like  the PATH environment variable.

       Icon windowname bitmap-file
	      Specifies  the  bitmap to be used for a window when it is iconi-
	      fied.  The windowname can be an applications  window   name   or
	      class   name,   and  must be enclosed in quotes. The bitmap-file
	      is  either  the full  path name to a standard X11  bitmap  file,
	      or  a  file  in the IconPath or PixmapPath.  The	specified bit-
	      map/pixmap  is used  in  preference to any icon supplied by  the
	      window itself.

	      If  AfterStep  is compiled  with XPM  support  for  color icons,
	      then can be an XPM pixmap file.

	      windowname should be enclosed in double quotes, but  bitmap-file
	      should  not.  No	environmental  variables should be used in the
	      bitmap-file specification.

	      If windowname is an empty string, then the specified file is the
	      default  icon,  and  will  be  used   if no other icon bitmap or
	      pixmap can be found:

	      Icon "" my-favorite-icon

       DecorateTransients
	      Causes  transient windows, which are normally left  undecorated,
	      to  be  given  the  usual AfterStep decorations. Note  that some
	      pop-up windows, such as the xterm menus, are not managed by  the
	      window manager, and still do not receive decorations.

       RandomPlacement
	      Causes   windows	which would normally require user placement to
	      be automatically	placed	in ever-so-slightly random  locations.

       SmartPlacement
	      Causes   windows	which would normally require user placement to
	      be automatically	placed	in a  smart location  - a location  in
	      which they do not overlap any other windows on the screen. If no
	      such  position can be found, user-placement or random  placement
	      will be used as a fall-back method.  For	the best of all possi-
	      ble worlds, use both random placement and SmartPlacement.

       StubbornPlacement
	      When using SmartPlacement, causes new  windows  to avoid placing
	      themselves over icons.

       NoPPosition
	      Instructs  AfterStep  to	ignore the PPosition field when adding
	      new windows.   Adherence	to  the  PPosition field  is  required
	      for some applications, but if you don't have one of those, its a
	      real headache.

       ClickTime
	      delay Specifies the  maximum  delay  (in	milli-seconds) between
	      a  button press and a button release for the Function builtin to
	      consider	the action  a  mouse click. The default delay  is  150
	      milli-seconds.

	      The  same  delay is used to decide whether a pop-up menu brought
	      up by pressing a mouse button  should  stay  visible  after  the
	      mouse button is released.

       ModulePath
	      Specifies  a   path   for AfterStep to search when looking for a
	      module to load.  The path is  a	colon  separated   list,  just
	      like the usual Unix PATH environment variable. Individual direc-
	      tories do  not  need trailing slashes.

       Module ModuleName
	      Specifies a  module which should be spawned  during  initializa-
	      tion.  The  modules  in  the  main distribution are Wharf, Auto,
	      Pager, and Audio.  Fvwm 1.24 modules like FvwmPager, FvwmBanner,
	      FvwmWinList,  FvwmClean,	FvwnIdent,  FvwmSave,  FvwmScroll, and
	      FvwmDebug can also be used by  AfterStep.   These  modules  have
	      their own man pages.  Module can	also  be  used	as  a builtin.
	      Modules can be short lived transient programs, or,  like	Wharf,
	      can  be	intended   to remain  for  the	duration of the X ses-
	      sion.  Modules called by Module will be terminated by  the  win-
	      dow-manager  prior  to restarts  and quits, if possible. See the
	      introductory section on modules.

       Cursor cursor_num cursor_type
	      This provides a very awkward  way  of  changing  cursor  styles.
	      Cursor   num   tells   which  cursor  you are changing, and is a
	      number between 0 and 12, as follows:

	      0 POSITION      - used when initially placing windows
	      1 TITLE	      - used in a window title-bar
	      2 DEFAULT       - used in windows that don't bother to set
				their cursor
	      3 SYS	      - used in one of the title-bar buttons
	      4 MOVE	      - used when moving or resizing windows
	      5 WAIT	      - used during an EXEC builtin command
	      6 MENU	      - used in menus
	      7 SELECT	      - used for various builtin commands such as
				iconify
	      8 DESTROY       - used for DESTROY and DELETE built-ins
	      9 TOP	      - used in the top side-bar of a window
	      10 RIGHT	      - used in the right side-bar (not available)
	      11 BOTTOM       - used in the bottom handle of a window
	      12 LEFT	      - used in the left side-bar (not available)
	      13 TOP_LEFT     - used in the top left corner
	      14 TOP_RIGHT    - used in the top right corner
	      15 BOTTOM_LEFT  - used in the bottom left corner
	      16 BOTTOM_RIGHT - used in the bottom right corner

	      The cursor_type  argument  is a number which  tells  the	cursor
	      shape   to   use.  The  available  numbers   can	be   found  in
	      /usr/include/X11/cursorfont.h, and are  currently  even  numbers
	      between  0 and  152.  At	the current time, the following cursor
	      types are available.

	      0   X_cursor		2   arrow
	      4   based_arrow_down	6   based_arrow_up
	      8   boat			10  bogosity
	      12  bottom_left_corner	14  bottom_right_corner
	      16  bottom_side		18  bottom_tee
	      20  box_spiral		22  center_ptr
	      24  circle		26  clock
	      28  coffee_mug		30  cross
	      32  cross_reverse 	34  crosshair
	      36  diamond_cross 	38  dot
	      40  dotbox		42  double_arrow
	      44  draft_large		46  draft_small
	      48  draped_box		50  exchange
	      52  fleur 		54  gobbler
	      56  gumby 		58  hand1
	      60  hand2 		62  heart
	      64  icon			66  iron_cross
	      68  left_ptr		70  left_side
	      72  left_tee		74  leftbutton
	      76  ll_angle		78  lr_angle
	      80  man			82  middlebutton
	      84  mouse 		86  pencil
	      88  pirate		90  plus
	      92  question_arrow	94  right_ptr
	      96  right_side		98  right_tee
	      100 rightbutton		102 rtl_logo
	      104 sailboat		106 sb_down_arrow
	      108 sb_h_double_arrow	110 sb_left_arrow
	      112 sb_right_arrow	114 sb_up_arrow
	      116 sb_v_double_arrow	118 shuttle
	      120 sizing		122 spider
	      124 spraycan		126 star
	      128 target		130 tcross
	      132 top_left_arrow	134 top_left_corner
	      136 top_right_corner	138 top_side
	      140 top_tee		142 trek
	      144 ul_angle		146 umbrella
	      148 ur_angle		150 watch
	      152 xterm

       AppsBackingStore
	      Causes   application  windows  to request  backing store. Speci-
	      fying  this  option  causes  the	window manager	to  fail to be
	      ICCCM compliant. While this option can speed things up in an  X-
	      terminal,   where re-draws  of  windows is expensive, it may not
	      help much on regular workstations.

       SaveUnders
	      Causes the AfterStep decoration frames to  request   saveunders.
	      This will cause AfterStep to save those portions of windows that
	      are not visible to memory (not video memory).  This can signifi-
	      cantly  improve  the  performance  during  opaque  moves, but it
	      causes a significant increase in memory usage.   This  can  also
	      cause garbled display with some applications.

       BackingStore
	      Causes  AfterStep  decorations to request backing store. See the
	      discussion for AppsBackingStore.

       Popup PopupName
	      Starts the definition of a pop-up menu  which   will  later   be
	      bound  to a mouse button or key.	PopupName must be  enclosed in
	      quotes.	Menu  entries  are included  on  lines	following  the
	      Popup  keyword.  The  menu  definition  ends with the  key  word
	      EndPopup.  Menu  entries are specified as shown in the following
	      example.	 The  first word on each  line	is  the built-in func-
	      tion which will be performed, followed by the caption  (enclosed
	      in  quotes)  which  will	 be shown in the menu, followed by any
	      additional arguments needed by the   built-in   function.   Sub-
	      menus  can   be  specified  by using the Popup built-in, as long
	      as the sub-menu was   defined  earlier   in   the  configuration
	      file.

	      Popup "Window Ops"
		     Title   "Window Ops"
		     Move    "Move"
		     Resize  "Resize"
		     Raise   "Raise"
		     Lower   "Lower"
		     Iconify "(De)Iconify"
		     Nop     " "
		     Destroy "Destroy"
		     Title   "HARDCOPY"
		     Exec    "Hardcopy"  exec xdpr &
		     Exec    "Hardcopy RV"  exec xdpr -rv &
	      EndPopup

	      Note   that  if  a tab character is embedded in the caption of a
	      menu entry, then	the  text  following the tab will  be  entered
	      into  a  second column in the menu, and the entire menu will  be
	      left-adjusted.  This  is	intended  for  shortcut labeling.  The
	      tab character must really be a tab. If it  is expanded into spa-
	      ces it will not work! For example

	      Popup "Window Ops"
		     Title   "Window Ops    Alt-F1"

	      Is  the  start of a left adjusted menu. Alt-F1  will  be	placed
	      toward  the right side of the menu.  Shortcut keys may be speci-
	      fied in the menu	definition by preceding the character with  an
	      ampersand.   The ampersand will not be displayed, but the  char-
	      acter after it will be displayed at the right side of  the  same
	      entry,  and  if  the  user  presses the corresponding key,  then
	      that item  will  be activated as if the user had clicked	on  it
	      with  the mouse.	Only alphabetic and  numeric characters may be
	      used as shortcut keys.  The shift state of   the	 keyboard   is
	      ignored  when  testing shortcut characters. For example:-

	      Popup "Window Ops"
		     Maximize "Ma&ximise" 100 100
	      EndMenu

	      When   this   menu is popped up, the entry will appear as "Maxi-
	      mize x", and pressing the x key will cause  the  current	window
	      to   be  maximized.  Shortcut  keys  are	not  operative	unless
	      MENU_HOTKEYS  was  defined  when building AfterStep.   If   WIN-
	      DOWLIST_HOTKETS	was  also defined, then hot keys are automati-
	      cally  added  to the WindowList when it is displayed.

       Function FunctionName
	      Starts  the  definition of a complex function, composed  of  the
	      AfterStep built-in  functions,  which  will later  be bound to a
	      mouse button or key.  FunctionName must be enclosed  in  quotes.
	      Function	entries are  included  on lines following the Function
	      keyword.	The definition ends with the  key  word   EndFunction.
	      Function	 entries are specified as shown in the following exam-
	      ple. The first  word on  each line  is  the   built-in  function
	      which  will  be  per- formed, followed the type of  event  which
	      should trigger  the  action (enclosed in	quotes),  followed  by
	      any  additional arguments needed by the built-in function. Menus
	      can be specified by using the Popup built-in,  as  long  as  the
	      menu was defined	earlier in the configuration file.

	      The  trigger actions which are recognized are Immediate, Motion,
	      Click, DoubleClick and TripleClick. Immediate actions  are  exe-
	      cuted   as   soon as the function is activated, even if a window
	      has not been  selected.  If   there  are	 actions   other  than
	      immediate ones, AfterStep will wait to see if the user is click-
	      ing, double-clicking, triple-clicking  or  dragging  the	mouse.
	      After  the  decision  is	made AfterStep will execute  only  the
	      builtins from  the  function  definition	whose  trigger	action
	      matches  the  action  performed by the  user.  If  the following
	      example were bound to button 1 in a window title-bar, then, when
	      button  1  is pressed, AfterStep would  wait  150  msec  to  see
	      if  the  button is released. If  the  button  is	not  released,
	      AfterStep  will start  a move operation. When the move operation
	      is complete, a raise operation will be performed.  If  a	button
	      release	is   detected,	 then  AfterStep will wait another 150
	      msec for a second click.	If  only  one click  is detected, then
	      the  window  will  be  raised.  If two clicks are detected,  the
	      window  will  be alternately   raised   and  lowered.  If  three
	      clicks  are  detected  the  window  will be Shaded or un-Shaded,
	      depending on the prior state of the window. The  150  msec  wait
	      duration can be altered using the ClickTime option.

	      Function "Move-or-Raise"
		     Move	  "Motion"
		     Raise	  "Motion"
		     Raise	  "Click"
		     RaiseLower   "DoubleClick"
		     Shade	  "TripleClick"
	      EndFunction

	      The   clicking,  double-clicking and triple-clicking concepts do
	      not carry through to using keyboard shortcuts.

	      Two  special  functions  exist:  InitFunction   and RestartFunc-
	      tion.   The   InitFunction   will  be  called  when AfterStep is
	      started for the first time  in  any  X session,	and   can   be
	      used   to  start	modules, set background  patterns,  and  begin
	      programs.   The restart  function will  be  called  when	After-
	      Step  is	restarted.  It	can  be used to start modules and  set
	      background  patterns,  but  probably   should  not  be  used  to
	      start programs.


BUILT IN FUNCTIONS

       AfterStep  supports  a  small  set  of built in functions which	can be
       bound to keyboard or mouse buttons.

       Nop
	      Does  nothing.  This is used to insert a blank line or separator
	      in  a  menu.  If	the menu item specification is Nop " ", then a
	      blank line is inserted. If it looks like Nop "",	then   nothing
	      is inserted.

       Title
	      Does   nothing.	This is used to insert a title line in a popup
	      or menu.

       Beep
	      Makes the computer beep.

       Quit
	      Exits AfterStep, generally causing X to exit too.

       Restart name WindowManagerName
	      Causes AfterStep to re-read itself if WindowManagerName = after-
	      step,  or to switch to an alternate window manager if WindowMan-
	      agerName != afterstep.  If the  window  manager is  not in  your
	      default  search  path,  then  you should use the full path  name
	      for WindowManagerName.

	      WindowManagerName is  not  quoted,  but name is.	 name  is  the
	      name  that  appears  in a menu, if that is where the function is
	      called from.  name is required  even  if	the  function  is  not
	      called from a menu, for ease of parsing.

	      This   command  should not have a trailing ampersand or any com-
	      mand line arguments, and should not  make use  of  any  environ-
	      mental variables. Of the following examples, the first three are
	      sure losers,  but the fourth is OK:

	      Key F1 R N Restart " " afterstep &
	      Key F1 R N Restart " " $(HOME)/bin/afterstep
	      Key F1 R N Restart " " twm -f .mystartupfile
	      Key F1 R N Restart " " /usr/local/bin/afterstep

       Refresh
	      Causes  all  windows on the screen to re-draw themselves.

       Move
	      Allows the user to move a window. If  called  from somewhere  in
	      a  window  or  its  border,  then that window will be moved.  If
	      called from the root  window, then  the user will be allowed  to
	      select the target window

       Resize
	      Allows the user to resize a window.

       Raise
	      Allows the user to raise a window.

       Lower
	      Allows the user to lower a window.


       RaiseLower
	      Alternately raises and lowers a window.

       Shade
	      Emulates the MacOS WindowShade feature.  Once activated the win-
	      dow will become a titlebar only.

       Delete
	      Sends a message to a window asking that  it  remove itself, fre-
	      quently causing the application to exit.

       Destroy
	      Destroys	a window. Guaranteed to  get  rid  of  the window, but
	      is a fairly violent way to terminate an application.

       Close
	      If the window accepts the delete window protocol, a message   is
	      sent  to	the window asking it to grace- fully remove itself. If
	      the window does not  under- stand  the  delete window  protocol,
	      then the window is destroyed.

       Iconify [value]
	      Iconifies  a  window  if	it  is not already  iconified, or  de-
	      iconifies  it if it is already iconified. If the optional  argu-
	      ment  value  is  positive,   the	 only  iconification  will  be
	      allowed, and de-iconification will be inhibited. It the optional
	      argument is negative, only de-iconification will be allowed.

       Maximize [horizontal vertical]
	      Without  its  optional  arguments, Maximize causes the window to
	      alternately  switch  from  a  full-screen  size  to  its	normal
	      size.

	      With   the optional arguments horizontal and vertical, which are
	      expressed as percentage  of  a  full  screen,   the   user   can
	      control  the new size of the window.  If	horizontal  > 0,  then
	      the  horizontal dimension of  the  window  will be set to  hori-
	      zontal*screen_width/100.	The vertical resizing is similar.  For
	      example, the following will switch a window to the full vertical
	      size of the screen: Maximize 0 100

	      The  following causes windows to be stretched to the full width:
	      Maximize 100 0

	      This makes a window that is half the screen size in each	direc-
	      tion: Maximize 50 50

	      Values larger than 100 can be used with caution.

       Stick
	      Makes   a  window  sticky  if  it is not already sticky, or non-
	      sticky if it is already sticky.

       Scroll horizontal vertical
	      Scrolls the virtual desktop's viewport by  horizontal  pages  in
	      the  x-direction,  and vertical pages in the y-direction. Either
	      or both entries may be negative.	Both horizontal  and  vertical
	      values  are  expressed  in percent of pages, so Scroll  100  100
	      means  to scroll	down  and left by one full page.  Scroll 50 25
	      means  to  scroll left half a  page  and down  a	quarter  of  a
	      page.  The scroll function should  not  be  called  from	pop-up
	      menus.  Normally, scrolling stops at the	edge of the desktop.

	      If  the  horizontal  and	vertical percentages are multiplied by
	      1000, then scrolling will wrap around at the  edge of  the desk-
	      top.  If	"Scroll 100000 0" is executed over and over, AfterStep
	      will move to the	next desktop  page  on each   execution,   and
	      will  wrap  around  at the edge of the desktop,  so  that  every
	      page is hit in turn.

       TogglePage
	      Temporarily disables edge scrolling.  Edge scrolling can be  re-
	      enabled by calling this again.

       CursorMove  horizontal vertical
	      Moves the mouse pointer by horizontal pages in  the x-direction,
	      and vertical pages in the y-direction.  Either or  both  entries
	      may  be  negative.  Both	horizontal  and  vertical  values  are
	      expressed in percent of pages, so CursorMove 100	100  means  to
	      move  down and  left by one full page. CursorMove 50 25 means to
	      move left half a page and down a	quarter  of  a page.  The Cur-
	      sorMove function should not be called from pop-up menus.

       CirculateUp [name window_name]
	      Causes  the pointer to move to the previous  window in  the list
	      of windows for which CirculateSkip has not not been specified as
	      CirculateSkip.

	      If  the optional arguments are  supplied,  then  the focus  will
	      move to the first window whose name (or icon  name   or	class)
	      matches  window_name.  The  optional  argument  name is required
	      if window_name is supplied, and  is  enclosed  in  quotes.  This
	      argument	is  the  name  which  appears in menus if the function
	      is called from a menu, but serves no  purpose if the function is
	      not called from a menu

	      Here's  an  example that moves the focus to an xterm window when
	      Alt-F1 is pressed:

	      Key F1 A M CirculateUp "whatever" xterm

       CirculateDown [name window_name]
	      Causes the pointer to move to the next  window  in the  list  of
	      windows  for  which  CirculateSkip has not not been specified as
	      CirculateSkip.

	      If the optional arguments are  supplied,	then  the focus   will
	      move  to	the first window whose name (or icon  name  or	class)
	      matches window_name.  The optional  argument  name  is  required
	      if  window_name  is  supplied,  and  is enclosed in quotes. This
	      argument is  the	name  which  appears in menus if the  function
	      is called from a menu, but serves no  purpose if the function is
	      not called from a menu

       Warp [name window_name]
	      Same  as CirculateDown, but De-Iconifies any  iconified  windows
	      as it focuses on them.

       Wait name
	      This  built-in  is  intended  to	be used in AfterStep functions
	      only.  It  causes execution of a function to pause until	a  new
	      window named name appears.  AfterStep remains  fully  functional
	      during  a wait. This is particularly useful in the InitFunction,
	      if you are trying to start windows on specific desktops:

	      Function "InitFunction"
		     Exec "I"  exec xterm -geometry 80x64+0+0
		     Wait "I"  xterm
		     Desk "I"  0 2
		     Exec "I"  exec xmh -font fixed -geometry 507x750+0+0 &
		     Wait "I"  xmh
		     Desk "I"  0 0
	      EndFunction

	      The   above  function starts an xterm on the current desk, waits
	      for it to map itself, then switches  to desk   2,   and	starts
	      an xmh. After the xmh window appears, control moves to desk 0.

       Focus
	      Moves  the  viewport  or	window as needed to make  the selected
	      window  visible.	Sets the keyboard focus to the	selected  win-
	      dow.  Raises  the  window  if needed  to	make it visible. Warps
	      the pointer into the selected  window   in   focus-follows-mouse
	      mode.   Does  not de-iconify.  This  function is primarily handy
	      when  used  with a  module  such	as  the  FvwmWinList.

       Desk arg1 arg2
	      Changes to another desktop (workspace, room).

	      If  arg1	is non zero, then the next desktop number will be  the
	      current desktop number plus arg1. Desktop numbers, like arg1 can
	      be negative.

	      If  arg1	is zero, then the new desktop number will be arg2.

	      The  number  of  active  desktops is    determined  dynamically.
	      Only  desktops which contain windows or are currently being dis-
	      played are active.  Desktop numbers  must be between  2147483647
	      and -2147483648 (is that enough?).

       WindowsDesk new_desk
	      Moves  the selected window to the desktop specified as new_desk.

       GotoPage x y
	      Moves the desktop viewport to page (x,y). The upper left page is
	      (0,0),  the  upper  right is (N,0), where N is one less than the
	      current number of horizontal pages specified in	the   DeskTop-
	      Size   command.	The  lower   left page is (0,M), and the lower
	      right page is (N,M), where M is the desktop's vertical  size  as
	      specified  in  the  DeskTopSize  command.  The GotoPage function
	      should not be used in a pop-up menu.

       WindowList arg1 arg2
	      Generates a pop-up menu (and pops it up)	in  which  the	 title
	      and  geometry  of  each of the windows currently on the desk top
	      are shown. The  geometry	of  iconified  windows	 is  shown  in
	      brackets.  Selecting  an	item  from the window list pop-up menu
	      will cause that  window  to be moved onto the desktop if	it  is
	      currently  not  on  it,  will  move the desktop viewport to  the
	      page containing the upper left hand corner of the  window,  will
	      de-iconify  the  window  if it  is iconified, and will raise the
	      window.

	      If arg1 is an even number, then the windows will be listed using
	      the  window  name (the name  that  shows up  in  the title-bar).
	      If it is odd, then the window's icon name is used.

	      If arg1 is less than 2, then   all  windows   on	 all  desktops
	      (except  those	listed	in WindowListSkip directives), will be
	      show.

	      If arg1 is 2 or 3, then only windows on the current desktop will
	      be shown.

	      If   arg1  is  4	or 5, then only windows on desktop number arg2
	      will be shown.

       Exec name command
	      Executes command.  command is not quoted,  but name is.  name is
	      the  name  that appears in a menu, if that is where the function
	      is called from.  name is required  even if the function  is  not
	      called from a menu, for ease of parsing.

	      The  following  example binds function key F1 in	the root  win-
	      dow,  with no modifiers, to  the	exec  function.   The  program
	      rxvt(1) will  be	started, with  an assortment of options.

	      Key  F1  R  N  Exec  "rxvt"  exec  rxvt  -fg  yellow -bg blue -e
	      /bin/tcsh &

       Popup
	      NOTE: This built-in takes a slightly different form when used to
	      bind  a  sub-menu  into a  menu than  it does  when  binding the
	      main menu to a key or mouse button. The form described  here  is
	      for   binding   a  main menu to a key or mouse button.  Used  to
	      bind a previously defined pop-up menu to a key or mouse  button.

	      The  following example binds mouse buttons 2  and  3 to  a  pop-
	      up called "Window Ops", whose  definition  was  provided	as  an
	      example  earlier	in  this  man page.   The  menu will pop-up if
	      the buttons 2 or 3 are pressed  in  the  window	frame,	 side-
	      bar,  or title-bar,  with  no modifiers (none of shift, control,
	      or meta).

	      Mouse 2	FST  N	  Popup "Window Ops"
	      Mouse 3	FST  N	  Popup "Window Ops"

	      Pop-ups can be bound to keys through the use of  the  key  modi-
	      fier. Pop-ups can be operated without using the mouse by binding
	      to keys, and operating via the up arrow, down arrow,  and  enter
	      keys.

	      The  following  example defines a  sub  menu, "Quit-Verify"  and
	      binds  it  into  a  main menu, called "Utilities".

	      Popup "Quit-Verify"
		     Title   "Really Quit AfterStep?"
		     Quit    "Yes, Really Quit"
		     Restart "Restart AfterStep" afterstep
		     Nop     "No, Don't Quit"
	      EndPopup

	      Popup "Utilities"
		     Title   "Utilities"
		     Exec    "Xterm"	  exec xterm &
		     Exec    "Rxvt"	  exec rxvt &
		     Exec    "Top"	  exec rxvt -T Top -n Top -e top &
		     Exec    "Calculator" exec xcalc &
		     Exec    "Xman"	  exec xman &
		     Exec    "Xmag"	  exec xmag &
		     Popup   "Exit AfterStep"	  Quit-Verify
	      EndPopup

	      Sub-menus must be defined prior to the main menu in which   they
	      are  bound.  Sub-menu  nesting can be arbitrarily deep.

       Function
	      Used  to	bind  a  previously defined function to a key or mouse
	      button.

	      The  following  example  binds  mouse button  1  to  a  function
	      called  "Move-or-Raise",	whose  definition was  provided  as an
	      example  earlier in this man page. After performing  this  bind-
	      ing,  AfterStep  will execute to move-or-raise function whenever
	      button 1 is pressed in a window title-bar.

	      Mouse 1	 T	A	Function "Move-or-Raise"

       Module ModuleName
	      Specifies a module which should  be  spawned.  At   the  current
	      time,   the  only  included  modules are Wharf and Pager.  Wharf
	      will normally  be  spawned  during initialization   instead   of
	      in  response  to	a mouse binding or menu action. Modules can be
	      short  lived transient programs,	 or,   like   Wharf,   can  be
	      intended	to remain for the duration of the  X  session.	Module
	      will  be	terminated  by the window manager  prior  to  restarts
	      and quits, if possible.


KEYBOARD SHORTCUTS

       All  window-manager  operations can  be	performed from	the  keyboard,
       so mouse-less  operation  should  not  be  difficult.  In  addition  to
       scrolling   around   the   virtual  desktop   by   binding  the	Scroll
       built-in to appropriate keys, Pop-ups,  move,  resize  and  most  other
       built-ins   can	be bound to keys. Once a built-in function is started,
       the pointer is moved by using the up, down,  left,  and	right  arrows,
       and   the  action  is  terminated by pressing return.  Holding down the
       shift key will cause the pointer movement to  go  in  larger steps, and
       holding	down  the  control key will cause the cursor movement to go in
       smaller steps.  Standard emacs and vi cursor movement controls (^n, ^p,
       ^f, ^b, and ^j, ^k, ^h, ^l) can be  used instead of the arrow keys.


SUPPLIED CONFIGURATION

       A   sample   configuration  file,  sample.steprc  was supplied with the
       AfterStep distribution. It is well commented and   can  be  used  as  a
       source of examples for AfterStep configuration.


USE ON MULTI-SCREEN DISPLAYS

       AfterStep  does	work on multi-screen displays.	If the -s command line
       argument is not given to AfterStep , it will automatically start up  on
       every  screen  on  the specified display.  After AfterStep starts, each
       screen  is  treated independently. Re-starts of AfterStep  need	to  be
       performed separately on each screen.  The  use of  EdgeScroll  0  0  is
       strongly recommended for multi-screen displays.

       You  may need  to  quit on each screen to quit from the X session  com-
       pletely.

       Multi-screen  support  is  only	available if you compile with -DMULTI-
       PLE_SCREENS



SEE ALSO

       Wharf(1),Animate(1),Audio(1),Auto(1),asclock(1),Banner(1),Pager(1)


AUTHORS

       Frank Fejes (frank@canweb.net)

       Alfredo Kenji Kojima (kojima@inf.ufrgs.br)

       Dan Weeks (dan@mango.sfasu.edu)




AfterStep			  March 1997			AFTERSTEP(1.0)


Man(1) output converted with man2html and wrapped by fishsponge

This page was generated on Wed Sep 19 20:02:20 BST 2007

Your favourite pages:

No pages logged yet.
Trying to save cookie...

Top 10 most popular pages:

ssh man page (4011 hits)
(Suse Linux 10.1)

CPAN man page (3935 hits)
(Suse Linux 10.1)

startproc man page (1429 hits)
(Suse Linux 10.1)

svn man page (1146 hits)
(FreeBSD 6.2)

signal man page (1067 hits)
(Suse Linux 10.1)

lwptut man page (1033 hits)
(Suse Linux 10.1)

startpar man page (808 hits)
(Suse Linux 10.1)

netcat man page (796 hits)
(Suse Linux 10.1)

Net::Config man page (740 hits)
(Suse Linux 10.1)

oowriter man page (720 hits)
(Suse Linux 10.1)

Useful Links

Go Back

Visitor Statistics


Valid XHTML 1.0 Transitional     Valid CSS!

Partners: Cambridge Plus :: Pyrenees Places of Interest and Areas of Natural Beauty :: Prototype Electronic Assembly :: <Link Available>
Unix Man Pages / Linux Man Pages :: HiFi Forum :: SIP VoIP Phone & Provider Reviews :: UNIX/Linux Forum Archives

More info on advertising on Unix/Linux Forum