home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume17 / mgr / part32 < prev    next >
Text File  |  1989-01-19  |  45KB  |  955 lines

  1. Subject:  v17i033:  MGR, Bellcore window manager, Part32/61
  2. Newsgroups: comp.sources.unix
  3. Approved: rsalz@uunet.UU.NET
  4.  
  5. Submitted-by: Stephen A. Uhler <sau@bellcore.com>
  6. Posting-number: Volume 17, Issue 33
  7. Archive-name: mgr/part32
  8.  
  9.  
  10.  
  11.  
  12. #! /bin/sh
  13. # This is a shell archive.  Remove anything before this line, then unpack
  14. # it by saving it into a file and typing "sh file".  To overwrite existing
  15. # files, type "sh file -c".  You can also feed this as standard input via
  16. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  17. # will see the following message at the end:
  18. #        "End of archive 32 (of 61)."
  19. # Contents:  font-16/Uoldeng22x30ru font-32/Uoldeng22x30r
  20. #   font-32/Uoldeng22x30ru src/do_event.c
  21. # Wrapped by rsalz@papaya.bbn.com on Thu Nov 17 21:05:40 1988
  22. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  23. if test -f 'font-16/Uoldeng22x30ru' -a "${1}" != "-c" ; then 
  24.   echo shar: Will not clobber existing file \"'font-16/Uoldeng22x30ru'\"
  25. else
  26. echo shar: Extracting \"'font-16/Uoldeng22x30ru'\" \(10460 characters\)
  27. sed "s/^X//" >'font-16/Uoldeng22x30ru' <<'END_OF_FILE'
  28. Xbegin 644 oldeng22x30ru.fnt
  29. XM%A8>"%L@                          @                         
  30. XM                                                            
  31. XM          /0 XP,  1 G_P XSQ!QB( !$ XW@!D  #C, XW@#C>  !$@> 1
  32. XM "& /(P  A@#R.  _  ?@0#$8 (C  P&# 8"(.(P!                   
  33. XM   @      $              #      "          "   (            
  34. XM                                                            
  35. XM         !P                                                 
  36. XM                                              ?X!_@^ (O __X!
  37. XM_G_#_'X B\!_OR"R  '^8!_OP'^_( #ET_ _ ./ ?KZ #CP'JW !_P __P'E
  38. XM] <OH!Y??@\#X?)Z!P 0                  !       ,      (      
  39. XM /@     4          4   0                                    
  40. XM                                             #X             
  41. XM                                      "                     
  42. XM                      _L!_#. 1_ __\!_/_#^/X!'\!_9\&Y  '\X!_1
  43. XMY']GP -VY_!_ \7@_L< /%X/[#@"!XA__P!V. ^QP =GQQ.'P_*\!__P    
  44. XM              "@      <      $       SP     <          <  !P
  45. XM                            "       @  "                    
  46. XM                     !X                                #  #(
  47. XM  !@  &   .  /^  (( ! P  P  #                             @\
  48. XM!&,. R> 90>!&0.",9P#)X!&X8 [  $8X!&@^$;A@ 9\Y#B>!WCPCX< =X\(
  49. XM^#@$ _!'_@!T. /AP ?'1P.'@G,< __@                  #P      < 
  50. XM     &      !QP     <          <  !P                        
  51. XM    $      !   $                                          H 
  52. XM                               'T 'P  #Z  /H  .  /^  ?X #_@ 
  53. XM!]  'T                            !< #8.!F( #0. !@  "X@&80 !
  54. XMX0 =   "X !@< 'A !ITX#@(#.AP#H< SH< Z#@$ . $" !T. .AP ='1P'(
  55. XM '(< /_                   #X      <      /      !P      <   
  56. XM       <  !P                            <      #   ,        
  57. XM                                  0                         
  58. XM      ![X +@  ]\ #WP  <  ?\ !_P '_@ >^ ![X                  
  59. XM          =. ,X.#.( '0. &@  ,X@,X@ &X  =   ,X &@( ;A #ITX#P(
  60. XM#.@X#H< SH. Z#@& $ (B !T. .AP ='1P'( '(<  "                 
  61. XM  !P      <      '@     !P      <          <  !P            
  62. XM                <      &   8                                
  63. XM          @                               !PX #@  X< #AP  < 
  64. XM 0  !W@  _  <. !PX                            ^. <X.#.( '0. 
  65. XM.@  <X@,Y  .X  =   <X .@  [A #ITX#P('.@X#H<!SH. Z#@/P  9B !T
  66. XM. .AP ='1P#P '(<  "                    @      <      #P     
  67. XM!P      <   0  !   <  !P                            <      &
  68. XM   8                                                        
  69. XM                  !PX #@  X< #AP  8  0  !P   "  <. !PX      
  70. XM                      ^' <Z,&.( '8> .@  <X@8Z  .Z( =   <X .A
  71. XMP [A #ITX"X(&.@<#H<!CH' Z#@;^#@SB !T. .AP ='1P#P '(<  $     
  72. XM                      <      !X     !P      <   X  #@  <  !P
  73. XM                            <      .   X                    
  74. XM                                                      !PX #@
  75. XM  X< #AP  X  0  !P   "  <. !PX "   (                      "'
  76. XM \Z8&.( /7N >G  \_@8\  >Z\ ]   \X >FX![A 'OWX&X(..@<'O\#CH'!
  77. XMZ' 9_]PSB #W^ >_P ='1P/^ //\  (                           < 
  78. XM      \     !P      <   0  !   <  !P                        
  79. XM    <      .   X                                            
  80. XM                              !PX #@  P< #!P  T  0  !P   $  
  81. XM<. !PX '   <                      $'!\[L..( ?0. ^OH!\_@X_@ ^
  82. XM[<!]  !\X ^XX#[A /OWX.<(..@</H<#CH'#Z< </\ACB 'T. ^AP ]_?P/^
  83. XM ?(<  0                           <       >@    !^      <   
  84. XM       <  !P                            ?@     .   X        
  85. XM                                                            
  86. XM      !PX #@   <  !P !L  XX !P   (  <. !PX /@  ^            
  87. XM          '_A\^...( ?0. ^_P!\_@XZ8 ^^<!]  !\X ^@<#[A /OWX.?X
  88. XM.._\/H<#CO_#[^ /!^!CB 'T. ^AP!]'1P/^ ?(< '\                 
  89. XM      $P  =@  &   O  !@ !^   ,  <P  R  #(  <0 !P  """ ((  " 
  90. XM !$   @  R0  80 ?@  @@ '"  <(( X2 #+( /@@                   
  91. XM                                          !PX #@   \  #@ !< 
  92. XM _] !P@  (  ?^ !QX '   <                      /_A\Z...( ?7N 
  93. XM^@@!\_@XZ, ^Z<!]  !\X ^@<#[A /OWX/^(..@</H<#CH'#_. 'Y/#CB 'W
  94. XM^ ^_P!]'1P!X ?(< '\                       /]  ?Z  /P ''  'P 
  95. XM!\   R0 =Z !\  'P  =X !P  '//@<^  /  #^  #P !_P !_@ ?  !QP '
  96. XMO0 >\]!\^ 'WP ?_                                            
  97. XM                  !PX #@  #\  '  "<  Y^ !WT  8  /\ "^X "   (
  98. XM                      /_P<Z...( '8> .@@ <X@X[\ .[\ =   <X .@
  99. XM8 [A #ITX".(..@<#O\#CH' ^. #_##CB !T. .AP!]_?P"< '(< '\     
  100. XM                  &^  =\ !_P ''  \P !P  '#P >< "X  #@  >< !P
  101. XM  /WW _< !SH 'G0 <Z "[P '?  <  !SX #S@ //.!/\ +C@ G^        
  102. XM                                            ^         !PX #@
  103. XM  '\  #H $<  @> !XX  P  ?^  0X                            (!
  104. XMP<[^..( '0. .@@ <X@XZ. .Z< =   <X .AP [A #ITX"'(.._\#H<#CO_ 
  105. XMZ'  _[#CB !T. .AP ='1P"< '/\ "                        ".  <<
  106. XM !Y@ ''  <X !P  '#@ <<  X  #@  <, !P  ''' << !QP #C@ <<  Y@ 
  107. XM'&  <  !QP #C@ ... .8 #C@  ,                                
  108. XM                   !\         !PX #@  ,   !P /_@  . !PX  P  
  109. XM<.   X                            0!P<Z...( '0. .@@ <X@XZ. .
  110. XM[\ =   <X .GP [A #ITX"'(&.@8#H<!CH& Z'  '_#CB !T. .AP ='1P$.
  111. XM '(< "                        #.  << !P  ''  << !P  '#@ <<  
  112. XMX  #@  <8 !P  ''' << !QP #C@ <<  X  '$  <  !QP #C@ ... '  #C
  113. XM@  P                                                   #X   
  114. XM      !PX #@  (   !P  <   . !PX !P  <.   X                  
  115. XM          0 X8[^',) '0. .@@ <X@8S\ .Z< =   <X .XX [! #ITX"#H
  116. XM',@8#H<!S(& Z'  $_!S"0!T. .AP ='1P$. '(< $                  
  117. XM      &N  << !P  ''  <8 !P  '#@ <<  X  #@  =X !P  ''' << !QP
  118. XM #C@ <<  X  '^  <  !QP #C@ ... '  #C@ !                     
  119. XM                                          !PX #@  0   !P  < 
  120. XM  . !PX !@  <.   X                            @ X1R.'() &0. 
  121. XM,@@ 8X@<B, ,R< =   8X ,@X R! #ITX"#H# @P#H< P(, Z#@ $;!R"0!T
  122. XM. .AP ='1P(' '(< (                        ..  << !P  ''  =@ 
  123. XM!P  '#@ <<  X  #@  >X !P  ''' << !QP #C@ <<  X  !_@ <  !QP #
  124. XMC@ ... #@ #C@ /P                                            
  125. XM    (      "      !PX #@  0   !P  <   . !PX #@  <.   X "   (
  126. XM                     !P0<#".#P+ %P. /P@ 8X@,"8 .B8 9  !PX /A
  127. XM< _! #ITX'!X# @P#H< P(, \#@ (3 \"P!\. .AP ?'1P<' '(< 0      
  128. XM                  ..  << !P  ''  >  !P  '#@ <<  X  #@  <X !P
  129. XM  ''' << !QP #C@ <<  X   C@ <  !QP #C@ ... #@ #C@ $         
  130. XM                                        <      '      !PX #@
  131. XM  3X  ]P  <  /N !PX #P  <.  >X '   <                     '\@
  132. XM</R.#0^ '\. ?^B!^X@,"X ?C8#1  'XX ?R<!_Y(/)TX;QX!PC@/H< <(X!
  133. XM_+@'_" T/@!_. .!P ?G1Q_+D'(< ?@$                      ..  <<
  134. XM !P  ''  <  !P  '#@ <<  X  #@  <= !P  ''' << !QP #C@ <<  X  
  135. XM!C@ <  !QP #C@ ... YP #C@ $                                 
  136. XM                ^      /@     !]X #H  G] !_P  =  ?^ !]X #V  
  137. XM?>  _X /@  ^                     /_ <?^.!_\ /_> __\#_X@'#P _
  138. XM^0'Q  /\P _\.C__P?)TXO\X \O ?N\ /;P#_QT/_\ ?_ #_^@/_P _W_S_S
  139. XMH'(< __X                      '?  N< "X@ +G  ?$ "Y  'S@ ^<  
  140. XMX  #@  N> "Z  /OG@^> "YP 'S@ N<  Y  #[@ N@ !SX #C@ ...!_R #C
  141. XM@ /\@                                               >      '
  142. XM      "^  'P  _^ #_   ^  _X "^  !X  O@ !_@ '   >            
  143. XM         >. ,\?P _X >/P!X/X'GP@#C !Y\0/^  >>@!XX/'@_@_RX=\<X
  144. XM .\ ?O  #G 'CAX9_X /^ 'CW '@ !Y[P'CAP(_X!__P                
  145. XM      #F  '@  ?  !X  /X  >  /_@ <8  <  !P  '<  <  ''' <<  > 
  146. XM /\  '\ !>  '^  '  #]P %\  7]P#^\ #_@ ?_                    
  147. XM                            *      "       ,  !@  X$ ""   , 
  148. XM P0  ,   @  #  !!  "   *                     P$ %@'  /( P#@#
  149. XM !P,!@@ \ # 8@(\  P' # 0&, ' C@0+@(8 #P 3L   ^ ,! PPGP #R , 
  150. XMB !  # 1 ,! @8'P# ?@                      !$  "   ,   @  #@ 
  151. XM (   S0 (0  (   P  "(  (  """ ((  (  +P  "<  ,   8  "   P@  
  152. XMP  #C ",8 !@   ^                                            
  153. XM    $                                                      $
  154. XM                     P  !@    ( P  #   ,  @   #  @(   P  #  
  155. XM ,   @  #@      #H   " ,   @@   " ,      #   ,   8          
  156. XM                                         !P  0      X       
  157. XM             #@   <                           "             
  158. XM                                        (                   
  159. XM                                   (                     @  
  160. XM!     ( @  "   (  @   "  0&   @  "   (   @  #       #H   " (
  161. XM   A    " (      "   (   8                                  
  162. XM                 !P  (      X                    #@   <     
  163. XM                      "'                                    
  164. XM                                                            
  165. XM                                 @  !     ( @  "   (  @   " 
  166. XM 8!@  @  "   (   0  "       #H   # (   1    " (      "   (  
  167. XM 8'P                                                  P  ,  
  168. XM    8                    #@   <                           "/
  169. XM@                                                           
  170. XM                                                            
  171. XM         @  !     ( @  "   (  @   "  <    @  "   (   0  "   
  172. XM    #H   #"(   .    " (      "   (   /_X                    
  173. XM                            & P  .      8                   
  174. XM #@   <                           #_@                       
  175. XM                                                            
  176. XM                                             @  !     ( @  "
  177. XM " (  @   "  <    @  "   ( ( ,  "       #H   #B(        " ( 
  178. XM     "   (   /_\                                            
  179. XM    -A@  .     'P                    #@   >                 
  180. XM          #X@                                               
  181. XM                                                            
  182. XM                     0   @    8 0  ! , $ !@   !  \    0  !  
  183. XM $ P #@ !       #@   !\$        & $      !   $   'X$        
  184. XM                                        +7   >     /@       
  185. XM             #    <                           !P@           
  186. XM                                                            
  187. XM                                                         ,  
  188. XM 9    X ,   PP # #@    P X    ,   P  ##      P      #0    \#
  189. XM        . #       P  #     $                                
  190. XM                 N   <     /                     "    8     
  191. XM                        @                                   
  192. XM                                                            
  193. XM                                 #   &    0 #   /   P!     ,
  194. XM P    #   ,   \      ,      "     8 P       $  P      ,   P 
  195. XM                                                     8   8  
  196. XM   )                     $    0                            #
  197. X&        
  198. Xend
  199. END_OF_FILE
  200. # end of 'font-16/Uoldeng22x30ru'
  201. fi
  202. if test -f 'font-32/Uoldeng22x30r' -a "${1}" != "-c" ; then 
  203.   echo shar: Will not clobber existing file \"'font-32/Uoldeng22x30r'\"
  204. else
  205. echo shar: Extracting \"'font-32/Uoldeng22x30r'\" \(10459 characters\)
  206. sed "s/^X//" >'font-32/Uoldeng22x30r' <<'END_OF_FILE'
  207. Xbegin 644 oldeng22x30r.fnt
  208. XM&!8>"%L@                          @                         
  209. XM                                                            
  210. XM          /0 XP,  1 G_P XSQ!QB( !$ XW@!D  #C, XW@#C>  !$@> 1
  211. XM "& /(P  A@#R.  _  ?@0#$8 (C  P&# 8"(.(P!                   
  212. XM   @      $              #      "          "   (            
  213. XM                                                            
  214. XM         !P                                                 
  215. XM                                              ?X!_@^ (O __X!
  216. XM_G_#_'X B\!_OR"R  '^8!_OP'^_( #ET_ _ ./ ?KZ #CP'JW !_P __P'E
  217. XM] <OH!Y??@\#X?)Z!P 0                  !       ,      (      
  218. XM /@     4          4   0                                    
  219. XM                                             #X             
  220. XM                                      "                     
  221. XM                      _L!_#. 1_ __\!_/_#^/X!'\!_9\&Y  '\X!_1
  222. XMY']GP -VY_!_ \7@_L< /%X/[#@"!XA__P!V. ^QP =GQQ.'P_*\!__P    
  223. XM              "@      <      $       SP     <          <  !P
  224. XM                            "       @  "                    
  225. XM                     !X                                #  #(
  226. XM  !@  &   .  /^  (( ! P  P  #                             @\
  227. XM!&,. R> 90>!&0.",9P#)X!&X8 [  $8X!&@^$;A@ 9\Y#B>!WCPCX< =X\(
  228. XM^#@$ _!'_@!T. /AP ?'1P.'@G,< __@                  #P      < 
  229. XM     &      !QP     <          <  !P                        
  230. XM    $      !   $                                          H 
  231. XM                               'T 'P  #Z  /H  .  /^  ?X #_@ 
  232. XM!]  'T                            !< #8.!F( #0. !@  "X@&80 !
  233. XMX0 =   "X !@< 'A !ITX#@(#.AP#H< SH< Z#@$ . $" !T. .AP ='1P'(
  234. XM '(< /_                   #X      <      /      !P      <   
  235. XM       <  !P                            <      #   ,        
  236. XM                                  0                         
  237. XM      ![X +@  ]\ #WP  <  ?\ !_P '_@ >^ ![X                  
  238. XM          =. ,X.#.( '0. &@  ,X@,X@ &X  =   ,X &@( ;A #ITX#P(
  239. XM#.@X#H< SH. Z#@& $ (B !T. .AP ='1P'( '(<  "                 
  240. XM  !P      <      '@     !P      <          <  !P            
  241. XM                <      &   8                                
  242. XM          @                               !PX #@  X< #AP  < 
  243. XM 0  !W@  _  <. !PX                            ^. <X.#.( '0. 
  244. XM.@  <X@,Y  .X  =   <X .@  [A #ITX#P('.@X#H<!SH. Z#@/P  9B !T
  245. XM. .AP ='1P#P '(<  "                    @      <      #P     
  246. XM!P      <   0  !   <  !P                            <      &
  247. XM   8                                                        
  248. XM                  !PX #@  X< #AP  8  0  !P   "  <. !PX      
  249. XM                      ^' <Z,&.( '8> .@  <X@8Z  .Z( =   <X .A
  250. XMP [A #ITX"X(&.@<#H<!CH' Z#@;^#@SB !T. .AP ='1P#P '(<  $     
  251. XM                      <      !X     !P      <   X  #@  <  !P
  252. XM                            <      .   X                    
  253. XM                                                      !PX #@
  254. XM  X< #AP  X  0  !P   "  <. !PX "   (                      "'
  255. XM \Z8&.( /7N >G  \_@8\  >Z\ ]   \X >FX![A 'OWX&X(..@<'O\#CH'!
  256. XMZ' 9_]PSB #W^ >_P ='1P/^ //\  (                           < 
  257. XM      \     !P      <   0  !   <  !P                        
  258. XM    <      .   X                                            
  259. XM                              !PX #@  P< #!P  T  0  !P   $  
  260. XM<. !PX '   <                      $'!\[L..( ?0. ^OH!\_@X_@ ^
  261. XM[<!]  !\X ^XX#[A /OWX.<(..@</H<#CH'#Z< </\ACB 'T. ^AP ]_?P/^
  262. XM ?(<  0                           <       >@    !^      <   
  263. XM       <  !P                            ?@     .   X        
  264. XM                                                            
  265. XM      !PX #@   <  !P !L  XX !P   (  <. !PX /@  ^            
  266. XM          '_A\^...( ?0. ^_P!\_@XZ8 ^^<!]  !\X ^@<#[A /OWX.?X
  267. XM.._\/H<#CO_#[^ /!^!CB 'T. ^AP!]'1P/^ ?(< '\                 
  268. XM      $P  =@  &   O  !@ !^   ,  <P  R  #(  <0 !P  """ ((  " 
  269. XM !$   @  R0  80 ?@  @@ '"  <(( X2 #+( /@@                   
  270. XM                                          !PX #@   \  #@ !< 
  271. XM _] !P@  (  ?^ !QX '   <                      /_A\Z...( ?7N 
  272. XM^@@!\_@XZ, ^Z<!]  !\X ^@<#[A /OWX/^(..@</H<#CH'#_. 'Y/#CB 'W
  273. XM^ ^_P!]'1P!X ?(< '\                       /]  ?Z  /P ''  'P 
  274. XM!\   R0 =Z !\  'P  =X !P  '//@<^  /  #^  #P !_P !_@ ?  !QP '
  275. XMO0 >\]!\^ 'WP ?_                                            
  276. XM                  !PX #@  #\  '  "<  Y^ !WT  8  /\ "^X "   (
  277. XM                      /_P<Z...( '8> .@@ <X@X[\ .[\ =   <X .@
  278. XM8 [A #ITX".(..@<#O\#CH' ^. #_##CB !T. .AP!]_?P"< '(< '\     
  279. XM                  &^  =\ !_P ''  \P !P  '#P >< "X  #@  >< !P
  280. XM  /WW _< !SH 'G0 <Z "[P '?  <  !SX #S@ //.!/\ +C@ G^        
  281. XM                                            ^         !PX #@
  282. XM  '\  #H $<  @> !XX  P  ?^  0X                            (!
  283. XMP<[^..( '0. .@@ <X@XZ. .Z< =   <X .AP [A #ITX"'(.._\#H<#CO_ 
  284. XMZ'  _[#CB !T. .AP ='1P"< '/\ "                        ".  <<
  285. XM !Y@ ''  <X !P  '#@ <<  X  #@  <, !P  ''' << !QP #C@ <<  Y@ 
  286. XM'&  <  !QP #C@ ... .8 #C@  ,                                
  287. XM                   !\         !PX #@  ,   !P /_@  . !PX  P  
  288. XM<.   X                            0!P<Z...( '0. .@@ <X@XZ. .
  289. XM[\ =   <X .GP [A #ITX"'(&.@8#H<!CH& Z'  '_#CB !T. .AP ='1P$.
  290. XM '(< "                        #.  << !P  ''  << !P  '#@ <<  
  291. XMX  #@  <8 !P  ''' << !QP #C@ <<  X  '$  <  !QP #C@ ... '  #C
  292. XM@  P                                                   #X   
  293. XM      !PX #@  (   !P  <   . !PX !P  <.   X                  
  294. XM          0 X8[^',) '0. .@@ <X@8S\ .Z< =   <X .XX [! #ITX"#H
  295. XM',@8#H<!S(& Z'  $_!S"0!T. .AP ='1P$. '(< $                  
  296. XM      &N  << !P  ''  <8 !P  '#@ <<  X  #@  =X !P  ''' << !QP
  297. XM #C@ <<  X  '^  <  !QP #C@ ... '  #C@ !                     
  298. XM                                          !PX #@  0   !P  < 
  299. XM  . !PX !@  <.   X                            @ X1R.'() &0. 
  300. XM,@@ 8X@<B, ,R< =   8X ,@X R! #ITX"#H# @P#H< P(, Z#@ $;!R"0!T
  301. XM. .AP ='1P(' '(< (                        ..  << !P  ''  =@ 
  302. XM!P  '#@ <<  X  #@  >X !P  ''' << !QP #C@ <<  X  !_@ <  !QP #
  303. XMC@ ... #@ #C@ /P                                            
  304. XM    (      "      !PX #@  0   !P  <   . !PX #@  <.   X "   (
  305. XM                     !P0<#".#P+ %P. /P@ 8X@,"8 .B8 9  !PX /A
  306. XM< _! #ITX'!X# @P#H< P(, \#@ (3 \"P!\. .AP ?'1P<' '(< 0      
  307. XM                  ..  << !P  ''  >  !P  '#@ <<  X  #@  <X !P
  308. XM  ''' << !QP #C@ <<  X   C@ <  !QP #C@ ... #@ #C@ $         
  309. XM                                        <      '      !PX #@
  310. XM  3X  ]P  <  /N !PX #P  <.  >X '   <                     '\@
  311. XM</R.#0^ '\. ?^B!^X@,"X ?C8#1  'XX ?R<!_Y(/)TX;QX!PC@/H< <(X!
  312. XM_+@'_" T/@!_. .!P ?G1Q_+D'(< ?@$                      ..  <<
  313. XM !P  ''  <  !P  '#@ <<  X  #@  <= !P  ''' << !QP #C@ <<  X  
  314. XM!C@ <  !QP #C@ ... YP #C@ $                                 
  315. XM                ^      /@     !]X #H  G] !_P  =  ?^ !]X #V  
  316. XM?>  _X /@  ^                     /_ <?^.!_\ /_> __\#_X@'#P _
  317. XM^0'Q  /\P _\.C__P?)TXO\X \O ?N\ /;P#_QT/_\ ?_ #_^@/_P _W_S_S
  318. XMH'(< __X                      '?  N< "X@ +G  ?$ "Y  'S@ ^<  
  319. XMX  #@  N> "Z  /OG@^> "YP 'S@ N<  Y  #[@ N@ !SX #C@ ...!_R #C
  320. XM@ /\@                                               >      '
  321. XM      "^  'P  _^ #_   ^  _X "^  !X  O@ !_@ '   >            
  322. XM         >. ,\?P _X >/P!X/X'GP@#C !Y\0/^  >>@!XX/'@_@_RX=\<X
  323. XM .\ ?O  #G 'CAX9_X /^ 'CW '@ !Y[P'CAP(_X!__P                
  324. XM      #F  '@  ?  !X  /X  >  /_@ <8  <  !P  '<  <  ''' <<  > 
  325. XM /\  '\ !>  '^  '  #]P %\  7]P#^\ #_@ ?_                    
  326. XM                            *      "       ,  !@  X$ ""   , 
  327. XM P0  ,   @  #  !!  "   *                     P$ %@'  /( P#@#
  328. XM !P,!@@ \ # 8@(\  P' # 0&, ' C@0+@(8 #P 3L   ^ ,! PPGP #R , 
  329. XMB !  # 1 ,! @8'P# ?@                      !$  "   ,   @  #@ 
  330. XM (   S0 (0  (   P  "(  (  """ ((  (  +P  "<  ,   8  "   P@  
  331. XMP  #C ",8 !@   ^                                            
  332. XM    $                                                      $
  333. XM                     P  !@    ( P  #   ,  @   #  @(   P  #  
  334. XM ,   @  #@      #H   " ,   @@   " ,      #   ,   8          
  335. XM                                         !P  0      X       
  336. XM             #@   <                           "             
  337. XM                                        (                   
  338. XM                                   (                     @  
  339. XM!     ( @  "   (  @   "  0&   @  "   (   @  #       #H   " (
  340. XM   A    " (      "   (   8                                  
  341. XM                 !P  (      X                    #@   <     
  342. XM                      "'                                    
  343. XM                                                            
  344. XM                                 @  !     ( @  "   (  @   " 
  345. XM 8!@  @  "   (   0  "       #H   # (   1    " (      "   (  
  346. XM 8'P                                                  P  ,  
  347. XM    8                    #@   <                           "/
  348. XM@                                                           
  349. XM                                                            
  350. XM         @  !     ( @  "   (  @   "  <    @  "   (   0  "   
  351. XM    #H   #"(   .    " (      "   (   /_X                    
  352. XM                            & P  .      8                   
  353. XM #@   <                           #_@                       
  354. XM                                                            
  355. XM                                             @  !     ( @  "
  356. XM " (  @   "  <    @  "   ( ( ,  "       #H   #B(        " ( 
  357. XM     "   (   /_\                                            
  358. XM    -A@  .     'P                    #@   >                 
  359. XM          #X@                                               
  360. XM                                                            
  361. XM                     0   @    8 0  ! , $ !@   !  \    0  !  
  362. XM $ P #@ !       #@   !\$        & $      !   $   'X$        
  363. XM                                        +7   >     /@       
  364. XM             #    <                           !P@           
  365. XM                                                            
  366. XM                                                         ,  
  367. XM 9    X ,   PP # #@    P X    ,   P  ##      P      #0    \#
  368. XM        . #       P  #     $                                
  369. XM                 N   <     /                     "    8     
  370. XM                        @                                   
  371. XM                                                            
  372. XM                                 #   &    0 #   /   P!     ,
  373. XM P    #   ,   \      ,      "     8 P       $  P      ,   P 
  374. XM                                                     8   8  
  375. XM   )                     $    0                            #
  376. X&        
  377. Xend
  378. END_OF_FILE
  379. # end of 'font-32/Uoldeng22x30r'
  380. fi
  381. if test -f 'font-32/Uoldeng22x30ru' -a "${1}" != "-c" ; then 
  382.   echo shar: Will not clobber existing file \"'font-32/Uoldeng22x30ru'\"
  383. else
  384. echo shar: Extracting \"'font-32/Uoldeng22x30ru'\" \(10460 characters\)
  385. sed "s/^X//" >'font-32/Uoldeng22x30ru' <<'END_OF_FILE'
  386. Xbegin 644 oldeng22x30ru.fnt
  387. XM&!8>"%L@                          @                         
  388. XM                                                            
  389. XM          /0 XP,  1 G_P XSQ!QB( !$ XW@!D  #C, XW@#C>  !$@> 1
  390. XM "& /(P  A@#R.  _  ?@0#$8 (C  P&# 8"(.(P!                   
  391. XM   @      $              #      "          "   (            
  392. XM                                                            
  393. XM         !P                                                 
  394. XM                                              ?X!_@^ (O __X!
  395. XM_G_#_'X B\!_OR"R  '^8!_OP'^_( #ET_ _ ./ ?KZ #CP'JW !_P __P'E
  396. XM] <OH!Y??@\#X?)Z!P 0                  !       ,      (      
  397. XM /@     4          4   0                                    
  398. XM                                             #X             
  399. XM                                      "                     
  400. XM                      _L!_#. 1_ __\!_/_#^/X!'\!_9\&Y  '\X!_1
  401. XMY']GP -VY_!_ \7@_L< /%X/[#@"!XA__P!V. ^QP =GQQ.'P_*\!__P    
  402. XM              "@      <      $       SP     <          <  !P
  403. XM                            "       @  "                    
  404. XM                     !X                                #  #(
  405. XM  !@  &   .  /^  (( ! P  P  #                             @\
  406. XM!&,. R> 90>!&0.",9P#)X!&X8 [  $8X!&@^$;A@ 9\Y#B>!WCPCX< =X\(
  407. XM^#@$ _!'_@!T. /AP ?'1P.'@G,< __@                  #P      < 
  408. XM     &      !QP     <          <  !P                        
  409. XM    $      !   $                                          H 
  410. XM                               'T 'P  #Z  /H  .  /^  ?X #_@ 
  411. XM!]  'T                            !< #8.!F( #0. !@  "X@&80 !
  412. XMX0 =   "X !@< 'A !ITX#@(#.AP#H< SH< Z#@$ . $" !T. .AP ='1P'(
  413. XM '(< /_                   #X      <      /      !P      <   
  414. XM       <  !P                            <      #   ,        
  415. XM                                  0                         
  416. XM      ![X +@  ]\ #WP  <  ?\ !_P '_@ >^ ![X                  
  417. XM          =. ,X.#.( '0. &@  ,X@,X@ &X  =   ,X &@( ;A #ITX#P(
  418. XM#.@X#H< SH. Z#@& $ (B !T. .AP ='1P'( '(<  "                 
  419. XM  !P      <      '@     !P      <          <  !P            
  420. XM                <      &   8                                
  421. XM          @                               !PX #@  X< #AP  < 
  422. XM 0  !W@  _  <. !PX                            ^. <X.#.( '0. 
  423. XM.@  <X@,Y  .X  =   <X .@  [A #ITX#P('.@X#H<!SH. Z#@/P  9B !T
  424. XM. .AP ='1P#P '(<  "                    @      <      #P     
  425. XM!P      <   0  !   <  !P                            <      &
  426. XM   8                                                        
  427. XM                  !PX #@  X< #AP  8  0  !P   "  <. !PX      
  428. XM                      ^' <Z,&.( '8> .@  <X@8Z  .Z( =   <X .A
  429. XMP [A #ITX"X(&.@<#H<!CH' Z#@;^#@SB !T. .AP ='1P#P '(<  $     
  430. XM                      <      !X     !P      <   X  #@  <  !P
  431. XM                            <      .   X                    
  432. XM                                                      !PX #@
  433. XM  X< #AP  X  0  !P   "  <. !PX "   (                      "'
  434. XM \Z8&.( /7N >G  \_@8\  >Z\ ]   \X >FX![A 'OWX&X(..@<'O\#CH'!
  435. XMZ' 9_]PSB #W^ >_P ='1P/^ //\  (                           < 
  436. XM      \     !P      <   0  !   <  !P                        
  437. XM    <      .   X                                            
  438. XM                              !PX #@  P< #!P  T  0  !P   $  
  439. XM<. !PX '   <                      $'!\[L..( ?0. ^OH!\_@X_@ ^
  440. XM[<!]  !\X ^XX#[A /OWX.<(..@</H<#CH'#Z< </\ACB 'T. ^AP ]_?P/^
  441. XM ?(<  0                           <       >@    !^      <   
  442. XM       <  !P                            ?@     .   X        
  443. XM                                                            
  444. XM      !PX #@   <  !P !L  XX !P   (  <. !PX /@  ^            
  445. XM          '_A\^...( ?0. ^_P!\_@XZ8 ^^<!]  !\X ^@<#[A /OWX.?X
  446. XM.._\/H<#CO_#[^ /!^!CB 'T. ^AP!]'1P/^ ?(< '\                 
  447. XM      $P  =@  &   O  !@ !^   ,  <P  R  #(  <0 !P  """ ((  " 
  448. XM !$   @  R0  80 ?@  @@ '"  <(( X2 #+( /@@                   
  449. XM                                          !PX #@   \  #@ !< 
  450. XM _] !P@  (  ?^ !QX '   <                      /_A\Z...( ?7N 
  451. XM^@@!\_@XZ, ^Z<!]  !\X ^@<#[A /OWX/^(..@</H<#CH'#_. 'Y/#CB 'W
  452. XM^ ^_P!]'1P!X ?(< '\                       /]  ?Z  /P ''  'P 
  453. XM!\   R0 =Z !\  'P  =X !P  '//@<^  /  #^  #P !_P !_@ ?  !QP '
  454. XMO0 >\]!\^ 'WP ?_                                            
  455. XM                  !PX #@  #\  '  "<  Y^ !WT  8  /\ "^X "   (
  456. XM                      /_P<Z...( '8> .@@ <X@X[\ .[\ =   <X .@
  457. XM8 [A #ITX".(..@<#O\#CH' ^. #_##CB !T. .AP!]_?P"< '(< '\     
  458. XM                  &^  =\ !_P ''  \P !P  '#P >< "X  #@  >< !P
  459. XM  /WW _< !SH 'G0 <Z "[P '?  <  !SX #S@ //.!/\ +C@ G^        
  460. XM                                            ^         !PX #@
  461. XM  '\  #H $<  @> !XX  P  ?^  0X                            (!
  462. XMP<[^..( '0. .@@ <X@XZ. .Z< =   <X .AP [A #ITX"'(.._\#H<#CO_ 
  463. XMZ'  _[#CB !T. .AP ='1P"< '/\ "                        ".  <<
  464. XM !Y@ ''  <X !P  '#@ <<  X  #@  <, !P  ''' << !QP #C@ <<  Y@ 
  465. XM'&  <  !QP #C@ ... .8 #C@  ,                                
  466. XM                   !\         !PX #@  ,   !P /_@  . !PX  P  
  467. XM<.   X                            0!P<Z...( '0. .@@ <X@XZ. .
  468. XM[\ =   <X .GP [A #ITX"'(&.@8#H<!CH& Z'  '_#CB !T. .AP ='1P$.
  469. XM '(< "                        #.  << !P  ''  << !P  '#@ <<  
  470. XMX  #@  <8 !P  ''' << !QP #C@ <<  X  '$  <  !QP #C@ ... '  #C
  471. XM@  P                                                   #X   
  472. XM      !PX #@  (   !P  <   . !PX !P  <.   X                  
  473. XM          0 X8[^',) '0. .@@ <X@8S\ .Z< =   <X .XX [! #ITX"#H
  474. XM',@8#H<!S(& Z'  $_!S"0!T. .AP ='1P$. '(< $                  
  475. XM      &N  << !P  ''  <8 !P  '#@ <<  X  #@  =X !P  ''' << !QP
  476. XM #C@ <<  X  '^  <  !QP #C@ ... '  #C@ !                     
  477. XM                                          !PX #@  0   !P  < 
  478. XM  . !PX !@  <.   X                            @ X1R.'() &0. 
  479. XM,@@ 8X@<B, ,R< =   8X ,@X R! #ITX"#H# @P#H< P(, Z#@ $;!R"0!T
  480. XM. .AP ='1P(' '(< (                        ..  << !P  ''  =@ 
  481. XM!P  '#@ <<  X  #@  >X !P  ''' << !QP #C@ <<  X  !_@ <  !QP #
  482. XMC@ ... #@ #C@ /P                                            
  483. XM    (      "      !PX #@  0   !P  <   . !PX #@  <.   X "   (
  484. XM                     !P0<#".#P+ %P. /P@ 8X@,"8 .B8 9  !PX /A
  485. XM< _! #ITX'!X# @P#H< P(, \#@ (3 \"P!\. .AP ?'1P<' '(< 0      
  486. XM                  ..  << !P  ''  >  !P  '#@ <<  X  #@  <X !P
  487. XM  ''' << !QP #C@ <<  X   C@ <  !QP #C@ ... #@ #C@ $         
  488. XM                                        <      '      !PX #@
  489. XM  3X  ]P  <  /N !PX #P  <.  >X '   <                     '\@
  490. XM</R.#0^ '\. ?^B!^X@,"X ?C8#1  'XX ?R<!_Y(/)TX;QX!PC@/H< <(X!
  491. XM_+@'_" T/@!_. .!P ?G1Q_+D'(< ?@$                      ..  <<
  492. XM !P  ''  <  !P  '#@ <<  X  #@  <= !P  ''' << !QP #C@ <<  X  
  493. XM!C@ <  !QP #C@ ... YP #C@ $                                 
  494. XM                ^      /@     !]X #H  G] !_P  =  ?^ !]X #V  
  495. XM?>  _X /@  ^                     /_ <?^.!_\ /_> __\#_X@'#P _
  496. XM^0'Q  /\P _\.C__P?)TXO\X \O ?N\ /;P#_QT/_\ ?_ #_^@/_P _W_S_S
  497. XMH'(< __X                      '?  N< "X@ +G  ?$ "Y  'S@ ^<  
  498. XMX  #@  N> "Z  /OG@^> "YP 'S@ N<  Y  #[@ N@ !SX #C@ ...!_R #C
  499. XM@ /\@                                               >      '
  500. XM      "^  'P  _^ #_   ^  _X "^  !X  O@ !_@ '   >            
  501. XM         >. ,\?P _X >/P!X/X'GP@#C !Y\0/^  >>@!XX/'@_@_RX=\<X
  502. XM .\ ?O  #G 'CAX9_X /^ 'CW '@ !Y[P'CAP(_X!__P                
  503. XM      #F  '@  ?  !X  /X  >  /_@ <8  <  !P  '<  <  ''' <<  > 
  504. XM /\  '\ !>  '^  '  #]P %\  7]P#^\ #_@ ?_                    
  505. XM                            *      "       ,  !@  X$ ""   , 
  506. XM P0  ,   @  #  !!  "   *                     P$ %@'  /( P#@#
  507. XM !P,!@@ \ # 8@(\  P' # 0&, ' C@0+@(8 #P 3L   ^ ,! PPGP #R , 
  508. XMB !  # 1 ,! @8'P# ?@                      !$  "   ,   @  #@ 
  509. XM (   S0 (0  (   P  "(  (  """ ((  (  +P  "<  ,   8  "   P@  
  510. XMP  #C ",8 !@   ^                                            
  511. XM    $                                                      $
  512. XM                     P  !@    ( P  #   ,  @   #  @(   P  #  
  513. XM ,   @  #@      #H   " ,   @@   " ,      #   ,   8          
  514. XM                                         !P  0      X       
  515. XM             #@   <                           "             
  516. XM                                        (                   
  517. XM                                   (                     @  
  518. XM!     ( @  "   (  @   "  0&   @  "   (   @  #       #H   " (
  519. XM   A    " (      "   (   8                                  
  520. XM                 !P  (      X                    #@   <     
  521. XM                      "'                                    
  522. XM                                                            
  523. XM                                 @  !     ( @  "   (  @   " 
  524. XM 8!@  @  "   (   0  "       #H   # (   1    " (      "   (  
  525. XM 8'P                                                  P  ,  
  526. XM    8                    #@   <                           "/
  527. XM@                                                           
  528. XM                                                            
  529. XM         @  !     ( @  "   (  @   "  <    @  "   (   0  "   
  530. XM    #H   #"(   .    " (      "   (   /_X                    
  531. XM                            & P  .      8                   
  532. XM #@   <                           #_@                       
  533. XM                                                            
  534. XM                                             @  !     ( @  "
  535. XM " (  @   "  <    @  "   ( ( ,  "       #H   #B(        " ( 
  536. XM     "   (   /_\                                            
  537. XM    -A@  .     'P                    #@   >                 
  538. XM          #X@                                               
  539. XM                                                            
  540. XM                     0   @    8 0  ! , $ !@   !  \    0  !  
  541. XM $ P #@ !       #@   !\$        & $      !   $   'X$        
  542. XM                                        +7   >     /@       
  543. XM             #    <                           !P@           
  544. XM                                                            
  545. XM                                                         ,  
  546. XM 9    X ,   PP # #@    P X    ,   P  ##      P      #0    \#
  547. XM        . #       P  #     $                                
  548. XM                 N   <     /                     "    8     
  549. XM                        @                                   
  550. XM                                                            
  551. XM                                 #   &    0 #   /   P!     ,
  552. XM P    #   ,   \      ,      "     8 P       $  P      ,   P 
  553. XM                                                     8   8  
  554. XM   )                     $    0                            #
  555. X&        
  556. Xend
  557. END_OF_FILE
  558. # end of 'font-32/Uoldeng22x30ru'
  559. fi
  560. if test -f 'src/do_event.c' -a "${1}" != "-c" ; then 
  561.   echo shar: Will not clobber existing file \"'src/do_event.c'\"
  562. else
  563. echo shar: Extracting \"'src/do_event.c'\" \(10301 characters\)
  564. sed "s/^X//" >'src/do_event.c' <<'END_OF_FILE'
  565. X/*                        Copyright (c) 1987 Bellcore
  566. X *                            All Rights Reserved
  567. X *       Permission is granted to copy or use this program, EXCEPT that it
  568. X *       may not be sold for profit, the copyright notice must be reproduced
  569. X *       on copies, and credit should be given to Bellcore where it is due.
  570. X *       BELLCORE MAKES NO WARRANTY AND ACCEPTS NO LIABILITY FOR THIS PROGRAM.
  571. X */
  572. X/*    $Header: do_event.c,v 4.1 88/06/21 13:21:44 bianchi Exp $
  573. X    $Source: /tmp/mgrsrc/src/RCS/do_event.c,v $
  574. X*/
  575. Xstatic char    RCSid_[] = "$Source: /tmp/mgrsrc/src/RCS/do_event.c,v $$Revision: 4.1 $";
  576. X
  577. X/* do a button event */
  578. X
  579. X#include <stdio.h>
  580. X#include "bitmap.h"
  581. X#include "defs.h"
  582. X#include "font.h"
  583. X#include "event.h"
  584. X
  585. X#define FSIZE(c)    ((int) (W(font)->head.c))    /* from put_window.c */
  586. X#define SUB_SIZE    256                /* max temp str size */
  587. X#define START_SIZE   16          /* default starting size of sweep object */
  588. X
  589. Xdo_event(event,win,flag)
  590. Xint event;                /* event number */
  591. Xregister WINDOW *win;            /* window event applies to */
  592. Xint flag;                /* type of window */
  593. X    {
  594. X    register char *buff, *p;
  595. X    char *index();
  596. X
  597. X    if (!win)
  598. X        return(-1);
  599. X
  600. X#ifdef DEBUG
  601. X    dprintf(e)(stderr,"%s: event %d (%s) %s\r\n",W(tty),GET_EVENT(event),
  602. X                 IS_EVENT(win,event)?"ON":"OFF",flag==E_MAIN ? "MAIN":"STACK");
  603. X#endif
  604. X
  605. X        /* look for stacked events */
  606. X
  607. X        if (IS_EVENT(win,EVENT_STFLAG))
  608. X            do_event(event,win->stack,E_STACK);
  609. X
  610. X        if (IS_EVENT(win,event) && (flag==E_MAIN || IS_EVENT(win,EVENT_STACK))) {
  611. X
  612. X#ifdef DEBUG
  613. X            dprintf(e)(stderr,"\tSENT\r\n");
  614. X#endif
  615. X
  616. X            /* do the event */
  617. X
  618. X            switch(event) {
  619. X            case EVENT_B1_DOWN:
  620. X            case EVENT_B2_DOWN:
  621. X                 if (IS_EVENT(win,event) && (buff= W(events[GET_EVENT(event)])))
  622. X                    write_event(win,buff,E_LIST_BUTTON);
  623. X
  624. X                 /* notify clicked window */
  625. X
  626. X                 for(win=active;win != (WINDOW *) 0;win=W(next))
  627. X                    if(mousein(mousex,mousey,win,1))
  628. X                       break;
  629. X                 if (win && IS_EVENT(win,EVENT_TELLME)
  630. X                         && (buff= W(events[GET_EVENT(EVENT_TELLME)]))) {
  631. X                    if (message) { 
  632. X                       free(message);
  633. X                       message = (char *) 0;
  634. X                       }
  635. X                    id_message = ACTIVE(pid);
  636. X                    write_event(win,buff,E_LIST_ACCEPT);
  637. X                    }
  638. X                 break;
  639. X            case EVENT_PASTE:
  640. X                 if (IS_EVENT(win,event) && (buff= W(events[GET_EVENT(event)])))
  641. X                    write_event(win,buff,E_LIST_PASTE);
  642. X                 break;
  643. X            case EVENT_SNARFED:
  644. X                 if (IS_EVENT(win,event) && (buff= W(events[GET_EVENT(event)])))
  645. X                    write_event(win,buff,E_LIST_SNARF);
  646. X                 break;
  647. X            case EVENT_BSYS_DOWN:    /* No events for System Button, down or up. */
  648. X            case EVENT_BSYS_UP:    
  649. X            break;
  650. X            case EVENT_SHAPE:
  651. X            case EVENT_MOVE:
  652. X            case EVENT_DESTROY:
  653. X            case EVENT_REDRAW:
  654. X            case EVENT_COVERED:
  655. X            case EVENT_UNCOVERED:
  656. X            case EVENT_B1_UP:
  657. X            case EVENT_B2_UP:
  658. X            case EVENT_DEACTIVATED:
  659. X            case EVENT_ACTIVATED:
  660. X                 buff = W(events[GET_EVENT(event)]);
  661. X                 if (buff && *buff) {
  662. X                    Write(W(to_fd),buff,strlen(buff));
  663. X#ifdef DEBUG
  664. X                    dprintf(e)(stderr,"  sending %d [%s]\r\n",strlen(buff),buff);
  665. X#endif
  666. X                    }
  667. X#ifdef DEBUG
  668. X                 else
  669. X                    dprintf(e)(stderr,"  oops! nothing to send\r\n");
  670. X#endif
  671. X                 break;
  672. X            case EVENT_ACCEPT:
  673. X                 if (mode_ok(W(tty),MSG_MODEMASK) &&
  674. X                     message && (buff= W(events[GET_EVENT(event)]))) {
  675. X#ifdef DEBUG
  676. X                    dprintf(e)(stderr,"  accept: %d:  [%s]\r\n",strlen(buff),buff);
  677. X                    dprintf(c)(stderr,"  sent %d->%d: %s\r\n",
  678. X                               id_message,W(pid),message);
  679. X#endif
  680. X                    write_event(win,buff,E_LIST_ACCEPT);
  681. X                    }
  682. X#ifdef DEBUG
  683. X                 else {
  684. X                    dprintf(c)(stderr,"%d: can't send [%s] to %s\r\n",
  685. X                               id_message,message?message:"??",W(tty));
  686. X                    dprintf(e)(stderr,"  reject accept: %s %s %s\r\n",
  687. X                               mode_ok(W(tty),MSG_MODEMASK) ? "OK" :
  688. X                                              "BAD_MODE",
  689. X                               message?message:"NO MESSAGE",
  690. X                               buff?buff:"NO EVENT");
  691. X                    }
  692. X#endif
  693. X                 break;
  694. X#ifdef DEBUG
  695. X            default: 
  696. X                 dprintf(e)(stderr,"  oops! unknown event\r\n");
  697. X#endif
  698. X            } /* end switch */
  699. X        }
  700. X    return(0);
  701. X    }
  702. X
  703. X/* substitute %x into str, returns true if an area was swept. */
  704. X
  705. Xint
  706. Xsub_event(win,str,c,swept,count,args)
  707. Xregister WINDOW *win;
  708. Xregister char *str,c;
  709. Xint swept;     /* if swept, don't do sweeps */
  710. Xint count;     /* # of sweep args */
  711. Xint *args;     /* the arg list */
  712. X    {
  713. X    int sweep = 0;
  714. X    static int x,y;
  715. X    char *get_id(), *sprintf();
  716. X    int code;    /* for text sweeping */
  717. X
  718. X#ifdef DEBUG
  719. X    if (debug) {
  720. X        register int i;
  721. X        dprintf(e)(stderr,"%s) event (%c) args:",W(tty),c);
  722. X        for(i=0;i<count;i++)
  723. X            dprintf(e)(stderr," %d",args[i]);
  724. X        dprintf(e)(stderr,"\r\n");
  725. X        }
  726. X#endif
  727. X
  728. X    /* setup initial sweep conditions */
  729. X
  730. X    if (swept == 0) {    /* no sweep - set up initial conditions */
  731. X        if (count >=2) {
  732. X            x = args[0];
  733. X            y = args[1];
  734. X            }
  735. X        else if (c == E_SWTEXT || c == E_SWTEXTT) {
  736. X            x = 1;
  737. X            y = 0;
  738. X            }
  739. X        else {
  740. X            x = START_SIZE;
  741. X            y = START_SIZE;
  742. X            }
  743. X#ifdef DEBUG
  744. X        dprintf(e)(stderr,"initial sweep (x,y) = (%d,%d)\r\n",x,y);
  745. X#endif
  746. X        count = 0;
  747. X        }
  748. X
  749. X    switch(c) {
  750. X        case E_CPOS:    /* return mouse position (rows/cols) */
  751. X            sprintf(str,"%d %d",(mousex-(W(x0)+W(text).x))/FSIZE(wide),
  752. X                                (mousey-(W(y0)+W(text).y))/FSIZE(high));
  753. X            break;
  754. X        case E_POS:        /* return mouse position */
  755. X            if (W(flags)&W_ABSCOORDS)
  756. X               sprintf(str,"%d %d",mousex-W(x0),mousey-W(y0));
  757. X            else
  758. X               sprintf(str,"%d %d", (mousex-W(x0))*GMAX/BIT_WIDE(W(window)),
  759. X                                  (mousey-W(y0))*GMAX/BIT_HIGH(W(window)));
  760. X            break;
  761. X        case E_SWLINE:        /* sweep out line */
  762. X            sweep++;
  763. X            if (!swept)
  764. X               get_rect(screen,mouse,mousex,mousey,&x,&y,1);
  765. X            sprintf(str,"%d %d %d %d",mousex-W(x0),mousey-W(y0),
  766. X                                     mousex+x-W(x0),mousey+y-W(y0));
  767. X            break; 
  768. X        case E_SWRECT:        /* sweep out rectangle */
  769. X            sweep++;
  770. X            if (!swept)
  771. X               get_rect(screen,mouse,mousex,mousey,&x,&y,0);
  772. X            sprintf(str,"%d %d %d %d",mousex-W(x0),mousey-W(y0),
  773. X                                     mousex+x-W(x0),mousey+y-W(y0));
  774. X            break; 
  775. X        case E_SWRECTA:        /* sweep out rectangle */
  776. X            sweep++;
  777. X            if (!swept)
  778. X               get_rect(screen,mouse,mousex,mousey,&x,&y,0);
  779. X            sprintf(str,"%d %d %d %d",mousex,mousey,
  780. X                                     mousex+x,mousey+y);
  781. X            break; 
  782. X      case E_SWBOX:     /* sweep out box */
  783. X         sweep++;
  784. X         if (!swept)
  785. X            move_box(screen,mouse,&mousex,&mousey,x,y,1);
  786. X         sprintf(str,"%d %d",mousex-W(x0),mousey-W(y0));
  787. X         break;
  788. X      case E_SWBOXA:    /* sweep out box */
  789. X         sweep++;
  790. X         if (!swept)
  791. X            move_box(screen,mouse,&mousex,&mousey,x,y,1);
  792. X         sprintf(str,"%d %d",mousex,mousey);
  793. X         break;
  794. X        case E_SWTEXTT:        /* sweep out text */
  795. X        case E_SWTEXT:        /* sweep out text */
  796. X            sweep++;
  797. X            code = 0;
  798. X            if (!swept)
  799. X                code = get_text(screen,mouse,mousex,mousey,&x,&y,win,c);
  800. X            sprintf(str,code ? "%d %d %d %d" : "",
  801. X                    (mousex-(W(x0)+W(text.x)))/FSIZE(wide),
  802. X                    (mousey-(W(y0)+W(text.y)))/FSIZE(high),
  803. X                    x,y);
  804. X            break; 
  805. X        case E_NOTIFY:        /* get other windows notify text */
  806. X            for(win=active;win != (WINDOW *) 0;win=W(next)) {
  807. X               if (mousein(mousex,mousey,win,1))
  808. X                  break;
  809. X               }
  810. X            if (win && IS_EVENT(win,EVENT_NOTIFY))
  811. X               sprintf(str,"%.*s",SUB_SIZE-1,W(events[GET_EVENT(EVENT_NOTIFY)]));
  812. X            else
  813. X               sprintf(str,"");
  814. X            break; 
  815. X        case E_WHO:        /* send other windows id */
  816. X            for(win=active;win != (WINDOW *) 0;win=W(next)) {
  817. X               if (mousein(mousex,mousey,win,1))
  818. X                  break;
  819. X               }
  820. X            if (win)
  821. X               sprintf(str,"%.*s",SUB_SIZE-1,get_id(win));
  822. X            else
  823. X               sprintf(str,"");
  824. X            break; 
  825. X        case E_WHOSIZE:        /* send other windows size */
  826. X            for(win=active;win != (WINDOW *) 0;win=W(next)) {
  827. X               if (mousein(mousex,mousey,win,1))
  828. X                  break;
  829. X               }
  830. X            if (win)
  831. X               sprintf(str,"%d %d %d %d",
  832. X                       W(x0),W(y0),BIT_WIDE(W(border)),BIT_HIGH(W(border)));
  833. X            else
  834. X               sprintf(str,"");
  835. X            break; 
  836. X        case E_FROM:            /* see who message is from */
  837. X            sprintf(str,"%d",id_message);
  838. X            break; 
  839. X        case E_MESS:
  840. X            if (message)
  841. X               sprintf(str,"%.*s",SUB_SIZE-1,message);
  842. X            else
  843. X               *str = '\0';
  844. X            break; 
  845. X        case E_MSGSIZE:
  846. X            sprintf(str,"%d",message ? strlen(message) : 0);
  847. X            break; 
  848. X        case E_SNARFSIZE:                /* size of snarf buffer */
  849. X            sprintf(str,"%d",snarf ? strlen(snarf) : 0);
  850. X            break; 
  851. X        case E_SNARFBUF:                /* contents of snarf buffer */
  852. X            if (snarf)
  853. X               sprintf(str,"%.*s",SUB_SIZE-1,snarf);
  854. X            else
  855. X               *str = '\0';
  856. X            break; 
  857. X        case E_ESC:            /* the escape char */
  858. X            strcpy(str,"%");
  859. X            break; 
  860. X        }
  861. X    return(sweep);
  862. X    }
  863. X
  864. X/* write the event to a process */
  865. X
  866. Xwrite_event(win,str,list)
  867. XWINDOW *win;                /* window to get info about */
  868. Xchar *str;                /* event string */
  869. Xchar *list;                /* list of valid event chars */
  870. X    {
  871. X    char *index();
  872. X    char data[SUB_SIZE];
  873. X    int args[4];         /* arguments to sweep event */
  874. X    int count;           /* # of args */
  875. X    register char *start;
  876. X    char *end, *event_args();
  877. X    int swept = 0;            /* already did a sweep */
  878. X
  879. X    for(start=str;*start && (end=index(start,E_ESC));start=end+1) {
  880. X#ifdef DEBUG
  881. X        dprintf(e)(stderr,"  sending %d [%s]\r\n",strlen(str),str);
  882. X#endif
  883. X        if (end>start) 
  884. X            Write(W(to_fd),start,end-start);
  885. X        end = event_args(end,&count,args);
  886. X        if (index(list,*end)) {
  887. X            swept += sub_event(win,data,*end,swept,count,args);
  888. X            Write(W(to_fd),data,strlen(data));
  889. X            }
  890. X        }
  891. X    if (*start)
  892. X        Write(W(to_fd),start,strlen(start));
  893. X    if( swept )
  894. X        /* If we swept something, the button was down and is now up.  Notify
  895. X     do_button(). */
  896. X        do_button(0);
  897. X    }
  898. X
  899. X/* extract numeric argument from sweep events */
  900. X
  901. Xchar *
  902. Xevent_args(str,count,args)
  903. Xchar *str;        /*  beginning of args */
  904. Xint *count;       /* # of args */
  905. Xint *args;        /* where to put args */
  906. X    {
  907. X    register char c, *pntr = str;    /* 1st char of args */
  908. X
  909. X    while ((c = *++pntr) >= '0' && c <= '9' || c==',' || c=='-')
  910. X        ;
  911. X    *count = sscanf(str+1,"%d,%d,%d,%d",args,args+1,args+2,args+3);
  912. X    return(pntr);
  913. X    }
  914. X
  915. X/* compute a unique window id */
  916. X
  917. Xchar *
  918. Xget_id(win)
  919. Xregister WINDOW *win;
  920. X    {
  921. X    int sub = W(num);    /* subwindow number */
  922. X    int main = W(pid);    /* main window id */
  923. X    static char buff[6];
  924. X    char *sprintf();
  925. X    
  926. X    return(sprintf(buff,"%d.%d",main,sub));
  927. X    }
  928. END_OF_FILE
  929. # end of 'src/do_event.c'
  930. fi
  931. echo shar: End of archive 32 \(of 61\).
  932. cp /dev/null ark32isdone
  933. MISSING=""
  934. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 \
  935.     21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 \
  936.     38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 \
  937.     55 56 57 58 59 60 61 ; do
  938.     if test ! -f ark${I}isdone ; then
  939.     MISSING="${MISSING} ${I}"
  940.     fi
  941. done
  942. if test "${MISSING}" = "" ; then
  943.     echo You have unpacked all 61 archives.
  944.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  945. else
  946.     echo You still need to unpack the following archives:
  947.     echo "        " ${MISSING}
  948. fi
  949. ##  End of shell archive.
  950. exit 0
  951.