[comp.sys.acorn] tasks which leave desktop and return

J.W.Harley@newcastle.ac.uk (Jon Harley) (04/23/91)

I've seen a couple of desktop apps which take over the whole screen while
they're active (ie the iconbar icon has been clicked), then return to the
desktop afterwards without the "Press SPACE or click mouse to return to
desktop" message. The apps in question were a home accounts program and
!StrongEd, which you want to stay resident while you're not using them.

I'm trying to do this for some PD software I'm writing - how is it done?
I've tried to do it with a second bank of vdu ram but with no success.


jon.
   _____________________________________
  / --Jonathan Harley                  /  The Owls are not         //    //  //
 / E-MAIL: J.W.Harley@uk.ac.newcastle /   what they seem.         // // //////
/________________PHONE: 091-222-8504 /________________________///////////  //

okloster@lise.unit.no (Oddvar Kloster) (04/25/91)

In article <1991Apr23.135553.17810@newcastle.ac.uk> J.W.Harley@newcastle.ac.uk (Jon Harley) writes:
>I've seen a couple of desktop apps which take over the whole screen while
>they're active (ie the iconbar icon has been clicked), then return to the
>desktop afterwards without the "Press SPACE or click mouse to return to
>desktop" message. The apps in question were a home accounts program and
>!StrongEd, which you want to stay resident while you're not using them.
>
>I'm trying to do this for some PD software I'm writing - how is it done?
>I've tried to do it with a second bank of vdu ram but with no success.


I can't tell about the account program, but I know how the !StrongEd
manages. When the editor is entered, it changes the screen mode (to a
mode 12-like overscan mode)(using *wimpmode and storing the current
mode for later, I think), then it places a window of its own on top 
of the whole desktop.  Then it can use the screen pretty freely, with
little help from the wimp. When the user wants to return to the
desktop, it removes it's window and restores the original wimpmode.
So there is no need for extra vdu ram.

One undesireable effect of the mode change is that if you are using a
mode with more space (>1280,1024) than normal modes, all windows will
snap to inside the smaller boundaries when the editor is entered.  At
least they do in my version, but I haven't got the latest one.

...Oddvar

Julian.Wright@comp.vuw.ac.nz (Julian Wright) (04/25/91)

In article <1991Apr23.135553.17810@newcastle.ac.uk>,
J.W.Harley@newcastle.ac.uk (Jon Harley) writes:
|> I've seen a couple of desktop apps which take over the whole screen
|> while
|> they're active (ie the iconbar icon has been clicked), then return to
|> the
|> desktop afterwards without the "Press SPACE or click mouse to return
|> to
|> desktop" message. The apps in question were a home accounts program
|> and
|> !StrongEd, which you want to stay resident while you're not using
|> them.

I don't know about the home accounts program, but StrongEd doesn't ever
leave the desktop in the first place... it opens a big window with no
scroll or title bars and the background-bit set. In fact it even still
calls Wimp_Poll (or Wimp PollIdle) while you are editing. It does change
the screen mode (with Wimp_SetMode) and put it back to what it was when
you have finished. (BTW Has anyone ever tried to load a file into StrongED
which you don't have enough RAM for? :-))

The "Press Space or click mouse to continue" prompt only appears when a NON
wimp task has just finished, and it did some VDU output while it was
running. This is because the WIMP opens the Command Window for each new
task, and this puts up the prompt when it is later closed with default
parameters. If you want to avoid this prompt, simply close the command
window yourself first, with the parameter that means "Close without prompt"
(ie SYS "Wimp_CommandWindow",-1). Don't do this until you are ready to
re-enter the polling loop though!

    Cheers, Julian.
-- 
;`````````````````````````````````````````````````````````````````````````````;
; I would if I could but I can't so I won't but I might if I find I can later ;
;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;
jwright@comp.vuw.ac.nz                                julian@sideways.gen.ac.nz

J.W.Harley@newcastle.ac.uk (Jon Harley) (04/26/91)

Thanks to everyone who replied, by posting or e-mailing, to my question.
I have half a dozen solutions now. Thanks guys!


jon.
   _____________________________________
  / --Jonathan Harley                  /  The Owls are not         //    //  //
 / E-MAIL: J.W.Harley@uk.ac.newcastle /   what they seem.         // // //////
/________________PHONE: 091-222-8504 /________________________///////////  //

spocky@acsys.UUCP (05/03/91)

J.W.Harley@newcastle.ac.uk (Jon Harley) writes:

> I've seen a couple of desktop apps which take over the whole screen while
> they're active (ie the iconbar icon has been clicked), then return to the
> desktop afterwards without the "Press SPACE or click mouse to return to
> desktop" message. The apps in question were a home accounts program and
> !StrongEd, which you want to stay resident while you're not using them.
> 
> I'm trying to do this for some PD software I'm writing - how is it done?
> I've tried to do it with a second bank of vdu ram but with no success.
> 

You ask for a clean termination?
I think I can help you!
I find this Article in the Risc User Magazine December 1989:

CLEAN TERMINATION
If you run a non Wimp program from the 
Desktop, you will get the following message 
when it terminates: 'Press SPACE or click 
mouse to continue'. To avoid this add the line:
SYS "Wimp_CommandWindow",-1
to the end of the program, ensuring that no 
text or graphics output can occur after this statement has been 
executed. A program
which is then run from the Desktop will 
return you to the Desktop as soon as the 
program terminates. Note, however, that if 
such a program is run directly from a Basic
language environment, you will be left in a
VDU 5 state, and the program should execute 
VDU 4 to return to normal cursor operation.

dbh@doc.ic.ac.uk (Denis Howe) (05/06/91)

In article <cP2c21w164w@acsys.UUCP> spocky@acsys.UUCP writes:
>J.W.Harley@newcastle.ac.uk (Jon Harley) writes:
>> I've seen a couple of desktop apps which take over the whole screen while
>> they're active (ie the iconbar icon has been clicked), then return to the
>> desktop afterwards without the "Press SPACE or click mouse to return to
>> desktop" message. ...

>You ask for a clean termination?
>I think I can help you!
>I find this Article in the Risc User Magazine December 1989:
>
>CLEAN TERMINATION
>
>If you run a non Wimp program from the Desktop, you will get the
>following message when it terminates: 'Press SPACE or click mouse to
>continue'. To avoid this add the line: SYS "Wimp_CommandWindow",-1 to
>the end of the program, ensuring that no text or graphics output can
>occur after this statement has been executed.

You can also put it at the _beginning_ of your program if you want to
output direct to the screen rather than to the command window.  You
can scribble all over the desktop like this!
--
Denis Howe <dbh@doc.ic.ac.uk>      C-C
H558A Imperial College London     C-C-C
   +44 (71) 589 5111 x5064         N=N