
All requesters in the Requester Toolkit check the pr_WindowPtr of your
process to find the screen they should open on.

These code fragments show you how to set/restore the pr_WindowPtr of your
process.

-----------------------------------------------------------------------------

...
struct Window *win;
struct Process *myproc;
APTR oldwinptr;

main()
{
   myproc = (struct Process *)FindTask (NULL);
   /* get old window pointer */
   oldwinptr = myproc->pr_WindowPtr;
   ...
   /* Open your screen */
   ...
   /* Open window on your screen */
   win = OpenWindow (&newwindow);
   if (!win) FreeExit();
   /* change the window pointer */
   myproc->pr_WindowPtr = win;
   ...
   /* now all requesters from the Requester Toolkit will appear
      on the screen your window is on. */
   ...
}

-----------------------------------------------------------------------------
In 'FreeExit()' you MUST restore the old windowptr before closing your
window and exiting!
-----------------------------------------------------------------------------

FreeExit()
{
   ...
   /* restore old window pointer before closing window */
   myproc->pr_WindowPtr = oldwinptr;
   if (win) CloseWindow (win);
   ...
   exit (0);
}
