[comp.sys.mac] Startup icon carriage control

oster@dewey.soe.berkeley.edu (David Phillip Oster) (11/19/88)

Well, after my last posting on this topic, I got inspired. Turns out I
was over-hasty, and the 'v' coordinate is recomputed each time. However,
here is a public domain INIT called CR. All it does is carriage return the
startup icon display, so you get a second row of startup icons, if you
need them, in between every pair of the first row. I am including the
source code, but the whole posting is still quite short.

Usage: if you need a carriage return after the startup icon "foo",
then name this "foo.cr" and put it in your system folder.
------------------------begin cr.hqx-----------------------------
(This file must be converted with BinHex 4.0)

:!N05!%P1593rN!-J!*!)!84I4`#3"!%!N!-"%J#3!a)!N!-bCfKTDQTVE'eZEQp
`FA&bFh0dGA9fGRGiH(PjHT!$HhX#3e)!!J#3!dP1593rN!-J!3#3"%!!N!45&!#
3"NP1593rN!-J!3#3"%!!N"+IV"JN!*!'!83J+J!%F[M!J@B+2A`!!IrbB!!%-N*
Zrr*J!!3U,A`!!3!#rr4J!!3H)!KQ"'!!"#"(k!!)$&)!!@F)5K0Q"'!!"!i`%Ja
!!!pY"QiQB!!$8!a!!!&Y!!2NEJ*J6Ja!!!*Q"'!!!CJ-3!!$CJ!$cQ!!!bi-3!!
SE3!$`Ja!!#aZ&0"!!*!$$R!F-F!*,$(m%"N*,Nje!!!"!*!$!4)!N!-5!*!$-J!
44!J%b!#3!a`!-J!!58j*9!#3!`S!!2rr)!#3""&%0-rq!:
------------------------begin cr.c-----------------------------
/* CR.c - this lightspeed C INIT serves only to 
   give you some control over your showinit icons.
   it sets the cursor back to the left margin, one half icon over from before.
   
   by David Phillip Oster November 20, 1988
   this code is in the public domain.
   Note, this resource doesn't need its lock bit set, because it never makes any
   system calls.

	Who says a high level langauge program has to be huge!
 */

/* extern char CurApName[] : 0x910;
 */

/* ShowParams - the howinit data structure
 */
typedef struct ShowParams{
	short h;
	short check;
}ShowParams;

extern ShowParams showp : 0x92C;

#define CHECSUMMASK 0x1021
#define LEFTMARGIN 28
#define ICONSPACE 40	/* icons are drawn 40 pixels apart */

main(){
	showp.h = LEFTMARGIN;		/* carriage return */
					/* the new checksum */
	showp.check  =  (LEFTMARGIN << 1) ^ CHECSUMMASK;	
}

----------------------------------end cr.c---------------
Let me know if you like this.

--- David Phillip Oster            --When you asked me to live in sin with you
Arpa: oster@dewey.soe.berkeley.edu --I didn't know you meant sloth.
Uucp: {uwvax,decvax}!ucbvax!oster%dewey.soe.berkeley.edu