[comp.sys.amiga] Can System Request windows appear on custom screens?

fgd3@jc3b21.UUCP (Fabbian G. Dufoe) (08/19/88)

How can I redirect System Request windows to a screen other than the
Workbench screen?  In particular, I'm interested in the ones that say
"Please insert volume ... in any drive".  I'm told Deluxe Paint II and
MaxiPlan both do it, so it must be possible.

--Fabbian Dufoe
  350 Ling-A-Mor Terrace South
  St. Petersburg, Florida  33705
  813-823-2350

UUCP: ...codas!usfvax2!jc3b21!fgd3 
      ...uunet!pdn!jc3b21!fgd3

papa@pollux.usc.edu (Marco Papa) (08/19/88)

In article <448@jc3b21.UUCP> fgd3@jc3b21.UUCP (Fabbian G. Dufoe) writes:
>How can I redirect System Request windows to a screen other than the
>Workbench screen?  In particular, I'm interested in the ones that say
>"Please insert volume ... in any drive".  I'm told Deluxe Paint II and
>MaxiPlan both do it, so it must be possible.

From the bag of tricks of Bryce Nesbitt:

struct Process *mproc;
struct Window *window;
APTR temp;

...
mproc = (struct Process *) FindTask(0L);
temp = mproc->pr_WindowPtr;
mproc->WindowPtr = (APTR) window;	/* any window open on custom screen */

at the end:

...
mproc->pr_WindowPtr = temp; 	/* retore BEFORE CloseWindow */

CloseWindow(window);

Enjoy.

-- Marco papa 'Doc'
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
uucp:...!pollux!papa       BIX:papa       ARPAnet:pollux!papa@oberon.usc.edu
 "There's Alpha, Beta, Gamma and Diga!" -- Leo Schwab [quoting Rick Unland]
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

cmcmanis%pepper@Sun.COM (Chuck McManis) (08/20/88)

In article <448@jc3b21.UUCP> fgd3@jc3b21.UUCP (Fabbian G. Dufoe) writes:
> How can I redirect System Request windows to a screen other than the
> Workbench screen?  In particular, I'm interested in the ones that say
> "Please insert volume ... in any drive".  I'm told Deluxe Paint II and
> MaxiPlan both do it, so it must be possible.

Set pr_WindowPtr in you're process structure to point to your window. Then
all system requests will appear there (when they are instigated by your
process). You can find your process structure with either FindTask(NULL)
if you are started from the CLI or as part of your Workbench startup message
if you are started from the Workbench.


--Chuck McManis
uucp: {anywhere}!sun!cmcmanis   BIX: cmcmanis  ARPAnet: cmcmanis@sun.com
These opinions are my own and no one elses, but you knew that didn't you.