[comp.sys.amiga] DropCloth

eric@ulysses.homer.nj.att.com (Eric Lavitsky[hmm]) (03/20/87)

Well, here it is. I've touched it up a bit since Perry and I
originally put this together, I hope everyone likes it. It's
something I've wanted ever since I got my machine and ever
since I read Andy Hertzfeld's quote about Amiga windows...

Well Andy, now what do you have to say? :-)

Eric
----------
# This is a shell archive.  Remove anything before this line,
# then unpack it by saving it in a file and typing "sh file".
#
# Wrapped by hector!eric on Thu Mar 19 21:45:42 EST 1987
# Contents:  README dropcloth.uu
 
echo x - README
sed 's/^@//' > "README" <<'@//E*O*F README//'
03/18/87	DropCloth 1.0	by Eric Lavitsky/Perry Kivolowitz

DropCloth (tm) is an enhancement for your WorkBench. The original
functional program was written in one all night hacking session 
on February 8, 1987 by Eric Lavitsky and Perry Kivolowitz.
DropCloth replaces the standard blank WorkBench backdrop with a
pattern. DropCloth will only run with the WorkBench up, and will
properly refresh the WorkBench screen when icons are moved.

To use DropCloth from the CLI, type:

	DropCloth nn  ... or
	Run DropCloth nn

where nn is a number between 0 and 64. The number specifies the
intensity of the pattern used for the backdrop, 0 will render 
nothing into the display while 64 will render a solid backdrop.
If you don't specify a number, DropCloth will default to 32.
Experiment and have fun!

DropCloth opens a window in the upper right hand corner of the
WorkBench screen. The window cannot be depth arranged, is only as 
tall as the screen title bar and cannot be resized. To close 
DropCloth, click on the close box in the DropCloth Window. 

When DropCloth is running, you will lose some memory that the 
system uses to create backup areas or "scratchpads" for the 
WorkBench screen when DropCloth is run - all the memory will be 
recovered when you exit DropCloth. The program has never been 
tested with MoreRows, but we believe it will work with it.
DropCloth may also impact WorkBench preformance - note how a delay
is introduced from the time you select an icon to the time the
icon becomes highlited or active when DropCloth is running.
Windows may also be redrawn at a slightly slower rate while the
system reconstructs the newly exposed pattern areas on the 
WorkBench backdrop. It is up to you to choose between the nice
patterned display or the slightly better preformance/memory use.

Please note that DropCloth is not public domain, but may be freely
distributed by anyone so long as this message remains intact with
the distribution. DropCloth remains the property of ASDG and may
not be sold for profit. Feel free to send me bug reports and I'll
try and figure out what's going on.

Eric Lavitsky
ARPA:	Lavitsky@Rutgers
UUCP:	ulysses!eric, topaz!eric, well!eric
BIX:	asdg

DropCloth is a trademark of ASDG Inc.

#include <standard.disclaimer>
This utility is provided "as is". ASDG, Eric Lavitsky and Perry 
Kivolowitz make no warantees, either expressed or implied with 
respect to the utility described above.

@//E*O*F README//
chmod u=rw,g=rw,o=r README
 
