From: teague@Apple.COM (Terry Teague)
Newsgroups: comp.sys.mac.apps
Subject: Re: Extension to inhibit superimposition of startup icons?
Date: 20 Aug 92 02:31:29 GMT
Organization: Apple Computer Inc., Cupertino, CA

In article <1992Aug19.174818.13263@ctr.columbia.edu> schwabe@inf.puc-rio.br (Daniel Schwabe) writes:
>IconWrap doesn't solve my problems either. What baffles me is that
>depending on the particular set of extensions I have on, the icons
>SOMETIMES wrap and sometimes overlap. Moreover, the particular place
>where they cease to wrap/start to overlap also changes, and is never the
>exact place where a previously active extension was present (and whose
>removal caused the change)!

There are a number of factors that come into play here. To understand what
is happening, you need to understand how INITs display their icons on
startup. Basically there are 2 ways - (a) the author's completely own
scheme (Symantec Guardian was a good example), (b) use of public domain
code known as ShowINIT, developed by a bunch of people at Apple,
including Paul Mercer. ShowINIT is a generalized method of displaying
INIT Icons - over the years it has been enhanced by various people, to
add support for such things as color icons (cicn), newer color icons
(icl4/icl8), multiple rows (similar to the function provided by IconWrap).

With method (a), you are completely at the mercy of the author, and no
IconWrap or otherwise is going to help you. With method (b), it depends
on what version of ShowINIT was used in the INIT, and/or if the author
of the INIT customized the ShowINIT code (since source is available),
and again IconWrap may not help you. The reason that it works most of
the time (i.e. marching to the right) is that internally the ShowINIT
code automatically advances the icon drawing position each time an INIT
calls ShowINIT (with a default move parameter of -1). However at any time,
a different INIT could "reset"/change the next icon drawing position
(for reasons explained above), and so mess up your whole display.

>On a similar topic (I already have asked about it but have never received
>a satisfactory answer), I would like to have the startup icons show up
>OVER my startup screen. For some reason, the startup screen shows up, and
>then a grey pattern appears and the icons begin to "march".  This is
>actually true even if I have no extensions active - just the gray pattern
>appears, and then the usual finder desktop.
>Can anybody explain what is going on?

Again, the reason for this is dependent on the code used by each INIT to
display its icon. INITs that use method (a) above can do what they damn
well please (and they often do - MainStay's Capture was an example of this),
such as re-initializing QuickDraw and the Window manager, resulting in
a screen clear. Otherwise INITs that use method (b) above should initialize
QuickDraw once, which will wip out your StartupScreen, since that is done
before INITs are executed. The reason you might be seeing the problem
with no extensions might be because you have some INITs that don't actually
display an icon, but initialize QuickGraw etc anyway, or you might have
a video card in your machine that does some kind of secondary initialization.

To anyone else following this discussion - I am upgrading ShowINIT to add
a couple more features, to tidy-up the source code, examples etc, and 
make it more modular for customization. I am planning on calling this
version 2.0, and I am working on it in my spare time. When I have completed
it and consulted the oracle (Hi Paul), I will release it and let you know -
it should also appear on developer CD-ROMs, and your favorite archive site.

Hope this helps.
Regards, Terry Teague

-- 
+-----------------------------+----------------------------------------------+ 
| Terry Teague (WWIV Mac BBS) ||||||||||||||||||||||||||||||||||||||||||||||||
+-----------------------------+----------------------------------------------+
| Internet: teague@apple.COM                          CompuServe: 76354,324  |
| UUCP: {sun,voder,nsc,decwrl}!apple!teague           GENIE: TEAGUE1         |
| Applelink: Teague.T                                 MCI: 279-2400 (SSI)    |
+----------------------------------------------------------------------------+