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:
Module "I" Wharf
Wait "I" Wharf
Also, avoid putting a menu in the upper left corner when starting up.
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.
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?
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.
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:
|------------------------------| | Xterm | |------------------------------| | | | | | | | | | | |------------------------------|
When shade takes effect, the Xterm looks like this:
|------------------------------| | Xterm | |------------------------------|
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.
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.
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:
*Wharf "asmail" nil Swallow "asmail" asmail &
*Wharf "asmail" nil Warp "-" exmh
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:
*Wharf "xload" nil Swallow "xload" xload -geometry 48x48-1-1 &
*Wharf "xload" nil Exec "Top" xterm +sb -T Top -n Top -e top &
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.
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:
*Wharf "" ...
Of course, the better answer is to upgrade to 1.4.x or later, and re-configure your Wharf.
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 ~/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.
You should select "Desktop/Update startmenu" (version 1.5) or "Quit/Update" (< 1.5) on your startmenu. That will fix your problem.