[comp.sys.atari.st] startup screen

jriegel@polyslo.CalPoly.EDU (Jeff Riegel) (04/12/89)

    I have been experimenting with writing a "startup screen" type program such
as exists on the Amiga and Mac, to replace the desktop's background.  But I
have noticed that the desktop's windows tend to eliminate any background, and
the desktop seems to simply redraw the green (or dithered on monochrome) field.
Does anyone know any way around this?  I had thought that the desktop would
simply have the green background set up in a buffer.  This would speed up 
redraws.  But apparently the desktop itself must redraw the screen and any
windows that are underneath another window.
   Does anyone know of any existing utility that installs a background screen,
or any way to get around the above difficulty?

-Jeff Riegel
jriegel@polyslo.calpoly.edu

rjung@sal61.usc.edu (Robert allen Jung) (04/12/89)

In article <10201@polyslo.CalPoly.EDU> jriegel@polyslo.CalPoly.EDU (Jeff Riegel) writes:
>    I have been experimenting with writing a "startup screen" type program such
>as exists on the Amiga and Mac, to replace the desktop's background. ...
>   Does anyone know of any existing utility that installs a background screen,
>or any way to get around the above difficulty?

  Easel/ST is a small, slightly-hard-to-find program that will do just that.
You give it DEGAS pictures for whatever resolution you'd like to boot up in,
and Easel will load it as your Desktop image.

  I personally don't see the use for such a thing, but if you can get it cheap
enough, why not?

						--R.J.
						B-)

 =============================================================================
                 Disclaimer: This message was written with my authorization
      # ## #
      # ## #     Mailing address: rjung@nunki.usc.edu
     ## ## ##          (It's easier to just use the reply function, tho)
  ####  ##  ####

root@yale.UUCP (Root Of All Evil) (04/13/89)

In article <10201@polyslo.CalPoly.EDU> jriegel@polyslo.CalPoly.EDU (Jeff Riegel) writes:
>
>   I have been experimenting with writing a "startup screen" type program such
>as exists on the Amiga and Mac, to replace the desktop's background.  But I
>have noticed that the desktop's windows tend to eliminate any background, and
>the desktop seems to simply redraw the green (or dithered on monochrome) field.
>Does anyone know any way around this?  I had thought that the desktop would
>simply have the green background set up in a buffer.  This would speed up 
>redraws.  But apparently the desktop itself must redraw the screen and any
>windows that are underneath another window.

I think the way they are doing it is actually the faster.  Copying the
background from a buffer would probably result in something like
move.l (a0)+,(a1)+
at the center of a loop, whereas just putting the pattern back could be
move.l PATTERN,(a1)+
where PATTERN is some constant.  I expect that is a fair bit faster.

But anyway... I was also thinking about this sort of program a while back, and
here are the approaches I was considering:

1) Have a desk accessory open a window with the image.  Am I right in thinking
that the accessory will then correctly get the window redraw messages?  If so,
this would be very straightforward.

2) If I remeber correctly, the background is window 0.  Therefore, you might
be able to intercept TRAP 2 looking for redraw window 0 messages, and handle
them yourself.  I'm not sure, however, that these messages are ever sent, it's
possible that redrawing the background is done automatically as part of
something else (and, of course, intercepting traps is no doubt a developers'
no-no).

>   Does anyone know of any existing utility that installs a background screen,

No, which is kind of surprising.  I can't believe no one has thought of this
before, which may mean that getting it to work is a lot harder than either of
us imagine.

>
>-Jeff Riegel
>jriegel@polyslo.calpoly.edu

Larne Pekowsky
Pekowsky@yale.arpa
CIS: 73715,1552