<!doctype linuxdoc system>

<article>

<title>AfterStep FAQ
<author>Andrew Sullivan (<tt/asullivan@sprint.ca/)
<date>v.00, 22 November 1998 

<abstract>
This is the AfterStep Window Manager FAQ (mostly with answers) file.

Copyright &copy 1996-1998, Frank Fejes, Jonathan B. Leffert, Kragen Sittler,
Diego Zamboni, Guylhem Aznar &amp Andrew Sullivan.

Freely redistributable under the terms of LDP license, Version 2, January 1998.
</abstract>

<toc>

<sect>General information

<p>

<sect1>What is X, and what is a window manager?

<p> "X" is common shorthand for The X Window System.  It is the basis for
building some graphical user interfaces (GUIs).  These are most often found
on UNIX-type systems, although there are implementations for other
platforms.  Notice that X <em>is not</em> the interface itself.  For more
information, please see <url url="http://www.X.org/" name="The X Window
System">.

A window manager (briefly) is a program which controls the way various
windows interact during an X session.  AfterStep is one such window manager.

<sect1>What is AfterStep?

<p>
AfterStep is a Window Manager for X which started by emulating the NEXTSTEP
look and feel, but which has been significantly altered according to the
requests of various users.  Many adepts will tell you that NEXTSTEP is not only
the most visually pleasant interface, but also one of the most functional and
intuitive out there.  AfterStep aims to incorporate the advantages of the
NEXTSTEP interface, and add additional useful features.

The developers of AfterStep have also worked very hard to ensure stability
and a small program footprint.  Without giving up too many features,
AfterStep still works nicely in environments where memory is at a premium.

<sect1>What is its history?

<p>
What follows is drawn from the AfterStep man page:

AfterStep originated as a continuation of the BowMan window manager,
originally developed by Bo Yang.  BowMan was based on fvwm, which was
written by Robert Nation.  In turn, fvwm was based on twm.  And so on.  Open
Source / Free (please pick your preferred term, without prejudice) software
works exactly because of these sorts of traditions.  Yay!

The changes which led to AfterStep were originally part of BowMan development. 
As the desire for simple emulation was superseded by a desire to improve,
the designers decided to change the name, and the AfterStep project was
born.

