Subject: v17i041: MGR, Bellcore window manager, Part40/61 Newsgroups: comp.sources.unix Approved: rsalz@uunet.UU.NET Submitted-by: Stephen A. Uhler Posting-number: Volume 17, Issue 41 Archive-name: mgr/part40 #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh 'doc/usrman/doc.2' <<'END_OF_FILE' X'\" Copyright (c) 1988 Bellcore X'\" All Rights Reserved X'\" Permission is granted to copy or use this program, EXCEPT that it X'\" may not be sold for profit, the copyright notice must be reproduced X'\" on copies, and credit should be given to Bellcore where it is due. X'\" BELLCORE MAKES NO WARRANTY AND ACCEPTS NO LIABILITY FOR THIS PROGRAM. X'\" X'\" $Header: doc.2,v 4.1 88/06/29 17:04:51 bianchi Exp $ X'\" $Source: /tmp/mgrsrc/doc/usrman/RCS/doc.2,v $ X.Sh page Macros XAll of the C library interface macros expand into X.I printf Xexpressions that convert their command specification Xinto the \*M stream protocol. XCompile time and run time options are available that globally alter Xthe behavior of these macros to the specific needs of the client program. XThe options are detailed in the X.I "Using the Library" Xsection of this document. XThe returned value of the macro expressions are not meaningful. XThe macros described here attempt to reflect the actual state of the system, Xand may include some inconsistencies that should be cleaned up in Xfuture releases of the software. XEvery \*M command X(a command identifier - argument count combination) that is accepted by \*M has Xa macro describing its function. X.LP X.Fh m_addchar X.Fs m_addchar 3 "Insert a space character" XInserts a space character at the current character cursor position. XThe remaining characters on the line, if any, are shifted to the right. X.Fe X.Fh m_addchars n X.Fs m_addchars 3 "Insert some space characters" XInserts X.Fi n Xspace characters at the current character cursor position. XThe remaining characters on the line, if any, are shifted to the right. X.Fe X.Fh m_addline X.Fs m_addline 3 "Insert a blank line" XInserts a Xblank line at current row. The current row, and any below it, Xare shifted down one line. XThe bottom line of text is scrolled off the window. X.Fe X.Fh m_addlines n X.Fs m_addlines 3 "Insert some blank lines" XInserts X.Fi n Xblank lines at current row. The current row, and any below it Xare shifted down. XThe bottom X.Fi n Xlines of text are scrolled off the window. XIt is much more efficient to call X.Fr m_addlines n X once, than it is to call X.Fr m_addline X.Fi n Xtimes. X.Fe X.Fh m_aligntext X.Fs m_aligntext 13 "Align character cursor with the graphics point" XMoves the current character cursor coincident Xwith the current graphics point. XThe current graphics point is set with X.Fr m_go x y X\&. XThis permits client programs to position characters at arbitrary pixel Xlocations on the window. X.Fe X.Fh m_arc x y x1 y1 x2 y2 X.Fs m_arc 4 "Draw an arc" XAn arc centered at X.Fr "" x y Xis drawn counter clockwise from X.Fr "" x1 y1 Xto X.Fr "" x2 y2 Xusing the current drawing function (see X.Fr m_func X). X.Fe X.Fh m_bell X.Fs m_bell 1 "Flash the window and ring the bell" XThe window flashes and the bell, if there is one, rings. XEven if the window is totally obscured, its flashing is made visible Xto the user. X.Fe X.Fh m_bcolor color X.Fs m_bcolor 14 "Set the text background color" XThe background color for text operations is set to X.Fi color , Xwhich is an index into the color lookup table. XThis command is ignored on a monochrome display. XSee also X.Fr m_fcolor Xand X.Fr m_linecolor X\&. X.Fe X.Fh m_bitcopy x_dst y_dst wide high x_src y_src X.Fs m_bitcopy 5 "Bit-blt a rectangle within the window" XCopy a rectangle from one place on the window to another Xwith the copy function set by X.Fr m_func n X\&. XThe rectangular area at X.Fi x_src , y_src Xof size X.Fi wide Xby X.Fi high Xis combined with Xthe rectangle at X.Fi x_dst , y_dst Xaccording to the last function set by X.Fr m_func X\&. XThe resultant rectangle is placed at X.Fi x_dst , y_dst . X.Fe X.Fh m_bitcopyto x_dst y_dst wide high x_src y_src to from X.Fs m_bitcopyto 5 "Bit-blt a rectangle between two bitmaps" XCombine the rectangle at position X.Fi x_src , y_src Xof size X.Fi wide Xby X.Fi high Xof bitmap X.Fi from Xwith the rectangle of the same size at X.Fi x_dst , y_dst Xof bitmap X.Fi to . XThe bit-blt function used to combine the two rectangles is set by X.Fr m_func X\&. X.Fi From Xand X.Fi to Xare scratch-pad bitmap descriptors. XScratchpad bitmap 0 (zero) represents the current window contents and may Xbe used for the Xsource , destination Xor both. XIf the scratchpad bitmap X.Fi to Xdoes not already exist, it is created with a size of X.Fi wide + x_src Xby X.Fi high + y_src . X.Fe X.Fh m_bitcreate n wide high X.Fs m_bitcreate 5 "Create a scratchpad bitmap" XCreate the scratchpad bitmap X.Fi n Xof size X.Fi wide Xby X.Fi high . XThe contents of the bitmap are undefined. XThe macro X.Fr m_bitwriteto X can be used to initialize the scratchpad bitmap. XIf the bitmap already exists, the old one is first discarded. XScratchpad bitmaps may also be created implicitly Xby specifying a non-existent bitmap as the destination of X.Fr m_bitwriteto X, X.Fr m_bitcopyto X, X.Fr m_bitld X, or X.Fr m_stringto X\&. X.Fe X.Fh m_bitdestroy n X.Fs m_bitdestroy 5 "Destroy a scratchpad bitmap" XDestroys scratchpad bitmap X.Fi n Xand frees all the resources Xassociated with it. XIf X.Fi n Xdoes not exist, this macro is ignored. X.Fe X.Fh m_bitfromfile to name X.Fs m_bitfromfile 5 "Read a bitmap file into a scratchpad bitmap" XCopy the file X.Fi name Xon the X.I \*M-host Xmachine into the scratchpad bitmap X.Fi to . XThe scratchpad bitmap X.Fi to Xis created if it does not already exist. X.B \*M Xreturns a single line containing the X.I width Xand X.I height Xof the bitmap, Xor a X.I blank Xif the file could not be found or loaded. XIf X.Fi name Xdoes not start with X.B / Xor X.B ./ , XThe file X.Fi name Xis prefixed Xwith \*M's home directory and X.I /icon/ . X.Fi Name s Xstarting with X.B ./ Xare evaluated relative to the directory current when X.B \*M Xwas invoked. XThe format of the bitmap file is described in X.I dump.h . X.Fe X.Fh m_bitget from size offset X.Fs m_bitget 5 "Upload a bitmap to the client program" XUpload part of a X.I scratchpad Xbitmap. X.Fi Size Xbytes of X.I scratchpad Xbitmap X.Fi from , Xstarting X.Fi offset Xbytes from the beginning of the bitmap Xare sent to the client program from X.B \*M. XAfter this call, the client Xis expected to read X.Fi size Xbytes from the input stream. XThe image data is sent in raster scan order, 8 pixels Xto a byte, padded at the right of every line to 16 bits. X.Fi Size Xshould be kept small (about 80 bytes), to avoid potential Xflow control problems, with bitmaps uploaded in Xmultiple passes. (See also X.Fr m_bitsave X). XThe data sent by \*M Xfor this macro Xrequires an eight bit data channel, so its use is discouraged. XThe macro X.Fr m_bitfromfile X should be used instead when possible. X.Fe X.Fh m_bitld wide high x y size X.Fs m_bitld 5 "Download an image to the window" XPrepare \*M to download a bitmap to the window. XThis macro instructs \*M Xthat the next X.Fi size Xbytes received will be interpreted as Xa bitmap image to be displayed on the window starting Xat location X.Fr "" x y X, and of size X.Fi wide Xby X.Fi high . XDownloading bitmaps requires an eight bit channel between \*M Xand the client program. XLarge bitmaps are best sent in several pieces. XThe macro X.Fr m_bitfromfile Xshould be used instead, where possible, as it only requires a seven bit Xdata channel Xand avoids the movement of large amounts of data through the channel. XIf more bytes are specified than required by the size of the bitmap, Xthey are discarded. XIf the number specified by X.Fi size Xis insufficient to fill the entire bitmap, the remainder of the bits Xare set to undetermined values. X.Fe X.Fh m_bitldto wide high x_dst y_dst to size X.Fs m_bitldto 5 "Down load an image to a scratchpad bitmap" XPrepare to download a bitmap to the scratchpad bitmap X.Fi to . XIf X.Fi to Xdoes not already exist, (see X.Fr m_bitcreate X), Xit is Xcreated automatically with size X.Fi wide Xby X.Fi high . XThis function instructs \*M that the next X.Fi size Xbytes received will be interpreted as Xa bitmap image to be copied to scratchpad bitmap X.Fi to Xat location X.Fi x_dst , y_dst . XThis function requires an eight bit channel between \*M Xand the client program. XIf more bytes are specified than required by the size of the bitmap, Xthey are discarded. XIf the number specified by X.Fi size Xis insufficient to fill the entire bitmap, the remainder of the bits Xare set to undetermined values. X.Fe X.Fh m_bitsave from name X.Fs m_bitsave 5 "Copy a scratchpad bitmap to a file" XSave a scratchpad bitmap X.Fi from Xon the file X.Fi name Xon the X.I \*M-host Xfile system. XIf X.Fi name Xdoes not start with X.B / Xor X.B ./ , X.Fi name Xis prefixed Xwith \*M's home directory and X.I /icon/ . X.Fi Name s Xstarting with X.B ./ Xare evaluated relative to the directory current when X.B \*M Xwas invoked. XSpecifying X.Fi from Xto be X.Fi 0 X(zero) Xsaves the entire display contents to the file. XThe functions X.Fr m_windowsave X and X.Fr m_othersave X are used to save contents of entire windows. X.Fe X.Fh m_bitwrite x_dst y_dst wide high X.Fs m_bitwrite 5 "Set, Clear or Invert a rectangular portion of the window" XThe rectangular region of the window, Xstarting at X.Fi x_dst , y_dst Xof extent X.Fi wide Xby X.Fi high , Xis Xset, cleared or inverted Xas determined by the previous call to X.Fr m_func X\&. X.fE X.Fh m_bitwriteto x_dst y_dst wide high to X.Fs m_bitwriteto 5 "Set, Clear or Invert a rectangular portion of a scratchpad bitmap" XThe rectangular region of X.I scratchpad Xbitmap X.Fi to , Xstarting at X.Fi x_dst , y_dst Xof extent X.Fi wide Xby X.Fi high , Xis Xset, cleared or inverted Xas determined by the previous call to X.Fr m_func X\&. XIf the destination X.Fi to Xdoes not exist, it is created with the dimensions X.Fi wide Xby X.Fi high . X.Fe X.Fh m_broadcast string X.Fs m_broadcast 12 "Broadcast a message to all listeners" XThe message X.Fi string Xis broadcast to all windows that are X.I listen ing. X.I Listen ing Xis turned on by setting the X.SM X.Fi ACCEPT X.LG Xevent for a window. X(See X.Fr m_setevent X). XMessages can only be sent to windows whose controlling Xterminals have general write permission disabled (i.e. mode 0400) Xas a security measure to prevent malicious foreign processes from sending X.I shell s Xmessages that get interpreted and executed as commands. X.Fe X.Fh m_circle x_dst y_dst radius X.Fs m_circle 4 "Draw a circle" XA circle of radius X.Fi radius Xis drawn, centered at X.Fi x_dst , y_dst . XThe points at the edge of the circle are Xset, cleared or inverted Xdepending upon the last call to X.Fr m_func X\&. XCircles are never scaled, Xthey always appear as circles on the display, regardless of the window shape. XThe X.Fi radius Xis scaled based upon the average X.Fi width Xand X.Fi height Xof the window. XUse X.Fr m_ellipse Xto obtain a scaled circle. X.Fe X.Fh m_clear X.Fs m_clear 3 "Clear the window" XThe current X.I "text region" Xis cleared, and the character cursor is moved to position X.Fr "" 0 0 X\&. XIf no X.I "text region" Xis set, X.Fr m_clear X clears the entire window. X.Fe X.Fh m_cleareol X.Fs m_cleareol 3 "Clear to the end of the line" XAll of the characters on the current line, starting with the Xcurrent character to the end of the X.I "text region" , Xare cleared. XIf no X.I "text region" Xis set, X.Fr m_cleareol X clears to the edge of the window. X.Fe X.Fh m_cleareos X.Fs m_cleareos 3 "Clear to the end of the window" XAll of the characters in the current X.I "text region" , Xfrom the Xcurrent character to the end Xof the X.I "text region" , Xare cleared. XIf no X.I "text region" Xis set, X.Fr m_clear X clears to the end of the window. X.Fe X.Fh m_clearevent n X.Fs m_clearevent 9 "Clear an event" XEvent X.Fi n Xis cleared. XThe integer X.Fi n Xis one of: X.Fi ACCEPT , X.Fi ACTIVATE , X.Fi BUTTON_1 , X.Fi BUTTON_1U , X.Fi BUTTON_2 , X.Fi BUTTON_2U , X.Fi COVERED , X.Fi DEACTIVATE , X.Fi DESTROY , X.Fi MOVE , X.Fi NOTIFY , X.Fi PASTE , X.Fi REDRAW , X.Fi RESHAPE , X.Fi SNARFED, X.Fi STACK , Xor X.Fi UNCOVERED . XSee X.Fr m_setevent X for a description of the events. X.Fe X.Fh m_clearmenu n X.Fs m_clearmenu 8 "Clear a menu" XIf menu X.Fi n Xexists, Xit is cleared. X.Fe X.Fh m_clearmode mode X.Fs m_clearmode 6 "Reset a window mode" XClear one of the following window modes. XExcept where noted, these are the default settings. XThe mode settings are more fully explained in X.Fr m_setmode X\&. X.RS X.IP \fBM_ABS\fP 0.5i X.br X.I Absolute Xwindow coordinate mode is turned off. XThe window is now in X.I relative Xwindow coordinates. XAll window coordinates range from X.Fr "" 0 0 X in the upper left corner to X.Fr "" 999 999 X at the lower right. X.IP \fBM_ACTIVATE\fP 0.5i X.br XBury the window. Unlike the other window modes, X.I bury Xhas no state associated with it, just a one time action. XA window is buried by visually pushing it to the Xbottom of the display; Xany window intersecting it will appear in front of it. X.IP \fBM_AUTOEXPOSE\fP 0.5i X.br XDo not automatically activate the window the next time it Xreceives output. X.IP \fBM_BACKGROUND\fP 0.5i X.br X\*M does not permit the window to update if it is partially or totally obscured. XData destined for the window is held until the window is uncovered, Xor X.SM X.B M_BACKGROUND X.LG Xis turned on. X.IP \fBM_NOINPUT\fP 0.5i X.br XAccept keyboard input if the window is active. X.IP \fBM_NOWRAP\fP 0.5i X.br XWrap the character cursor to the next line when it reaches the right margin Xof the X.I "text region" . X.IP \fBM_OVERSTRIKE\fP 0.5i X.br XDo not overstrike characters. XText is copied to the window as if X.Fr m_func B_SRC X is set. X.IP \fBM_SNARFHARD\fP 0.5i X.br XThe system X.I cut Xfunction fails if any errors are found. XThis is indicated by flashing the window. XThe contents of the X.I cut Xbuffer are left undisturbed. XNormally this only happens if some process unknown to \*M scribbles into Xthe region being cut. X.IP \fBM_SNARFLINES\fP 0.5i X.br XSets Xthe system X.I cut Xfunction to cut individual characters, Xinstead of entire lines only. X.IP \fBM_SNARFTABS\fP 0.5i X.br XThe system X.I cut Xfunction cuts text exactly as it appears on the window. XAll interior white space is converted to X.I space s, Xall trailing white space is treated as a X.I "new line" . X.IP \fBM_STACK\fP 0.5i X.br XEvent stacking is turned off. XEvent strings are only returned for the current window context and Xnot for any contexts stacked with X.Fr m_push X\&. X.IP \fBM_STANDOUT\fP 0.5i X.br XCharacters are drawn in black with a white background. X.IP \fBM_WOB\fP 0.5i X.br XThe window foreground color is set to X.I black , Xand the window background is set color to X.I white . X.IP \fBM_DUPKEY\fP 0.5i X.br XThe keyboard escape character is turned off. XThis mode is turned on by calling X.Fr m_dupkey X\&. XThere is no corresponding call to X.Fr m_setmode X\&. X.RE X.Fe X.Fh m_deletechar X.Fs m_deletechar 3 "Delete a character" XThe character at the cursor position is deleted. XAny characters on the line to the right of the cursor are shifted Xleft one character position. XThe last character on the line is set to a X.I space . X.Fe X.Fh m_deletechars n X.Fs m_deletechars 3 "Delete characters" XThe next X.Fi n Xcharacters are deleted, starting at the character cursor position. XAny characters on the line to the right of the cursor are shifted Xleft X.Fi n Xcharacter positions. XThe last X.Fi n Xcharacters on the line are set to X.I space . X.Fe X.Fh m_deleteline X.Fs m_deleteline 3 "Delete a line" XThe line at the cursor position is deleted. XAny lines below the cursor are shifted Xup one line. XThe last line is cleared. X.Fe X.Fh m_deletelines n X.Fs m_deletelines 3 "Delete lines" XThe next X.Fi n Xlines starting at the cursor position and toward the bottom Xof the window are deleted. XAny lines below the deleted ones are shifted Xup X.Fi n Xlines. XThe last X.Fi n Xlines are cleared. XIt is more efficient to make one call to X.Fr m_deletelines X than to call X.Fr m_deleteline X.Fi n Xtimes. X.Fe X.Fh m_destroywin n X.Fs m_destroywin 11 "Destroy an alternate window" XDestroy alternate window X.Fi n , Xcreated by calling X.Fr m_newwin X\&. XIf output is currently directed to this window, Xit is automatically re-directed to the X.I main Xwindow. XSee also X.Fr m_selectwin X\&. X.Fe X.Fh m_down n X.Fs m_down 13 "Move character cursor down by tenths of a character height" XMove the character cursor down X.Fi n Xtenths of a character height. This may cause the window to scroll. XSee also X.Fr m_left X.Fr m_right Xand X.Fr m_up X\&. X.Fe X.Fh m_draw x y X.Fs m_draw 4 "Draw a line from the graphics point" XDraw a line from current X.I "graphics point" Xto X.Fr "" x y X\&. XThe macro X.Fr m_go X is used to move the X.I "graphics point" . XThe X.I "graphics point" Xis left at X.Fr "" x y X, the end point of the line. X.Fe X.Fh m_dupkey char X.Fs m_dupkey 6 "Turn on keyboard escape mechanism" XEvery time the character X.Fi char Xis typed at the keyboard for this window, Xit is sent to the client program twice. XThis enables clients to reliably distinguish Xkeyboard input from that generated by menu selections or events Xby starting every X.I event Xand X.I menu Xstring with a two character code Xwhose first character is X.Fi char Xand whose second character is anything but X.Fi char . X.Fe X.Fh m_ellipse x y radius1 radius2 X.Fs m_ellipse 4 "Draw an ellipse" XDraw an ellipse centered at X.Fr "" x y X\&. XThe values for X.Fi radius1 Xand X.Fi radius2 Xare the major and minor axis radii. XThe ellipse is either Xset, cleared or inverted Xdetermined by the last call to X.Fr m_func X\&. XThe values for X.Fi radius1 Xand X.Fi radius2 Xare scaled based upon the average Xwidth and height of the window. X.Fe X.Fh m_ellipseto to x y radius1 radius2 X.Fs m_ellipseto 4 "Draw an ellipse on a scratchpad bitmap" XDraw an ellipse on scratchpad bitmap X.Fi to Xcentered at X.Fr "" x y X where X.Fi radius1 , radius2 Xare the major and minor axis radii. XThe ellipse is either Xset, cleared or inverted Xdetermined by the last call to X.Fr m_func X\&. XThe values for X.Fi radius1 Xand X.Fi radius2 Xare scaled based upon the average X.Fi width Xand X.Fi height Xof the window. XIf the offscreen bitmap X.Fi to Xdoes not exist, Xthis call is ignored. X.Fe X.Fh m_fastdraw x y count data X.Fs m_fastdraw 4 "Draw a group of fast vectors" XThe next X.Fi count Xbytes of X.Fi data Xare sent to \*M are to be interpreted as lines drawn in X.I "fast draw" Xmode, Xstarting at X.Fr "" x y X\&. X.I "Fast draw" Xmode permits the rapid drawing of short vectors Xby encoding an X.I x,y Xdisplacement location in a single byte. XThe X.I x Xcoordinate is contained in the most significant X4 bits, the X.I y Xcoordinate in the least significant 4 bits. XValues for X.I x Xand X.I y Xrepresent displacements from the previous location, and Xrange from +7 to -8. XA 7 is coded as X.B 0xff , Xa -8 as X.B 0x00 . XIf both X.I x Xand X.I y Xare zero (i.e. X.B 0x8080 ). XThe next coordinate is taken to be a X.I move Xinstead of a X.I draw. XAn eight bit channel between \*M and the client program is required for X.I "fast draw" Xmode. XSee also X.Fr m_rfastdraw X\&. X.fe X.Fh m_fcolor color X.Fs m_fcolor 14 "Set the text foreground color" XThe foreground color for text operations is set to X.Fi color X, Xwhich is an index into the color lookup table. XThis command is ignored on a monochrome display. XSee also X.Fr m_bcolor Xand X.Fr m_linecolor X\&. X.Fe X.Fh m_flush X.Fs m_flush 1 "Flush any outpout pending for the window" XFlush the \*M output buffer. XThis is equivalent to the stdio function X.B fflush() Xand is needed only when the X.SM X.Fi M_FLUSH X.LG Xflag is X.I not Xspecified in the call to X.Fr m_setup X\&. X.Fe END_OF_FILE # end of 'doc/usrman/doc.2' fi if test -f 'font-32/Ushadow38x40b' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'font-32/Ushadow38x40b'\" else echo shar: Extracting \"'font-32/Ushadow38x40b'\" \(19445 characters\) sed "s/^X//" >'font-32/Ushadow38x40b' <<'END_OF_FILE' Xbegin 644 shadow38x40b.fnt XM&"8H"$H7 ! " XM XM XM XM XM XM XM XM P #P XM '_@ !^/P 'X XM '__P !_@ /__ #__P XM #^#_ ?_^ _P !___P /__ '__X XM !__^ #___@ !___P ?__ #___@ ___X XM ?__\ #_C_@ !_X ?X #_C_@ _X /^ /^ #_@_X !___\ / XM__^ '___ ___X __\ '___ _X_X ?@ _ '_ '_ !_@/\ ?P!_ XM '___ __ #_\ P 0! < XM !^ # ( PF$ XM #" XM # $ !P( & 0 !@ $ !@A@0 , XM@ 8, P $ & 0 # " XM X @ !@ ( P $ , 0 !@ ( 8 " , ! !@) XM@( P" ," !@)@( 8" & P& @!@,8" P ! & @ # 0 XM 8 " 0 ! # 0 8"8" ,( 80 # 0# 0 P(&! ,$ P0 # 0 8 XM0 !@! > , X - ^P XM !P" <+A XM !P@ XM !P ! !P" #@ $ X ! X(X$ ' ( ,& < XM ! #@ $ !P @ XM > ( X " < ! ' & X " . @ ' 0 X"X" < @ XM ' @ X"X" . @ #@$# ( X!. @ < 0 #@ ( !P $ . @ ( XM0 !P $ . N @ '# .$ !P$!P$ >"#@P 'A@<, !P $ . $ XMX 0 ,@ ' ? &0 /F XM \ @ /#X0 XM \( XM \ 0 !P @ !X ! > 0 >">! #P " &# / 0 !X ! XM \ ( / " > XM @ / 0 #P @ > @ '@ ( #P $ > ^ @ / ( #P( > ^ @ XM '@( !X!AP" > ?@( / $ !X " \ ! '@ ( $ $ \ ! '@ XM/@( #P0'! \! \! /@QX( #X(." \ ! '@! > $ XM &( #0/8 #$ #XP XM ? ( 'P^$ ?" XM ? $ XMP ( ^ 0 /_^$ /@O@0 !\ @ #!@ 'P $ ^'X0 ?#_" XM 'P @ /@ ( 'P $ ! XM\ , /@ ( #X " !\ ! /@/@( 'P" !\" /@/@( #X" ^ ( XMX @/@#X" 'P ! ^ @ ? 0 #X " " ! ? 0 #X#X" !^$#PP XM? 0? 0'\$\& !_#'A@ ? 0 #X 0 /@! #& XM !D'S !A ^& XM 'P" !\/A /GP 'X@ XM 'P_A < " /C^$ XM #__A #X+X$ ?#_X !@P !\ ! /A^$ 'P_P@ XM #X ( 'X " !\ ! ? ! 'X " XM !^ @ ? 0 'X#X" !\ @ ? @ 'X#X" !^ @ ?@#> ('X ^ @!\ XM 0 ?@ ( 'P $ !^ @ ! 0 'P $ !^ ^ @ ?A@\( 'P$'P$!_!O! XM ?P1P0 'P $ !^ $ #X 0 !C Q!\8 XM P0 /@P !\ @ XM ?#X0 &+$ !^( XM !_ !\/X0 /# @ #__A __X0 ^"^ XM! 'P_\ P8 ?__@0 #X?A !\/\( XM !^#X" !^ ^ @ ? _@0 'P/X8 !^ __@ ?@/_X 'P/ XMX$ !^ ^ @ ? ( 'P( !^ ^ @ ?@( 'X ? "!^ '@( ? $ 'X#\" XM!\ ! ?@/@( P $ !\ ! ?@/@( 'X(>" !\!!\! ?X+@P '^&\, !__ XM^! ?A_ _^$ XP 80?# 8'__@ !__X XM& ? ( 'Y_, # XMCQ ?$ P0 XM ?#^$ 'SP( __X0 /_^$ /@O@0 !\/^ XM8, '__X, ^'X0 ?#_" XM _ ^ @ ?@/@( 'P/X$ !\#^" ?@/_P 'X#_\ !\#^! ?@/@( ' XMP" !\" ?@/ 8 'X" !^ 'P @?@!X" 'P/^! !^ _ @ ? _@0 'X#X XM" <#__ ? 0 'X#X" !_"'A@ ? 0? 0#^#X( _@N" ?__ 0 'X?@ XM /_A >$ ,$'P8 , ( P P XM 'P" !^?R !X\> XM 'B <$ XM 'P_A !_\" /_^$ /A #X+X$ ?#_ ,& !__\" XM /A^$ 'P_P@ ?P XM/@( 'X#X" !\#^# ? _@P 'X#_X !^ _^ ? _@P 'X#X" !\ @ ? @ XM 'X#@, !^ @ ?@ X ('X . @!\#_@0 ?@/P( 'P/X$ !^ ^ @ / __@ 'P XM $ !^ ^ @ ?PQX0 'P$'P$ _P<& /\/A@ '__@$ !^'P #_X0 XM /A &!_\# & " \ & XM !^!@ ?__@ P @ XM !Y /! ! XM\/X0 ?_ @ #__A #X0 ^#^! 'P_@ &# ?__!@ #X?A !\)\ XM( 'X#X" !^ ^ @ XM? _G@ 'P+\$ !^ _\ ?@/_ 'P/Y\ !^ ^ @ ? ( 'P( !^ P& ?@( XM 'X . "!^ #@( ? _X$ 'X#\" !\#^! ?@/@( 'P/_P !_\!_ ?@/@( XM#\$\$ !\!!\! '\'! !_!P0 !__P" ?AX _^$ XM #X0 # 8# @ ? @ XM ?@0 '^_P < ( ?@ XM 'P0 ?"^$ '_P( XM ^ 80 _\, /@ 0 !\ , #!@ '__@0 _ P ?#_" XM !^ ^ @ ?@/@P 'P/_P !\"_! XM@ ?@/^ 'X#_@ !\#_^ ?@/@( 'P" !\" ?@(# 'X" !^ ! @? XM@ 8" 'P/^! !^ _ @ ? _@0 'X#X" !\#__ ?_ ?@ 'X#X" _A/# ? 0? XM 0!_@@P ?X<, ?_X! 'X< /_A ^$ XM!@ #!P ( 'P ( XM 'X$ !_O\ / " /P XM !\$ 'POA !]\" ,$ 8 XM& #X $ ? !@ !PP !X, /X 8 'X @ XM ?@ ( 'X 8 !\"?X ? OP( 'X $ !^ XM! ? __@ 'X " !\ @ ? @ 'X !@ !^ @ ?@( @('X"" @!\#_@0 XM ?@/P( 'P/X$ !^ ^ @ ? 0 '_P'P !^ ^ @ /X;P@ 'P$/P$ /X ( #^ XM " \ @ !^$ !X0 /_ P 0\ XM" !\ " !^! / XMQ^ 'P @ #X !_!_ XM !\+X0 0 XM?A >$ #_@ < $?@ @ ? !@ XM ?@0 #X? !_CQX XM \ P 0 XM ?"^$ 'P( # P '@ X /@ 0 !\ !@ ? P XM /!@ _P#@ ?X " P@ XM !^ @ ?@ #@ 'P)^ !\"_ @ ?@ 0 'X $ !\#@! ?@ ( 'P" XM !\" ?@ ( 'X" !^ P& @?@. " 'P(^! !^ X @ ? C@0 'X " !\ XM ! ?_ < 'X#X" ?P^& ? 3/ 0 ?P! '\ 0 / ( 'X0 XM 'A _P / !'\ ( 'P P XM #X$ <#@ ?X\< XM . < $ XM 'POA !\" !@8 #X # #__X$ ?_\, 'P & #@0 /P XM, '_ @ <( ?@ ( XM'X , !\"< ? OP( 'X $ !^ ! ? X 0 'X " !\ @ ? @ 'X XM# !^ @ ?@.#@('X#@ @!\"/@0 ?@ ( 'P(X$ !^ @ ? 0 'P$ XM!^ ^ @ '\/A 'P%AP$ '\ 0 !_@, '@$ !^$ !X0 XM /X 'X Q_@?_^ !___@8 XM ^! & P '^/& XM / ! !\+X0 XM ? @ P, __P( __^! '__! !\ P !X, !P @ !__\( / XM" _@ 'X " !^ @ ? @ XM 'P)\" !^ ! ?@ 0 'P. $ !^ @ ? ( ?WP( !^ 8 ?@( ' XMX#@X"!^ \ ( ? CX$ 'X > !\".! ?@ ( 'P $ !\! ?@/@( _!P XM0 !\!P,! _ & /X" #P" ?A >$ # XM\ !_ 8?\'__ ?__X, XM /PP !_CQX XM 'P 0 ?"^$ 'P( 8 XM& /_^" /__@0 !__P0 ? & <" , ( /__" 'P@ ,( XM !^ ^ @ ?@/P( 'P( !\"? @ ?@ XM/P 'X#\ !\#@! ?@/@( 'P" ,%\" ?@(# 'X" !^ \> @?@/ " XM 'P(^! !^ ? ? C@0 'X " !\ ! ? 0 'X#X" /X<, ? 8! 0 / XM@ @ #^ @ !X! 'X0 'A ?X'_ XMP,'_A__@ '__^& # XM\( ? " XM !\ $ 'POA !\" ,# #__@@ # XM__X$ ?_\$ 'P_P@ /!@ '#_" !__@@ !_X '" XM ?@/@( 'X#\" !\"#_ ? GP( 'X#X !^ \ XM? X 0 'X#X" !\ @ '!? @ 'X# 8 !^ @ ?@/'@('X#X @!\"/@0 ?@ XM?@ 'P(X$ !^ @/@ ?__@0 'P$ !^ ^ @ #^'" 'P $ !X(, ?@( XM \ @ !^$ !X0 '_!_\& _\?_P !_ XM__C _" XM !P @ ?_!_ XM !\+X0 ? @ &!@ __X( __^! '__! XM !\/\( #@0 #P_P@ /_P8 ?\ #P@ XM 'X#X" !^ _ @ ? A@0 'P)\" !^ ^ ?@. 'P/X$ !^ ^ XM@ ? ( #P7P( !^ X# ?@( 'X#[X"!^ N ( ? CX$ 'X ?P !\".! ? XM@,!P '__X$ !\! ?@/@( ?@@@ !\ ! <'! 'X" > 0 ?A XM >$ !_X?_# '_G_X ?__Y@ XM /P@ \ ( XM '_P?@ XM ?"^$ 'P( # P ^" /@0 'P0 ?#_" !X XM, !\/\( !_X, '^ !\( XM!^ ^ @ ?@/P( 'P(X$ !\"? @ ?@/ 'X# !\#^! ?@/@( 'P" !\% XM\" ?@/ 8 'X" !^ ^^ @?@+P" 'P(^! !^ _P ? C@8 'X#@( !__^! XM ? 0 'X#X" '\(8 ? 0 /!P8 ^ @ / ( 'X0 ' XMA /_'_Q@ _] ^P XM #\( ? " XM !_\'P XM 'POA !\" !@8 /@@ #X$ !_\$ 'P_P@ <" ?#_" XM ,& !_ ?^ ?@/@( 'X#\ XM" !\#^! ? GP( 'X#_^ !^ @ ? _@0 'X#X" !\ @ ?!_ @ 'X#X" ! XM^ __@ ?@/_@('X"\ @!\#_@0 ?@/P 'P/X#P!^ \!@ ?__@0 'P$ !^ XM @ !_ $ 'P $ #@^" /@( 'P$ !^$ !X0 XM !_Y_\P '_P /X XM ?" '^/'@ XM ?_!X !\+X0 ? XM @ P'_ #X( ^! P_! !\/\( /!@ 'P_P@ &# ?^ XM '_ 'X#X" !^ @ ? 0 'P XM/\" !^ @ ?@( 'P $ !^ ^ @ ? ( 'P ( !^ ^ @ ?@ ( 'X#_X XM"!^ O@( ? $ 'X#P !\ $ ?@/@( 'P $ !\! ?@ ( /P! !\ XM " ! !X/@P #X" !\#__ ?A_ #^$ XM /_0?8 _\ #\ XM '_@ !_CQP XM '_P< ?#^$ /P/P < 0 XM ^" ?@> < 0 ?"?" #@0 !\)\( #!@ P@ !_@ XM !^ ^ @ ?@ ( 'P $ !\ @ ?@ ( XM'X" !\ ! ?@/@( 'P" !\ " ?@/@( 'X " !^ ]^ @?@+X" 'P XM ! !^ X ? ! 'X#X" $ ! ? 0 'X " #^ P ? !P @ <'\$ XM ^ @ ? 0 'X 0 !@! !_\'\ ' XM_ ^ !_P XM ?X\8 ! XM\$ 'P ! & $ / $ ?_@@ / XM@ / $ 'P_P@ !X, ?#_" !@P <( ?P XM ?@/@( 'X " !\ ! ? ( 'X " !^ @ ? XM0 'X#X" !\ @ ? @ 'X#X" !^ @ ?@.?@('X"^ @!\ 0 ?@, ' XMP 0!^ ^ @ # 0 'P$ !^ @ _@( 'P ^ 0 /!_!@ /@( 'P XM$ !^ $ X 0 /_!^ _@ / XM ?X '__ XM\ ?_ ?@ XM !\ 0 #@ ! 'P ! , ( 'P ( 'P ! !\ XM ( <" 'P @ P8 /" '_@ XM 'X#X" !^ @ ? 0 'P " !^ @ ?@( 'P $ !^ ^ @ ? XM( 'X 8 !^ ^ @ ?@ ( 'X#'X"!^ O@( ? $ 'X" !\ ($ ?@/@( XM !P ( !\! ?@ ( 'X" !\ ?P( #@_X( #X" !\ ! ?@! XM > $ !_P? 'P # XM '\ !__^ XM '_@ ,( XM ? $ !X 0 !\ 0 ' " !\ " !\ 0 ? " /!@ ! XM\ ( 8, 'P@ ,( !^ ^ XM @ ?@ ( 'P $ !\ @ ?@ ( 'X" !\ !! ?@/@( 'P" !_ , XM?@/@( 'X " !^ A^ @?@+X" 'P ! !^ @ ? #! 'X#X" \ & ? XM0 'X " !_!@ ? /^$ !X+^# ^ @ ? 0 'X 0 /@! XM /X'@ X XM !_X #]_ XM !_P '" 'X 'P XM ! ^ $ ? $ #P @ ? @ ? $ 'P @ #P0 ? " ,& XM !_X '" ?@/@( 'X " !\ XM ! ? ( 'X " !^ @ ? !P0 'X#X" !\ @ ?X & 'X#X" !^ XM@ ?@(?@('X"^ @!\ 0 ?@( 'P !X0!^ ^ @ ? # 'P$ !^ @ XM?P0 'P&_R <"_@0 /@( 'P $ !^ $ #X 0 XM !\!P $ XM #" ^?@ XM ?X #P@ #" !___P /___ XM'___ !___X '__X '___ !___X !_\ '___@ '_ ?\ #P@ XM '___^ !____@ ?___P '___^ XM!____@ ?_X '___\ !____@ ?_X '___ !____@ ?___X '_^'_^!__ XMO_X ?___\ '_^ !____\ ?___X '___P !__ ?___X #_\ !__'_ XM /_G_\ #_^ !____ ?__ __\ XM. 8 XM !P@ /'P XM '\ !\( !P@ ?__X #___@ !___@ ?__\ XM !__\ !___@ ?__\ ?^ !___P #_@ '^ !\( XM !____ ?___P '___X !____ ?___P '_\ XM !___^ ?___P '_\ !___@ ?_O_P '___\ !__!__ ?_S_\ '___^ ! XM__ ?___^ '___\ !___X ?_@ '___\ _^ ?_@_@ #_Q_^ __ XM ?___@ '__@ /_^ ! $ XM \( XM XM ?B \( '__\ ___P ?__P '__^ ?_^ ?_ XM_P '__^ '_ ?__X !_P !_ ?B XM ?_O_@ '___X !___\ ?___@ '___X !_^ ?___ '_ XM[_X !_^ /__P '_S_X !___^ ?_@?_@'_X_^ !____ ?_@ '__[_ XM !_^_^ ?__^ '_P !___^ /_ '_P'P !_X/_ /_@ '___P !_ XM_P #__ XM ?" XM 'X@ XM ?" !__^ /__X '__X !___ '__ '__X !___ XM!_@ '__\ _X ?@ 'X@ XM '_S_P !___\ ?__^ '___P !___\ ?_ '__?@ !_\_\ ?_ XM!__X !_X_\ ?___ '_P'_P!_\/_ ?___@ '_P !__^?@ ?_/_ '__ XM_ !_X ?___ !_@ !_X X ?\#_@ #_P !___X ?_X XM __@ XM '_@ XM !\0 '_@ XM ?__ #__\ !__\ ?__@ !__@ !__\ ?__@ ?P !__^ XM ?\ !\0 !_X_X ? XM__^ '___ !___X ?__^ '_@ !__'P ?^/^ '_@ /_\ XM '___@ !_X!_X ?^#_@ '___P !_X ?__#P '_C_@ !___P ?\ ' XM___@ ?P ?\ $ '^ _P _X ?__\ '_\ /_P XM XM !_P XM >( !_P XM XM >( XM ?\ XM ?\ XM XM XM ?X XM 'D ?X XM 'D XM XM XM XM XM '\ XM XM !^ '\ XM !^ XM XM XM XM XM !^ XM _ XM !^ XM _ XM XM XM XM XM XM /@ XM XM /@ XM XM XM XM XM XM #P XM XM #P XM XM XM XM XM XM X XM XMX XM XM XM X! X Xend END_OF_FILE # end of 'font-32/Ushadow38x40b' fi echo shar: End of archive 40 \(of 61\). cp /dev/null ark40isdone MISSING="" for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 \ 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 \ 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 \ 55 56 57 58 59 60 61 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 61 archives. rm -f ark[1-9]isdone ark[1-9][0-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0