echo x - dropcloth.uu
sed 's/^@//' > "dropcloth.uu" <<'@//E*O*F dropcloth.uu//'
begin 664 dropcloth
M   #\P         #          (   0I    :     $   /I   $*4[Z!S1#
M;W!Y<FEG:'0@,3DX-R!">2!!4T1'($EN8V]R<&]R871E9"X* # X+49E8G)U
M87)Y+3$Y.#<  &)Y($5R:6,@3&%V:71S:WD@86YD(%!E<G)Y($MI=F]L;W=I
M='H 3E7_^"M\    (/_X#*T    !  AO%"!M  PO*  $3KD   :Z6$\K0/_X
M2'H#/$ZY   /2EA/2H!F"D*G3KD   QP6$](>@,L3KD   ]*6$]*@&<*0J=.
MN0  #'!83T*G2'H#&DZY   .3E!/(\    ! 9@I"ITZY   ,<%A/('D   ! 
M<  0*  /<@'AH2/!   !D$ZY   %,$J 9@Y.N@,60J=.N0  #'!83R!Y    
MC"%Y    3 !H('D   ",(F@ +C I  Q(P"/    !F"!Y    C")H "XP*0 .
M2,"0O     HCP    90O+?_X3KH"XEA/3KD   ]F+SD   "43KD  !!\6$\O
M.0   )1.N@)T6$\K0/_\(&W__"/H  P   & (&W__ BH  8 'R\M__PO.0  
M )1.N0  $)103R!M__P(J    !\@;?_\".@  0 ?(&W__ CH  8 'R\M__PO
M.0   )1.N0  $&Y03TAZ MA(>/\6+SD   !43KD   _H3^\ #"/    !A$'Y
M   !<")M__PL:0 ,+4@ ""!M__PB:  ,$WP  P =+SD   &4+SD   &80J="
MIR!M__PO*  ,3KD  ! 43^\ %"\Y    E$ZY   0B%A/3KD   _$0J=(> #H
M3KD   \X4$\CP    8QG/$AX .@O.0   8Q.N0  $$Q03TAX  %(> #H+SD 
M  &,3KD  !!<3^\ #$AX .@O.0   8Q.N0  #W)03TZY   &.$J 9A@@.0  
M 8B N0   9 O $ZY   /_%A/8-XO.0   81(>/\6+SD   !43KD   _H3^\ 
M#$ZY   /9B\Y    E$ZY   0?%A/(&W__")H  Q"J0 ((&W__")H  Q"*0 =
M(&W__ BH  8 'R\M__PO.0   )1.N0  $)103R!M__P(J  ! !\@;?_\".@ 
M   ?(&W__ CH  8 'R\M__PO.0   )1.N0  $&Y03R\Y    E$ZY   0B%A/
M3KD   _$0J=(> #H3KD   \X4$\CP    8QG/$AX .@O.0   8Q.N0  $$Q0
M3TAX  %(> #H+SD   &,3KD  !!<3^\ #$AX .@O.0   8Q.N0  #W)03V%B
M3KD   7>0J=.N0  #'!83TY=3G57;W)K8F5N8V@ 1')O<$-L;W1H $1R;W!#
M;&]T: !.5?_\(&T ""M0__Q*K?_\9Q8@;?_\2J@ !&<,(&W__"MH  3__&#D
M("W__$Y=3G5.50  2KD   ! 9PXO.0   $!.N0  #MI83TY=3G5.5?_T0?D 
M  %P*TC_]$*M__@@;?_T0E!"K?_\<@@@+?_\3KD   O>)"W_^.>"T()!^0  
M   6, @ 2(-(PR)M  BSPV\.(&W_]' !(BW__..@@5!2K?_\#*T    0__QM
MNE*M__A4K?_T#*T    (__AMGDY=3G6S^0   8!F)$CG, )P '( )#D   &8
M)CD   &4+'D   !43J[^SDS?0 Q.=2!Y   !A$[01')O<$-L;W1H(*D@,3DX
M-R!">2!!4T1'  !G<F%P:&EC<RYL:6)R87)Y  !L87EE<G,N;&EB<F%R>0  
M:6YT=6ET:6]N+FQI8G)A<GD 0H B>0   )@L>0   3).KOW8(\    !49P  
MD$* (GD   "<3J[]V"/     6&=Z0H B>0   *!.KOW8(\    !09V9!^0  
M %PL0$ZN_S0CP    (QG4B! (F@ 5D* $"D #W(!X:$CP0   8@CZ  R   !
MG")H "XCZ0!8    D" )T+P   #@(\    "4('D   &<$7P  @ ;".@  P A
M(#D   ",3G5"@$YU+'D   $R2KD   !49PHB>0   %1.KOYB2KD   !89PHB
M>0   %A.KOYB2KD   !09R0L>0   %!*N0   (QG"B!Y    C$ZN_[@B3BQY
M   !,DZN_F)"@$YU3E4  $CG"" @>0   (PO* !63KD   ^26$\D0$J 9R@H
M*@ 4+PI.N0  #]A83R $8 QA&" $3-\$$$Y=3G60O    @!G[&# < !@ZDY5
M  !(YP P('D   ",)F@ 5B\+3KD   ^26$\D0$J 9PPO"DZY   /V%A/8.1,
MWPP 3EU.=4Y5  !(YPP@)&T " P2 "!G!@P2  EF!%**8/!Z  P2 "UF!GH!
M4HI@" P2 "MF E**> !@("!*4HH0$$B 2,!R"B\ ( 1.N@;*)!_4@"@"F+P 
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
M!"QL@3A.[O_B+&R!.$[N_\1(YP$$3.\@@  ,+&R!-$ZN_Y1,WR" 3G5.^@ "
M(F\ !"QL@31.[OYB3E4  $CG""!(>/__3KH T%A/* "PO/____]F"G  3-\$
M$$Y=3G5(>0 !  %(>  B3KH N%!/)$!*@&8,+P1.N@#X6$]P &#6)6T "  *
M%6T #P )%7P !  (0BH #A5$  ]"ITZZ *)83R5  !!*K0 (9PHO"DZZ %I8
M3V *2&H %$ZZ -!83R *8)).50  +PHD;0 (2JH "F<(+PI.N@#>6$\5? #_
M  @E?/____\ %'  $"H #R\ 3KH ?%A/2'@ (B\*3KH 7%!/)%].74YU(F\ 
M!"QL@31.[OZ>("\ !"QL@31.[OZV3OH  DSO  , !"QL@31.[O\Z(F\ !"QL
M@31.[OYZ3OH  B)O  0L;($T3N[^VD[Z  (L;($T3N[_?$[Z  (B;P $("\ 
M""QL@31.[O\N("\ !"QL@31.[OZP3OH  B!O  0L;($T3N[^C"!O  0@B%B0
M0J@ !"%(  A.=2QL@30B;P $("\ "$[N_=@L;($T3N[_=B)O  0L;($T3N[^
MF$[Z  (B;P $+&R!-$[N_H8B;P $(&\ "" O  PL;($T3N[^7" O  0L;($T
M3N[^PB!O  0L;($T3N[^@")O  1,[P /  @L;(!63N[^SDSO P  !"QL@*9.
M[O^@(&\ !"QL@*9.[O^F(&\ !"QL@*9.[O^R(&\ !" O  @L;(!23N[_?"!O
M  1,[P #  @L;(!23N[^O$SO P  !"QL@%I.[O_*(&\ !"QL@%I.[O^((&\ 
M!"QL@%I.[O]V3.\#   $+&R 6D[N_]       ^P    J         ((   "2
M    H    *P   "Z    R    -H   #X   !"    5H   %F   !G@   <X 
M  'D   "+    CP   )$   "4    FH   *    "E    IP   *T   "S@  
M M@   +D   #&    T@   -6   #7@   VH   .$   #F@   ZX   .X   #
MP   !"P   1:   &3   !F    ::   &J@   $D    !    T    .(   #R
M   !$    18   $>   !+@   30   %*   !8    6X   &$   !F    <@ 
M  '>   ![@   ?0   (4   "&@   C8   )8   "9    GH   *.   "I@  
M JP   *^   "R    MX   ,2   #0@   U    -R   #?@   Y0   .H   $
M'@  !"8   0\   $:   !+    3    $Q@  !,P   3<   %-   !3H   5$
M   %4   !5H   5D   %;@  !78   6"   %F@  !:(   6N   %O   !<( 
M  74   %X   !>8   7N   %^   !@    8*   &$@  !A@   8@   &+   
M!D(   :.   'J@        /R   #Z@   %P ( @H B(**C 0.!@R$CH:#"P$
M) XN!B8\'#04/AXV%@,C"RL!(0DI,Q,[&S$1.1D/+P<G#2T%)3\?-Q<]'345
M          0    J    /                 %H    X  *__\   (   ( 
M"@             $X@                       0                  
M!/P   4.   %'@      (" @(" @(" @,# P,# @(" @(" @(" @(" @(" @
M(""00$! 0$! 0$! 0$! 0$! # P,# P,# P,#$! 0$! 0$ )"0D)"0D! 0$!
M 0$! 0$! 0$! 0$! 0$! 4! 0$! 0 H*"@H*"@(" @(" @(" @(" @(" @("
M @("0$! 0"                                                  
M                                            %    ^P    '    
M     $0   !(    3    '8   "8    G    *         #\@   ^L    !
$   #\D0 
 
end
@//E*O*F dropcloth.uu//
chmod u=rw,g=rw,o=r dropcloth.uu
 
exit 0
-- 
ARPA:	Lavitsky@RED.RUTGERS.EDU
UUCP:	...ulysses!eric
	...caip!topaz!eric
	...hplabs!well!lavitsky

davidlo@madvax.UUCP (03/21/87)

   The dropcloth looks neat.  Thank you

   However, when I close a window, the dropcloth did not refresh.

   Is that a bug or a feature?

   By the way, I was running on 1.1.  Was it the problem?

    
-- 
David Lo   (415)939-2400                                          /\  o
Varian Instruments, 2700 Mitchell Drive, Walnut Creek, CA 94598     \/
{ptsfa,lll-crg,zehntel,dual,amd,fortune,ista,rtech,csi,normac}varian!davidlo

eric@ulysses.UUCP (03/23/87)

Guess I should have put that in the release notes, DropCloth will
only work properly under 1.2 - the next version will most certainly
check for 1.2's presence...

Eric

-- 
ARPA:	Lavitsky@RED.RUTGERS.EDU
UUCP:	...ulysses!eric
	...caip!topaz!eric
	...hplabs!well!lavitsky

keithd@cadovax.UUCP (03/24/87)

In article <2346@ulysses.homer.nj.att.com> eric@ulysses.UUCP (Eric Lavitsky[hmm]) writes:
>Guess I should have put that in the release notes, DropCloth will
>only work properly under 1.2 - the next version will most certainly
>check for 1.2's presence...
>Eric

Has anyone figured out how to get the dropcloth to run without having to
have a CLI window around?  If I do a 'run dropcloth' from startup-sequence,
I can't 'endcli' apparently because the background task still has the
console window 'locked'?   I have the same problem from a CLI invoked
from the workbench, and I haven't been able to get dropcloth to run
from an icon.

I'd like to put it in the startup sequence, but as I said, can't get the
main CLI window to go away.  Kind of diminishes the usefullness of the
dropcloth program I'd say.

Keith Doyle
#  {ucbvax,ihnp4,decvax}!trwrb!cadovax!keithd
#  cadovax!keithd@ucla-locus.arpa

eric@topaz.UUCP (03/25/87)

Well, you could use the background run program that Rob Peck wrote -
I believe it was recently reposted to the net. If you don't have it,
I could mail you a uuencoded binary (or the source, whichever you
prefer). Then you can run DropCloth (and other things) from the
startup-sequence and close the original CLI window...

Eric
-- 
ARPA:	LAVITSKY@RUTGERS or LAVITSKY@RED.RUTGERS.EDU
UUCP:	...topaz!eric
	...hplabs!well!lavitsky
	...ulysses!eric

kjb@nancy.UUCP (03/26/87)

[-------------------------------------------------------]

Assuming you're going to open a new cli window in your startup
sequence, you can put "run dropcloth" and/or "run foo" in s file, and
use the "from" option when you open the new cli window.  Of course,
then you won't be able to close *that* window, but you'll have no
trouble closing the main window.  This works for what I want to do,
but the run-in-background program Eric mentioned sounds good too.  
Could someone email it to me?  Thanks,		Ken


			UUCP	   {ihnp4|allegra|decvax}!brunix!kjb
			ARPA	   kjb%cs.brown.edu@relay.cs.net
			CSNET	   kjb@cs.brown.edu
			U.S. MAIL  Ken Basye
				   Box 1910
				   Dept. of Computer Science
				   Brown University
				   Providence, RI  02912

rap@dana.UUCP (03/27/87)

In article <1449@cadovax.UUCP>, keithd@cadovax.UUCP (Keith Doyle) writes:
> 
> Has anyone figured out how to get the dropcloth to run without having to
> have a CLI window around?  If I do a 'run dropcloth' from startup-sequence,
> I can't 'endcli' apparently because the background task still has the
> console window 'locked'?   I have the same problem from a CLI invoked
> from the workbench, and I haven't been able to get dropcloth to run
> from an icon.
> 
> I'd like to put it in the startup sequence, but as I said, can't get the
> main CLI window to go away.  Kind of diminishes the usefullness of the
> dropcloth program I'd say.
> 
(I haven't tried dropcloth yet, but here's what worked under 1.1 for
 programs such as CLOCK and CALCULATOR from the Wbench distribution disk).

The reason the old cli won't go away from startup-sequence is that you
have spawned a process that needs to point back to that console's
control structures (the Process structure and the CLI structure, as
I recall).  There is a way around it, but only if your program
DOES NOT DO ANYTHING WITH STDIN OR STDOUT.   The correct way to 
specify (at least under 1.1... I'm writing this from memory and
don't have the Amiga here) in the startup sequence is:

	RUN > NIL: < NIL: YOURPROGRAM > NIL: < NIL:
or
	RUN TO NIL: FROM NIL: YOURPROGRAM TO NIL: FROM NIL:

This disconnects a lot of stuff from the originating CLI and lets the
startup CLI window close down, with just your program running on the
workbench.  From a program that DOES require CLI input, another
program can be spawned using the Execute function of AmigaDOS, such
that when the originating program closes down, the window can go
away, even though the program has started.  Use the exact same string
as shown above, but this time in the Execute function.  I forget, but
it may also be necessary to pass in a handle to NIL: (my notes are
at home... this stuff almost made it into the Prog. Guide, but not
quite).

	struct FileHandle *fh;
	fh = Open("NIL:",MODE_NEWFILE);	/* (check the mode, memory again) */
	success = Execute(" that-very-same-string ", fh, fh);
	Close(fh);
	/* now go away */

If I recall correctly, using Execute("string",0,0) leaves you with the
same problem as initially reported (cannot close down the originating
CLI) because the 0,0 causes stdin and stdout to be passed to the
spawned process, whether it needs it or not.

Anyway, hope this helps.

Rob Peck		hplabs!dana!rap

phillip@cbmvax.UUCP (03/27/87)

in article <13835@brunix.UUCP>, kjb@nancy (Ken Basye) says:
> 
> [-------------------------------------------------------]
> 
> Assuming you're going to open a new cli window in your startup
> sequence, you can put "run dropcloth" and/or "run foo" in s file, and
> use the "from" option when you open the new cli window.  Of course,
> then you won't be able to close *that* window, but you'll have no
> trouble closing the main window.  This works for what I want to do,
> but the run-in-background program Eric mentioned sounds good too.  
> Could someone email it to me?  Thanks,		Ken

Better yet, have Eric implement something like Leo's _main and forget
about a special program needed to make it run independent.
==============================================================================
  Phillip Lindsay - Commodore Business Machines - Amiga Technical Support
  UUCP: {ihnp4|seismo|caip}!cbmvax!phillip      - Phone: (215) 431-9180
  No warranty is implied or otherwise given in the form of suggestion or 
  example. Any opinions found here are of my making. 	/* eof */
 

blgardne@esunix.UUCP (03/27/87)

in article <10398@topaz.RUTGERS.EDU>, eric@topaz.UUCP says:
> Well, you could use the background run program that Rob Peck wrote -
> I believe it was recently reposted to the net. If you don't have it,
> I could mail you a uuencoded binary (or the source, whichever you
> prefer). Then you can run DropCloth (and other things) from the
> startup-sequence and close the original CLI window...

Is there a RunBackground program that will follow the normal cli
search path? It's kind of annoying to have to spell out RunBackground
df0:c/foobar, it would be nice to just say RunBackground foobar.
-- 
Blaine Gardner @ Evans & Sutherland
UUCP Address:   {ihnp4,decvax}!decwrl!esunix!blgardne
Alternate:      {ihnp4,seismo}!utah-cs!utah-gr!uplherc!esunix!blgardne

rap@dana.UUCP (03/30/87)

In article <1449@cadovax.UUCP>, keithd@cadovax.UUCP (Keith Doyle) writes:
> 
> Has anyone figured out how to get the dropcloth to run without having to
> have a CLI window around?  If I do a 'run dropcloth' from startup-sequence,
> I can't 'endcli' apparently because the background task still has the
> console window 'locked'?   I have the same problem from a CLI invoked
> from the workbench, and I haven't been able to get dropcloth to run
> from an icon.
> 
> I'd like to put it in the startup sequence, but as I said, can't get the
> main CLI window to go away.  Kind of diminishes the usefullness of the
> dropcloth program I'd say.
> 
(I haven't tried dropcloth yet, but here's what worked under 1.1 for
 programs such as CLOCK and CALCULATOR from the Wbench distribution disk).

The reason the old cli won't go away from startup-sequence is that you
have spawned a process that needs to point back to that console's
control structures (the Process structure and the CLI structure, as
I recall).  There is a way around it, but only if your program
DOES NOT DO ANYTHING WITH STDIN OR STDOUT.   The correct way to 
specify (at least under 1.1... I'm writing this from memory and
don't have the Amiga here) in the startup sequence is:

        RUN > NIL: < NIL: YOURPROGRAM > NIL: < NIL:
or
        RUN TO NIL: FROM NIL: YOURPROGRAM TO NIL: FROM NIL:

This disconnects a lot of stuff from the originating CLI and lets the
startup CLI window close down, with just your program running on the
workbench.  From a program that DOES require CLI input, another
program can be spawned using the Execute function of AmigaDOS, such
that when the originating program closes down, the window can go
away, even though the program has started.  Use the exact same string
as shown above, but this time in the Execute function.  I forget, but
it may also be necessary to pass in a handle to NIL: (my notes are
at home... this stuff almost made it into the Prog. Guide, but not
quite).
 
        struct FileHandle *fh;
        fh = Open("NIL:",MODE_NEWFILE); /* (check the mode, memory again) */
        success = Execute(" the-above-mentioned-string ", fh, fh);
        Close(fh);
        /* now go away */

If I recall correctly, using Execute("string",0,0) leaves you with the
same problem as initially reported (cannot close down the originating
CLI) because the 0,0 causes stdin and stdout to be passed to the
spawned process, whether it needs it or not.

Anyway, hope this helps.

Rob Peck                hplabs!dana!rap

fnf@mcdsun.UUCP (04/02/87)

NOTE:  Rob is having problems posting from his system and has
asked me to post this for him, please respond to hplabs!dana!rap.
------------------------------------------------------------
In article <1449@cadovax.UUCP>, keithd@cadovax.UUCP (Keith Doyle) writes:
> 
> Has anyone figured out how to get the dropcloth to run without having to
> have a CLI window around?  If I do a 'run dropcloth' from startup-sequence,
> I can't 'endcli' apparently because the background task still has the
> console window 'locked'?   I have the same problem from a CLI invoked
> from the workbench, and I haven't been able to get dropcloth to run
> from an icon.
> 
> I'd like to put it in the startup sequence, but as I said, can't get the
> main CLI window to go away.  Kind of diminishes the usefullness of the
> dropcloth program I'd say.
> 
(I haven't tried dropcloth yet, but here's what worked under 1.1 for
 programs such as CLOCK and CALCULATOR from the Wbench distribution disk).

The reason the old cli won't go away from startup-sequence is that you
have spawned a process that needs to point back to that console's
control structures (the Process structure and the CLI structure, as
I recall).  There is a way around it, but only if your program
DOES NOT DO ANYTHING WITH STDIN OR STDOUT.   The correct way to 
specify (at least under 1.1... I'm writing this from memory and
don't have the Amiga here) in the startup sequence is:

        RUN > NIL: < NIL: YOURPROGRAM > NIL: < NIL:
or
        RUN TO NIL: FROM NIL: YOURPROGRAM TO NIL: FROM NIL:

This disconnects a lot of stuff from the originating CLI and lets the
startup CLI window close down, with just your program running on the
workbench.  From a program that DOES require CLI input, another
program can be spawned using the Execute function of AmigaDOS, such
that when the originating program closes down, the window can go
away, even though the program has started.  Use the exact same string
as shown above, but this time in the Execute function.  I forget, but
it may also be necessary to pass in a handle to NIL: (my notes are
at home... this stuff almost made it into the Prog. Guide, but not
quite).
 
        struct FileHandle *fh;
        fh = Open("NIL:",MODE_NEWFILE); /* (check the mode, memory again) */
        success = Execute(" the-above-mentioned-string ", fh, fh);
        Close(fh);
        /* now go away */

If I recall correctly, using Execute("string",0,0) leaves you with the
same problem as initially reported (cannot close down the originating
CLI) because the 0,0 causes stdin and stdout to be passed to the
spawned process, whether it needs it or not.

Anyway, hope this helps.

Rob Peck                hplabs!dana!rap
-- 
= Drug tests; just say *NO*!  (Moto just announced new drug testing program)  =
= Fred Fish  Motorola Computer Division, 3013 S 52nd St, Tempe, Az 85282  USA =
= seismo!noao!mcdsun!fnf    (602) 438-5976                                    =

peter@sugar.UUCP (Peter da Silva) (07/17/87)

Is the source to DropCloth available? It's cute, but a little annoying. It
would be much more pleasant to the eye if you could put an image in there...
or just 2x1 halftoning instead of 1x1. I seem to recall seeing it on the
net.
-- 
-- Peter da Silva `-_-' ...!seismo!soma!uhnix1!sugar!peter (I said, NO PHOTOS!)