Ethan (
Mon, 6 Sep 1999 21:50:07 -0700 (PDT)

On Sun, 5 Sep 1999, Ahmed Sudan wrote:

>   I am working on a control panel and would like to have ipc like access
> to AfterStep.  I have been looking over the in the tools
> directory and would like to see a few usage examples.  What I am looking
> for is a mechanism to access desktop functions from an application which
> is external to AfterStep.

In general, any command which is legal in a Function is legal to send to 
AS via the pipe.  In addition to the syntax available to Functions, 
modules may also send a window ID, which will then be used as the target 
for targetted functions such as Raise.

There are a few commands which are unique to modules.  Here's a quick 
description of them:

SET_MASK <mask>
  Sets the event mask for the module.  AfterStep will only forward events 
  that match this mask to the module.

SET_NAME <name>
  Sets the module name.  This is used for KillModuleByName().  It is 
  generally recommended that this always be set, and that it's value 
  be argv[0].

  Tells AfterStep to stop processing input from the module, and check 
  for incoming X events.

SET_FLAGS <window-flags>
  Set flags for a window.  The valid flags are defined in afterstep.h, 
  and the valid flags as of AS-1.7.176 are AVOID_COVER, TRANSIENT, 
  CIRCULATESKIP, and NOFOCUS.  This function actually inverts the 
  flags, so it should only be called when a change in window state is 
  needed.  Eg, "F_SET_FLAGS 16777216" will invert the AvoidCover state 
  of a window.

Hope this helps!

Ethan Fischer