AfterStep FAQ: General usage, features and bugs

## 8. General usage, features and bugs

## 8.1 Why does XFree86 crash as I'm starting?

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.

## 8.2 Why does AfterStep get slower and slower until I restart it?

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.

## 8.3 Click-to-focus dies

> `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.

## 8.4 What is this `Shade' thing?

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.

## 8.5 When I restart AfterStep, it kills X. What gives?

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.

## 8.6 What is swallow-exec?

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.

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

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:

1. In your .steprc, locate the lines that start with

   > `

   >            *Wharf "" ...

   > `

2. 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.
3. Restart and it should be fixed.

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

## 8.8 Why doesn't my workspace save when I exit?

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.

## 8.9 My start menu no longer updates upon restarting. Why?

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