Many of the earlier developers of AfterStep subsequently decided to move to
the Window Maker (originally WindowMaker) project, under the leadership of
Alfredo Kojima (<tt/kojima@windowmaker.org/).  Window Maker (which, as of
this writing, may yet receive another name change: gswm for "GNUstep Window
Manager") is committed to emulating closely the NEXTSTEP(tm) look and feel. 

As a result of all that, Guylhem Aznar
(<tt/ciguylhem@barberouge.linux.lmm.com/) took over
development of AfterStep.  Though he had help from several able developers
(check the "TEAM" file for a list of the wonderful programmers responsible
for AfterStep), and obviously built on the previous efforts of other
excellent programmers, new and current users of AfterStep owe a special debt
to Mr Aznar.  Without his work, AfterStep would never have approached its
current stability, flexibility, or functionality.

<sect1> What are AfterStep's main features?

<p>
<enum>
<item> NEXTSTEP-similar title bar, title buttons, borders and corners.
<item> The AfterStep Wharf, which is a much worked-out version of GoodStuff. To
     avoid copyright complications it is not called a `dock'.
<item> NEXTSTEP style menus.  The menus are not, however, controlled by
     applications; they are more like pop-up service lists on the root
     window.
<item> NEXTSTEP style icons. The default icons are consistent with those
     in the NEXTSTEP interface, but they are configurable.
<item> Pixmapped Pager with desktop pixmapping.
<item> Easy-to-use look files, which allow you to share you desktop appearance with your friends.
<item> Start menu entries in a hierarchy of directories.
<item> WinList, a tasklist which can be horizontal or vertical.
<item> Many modules & as-apps to make your X window station look great.
</enum>

The flexibility of fvwm has not been traded off.  Initiation files recognize
most of the fvwm 1.24r commands. Virtual screens and the pager are still
intact. Modules for fvwm-1.x should work just fine.

<sect1>Is it compatible with fvwm-2?

<p> Compatibility with fvwm-2 & Enlightenment <em>modules</em> is planned
for an upcoming version, but support is not yet available.  Some
Enlightenment-based items will work well with AfterStep, however.  In
particular, support for Eterm is now available.

<sect1>Is it available for Microsoft Windows-based machines?

<p> Not really, unless the Windows machine has an X server installed.  If
you want to take that approach, look at <url
url="http://www.alfheim.net/aswin32/" name="Running AfterStep under
Win32!">.  But there is an AfterStep-alike program called LiteSTEP, which
gives Windows machines an AfterStep-ish appearance.  As of this writing,
LiteSTEP development versions are available at <url
url="http://dev.litestep.net">, while some screen shots are available at
<url url="http://litestep.computerheaven.net/">.  Keep in mind, however,
that these programs <em>are not</em> versions of AfterStep.  Please do not
send questions about LiteSTEP to the AfterStep mail list.

If you want to make AfterStep work under any version of Windows, you are
welcome to try following the instructions at the Web sites listed above, and
every last bit of associated documentation.  Please do not contact Andrew
Sullivan for help, however, as he cannot help you: he does not use AfterStep
with Windows.

<sect1>Where can I get this FAQ?

<p> The latest version is always available at <url
url="http://lowrent.org/asfaq/">.  That is the official home page of the
AfterStep FAQ, and offers links to several mirror sites as well.

The latest version is also usually available from <url
url="ftp://ftp.afterstep.org/pub/">.  The AfterStep FTP site has found a new
home courtesy of Red Hat; please see the section on the FTP site for
details.  One can also always find the latest version of the FAQ through the
AfterStep web site.  What's more, there are sites whose sysadmins have been
generous in offering mirrors of the FAQ.  Here are the mirrors:

<p> <url url="http://the-site.dyn.ml.org/Linux/AfterStep/FAQ/">, hosted by
David Mihm.

<p> <url url="http://www.davidv.net/~ajsulliv/">, hosted by David Vondrasek.

<p> <url url="http://optera.net/~contramac/">, hosted by Nathan Widmyer.

<p> <url url="http://www.ticnet.com/azenomei/as/start.html">, hosted by
Peter Booth.

Ce document est aussi disponible en fran&ccedil;ais, &agrave; <url
url="http://amberlab.net/rone/afterstep/">.

Please note that the version numbering system of the FAQ has changed.  The
FAQ version number used to follow roughly the same protocol as the version
numbering of AfterStep.  This led to confusion, because the number of the
FAQ and the number of AfterStep tended to get out of synch.  The FAQ version
number is now the date of its release, according to the ISO data format:
{Arabic numeral of year}-{Arabic numeral of month number}-{Arabic numeral of
day of month}.  For example, a FAQ released on 31 October 1998 would be
called "as-faq.1998-10-31", with the appropriate extension for the file
format.

<sect1>Who contributes to this FAQ?

<p> The initial version of the FAQ was written by Frank Fejes
(<tt/frank@ssax.com/) and Jonathan B. Leffert (<tt/j-leffert@uchicago.edu/). 
Major additions were made by Kragen Sittler (<tt/kragen@tcsi.com/).  Diego
Zamboni (<tt/zamboni@cs.purdue.edu/) maintained the file until Guylhem Aznar
(<tt/ciguylhem@barberouge.linux.lmm.com/) took over with the release of AS
1.4.  The file is now maintained by Andrew Sullivan
(<tt/asullivan@sprint.ca/), with contributions from Tomas Duewiger
(<tt/td@music-satellite.de/).  Naturally, the FAQ is prepared in
co-operation with the program developers; but any errors or omissions are
now Andrew Sullivan's responsibility, so you should contact him to complain. 
Most of the questions and answers have been provided by the people
participating in the AfterStep mailing lists.  If you have a suggestion
about this file or, better yet, an answer to an unanswered question in this
file, please send an e-mail to Mr Sullivan, or to the main AfterStep list;
see the next question for more information on the list.

<sect1>What is the AfterStep-related mailing list?

<p>
This question used to read, "What <em>are</em> the AfterStep-related mailing
lists?"  Due to some changes in hosting, things have changed:

<descrip>
<tag/AfterStep-Announce/
	This list is no longer functioning.

<tag/AfterStep/
        The purpose of this list is to provide a forum in which users of
        the AfterStep X11 window manager can discuss issues related to
        to using AfterStep.  Appropriate topics include, but are not
        limited to, the installation and configuration of AfterStep and
        related modules and applications.  Developers should also subscribe
	to, and work through, this list, as no other list is active as of
	this writing.

<tag/AfterStep-Digest/
        This list contains the same messages as the AfterStep mailing
        list.  The messages are saved up (not transmitted
        individually) and sent out as a bundle. This decreases the
        number of separate messages received from the list, but makes it
        more difficult to reply to a specific message.

<tag/AfterStep-Dev/
        This list is no longer functioning.

<tag/AfterStep-Dev-Digest/
        This list is no longer functioning.

</descrip>

  For information on subscribing to any of these lists, or more information,
  please see <url
  url="http://www.calderasystems.com/linuxcenter/forums/afterstep.html">.  A
  re-instated searchable archive of the list is planned by Ed Orcutt; Mr
  Orcutt is also the owner of the AfterStep lists.  His employer, Caldera,
  has been generous in donating server and web space for the mailing
  lists.


<sect>Getting and installing AfterStep

<p>
<sect1>Where do I get AfterStep?

<p>
The main AfterStep resources on the net are below.

<itemize>
<item>WWW Page

<p>
The official WWW page is at <url url="http://www.afterstep.org">

The web site has again lost its home, and may not be currently available to
the public.  It should be under new administration soon.

<item>FTP Site

<p> The FTP site, <url url="ftp://ftp.afterstep.org/pub/">, is the
best place to get AfterStep. It also supports uploads: <url
url="ftp://ftp.afterstep.org/incoming/">.  Please read the instructions
about uploads before asking why your upload is not immediately available.
Some links to the FTP site are provided from the Web site.  

Please note that the FTP site has moved to a new server under new
administration.  Any questions about the current status of the FTP site
should be directed first to the mailing list.

<item> Developers' sites.

<p>
There are several sites which have been generous enough to act as
developers' sites.  Note that you can expect development-level support for
development-level programs.  That means that if you aren't willing to fix it
yourself, you mustn't complain!  (You are, of course, encouraged to make
<em>detailed</em> bug reports.) You can find links to the development sites
from the main AfterStep WWW site.  That site is accessible through lynx, so
anyone with a UNIX-type networked system should be able to get AfterStep.

Here is the list of developers' sites:

<p>
<url url="http://http.the-site.dyn.ml.org/Linux/AfterStep/"
	name="the-SITE: Linux: AfterStep Page">

<p>
<url url="ftp://fuf.sh.cvut.cz/pub/AfterStep/"
	name="ftp://fuf.sh.cvut.cz/pub/AfterStep/">

<p>
<url url="http://members.xoom.com/sashav/afterstep.html"
	name="AfterStep window manager">

<p>
<url url="http://bewoner.dma.be/Albert/afterstep/"
	name="AfterStep applets">

<item>Other Web Resources: 

<p> There are also some useful things to be found on the following pages. 
The first is the current, official AfterStep Customization Page; it includes
a web-based BBS with helpful suggestions.  It was originally designed around
AfterStep v. 1.4.x; but the remarks are, on the whole, applicable to v.
1.5.x.  The second is a page offering help to new users, maintained by Tomas
Duewiger (<tt/td@music-satellite.de/).  It is, again, designed around v.
1.4.x, but is nevertheless useful for users who have v. 1.5.x.  The last is
a page which centres around AfterStep-Classic, but which will still no doubt
offer help even to people who are working under AfterStep v. &gt 1.0.  It is
important to note that any one of these may offer information which is not
perfectly current with the present development of AfterStep: for the very
latest, official word, subscribe to the AfterStep mailing list.  Still, any
one of these sites will be a helpful resource to any AfterStep user:

<p>
<url url="http://www.via.ayuda.com/~smw/afterstep/"
	name="AfterStep Customization Page">

<p>
<url url="http://www.music-satellite.de/spearhead/"
	name="AfterStep and some tricks">

<p>
<url url="http://the-labs.com/AfterStep/" name="Kiwi's AfterStep Page">

<item>AfterStep IRC channel:

<p>
AfterStep has a presence on IRC, through EFnet.  The channel is #afterstep. 
If you need to find a server, try irc.txdirect.net.

</itemize>

<sect1> What is the latest version of AfterStep?

<p> The latest official version is 1.4.5, released in April 1998. 
A development release, 1.4.5.55N6, was widely considered to be a true
stable release; it has, in fact, fewer bugs than 1.4.5.  

Version 1.5.0 should be available by the time you read this.  If you are
contemplating installing a version of AfterStep, it is worth either waiting
for the release of version 1.5.0, or installing the latest beta version of
1.5.  Any version of the 1.5 series is a significant improvement over any
1.4.x release.

There is also a current development effort around the old version of
AfterStep (v. 1.0).  This effort is called AfterStepClassic.  It is
primarily directed towards fixing bugs in the old 1.0 release of AfterStep,
and is not always compatible with new developments in AfterStep.  It uses
<em>only</em> the .steprc-style configuration, so if you are looking for
information on how to configure AfterStepClassic, you should assume that the
information about versions &lt 1.2 apply to you.  The lead developer for
AfterStepClassic is Stephen Ma (<tt/stephen_ma@mindlink.bc.ca/).

<sect1>What do I need to install AfterStep?

<p> AfterStep is an X window manager.  So, you need to have an X
workstation.  It will apparently compile against, and work with, X11R5, but
for optimal performance, it is preferable that you use X11R6.  In order to
compile AfterStep from the source, you need (apart from a C compiler, like
gcc) the X developers' libraries on your system.  The most common problem
that people have in compiling AfterStep is as a result of not having the
required libraries on their system.  In particular, XFree86 lists the
necessary libraries as an "optional" package.  As a result, many people do
not install them, and so cannot compile AfterStep.  You should be able to
get the libraries wherever you got your distribution of XFree86.

AfterStep is known to run on Linux, FreeBSD (not all modules work), HP-UX,
and Solaris.  For the latter two, you should read the relevant READMEs
before trying to compile.   

X, and hence AfterStep, is really designed with an eye to the assumptions of
multiuser systems like UNIX or VMS.  If you are using X on some other
platform, and particularly, if you are trying to run X atop any version of
Windows, you will have to do much of the porting work yourself.  There is a
link above offering advice on getting AfterStep to work under Windows; but
this practice is not encouraged.  You are likely to get greater ease of use
by using LiteSTEP.

<sect1>I receive the message: Cannot open display. What should I do?

<p>
  AfterStep is an X window manager and cannot be run from the terminal. 
  It must be run through X.  The easiest way to do that is to create (or
  edit) your own .xinitrc file (which contains a list of the programs you
  wish to load upon startup) and to add the line exec afterstep to the end. 
  This last exec'd line is significant in that it says to shut down X when
  that program is terminated.  Now that you have that file, simply startup X
  in your customary manner (most likely by issuing "startx" or "xinit"). 
  Now you're off and running.  Good luck!

  If you are using xdm, you will need to put the call to afterstep in your
  .xsessions file.

<sect1>How can I install AfterStep without being root?

<p>
  This is fairly easy, but you must be sensitive to the version you
  are using. 

  You will have to install all the files under your home directory. The
  usual recommendation is to use the same directories as suggested in the
  installation procedure, but replacing /usr/share, usr/local, or whatever
  you like by your home directory. For example, if you home directory is
  /home/blah you would use directories like /home/blah/bin, /home/blah/etc,
  /home/blah/lib, and the like.

  Compile AfterStep following the standard installation procedure (i.e the
  one described in the README) until the install step. Then, do the
  following (make sure to create the destination directories first if they
  don't exist. All the source paths are relative to the AfterStep source
  directory):

<enum>
<item> Copy  afterstep/afterstep to  $HOME/bin/.
<item> Copy  modules/*/(binaries) to  $HOME/bin/.
<item> Copy  apps/*/(binaries) to  $HOME/bin/.
<item> Copy  GNUstep/ to  $HOME/.
<item> Edit  $HOME/GNUstep/Library/AfterStep/base.* to reflect the above paths
in the lines starting with ModulePath and PixmapPath.
<item> Put  $HOME/bin in your path.
</enum>

  You should be set. Feel free to modify this procedure according to
  your particular needs or the particular setup of your machine/account.

You should note that, during the 1.4.5.x series, the source paths changed. 
If the changes are not transparent to you, you should probably move to the
1.5 series anyway.  The 1.5 series includes an install script that allows
you to set the install directories to whatever you want.  Even though the
instructions say you should have root access, you can install AS under your
home directory.  The trick here is to specify only directories to which
you have write permissions.  <em>Importantly, you must specify the full
path</em> on most systems.  Otherwise, there is a good chance that something
will not read correctly; this will affect your installation of AfterStep. 
On some systems, you may also have to add the new subdirectories to your
".profile", ".cshrc", ".xsessions", or other such file.  If you don't know
what this means, you should either contact your system administrator, or read
a good book about your operating system or X windowing system.

<sect1>Why do I keep getting compile errors?

<p>

The most common reason for problems compiling is that you do not have all
the necessary libraries and headers available on your system.  This often
happens to people who have recently upgraded their distribution of XFree86. 
The necessary libraries are included in an "optional" file which matches the
version of XFree86 in question; the most recent of these is X332prog.tgz
(for XFree86 3.3.2).  You should be able to find the file you need wherever
you obtained your distribution of X.  

<sect1>Why do I keep getting an error referring to sgmltools?

<p>

This FAQ file is maintained in SGML according to the Linuxdoc DTD; some
version of the FAQ is included with every AfterStep distribution.  In order
to make it easily readable, a program called sgml2html (part of sgmltools)
converts the file to HTML.  A script, afterstepdoc (by default, the first
button on the Wharf), should open a browser and allow you to read the FAQ. 
Unfortunately, not everyone has sgmltools; and even if they are installed,
they are not detected correctly at install time.  As a result, the HTML
version of the FAQ is now shipped with the latest versions of AfterStep. 
The SGML source is still included with the AfterStep source, however, so if
you want other versions of this FAQ -- dvi, PostScript, or even plain text
-- just use the sgmltools package to convert the SGML source to whatever
format you like.

<sect1>Why can't I get AfterStep to compile on SGI or SCO?

<p>
The problem here was tracked down and reported by Benjamin J. Tracy
(<tt/tracy@wsicorp.com/) and (independently) John Koch
(<tt/JKOCH1@Tandy.com/).  The ordering of the libraries in the link command
is wrong.  Just make sure that the afterstep library appears <em>before</em>
the -lX11 argument on the link command line (in the Makefile).  Everything
should work after that.

<sect1>Will AfterStep compile correctly on FreeBSD?

<p>
AfterStep itself works fine on FreeBSD, but some as-apps will not work.  In
particular, there are some that depend upon a Linux-type /proc filesystem. 
That filesystem is very different on BSD-type system.

<sect>Problems After Installation

<p>

<sect1>I just upgraded to version 1.5, but I don't see any difference.  Why?

<p>

By default, version 1.5 installs in different directories than versions
&lt 1.5.  The binary names are the same, unfortunately, so if the earlier
binaries are "earlier" in your path than the new binaries, you will not get
the new binaries.

One trick is to use the new, version 1.5 install script to place the new
binaries wherever the old binaries are.  Another possibility is to track
down the old binaries, and remove them from the system.  By default,
AfterStep used to install in /usr/X11R6/bin.  Version 1.5 installs, by
default, in /usr/local/bin.


<sect1>I don't want so many desktops in version 1.4.x or later; I want to 
change feature xyz in version 1.4.x or later.

<p>
Just edit the relevant file under &tilde/GNUstep/Library/AfterStep.  See the
section on configuration for details.

<sect1>The desktop is bigger than my pager indicates.

<p>
This is/was a known bug.  The problem is that the pager is at least three
screens in at least one dimension.  There have been reports of getting the
pager to work correctly if the desktop size is set to 3X3 or 3X2.  (For more
information on how to configure the Pager, see the section on Modules,
below.)

Albert Dorofeev (<tt/albert@mail.dma.be/) reports that the following changes
to src/functions.c will fix the problem in AfterStep 1.4; I do not know
whether these will work for other versions.  In src/functions.c, change the
lines

<tscreen><code>

if (newx > Scr.VxMax)
        newx = Scr.VxMax;
    if (newy > Scr.VyMax)
        newy = Scr.VyMax;
</code></tscreen>

to

<tscreen><code>

if (newx >= (Scr.VxMax - Scr.MyDisplayWidth) )
        newx = Scr.VxMax - Scr.MyDisplayWidth;
    if (newy >= (Scr.VyMax - Scr.MyDisplayHeight) )
        newy = Scr.VyMax - Scr.MyDisplayHeight;
</code></tscreen>

This change apparently leaves a bug whereby the mouse pointer "jumps" on the
right-hand border; but at least your pager will correspond to the desktop.

The bug is fixed as of AfterStep 1.4.5.x, so if it really annoys you, please
upgrade.  In the 1.4.5 and later series, the virtual desktop is set up in
the base.{yourbppnumber}bpp file, <em>and not</em> the pager configuration
file.  Please edit the correct file according to your configuration.

<sect1>I'm running Solaris, and have had problems with the alphasort() 
function.

<p> There are ever-fewer problems with AfterStep and Solaris; this one has
been patched in version 1.4.4 and later.  You should upgrade to the latest
version.  You should also check the information in the README.Solaris file,
and see the following site: <url
url="http://www.primate.wisc.edu/software/imake-stuff/">.

<sect1>I reduced the number of buttons in my titlebars, and now AS crashes.

<p> Depending on which version you are using, you may need to edit your feel
file, as well.  Look at the section on looks and feels.

<sect>AfterStep Configuration

<p>
<sect1>What's a .steprc, and why do I need it anyway?

<p> In versions of AfterStep prior to version 1.2 (including current
versions of AfterStepClassic), all configuration is handled in a single
file.  This is the .steprc file; it should be in your home directory if
you're running any of these versions.  These files are generally
well-commented, and can be edited easily to change the defaults.  The
default file from version 1.0 included several major sections:

<itemize>
<item>Distinctive Look and Feel
<item>Window Placement
<item>Miscellaneous Settings
<item>Pager and Virtual Desktop
<item>Common Paths
<item>Animated Iconize Customization
<item>Wharf Customization
<item>Icon Selector
<item>Initialization Function
<item>Functions
<item>Menus (which does not include bindings!)
<item>Mouse Bindings
<item>Keyboard Shortcuts
<item>Module Definitions
</itemize>

New versions of AfterStep don't use this file, preferring the
GNUstep/Library standard instead.  The settings for looks and feels, for
instance, have been broken out into separate files, and the configurations of
Wharf, Pager, and other modules and applications have been placed in their
own files.  See below.

<sect1>I'm using AfterStep 1.2 or later, and I can't find the .steprc.  Why?

<p>
AfterStep now uses a directory structure to handle desktop customization. 

<sect1>OK, so how do I customize non-.steprc versions?

<p>
This depends on the version you have.

Versions through 1.4.4 need a full set of directories in each user's home
directory.  In other words, you need to copy everything in

<tscreen><verb>
{AfterStepPath}/GNUstep/Library/AfterStep/
</verb></tscreen>

to

<tscreen><verb>
&tilde/GNUstep/Library/AfterStep/
</verb></tscreen>

There were several changes to this directory structure between version 1.4.0
and 1.4.4.  A full outline of these changes is beyond the scope of this
document, but there are some general remarks on particularly common problems
below.  For more help configuring 1.4.4, see <url
url="http://www.via.ayuda.com/~smw/afterstep/configs/index.html"> or <url
url="http://www.music-satellite.de/spearhead/">.

In particular, you should note that the &tilde/G/L/A/ directories <em>are
not compatible</em> between versions 1.4.0 and 1.4.4.  You must copy the
full {AS install}/G/L/A/ directory (including all sub-directories) into your
home directory, even if you are only upgrading from 1.4.0 to 1.4.4.

The &tilde/GNUstep/Library/AfterStep arrangement is, admittedly, somewhat
inefficient, because there are always at least two copies of everything on
any system running AfterStep. As of versions post-1.4.5, it is possible to
add only those files which you have changed to the directory structure in
your home directory; everything else will use the default installation in
/usr/share/afterstep or /usr/local/share/afterstep (this location varies
among versions; the latter is the default in version 1.5). 
<em>Nevertheless</em>, there are some subtle differences among the
configuration files of each version.  If you have upgraded, and you
suddenly have problems, your first impulse should be to try renaming your
&tilde/G/L/A/ directory, and starting AfterStep.  If the problem disappears,
you can reasonably presume that it has something to do with your
configuration files.  That doesn't mean that the answer will be obvious, but
it does mean that you'll know where to start looking.

<sect1>I just upgraded versions, and now nothing works.

<p>
First, determine whether you have upgraded from a ".steprc version" to a
"non-.steprc version".  Versions after 1.2 do not (by default) use the
.steprc file, so your old customization will not be invoked by default if
you have moved from, say, 1.0 to 1.4.5.

If you have changed from 1.4.0 to a later version, you need to remove your
old version of the &tilde/GNUstep/Library/AfterStep directory structure. 
Version 1.4.4 introduced the "configurable" and "non-configurable"
distinction, and so several items have moved.  See the previous question.

Subtle changes have been introduced between versions; this is even true
between, say, 1.4.4 and 1.4.5.3.  In particular, several modules have had
their configuration files changed to be in keeping with Wharf style.  The
practical effect of this is apparently inexplicable problems which develop
after an upgrade.  If you suddenly have problems after an upgrade, and
especially if some modules suddenly do not work, try replacing your
configuration with the default configuration.  If that works, you can edit
the new configuration to reflect your previous customization.

It is also important to note that the syntax for looks and feels changed
again in version 1.5.  Several of these changes have been as a result of
requested features or (more often) improvements in the efficiency or ease of
use of the overall program.  These changes, of course, entail some
frustration; but before you ask, "What happened?" you should <em>always</em>
try renaming your &tilde/GNUstep/Library/AfterStep directory, and
re-starting.  If this solves the problem, you should try customizing the new
version, using your old customization as a model.  You are likely to be able
to re-use most of your old configuration files as they are.

<sect1>How do I change my startmenu?

<p>
In versions before 1.2, edit the appropriate section of the .steprc.  In
later versions, you need to adjust the necessary parts of the
&tilde/GNUstep/Library/AfterStep/start directory structure.  The start
directory includes sub-directories for every sub-menu.  It also has a file
corresponding to every entry on a menu.  Each file should contain a single
line to invoke the desired program.  So, if you wanted an entry in your main
startmenu which said

<tscreen><verb>
xiterm (pixmap)
</verb></tscreen>

your &tilde/G/L/A/start directory would contain a file:

<tscreen><verb>
xiterm\ (pixmap)
</verb></tscreen>

That file would contain a single line:

<tscreen><verb>
xiterm -pixmap [path_to_pixmap.xpm] & 
</verb></tscreen>

(you would, of course, adjust the command-line options to reflect your
intentions).

By default, the sort order of the start menu is determined at compile time. 
It is usually sorted alphabetically or chronologically (according to the
creation date of the file).  This has the disadvantage of forcing a sort
order which one might not like.  As a result, version 1.5 offers a new
(completely-worked-out) way to sort menu items.

In version 1.5, the startmenu can be sorted numerically.  Suppose you have
three files you want to sort in your startmenu, named "a", "b", and "c". 
You could sort these in reverse alphabetical order in your startmenu by
naming them "0_c", "1_b", and "2_c".

You can specify a startmenu name which is different from the filename, by
including that startmenu name in quotes in the file which is associated with
the startmenu name.  For instance, a file named 8_xitermtransparent would be
the 8th file in the startmenu.  If the contents of the file were as follows,
then it would be named "X terminal &tilde;transparent":

<tscreen><verb> 
Exec "X terminal ~transparent" exec xiterm -pixmap
~/GNUstep/Library/AfterStep/non-configurable/0_background -sl 500 -vb &
MiniPixmap "mini-app.xpm"
</verb></tscreen>

(Note that this command should all be on one line in the actual file!)  In
this case, the xiterm window comes up with the current background of the
first desktop in AfterStep; this simulates a "transparent" xterm.  For more
on "transparent" xterms, please see the section on as-apps.     

The sorting of items in the startmenu always puts directories (which are
equivalent to sub-menus) first.  Directories, however, are themselves sorted
according to the same scheme as are files, except that there is no mechanism
for naming a sub-menu something other than the directory name.

From version 1.4.5, you also have to read the new startmenu into your
configuration.  On the startmenu, under "Desktop" (1.5 or later) or "Quit"
(&lt 1.5), is an option, "update startmenu".  Choose this item, and your new
startmenu will appear.

People who have Red Hat Linux 5.1 have had another problem with the
startmenu updating: all changes are lost after exiting.  This is because of
the way that Red Hat has modified the startup of AfterStep.  The version of
AfterStep included in Red Hat 5.1 includes an m4 preprocessing routine
which, among other things, re-writes the
&tilde/GNUstep/Library/AfterStep/start directory every time AfterStep
starts.  As a bit of editorial, I (Andrew) might point out that I don't know
what this does, nor why Red Hat used it.  I also don't intend to learn.  If
you can't get Red Hat to explain to you what they did, my suggestion is to
remove the RPM, and compile and install the official version.  David Mihm
(<tt/davemann@ionet.net/), however, suggests that you can get around the m4
preprocessing this way:

<tscreen><code>
echo "exec afterstep" >~/.xinitrc
echo "exec afterstep" >~/.xsessions
chmod 700 ~/.xsessions
</code></tscreen>

It has been suggested (by Ian Hay, <tt/ian.hay@sympatico.ca/) that the m4
preprocessing was an attempt on Red Hat's part to make the use of AfterStep
more friendly to new users: this preprocessing apparently ensures that new
apps get added to the start menu after they've been installed.  Matteo
Lunardi (<tt/matteo.lunardi@usa.net/) has offered a work-around, at least in
some versions.  In the xinit-1.4.2.noarch.rpm, he edited the file
/etc/X11/xinit/Xclients, this way:

<tscreen><code>
if [ -f $HOME/.wm_style ] ; then
    WMSTYLE=Cat $HOME/.wm_style		case "$WMSTYLE" in 
        Afterstep*|AfterStep*)
            # we have to start up afterstep
            if [ -x /usr/X11R6/bin/afterstep -a -f
/usr/share/afterstep/wmconfig.conf ] ; then
#               if [ ! -d $HOME/GNUstep/Library/AfterStep ]; then
                     mkdir -p $HOME/GNUstep/Library/AfterStep
                     wmconfig --output=afterstep --directories \
                        /usr/share/afterstep/wmconfig.conf 2>/dev/null
#               fi
                env > "$HOME"/Xrootenv.0
                # if this works, we stop here
                eval "exec /usr/X11R6/bin/afterstep" >
"$HOME"/.AfterStep-errors 2>&1
            fi
</code></tscreen>

In this case, the change was to add comment marks ("#") to the "if" lines
(not the one where it says, "if this works, we stop here").  Apparently,
however, it also works to add the comment marks to the "mkdir" and
"wmconfig" lines.

As an alternative, Kai Puolamaki (<tt/Kai.Puolamaki@iki.fi/) suggests that
you configure your wmconfig utility to make things work better.  This is
likely the best way to make these adjustments.  Red Hat's wmconfig utility
relies on a system-wide directory, /etc/X11/wmconfig, but is adjustable by
users through an individual directory, &tilde/.wmconfig.  So, if you wanted
a menu item, "Mail", containing both mutt and elm, you would add two files:

<tscreen><code>
~/.wmconfig/mutt
~/.wmconfig/elm
</code></tscreen>

The file "mutt" would contain the following:

<tscreen><code>
mutt name "Mutt"
mutt description "Mutt email client"
mutt group Mail
mutt exec "xterm -e mutt &"
</code></tscreen>

The file "elm" would be similar:

<tscreen><code>
elm name "Elm"
elm description "Elm email client"
elm group Mail
elm exec "xterm -e elm &"
</code></tscreen>

More information is available from the wmconfig manpage.  Note that there is
an additional advantage to this syntax: it ensures that your menu changes
are also available if you change window managers.

<sect1>Where did the "Decorations" item go in version 1.5?

<p>
The "Decorations" menu has been re-named to "Desktop".

<sect1>What are "look", "feel", "desktop", etc. files?

<p> In versions that do not use a .steprc, the various elements of the
desktop have been separated out, in order that they can each be customized
independently.  Look files and feel files allow you to customize the desktop
in almost an infinite number of ways.  Note that any functional changes you
make in a look file (like adjusting the number of buttons that appear on a
window titlebar) may need to be reflected in a corresponding feel file: the
"feel" handles how you interact with windows, while the "look" controls
their appearance.  This is handy if you want your windows always to respond
in more or less the same way, but want them to look differently depending on
the task you're performing, the machine you're on, or whatever.

<sect1>Can I have differently-sized buttons on the titlebar?

<p>
Yes, but not in every version.  It is reported that version 1.5 handles
differently-sized titlebar buttons with no difficulty.  If you want this
functionality, please move to version 1.5.

<sect1>Fine, but how do I reduce the number of buttons on the titlebar?

<p> This depends upon what version you are using.  Version 1.5 allows you
simply to change the look file to reflect the buttons you want.  Any version
before 1.5 requires a change both to the look and to the feel.  The trick
here is to understand the difference between a look and a feel.  A look file
simply determines how elements of the screen will appear.  It does not
determine how the elements will interact: that's what a feel file does.  So,
if you want to reduce the number of buttons on a titlebar, you need to
adjust both the look and feel files.  The look file must define the
appearance of <em>exactly</em> the number of buttons for which there are
functions in the feel file; and each button defined in the feel file must
have a reference in the look file.

To see how this works, consider a look file with the following definitions:

<tscreen><code>
# TitleButtons : [1] [3] [5] [7] [9] (title) [0] [8] [6] [4] [2]
#
TitleButton 1 b1.xpm b1-pressed.xpm
TitleButton 2 b2.xpm b2-pressed.xpm
TitleButton 3 b3.xpm b3-pressed.xpm
TitleButton 4 b4.xpm b4-pressed.xpm
TitleButton 6 b6.xpm b6-pressed.xpm
</code></tscreen>

Now, this defines the appearance of two buttons on the left of each titlebar
(TitleButton 1 and TitleButton3), and three buttons on the right of each
titlebar (TitleButton 2, TitleButton 4, and TitleButton 6).  For each
definition, the first XPM mentioned defines the appearance of the button
when it is not pressed; the second XPM defines the way the button looks
when it is pressed.  <em>The numbering of these buttons is hard-coded</em>,
so you cannot just number your buttons in any order at all.  Follow the
"boilerplate" numbering scheme (above the TitleButton pixmap definitions in
our example).

In order to make this look function correctly, each titlebar button needs to
have its function defined in the feel file.  So, the feel file might include
something which looks like this (this one is taken from the feel.DEFAULT
file in 1.4.5.55N6):

<tscreen><code>
Mouse 1         1       A       ChangeWindowUp
Mouse 2         1       A       GetHelp
Mouse 3         1       A       ChangeWindowDown
Mouse 1         2       A       Delete
Mouse 2         2       A       Destroy
Mouse 3         2       A       Destroy
Mouse 1         3       A       PopUp "Window"
Mouse 2         3       A       WindowList 2
Mouse 3         3       A       WindowList 2
Mouse 1         4       A       Shade
Mouse 2         4       A       Stick
Mouse 3         4       A       Stick
Mouse 1         6       A       Iconify
Mouse 2         6       A       Maximize
Mouse 3         6       A       Maximize 
</code></tscreen>

The first column defines what action causes the desired behaviour; so,
"Mouse 1" means "mouse button one is pressed".  The second column defines
where the behaviour is to have its desired effect: in our list, we have
definitions for all five (TitleButton 1, TitleButton 2, TitleButton 3,
TitleButton 4, and TitleButton 6) of the buttons defined in the look file. 
Notice that each button gets a definition for every mouse button, so there
is never an undefined action on any TitleButton.  The third column specifies
the context for the action.  In this case, the context is "Any" (actually
any context except in the TitleBar); you can also specify modifications
(e.g. by adding "C" for "Control").  The final column specifies the
behaviour which attaches to the action.  So, in the last row, we define that
clicking the third mouse button on the innermost TitleButton on the
right-hand side of a window will Maximize that window.

Other functions get defined in the same list in every feel file, so you will
have to look carefully to ensure you define everything correctly.

<sect1>Why does some key not work as I expect?

<p>
There are two possibilities here.  One is that you are having problems with
your "delete" or "backspace" key.  This is a generic X problem, and you
should investigate it by reading the relevant documentation for xmodmap. 
Try issuing "man xmodmap" at the command prompt.

The second possibility is that you have a set of keypresses which work in
another X window manager, but which do not work under your recent
installation of AfterStep.  In that case, you need to edit the "feel" file. 
Before you go on, go back and read the previous question about mouse
bindings.  Done that?  Good.  Now, keybindings work just the same.  So, in
your feel file, you might have the following keybinding:

<tscreen><code>
Key Left        A       C       Scroll -100 0
</code></tscreen>

This says that if you press "Control" (3d column) and the left cursor
key (1st column) while anywhere on the screen, AfterStep will scroll one
page to the left.  If you want to get the functionality of "Ctrl-left" back,
in order to use it in some other X application, then you'll need to remove
this keybinding from your feel file.

You can avoid having <em>any</em> keybinding defined by AfterStep by using
one of the included feels: feel.ICCCM.  Just select it from the
Desktop/Feels (v. 1.5) or Decorations/Feels (v. &lt 1.5) menu under your
startmenu.

<sect1>Why can't I have my .steprc in version 1.4.x or later?

<p>
You can.  Use the -f switch to force AfterStep to read from a file.  Please
notice that not everything will work with your old .steprc file "right out
of the box"; but if you like the old version that much, why upgrade anyway?

That said, version 1.5 has worked out almost all the incompatibility issues.

<sect1>I'm using Red Hat, and I can't find the configuration files you've 
mentioned.

<p> Red Hat apparently used to include a look-alike to AfterStep which is
actually a hack of fvwm-2.  <em>It is not AfterStep</em>, although some Red
Hat distributions also contain the real AfterStep.  Red Hat has changed the
name of their "hacked" version, in order to reduce confusion.

A "real" version of AfterStep is included in Red Hat Linux 5.1.  It uses m4
preprocessing for configuration, however, so not all configuration remarks
in this document will be useful to Red Hat users.  If you want to configure
the AfterStep included in Red Hat, you should ask Red Hat how to do it, or
read the documentation for m4, or both.  There is some discussion of the Red
Hat preprocessing under the startmenu section, above.

<sect1>What is the database file?

<p>
The database file allows you to adjust certain features of the desktop.  It
allows you to define icons for minimized programs, allows you to force
certain programs (like Pager or Wharf, for instance) to stay on top, and
other such options.  Have a look at the default database file, back it up,
and play with some of the settings; it's pretty self-explanatory, but it
takes a little fooling to make it work as you want.

Items in the database file follow the "Style" conventions from fvwm and
AfterStep.  So, each item is listed this way:

<tscreen><code>
Style	"WM_CLASS"	{comma-separated list of options}
</code></tscreen>

You can learn the value of "WM_CLASS" by using the Ident module included
with AfterStep.  Ethan Fischer (<tt/allanon@crystaltokyo.com/) offers the
following account of what the various options do:

<tscreen><code>
In general, these options have both an "on" and an "off" keyword (like 
"Title" and "NoTitle", for instance).  This allows a general style (like 
the "*" style), to be overridden by a later style.  For example:

	Style "*" NoButton 1, BorderWidth 2
	Style "xterm" Button 1, NoHandles

will hide the leftmost button on the titlebar for any window except xterm
windows.  It will turn off resize handles for xterm windows.  It will also
give a 2-pixel border to xterm windows - note that BorderWidth only affects
windows with NoHandles (this is in the manpage), so all other windows will
receive the normal 1-pixel border.

Here's a list of options, along with what they do.  For each group, the 
default is listed first.

Icon {icon.xpm}
NoIcon
  Specifies the icon pixmap, if the app doesn't supply its own.  NoIcon 
  turns this off.

Title
NoTitle
  Give the window a titlebar.  NoTitle removes the window titlebar.

IconTitle
NoIconTitle
  Display the icon name along with the icon.  NoIconTitle turns this off.

Handles
NoHandles
  Give the window resize handles, also called the "lowbar".  NoHandles 
  turns this off.

Button {button}
NoButton
  Allow a titlebar button to be shown.  It will still not be shown if it 
  is disallowed by Motif WM hints, or there is no pixmap specified for it
  in the look file.  NoButton disallows a button.

WindowListHit
WindowListSkip
  List the window in the window list.  WindowListSkip removes the window
  from the window list.

CirculateHit
CirculateSkip
  Circulating (also called warping or alt-tabbing) will stop at this    
  window.  CirculateSkip prevents circulating to this window.

StartNormal
StartIconic
  Start as a normal window.  StartIconic starts the window as an icon.

StaysPut
StaysOnTop
StaysOnBack
  Don't put a window anywhere special in the stacking order.  StaysOnTop
  windows are placed above all other windows except menus.  StaysOnBack 
  windows are placed behind all other windows.

StartsAnywhere
StartsOnDesk {desk}
  Start the window on the current desk.  StartsOnDesk will force the
  window to start on a specific desk.

Color {forecolor} {backcolor}
ForeColor {color}
BackColor {color}
  Change both the foreground (text) color, and the background color for
  this window.  ForeColor changes only the foreground color.  BackColor
  changes only the background color.

NoFocus
  This window will refuse to take the input focus.

Slippery, Sticky
  This window will remain on whatever desk it started on, unless the user
  moves it.  Sticky will cause the window to move to whatever desk is
  currently shown.

BorderWidth {width}
  If NoHandles was also specified, set the border width of this window.
  Note that the border is an X border and not special to AS (unlike the
  titlebar or lowbar).

HandleWidth {width}
  Set the width of the resize handles on the lowbar.
</code></tscreen>

<sect1>What is the base.{yourbpp}bpp file?

<p> The "base" files define the path to pixmaps and the like for each
bits-per-pixel X ColorDepth setting.  The number of colors your X session
can use at any one time is limited by the number of bits per pixel that are
allowed by your video hardware, and by your X configuration.  The file,
base.{yourbpp}.bpp, is automatically selected by AfterStep upon startup,
according to what your X configuration allows.  For more information about
ColorDepth, read your X documentation, as well as the section on colormap
issues, below.

The base files also define the size and scale of your desktop(s). 

<sect1>How do I get apps to minimize to a different place?

<p>
When an application minimizes, the icon shows up in a predictable place on
the desktop.  This is the icon box.  In versions that use a .steprc, this is
defined in the .steprc.  In later versions, the icon box is found in the
look file.  (Naturally, this means that if you change looks, the icon box
may move!)  You can specify any location you like for the icon box, using
standard X geometry.

<sect1>I keep losing my icons, or I can't stand having them follow me.

<p>
Even though these are opposites, they amount to the same question.  Icon
behaviour in this case is controlled in the feel.  StickyIcons ensures that
the icon will follow you from one desktop to another.  StubbornIcons
iconifies an application to its original place.  You can back up your feel,
and play with it to see what you can do.

<sect1>Suddenly, some windows stay always on top. Why?

<p> With the default, double-clicking (latest versions) or triple-clicking
(earlier versions) on a window titlebar toggles a window's always-on-top
state.  Double/Triple-click again to remove it. If you want to remove this
feature, locate the lines in your feel file that look like this (there are
several of them):

<tscreen><verb>
PutOnTop        "TripleClick"
</verb></tscreen>

and comment them out.

It is also possible that you have inadvertently changed your feel. 
Predictably enough, different feel files define functions differently.  So,
for instance, one of them may automatically move a window to the top as soon
as your pointer is atop that window, while another may require that you
click on the titlebar in order to bring a window to the top.  You might like
to read through the various feel files on your system, in order to get an
idea of how they can be customized.

<sect1>Can I make or install a "theme" for AfterStep?

<p> There is a new set of scripts available to work through themes.  It is
still in the early stages of development, but several people have already
reported success.  The scripts come from Doug Alcorn
(<tt/alcornd@earthlink.net/), and are available from <url
url="http://home.earthlink.net/~alcornd/" name="his page,
http://home.earthlink.net/~alcornd/"> as well as from the AfterStep FTP
site, under /themes.

<sect1>I want to do xyz with {some application under X}.  How do I do it?

<p> Yes, this is a generic question, because the generic answer is always
the same: please read the relevant man pages and README files.  That said,
there are several applications which are included with AfterStep.  Some (not
all!) of these are discussed in another section (below, after the Modules
section).  If you're really perplexed, and you're having a problem peculiar
to AfterStep, and you have read every relevant thing (<em>that really means
everything!</em>), a question to the regular list would not be out of place.

<sect>Icons, graphics and pixmaps

<p>
<sect1>Icons staying put

<p>
In old versions of AfterStep, an icon to be used in Wharf must contain
at least one transparent pixel; otherwise the symptoms you've
mentioned will turn up.  Simply add a transparent pixel and
everything should work flawlessly.

Newer versions of AfterStep fix this problem, allowing you to use icons
without transparent pixels in the Wharf.  You should really upgrade to the
latest version.

<sect1>Colormap issues

<p>
Yes, I (Andrew) know that "colour" is spelled incorrectly here.  I can't
help it that those who set up X and Linux spell incorrectly.

<p>
<sect2>When I run AfterStep some of the icons on the button bar don't show up.  
If I load them at the top they show up, but then the other ones don't.  Also, 
when I use Netscape, the colors get wacky. What's wrong?

<p> 
Odds are you are using a 256 color (8bit) display.  A quick explanation is that
you can only have 256 colors on the screen at the same time, and the more
colors you use in Wharf (the button bar), the fewer you can use for other
applications and icons.  I would suggest upgrading your video hardware or using
more conservative (less colorful) icons.  For netscape, an option is to run it
with the 'netscape -install' command.  This will ensure that netscape gets a
good deal of the color that it wants.  It will, however, also result in the
colors flashing whenever you move the mouse in or out the Netscape window. You
decide whether you can live with that.

One trick, it seems, is to run AfterStep without a Wharf.  That reduces the
number of colors used at any one time. 

You might want to use low-color icons, as well; you can find a good collection
of low-color icons (all of them together use only 21 colors) at 
<url url="http://the-labs.com/AfterStep/">.

If you are using asclock, you can configure it to use fewer colors.  See below.

After version 1.4, AfterStep uses config. files ending with "8bpp" for 8 bit
displays, and low-color icons from icon/8bpp.  You can modify these files to
use fewer colors.

<sect2>I am having trouble under AS while using xscreensaver with its own
 colormap.

<p>
So far, no solution has surfaced to this problem.  It appears that AfterStep
is not handing over control of the display.  There seem to be other related
problems of this nature, mostly on Suns.  Any additional information would be
appreciated: Gerhard den Hollander (<tt/gerhard@jason.nl/) is working on this
problem.
  
<sect1>Icons disappear from Wharf. What's wrong?

<p>
You are most likely running out of colors. Either upgrade your hardware, switch
to a higher color depth (i.e. 16 bpp or higher), or use icons that contain
fewer colors.

<sect1>How do I create an icon with a transparent pixel?

<p>  You don't really need to do this any more: the preferred method here is
to upgrade your AS version.  Still, if you don't want to download, you can
fix your problem easily.  An xpm is a simple text file. Therefore, the only
image manipulation software you will need is vi (or some other text editor).
If you edit your xpm, you will become aware of its beauty and simplicity. At
the bottom you will notice a character representation of your image. At the
top there is a color listing corresponding to each pixel of the character
representation.

You have two options to create a transparent pixel:

<enum>
<item>Change an existing pixel color to transparent:

        Simply find the pixel character(s) you wish to become
        transparent, then go back up top and find that character in the
        listing.  Change the color code (number beginning with a #) to
        None.  Save, and you're all tootin'.

<item>Create a new transparent pixel: 

        Edit the line near the top corresponding to the
        height/width/number of colors/chars per pixel.  Increment the
        number of colors (third value) by one.  Then in the list of
        pixels and color values add the line:

<tscreen><verb>
               c None
</verb></tscreen>

     Where `c' should be a character that is not being used by any other
     color. From there save and take off.
</enum>

If you're the slightest bit unsure, take a look at one of the xpm files in the
AfterStep distribution's icons directory.

The `correct' size for a Wharf icon is 48x48 pixels. However, if you use bigger
icons, they will display correctly, up to 64x64, which is the default size for
the Wharf buttons.

<sect1>How do I make my own XPMs?

<p>
See the previous question.  Or, if you're trying to convert a compressed
file to an xpm, try using an image-manipulation tool like xv or the GIMP.

<sect1>Where can I find some cool pixmaps for the Wharf or desktop?

<p>
There are dozens of sites scattered around the Internet which will provide
you with useful graphics.  Some good links to start with can be found on the
official AfterStep home page.

<sect1>Why doesn't program `xyz' work in 16bpp?

<p>
Several 8bpp programs don't work on displays without a PseudoColor
visual available.  Several PC X servers don't support PseudoColor
visuals on displays running in TrueColor mode. You should buy an SGI.
Or run two simultaneous X servers, if you're on Linux.

Note for SGI users willing to play with their bpp :

One has to tweak the arguments to X in /usr/lib/X11/xdm/Xservers.
The following worked for Tim Buller (<tt/buller@math.ukans.edu/)

<tscreen><verb>
:0 secure /usr/bin/X11/X -bs -c -nobitscale -visid 0x34
</verb></tscreen>

Where Visual ID 0x34 (reported by xdpyinfo) is:

<tscreen><verb>
  visual:    visual id:    0x34
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff, 0xff00, 0xff0000
    significant bits in color specification:    8 bits
</verb></tscreen>

<sect1>Why doesn't xv do xyz in 16bpp? 

<p> xv doesn't cope well with 16bpp in three ways. First, it can't grab
pieces of the screen. Second, if you grab pieces of the screen with xwd and
try to display them with xv, it doesn't work well. xwud works. Third, if you
display a 24bpp picture, it doesn't bother to dither it down to 16bpp,
resulting in bad pictures.  You might want to consider using the GIMP, or
xli.

<sect1>Why don't icon names change when the application changes it?

<p>
Sorry, but icon names change since AfterStep 1.1.  Upgrade.

<sect1>Why does application xyz not have an icon?

<p>
You need to define an icon for your program in your database file.  It's a
good idea to define a default icon for all "unknown" programs.  In the
latest versions of AfterStep, you do this in the database file:

<tscreen><verb>
Style   "*"             Icon Unknown.xpm
</verb></tscreen>

<sect1>Why do I get bad behaviour with backgrounds?

<p>
In earlier versions of AfterStep, background loading was handled at start-up
by invoking another program in the .steprc.  While version 1.4 allowed the use of
XPMs only, 1.4.4 restored the ability to load jpegs (or whatever) with
another program.  The catch is that the auxiliary program is defined in
configure.h at compile time.  Edit the configuration to reflect the accurate
path to your favourite image viewing program, and then re-compile AfterStep.

The default program to use is xli.  Many people don't have this on their
system, and prefer to use xv instead.  This choice is still a compile-time
option.  Moreover, the Pager code is broken in some distributions, so that
the jpeg handling doesn't always work.

The loading of backgrounds is handled by the Pager module.  If you're not
using the Pager, then the backgrounds won't get loaded.  In that case, you
can make the call to the background-loading program in your autoexec file.

As of this writing, the Pager module is being re-coded to include (native)
support for background jpegs.  This new pager is included in a patch to
version 1.5 beta 4.  Version 1.5 will include native support for jpegs.

Note that jpegs don't take any less memory while loaded; they only take less
disk space!

<sect>Modules

<p>
<sect1>How do I get multiple Wharfs/Pagers on the screen?

<p> It's pretty easy. You just have to have the Wharf exist under several
different names, and then configure each of them using its name. For
example, if you make a link to Wharf called MyWharf (type "man ln" at a
command prompt if you don't know how to make links), you would add extra
lines to the Wharf configuration file (or new section in a .steprc) for the
new binary name: &tilde/GNUstep/Library/AfterStep/mywharf.  The file would
then include lines like this:

<tscreen><verb>
       *MyWharfAnimate
       *MyWharf "label" Icon.xpm Exec "something" something
</verb></tscreen>

Same for the Pager.  Note that the default pager file includes several
additional lines already, for *WPager, *XPager, *YPager, and *Zpager.  Use
links with those names to use the defaults (and remove the comment marks
from the relevant lines).

In the newest versions, you'll also need to edit the database file: mirror
the Wharf appearance with the new name.

Note: Apparently, due to the way the Wharf configuration file parser works,
links with names like  Wharf2 (i.e. the same original name with characters
appended to it) will not work: the parser will think you are referring to the
original module and will get confused.  You have to give each link a
distinctive name.  Try, for instance, MyWharf.

In the latest versions of AfterStep, there is also a different version of
GoodStuff included with AfterStep; this is called Zharf.  It allows
variable-sized buttons, and it includes names for the icons.  You can start
it up with the default configuration from your startmenu (look under
"Modules").  Configuration is basically the same as for Wharf.

<sect1>How can I get asclock to appear properly in Wharf?

<p>
First, you need AfterStep 0.98 beta 4 or later. These version have the
MaxSwallow option. Then, add a command such as this to the wharf file or line
(depending on whether you use .steprc):

<tscreen><verb>
         *Wharf asclock nil MaxSwallow "asclock" asclock -12 -shape &
</verb></tscreen>

You must replace the `-12' with '-24' to display 24 hour time.

<sect1>How do I configure asclock to use fewer colors? 

<p>
When installing, after executing configure, asclock configure should be launched
by default.  Otherwise, go to the  modules/asclock directory and do the
following:
<enum>
<item> Execute sh configure
<item> Several menus will appear, asking for the default language for dates
(yes, you can change it!) and the number of colors used.  There is one option
to use 2-bit color, resulting in an asclock that uses only 4 colors, but still
looks pretty good.
<item> Done. Now go and compile asclock as usual.
</enum>

<sect1>Why does asclock show the wrong time?

<p>
This happens most often on Red Hat Linux installations.  There's a broken
link; this is a fairly well-known problem.  Just make a link between
/usr/lib/zoneinfo and /usr/share/zoneinfo.  If you don't know about links,
try typing 'man ln' at a command prompt.

<sect1>Why does my latest version of MaxSwallow do odd stuff?

<p> In the newest versions of AfterStep (i.e. starting with the 1.4.5 series
of patches), the Wharf underwent some re-working, in order to allow the use
of some newer programs (designed for Window Maker).  As a result, different
patches turned up for the Wharf.

The final result of this work can be seen in version 1.5.  The old
"MaxSwallow" has been removed, and replaced with "Swallow".  The older
"Swallow", with its size limitation, is gone.  The "MaxSwallow" keyword now
re-sizes the button to fit the app being swallowed.  There is also a "Size"
keyword, to resize the buttons, and ignore any other size determination.

<sect1>What's wrong with WharfAnimate?

<p> There are really two questions here.  

First, in 1.4.4, WharfAnimate was broken.  This was fixed in 1.4.5.0.  

Second, some people complain that Animate is too slow.  This is defined at
compile time.  You should adjust the three animate lines in configure.h to a
lower number; that will speed up the animation.  Version 1.5 includes three
new configuration options: WharfAnimateSteps, WharfAnimateStepsMain,
WharfAnimateDelay.  These are defined in the wharf configuration file, and
control the animation of Wharf.  The old compile-time configuration is also
still available, but these new options will hopefully make things easier.

<sect1>Can you add xyz to the Wharf?

<p>

<tscreen>
You know, it would be really nice if the Wharf supported text titles/cascading
menus/tabs on the side/plug-in modules/swallowing running applications in
folders/scrollbars on folders/starting applications only if they're not already
running. Why doesn't someone do it?
</tscreen>

This is a holy war.  You will be crucified at dawn.  Unless you implement it
yourself and post a patch.

No, seriously, there has been a lot of discussion about these topics.

Many people believed that AfterStep should be kept as close as possible to the
original NEXTSTEP interface, while others thought it should be extended and be
made as configurable as possible.

Now Window Maker is following the original NEXTSTEP interface, while AfterStep
is going its own way.  Extensive configurability is one of these "own ways".

So please send a message to one of the relevant lists saying exactly what
you'd like to be implemented; or, even better, do it yourself and send a
patch.

<sect1>Can I have swallowed apps under a folder?

<p>
You can have this only if you have version 1.4.5.55N2 or later.

<sect1>Can I have a folder within a folder?

<p>
Yes.  In version 1.5, folders can be nested.  Just nest the sub-folder
specification within the main folder specification. 

In versions prior to 1.5, you could not nest folders.  Thadeu Penna
(<tt/tjppenna@aol.com/) cleverly worked around this limitation by creating a
folder which calls another Wharf:

<tscreen><verb> 
My dirty solution was: one of the Wharf's buttons is a call
to Pier (a secondary Wharf). In this way, I got one additional level. The
main disadvantage is for each button in the Pier, you have to write a small
script that calls the program and after to kill the Pier. The geometry was
quite easy to evaluate. I have used, for the first button of the Pier, the
same icon as in the Wharf, therefore it seems as a Folder with an additional
level. It is a little slower than Wharf itself.
</verb></tscreen>

<sect1>Can I have two columns in my Wharf?

<p>
Yes, in version 1.5.  Use WharfColumns.  WharfColumns was broken, but it's
fixed now.

<sect1>Why can't I find the man page for Wharf?

<p>
Spell it "Wharf" and not "wharf".

<sect1>What's wrong with the mouse buttons in the pager?

<p>
In 1.4.5.55, the left and middle mouse button bindings were reversed,
because of a request from Red Hat.  Several users have expressed
dissatisfaction with this arrangement, however, so it will not be
maintained.  Version 1.5 is back to the old style.

<sect1>How can I have more/fewer/larger desktops?

<p>
The Pager module in the latest AfterStep versions is highly flexible.  It
can be configured to show several desktops, each with several screens, and
it can be placed just about anywhere you like it.

To change the size of the desktop, edit the base.{your bitdepth}bpp file to
reflect the size of the desktop that you want.  "2x2" means "two panes wide
by two panes high".

To change the number of desktops, you need to do two things.  First, you
need to change the call to pager in your autoexec file.  The syntax for
starting Pager is "Pager {1st desktop} {last desktop}", where the first
desktop is always 0.  So, if you wanted to have two desktops, you would add
the following line to your autoexec file:

<tscreen><code>
Module  "I"     Pager 0 1
</code></tscreen>

You should also then comment out or remove the definitions for the extra
desktops in your pager configuration file.

The Pager can be placed anywhere on the desktop, by editing the value of
"*PagerGeometry".  This uses the standard X geometry values.

Pager can also be displayed vertically and horizontally.  Just adjust the
values of "*PagerRows" and "*PagerColumns".

Notice, also, that the pager configuration file has changed in version 1.5,
in order to allow the new functionality.  Do not recycle your old pager
configuration, but use the new default as the basis for new customization.

<sect1>Fine, but how do I get the pager off the desk entirely?

<p>
You can get rid of the pager by removing it from the autoexec file.

Pager can be swallowed in the Wharf.  In version 1.5, it is also possible
to do this under a Wharf folder.  Use "MaxSwallowModule".

<sect1>How do I enable sound in AfterStep?

<p> First, make sure you have the necessary hardware, and have a kernel
compiled with sound support.  You can check that your sound actually works
by trying the following at a command prompt:

<tscreen><verb>
cat [some au file] &gt /dev/audio
</verb></tscreen>

Then, edit the &tilde/GNUstep/Library/AfterStep/audio file. You should see
lines like these (if you don't, add them):

<tscreen><verb>
         *AudioPlayCmd /usr/bin/showaudio
         *AudioDir /usr/local/share/afterstep/desktop/sounds
         *AudioDelay 1
</verb></tscreen>


Again, if these aren't there, add them.  Verify that the AudioPlayCmd is a
valid program and that the sounds you want to play are in
/usr/local/share/afterstep/desktop/sounds/ (or set it to the appropriate
directory).

Below that section, you should see many lines like this:

<tscreen><verb>
         #*Audio startup gong.au
</verb></tscreen>

Simply remove the comment (#) from the beginning of the line and if
you wish, set the startup event to some other au file.  The format is:

<tscreen><verb>
       *Audio [event] [sound]
</verb></tscreen>

Do that for the rest of the Audio events, and as one AfterStepper put it,
you'll literally add new bells and whistles to AfterStep.

In some versions of AfterStep, sound is disabled by default.  You can get
the audio module to work in two ways.  The first is to open the "Start"
menu, click on "Modules", and then click on "Audio".  The other is to start
the Audio module in your autoexec file.  Just add the line

<tscreen><verb>
	Module  "I"     Audio
</verb></tscreen>

to your autoexec file.

The Audio module was apparently broken in some versions, but nobody seems to
know why.  You should make sure you have the latest version of AfterStep
before asking why your Audio module does not work: all current versions seem
to be functioning correctly.  If you are still having trouble, <em>and
you've read this and followed the instructions carefully</em>, you might
want to ask questions on the mailing list.

You should also be aware that the configuration of the Audio module has
undergone some changes.  So, if you've changed your version of AfterStep,
and Audio is suddenly not working for you, check that you removed your old
configuration before asking what is wrong.

Finally, if you are getting errors complaining about an incorrect path,
check your base.{yourbppnumber}bpp file.  The AudioPath used to be set in
the base file, but it is now set in the configuration file for the Audio
module.  This change affects versions since 1.4.5.0; but 1.4.5.0 was
accidentally released with the AudioPath configured in the base file.  Fix
the definition, and the problem will go away.

<sect>AfterStep Application ("as-apps") configuration.

<p>

<sect1>What's the difference between as-apps and modules?

<p>
Modules are part of AfterStep, and need to be called by AfterStep.  They
cannot be run alone.  As-apps, on the other hand, can be used by other
window managers as well.

<sect1>I want to add a pixmap to the background of xiterm

<p> The first thing you must ensure is that you compiled xiterm to allow
this.  The default configuration of xiterm does not permit the addition of
pixmaps.  You need to edit xiterm.h (you'll find it in xiterm/src/) before
compiling in order enable the feature: change the line 

<tscreen><code>
/*#define XPM_BACKGROUND*/
</code></tscreen>

 to 

<tscreen><code>
#define XPM_BACKGROUND
</code></tscreen>
 
Once you're sure you've compiled and installed xiterm correctly, simply add
the switch "-pixmap {path-to-pixmap}".

<sect1>I want xiterm to start as the login shell.

<p>
In order for this to work correctly, you need to adjust the compile-time
settings for UTMP_SUPPORT.  The relevant section is near the end of
xiterm.h.  The exact changes you need to make vary from system to system;
just read the comments carefully, and make the correct adjustments.

<sect1>How do I get that cool transparent xiterm?

<p>
You can't.  There is no such thing.  The "transparent" effect you are
looking for is actually just a *term program (xiterm, rxvt, whatever) with a
background pixmap identical to the desktop.  The user carefully lined up the
*term so that the pixmaps appeared to be the same ones.

Apparently, the newest version of Eterm has a "transparency" option.  If you
decide to use it, I hope you have a couple of million extra CPU cycles lying
around!  The transparent Eterm actually just reads the current background,
than then tries to keep the Eterm background lined up correctly.  In order
to make this work, you will need to use esetroot, or use the new pager
introduced with the 1.5 series.  The new pager offers support for Eterm. 
You will still need to get all the necessary libraries for Eterm, however.

There is also a program called roottail, which allows you to tail messages
onto the root window.  This is useful, for instance, if you want to view
/var/log/messages without having an extra xterm open all the time.

<sect1>I am having trouble with asmix or asmixer and Wharf

<p> This appeared in AS 1.4.4.  That release included only asmix, and not
asmixer.  You can either get asmixer and install it, or use asmix.  If you
use asmix, make sure you are invoking in correctly in the Wharf.  In
particular, you must be consistent in your invocation: it is labelled
"asMix" in the Wharf file, even though the name of the file is "asmix".

The latest version fixed this, so you can use "asmix" in the Wharf file. 
The class name, however, is still "asMix", so you have to use "asMix" in the
database file, if you have any options you want to configure particularly
for asmix.

<sect1>I upgraded AfterStep, and now my as-apps look funny in the Wharf.

<p>
This is because of some changes to the "Swallow" and "MaxSwallow" keywords
in the Wharf configuration.  Have a look at the section on Wharf, above.

<sect1>How do I use asmail?

<p>
Asmail checks for your mail.  You configure it using the asmail
configuration file, which can be found with the rest of your AfterStep
configuration files.  (On version 1.5, this is /usr/local/share/afterstep.)
The configuration is pretty self-explanatory.

Note that asmail checks for mail on the local system.  If you are connected
to another system, and are using NFS, you can check your mail on that
system.  If you are connected across a PPP or SLIP link, you may want to use
a program such as fetchmail to retrieve your mail.  Then, asmail will report
when you have received mail.

<sect1>What is ascp?

<p> Ascp stands for `AfterStep Control Panel', and is a program that allows
you to configure AfterStep while imitating the NEXTSTEP control panel look
and feel. It makes it really easy to configure AfterStep without manually
fiddling with the configuration file(s).  There is more information about
how to get it below.  Make sure you read it carefully.

Versions of ascp before version 0.9 used Tcl/Tk and TkStep, and would write
.only to a steprc file.  Starting with version 0.9, ascp has abandoned the
Tcl-based approach.  The new ascp is based entirely upon GTK+.  The very
latest version is dependent upon having (at least) version 1.1.1 of GTK+,
and glib version 1.1.2.

WARNING: AfterStep doesn't use .steprc since version 1.2, so if you use the
older Tcl-based ascp , you will have to run AfterStep in 'compatibility'
mode:

<tscreen><verb>
 afterstep -f {yeoldsteprc}
</verb></tscreen>

<sect1>I tried to install TkStep, but it doesn't work with TkStep and Tcl7.6

<p> There is a version of TkStep which is supposed to work with Tk 7.6, but
it does not seem to work for everyone.  The best approach is probably to
upgrade: the latest version of TkStep works
with Tk8.0; see below for more information about TkStep.

<sect1>Why doesn't ascp run on my system?

<p> This depends on which version of ascp you are talking about.  The old
ascp needed TkStep.  TkStep is a version of Tk implemented by Alfredo Kojima
(<tt/kojima@inf.ufrgs.br/), and now maintained by Oliver Graf
(<tt/ograf@fga.de/) and Steve Murray (<tt/stevem@eng.uts.edu.au/); it gives
Tk the NEXTSTEP look-and-feel, and implements a few new widgets, like font
and color choosers. You can download it from <url
url="http://www.fga.de/~ograf/TkStep.shtml"> or <url
url="http://touchwood.ee.uts.edu.au/TkSTEP/TkSTEP.html">.  These versions of
ascp do not work with the new configurations anyway (i.e. post 1.2), so you
might not need to worry about this.  To use the Tcl/Tk based ascp versions
with the latest version of TkStep, you need a patch.  You can get the patch
from Steve Murray's site: <url
url="http://touchwood.ee.uts.edu.au/TkSTEP/fixes.html">.  These patches only
work for versions 0.8 and 0.8-SE, but <em>not</em> for 0.8.4.  You must
patch ascp before using it with Tk 8.0, or your .steprc file will be
corrupted.

A new version of ascp which does not depend on TkStep is now available. This
is ascp 0.9, also known as gtk+-ascp.  The new version only supports the
new-style (non-.steprc) configuration.  The latest version of this depends
upon GTK+.  You can get this version from <url
url="http://hubble.colorado.edu/~nwanua/htmldir/ascp.html">.  Both the
program and the site are maintained by Nwanua Elumeze
(<tt/nwanua@colorado.edu/).  The ascp home page also tells you what version
of GTK+ you will need for the current version of ascp, and provides a link
for you to find it.

<sect1>Can I use Window Maker applets in AfterStep?

<p>
Yes.  It was always more or less possible, except that WM apps tended not to
display correctly in the Wharf.  The changes to the Swallow and MaxSwallow
functions in Wharf have made it possible to use any Window Maker applet in
Wharf.

<sect>General usage, features and bugs

<p>

<sect1>Why does XFree86 crash as I'm starting?

<p>
There are many reasons why this might happen, but one bug in particular has
surfaced which might be important.  Apparently, XFree86 has some bugs in the
shaped windows handling code.  The effect of these bugs is that, if you are
using an as-app, and another window overlaps that as-app's window while the
app is starting, X will crash.  This usually happens at startup time in
AfterStep, during the time when Wharf is starting.

The best way to avoid this, it seems, is to add a "Wait" line in the
autoexec file for every Wharf, like this:

<tscreen><code>
Module	"I"	Wharf
Wait	"I"	Wharf
</code></tscreen>

Also, avoid putting a menu in the upper left corner when starting up.

<sect1>Why does AfterStep get slower and slower until I restart it?

<p>
Apparently there was a bug in versions up to 1.0pre3 (probably a
memory leak) that caused this behaviour. We know that setting your
TextureMaxColors to something small, like `16 16 16 16' or `32 32 32
32', will stop this problem. It also seems to happen only with XFree86
in 32-bpp mode (or 16? Please give me confirmation), and if you're in
8-bpp or a different X server, it doesn't seem to cause a problem.

This problem was solved in 1.0pre4, as far as we know. Upgrade!

Unfortunately, some new memory leaks appeared during the 1.4.x series.  The
most serious of these appear to have been fixed in the 1.5 series.

<sect1>Click-to-focus dies

<p>
<tscreen>
Sometimes, after I've been running AfterStep for a while in click-to-focus
mode, I can't shift the focus from one window to another by clicking.  I have
to iconify and deiconify the window to shift focus, or pick it from the popup
list.  Why?
</tscreen>

This is a strange bug, that is (sometimes at least) caused by having the
NumLock key activated. It is present up to 1.0pre4, so check your NumLock key.

This problem is solved in 1.0pre5, so you should upgrade if you're still having
this problem.

Some people have recently reported that this bug has re-surfaced.  If the
problem appears on your system, please send a message to the list to report
it.   

<sect1>What is this `Shade' thing?

<p>
Shade is a window function that is often seen on the Macintosh system.  In
theory, it makes a window disappear except for the title bar.  For example, an
Xterm normally looks like this:

<verb>

         |------------------------------|
         |             Xterm            |
         |------------------------------|
         |                              |
         |                              |
         |                              |
         |                              |
         |                              |
         |------------------------------|

</verb>


When shade takes effect, the Xterm looks like this:

<verb>

         |------------------------------|
         |             Xterm            |
         |------------------------------|

</verb>

This is nice for saving desktop space and for window management purposes.  Some
prefer it to iconifying the windows.

Up to 1.0pre3, Shade didn't work correctly, because it worked by resizing the
window to a height of 0 pixels, which some applications didn't like.

In 1.0pre4 and later versions, shade works by making the application
think that it is being iconified, so it works with all applications again.
It has the problem, though, that shaded windows become `sticky' and appear
in all the pages in the virtual desktop.  Unlike sticky icons, this is not
behaviour that can be changed.  This is a bug.

The "sticky-shade" bug has been fixed in the 1.5 series.

<sect1>When I restart AfterStep, it kills X. What gives?

<p>
This was a bug that occurred in AfterStep betas. If you experience this bug, you
are running an old release of AfterStep. Upgrade to v1.0pre4 or later to fix
this. This is, incidentally, something you should probably do anyway,
considering the wealth of features you are missing.

<sect1>What is swallow-exec?

<p>
It's a feature introduced in the distribution in 1.0pre4 (it previously existed
as a separate patch) that allows you to associate an action to an entry in the
Wharf corresponding to a swallowed application. So for example you can have
asmail in the Wharf, and have it configured so that when you click on it, it
warps to your email reading window. If your email reader is exmh, the required
lines would be:

<tscreen><verb>
       *Wharf "asmail" nil Swallow     "asmail" asmail &
       *Wharf "asmail" nil Warp        "-" exmh
</verb></tscreen>

Note how both lines have the same label `asmail', which tells Wharf that those
two go together. You can use any AfterStep function instead of `Warp'. For
example, if you want the xload icon to fire a top window when clicked, you can
have something like this:

<tscreen><verb>
       *Wharf "xload" nil Swallow      "xload" xload -geometry 48x48-1-1 &
       *Wharf "xload" nil Exec "Top" xterm +sb -T Top -n Top -e top &
</verb></tscreen>

By the way, this feature is responsible for a strange bug. See the next
question.

Also note that this feature does not appear always to work in later
versions.  Many asapps, however, will automatically start another program
when clicked, if given the correct arguments.  For instance, asmail allows
you to specify the program to start when the asmail button is left-clicked;
this is determined in the asmail configuration file.  Similarly, asload
accepts a command line option, "-exe", which allows you to specify a program
to start upon a left-click.

<sect1>I upgraded to 1.0pre4 or later, and now the Wharf doesn't work.  What
 happens?  

<p>
This is not a bug, it's a feature :-). No, really, this behaviour was introduced
due to the introduction of the `Swallow-exec' capability in 1.0pre4. To fix it,
do the following:

<enum>
<item> In your  .steprc, locate the lines that start with

<tscreen><verb>
       *Wharf "" ...
</verb></tscreen>

<item> This could also be nil, or any other label that is the same for all
the Wharf entries. These repeated labels are the ones causing the trouble.
You have to give each Wharf entry a unique label there, like `xload',
`asmail', `Pager', etc.

<item> Restart and it should be fixed.
</enum>

Of course, the better answer is to upgrade to 1.4.x or later, and re-configure
your Wharf.

<sect1>Why doesn't my workspace save when I exit?

<p> In early 1.4.x versions, there was a file  called .workspace_state which
was automatically written when you exited.  This saved your desktop when you
exited, so that it looked the same way when you came back.  This behaviour
was enabled by default in those versions.

In version 1.4.5.55N6, this behaviour is disabled by default.  You can
change configure.h to restore this feature before compiling if you want to.

You can also manually create the .workspace_state in your
&tilde/GNUstep/Library/AfterStep/ directory.  It is just a plain-text file
which invokes the program you want to appear on start-up, including the
geometry (with positioning) of the window.  This file will be read at
start-up if it exists, but it will only be re-written if you
selected the relevant flag at compile time.

The .workspace_state behaviour is one of the options at compile time for
version 1.5.x.

<sect1>My start menu no longer updates upon restarting.  Why?

<p> You should select "Desktop/Update startmenu" (version 1.5) or
"Quit/Update" (&lt 1.5) on your startmenu.  That will fix your problem.

<sect>Miscellany

<p>
<sect1>How do I use Microsoft Windows (tm) True Type fonts ?

<p>
Information from David Mihm (<tt/davemann@ionet.net/), posted in the AfterStep
mailing list:

You are looking for a server for True Type fonts.  A blurb about one
of the few programs to provide this server to any WM:

<tscreen>
        Xfstt means "X11 Font Server for TT fonts" TT
        fonts are generally regarded to be the best
        scalable fonts for low resolution devices like
        screens.
</tscreen>

This server can be obtained from sunsite: <url
url="ftp://sunsite.unc.edu/pub/Linux/X11/fonts/">

You might want to check freshmeat to see if there are newer versions.

According to F. Nicolaas Benders (<tt/benders@slackworks.com/), there may be
difficulties with the server:

<tscreen><verb>
I've been running the 0.97 version and it works well with one major problem.
Whenever I start it, it automatically slams my CPU and won't let go until it's
killed.  I refuse to believe that a font server should need more than 50% of my
processor time constantly, has anyone else had any experience with this?
</verb></tscreen>

Naturally, if anyone has had such experiences, we would be glad to hear of it!

<sect1>What is this Window Maker I keep hearing about?

<p> WindowMaker -- now Window Maker -- is a new NeXT-like window manager
that is being developed by Alfredo Kojima (<tt/kojima@inf.ufrgs.br/) with
the support of a lot of other people. It will support many
OpenStep/GNUStep-ish features, and there is talk that it may be the
"next-generation _asnl", and even the window manager of choice for GNUstep.
You can download it from <url url="http://www.windowmaker.org">

However, be advised that WindowMaker is still in an early stage of
development.  It is advancing very fast, though, so you may also want to
take a good look at it.

<sect>Other AfterStep-unrelated applications

<p>
<sect1>I have a problem with program xyz.

<p>
Please, please, don't post questions unrelated to AfterStep to the mailing
lists. If you have a problem with some application not running, and you think
AfterStep is the culprit, first try the following:

<enum>
<item> Read the documentation (man pages, etc.) for the program.
<item> Find out about its configuration parameters (not only command line, but
also options in  .Xdefaults, config files, etc.).
<item> Ask other people who know about that specific program. Find a mailing
list about that program and ask there.
<item> Try running the program under some other window manager. If it doesn't
work there either, it is not an AfterStep problem.
</enum>

If you are very confident that it is an AfterStep problem, then send it to
the mailing list, but try to give as much information as possible. Questions
like `Why doesn't blig-graphics work on my system?' do not contain any
useful information that may help others in diagnosing your problem; you run
the risk of getting a nasty answer if you send such a message to the list.
Some data you may have to include is:

<enum>
<item> AfterStep version you are using.
<item> Operating system version, machine architecture.
<item> System configuration (color depth, memory, anything you think may help).
<item> Problematic program.
<item> Environment information (other programs running at the same time, etc.)
<item> A detailed description of the problem. What happens (error messages,
etc.), how replicable it is, how to replicate it, etc.
</enum>

The more information you provide, the easier it will be for others to find a
solution.

A good reason to suppose that the problem lies in AfterStep is to  test the
same program with an AS-compatible window manager.  This means that a
failure of a program which works perfectly on Enlightenment is not a failure
in AS terms; but a failure of an fvwm-1 program is something of concern for
AfterSteppers.

</article>
