$ od -c -N 50000 [eris]<Lisp>KOTO>LISPUSERS>MULTIW.TEDIT!1 0000000 X E R O X \t M U L T I W \r 2 \r \r 0000020 4 \r \r 1 \r \r M U L T I W \r 1 \r \r 0000040 4 \r \r B y : C h r i s t o p 0000060 h e r L a n e ( L A N E @ S 0000100 U M E X - A I M . A R P A ) \r M 0000120 U L T I W c o n t a i n s t 0000140 h e b a s i c f u n c t i o 0000160 n s n e c e s s a r y f o r 0000200 a h i e r a r c h i c a l 0000220 w i n d o w e n v i r o n m e 0000240 n t . T h e f u n c t i o 0000260 n s p r o v i d e b o t h 0000300 t h e m e a n s t o l i n 0000320 k w i n d o w s a n d t h 0000340 e c h a n g e s t o t h e 0000360 s t a n d a r d w i n d o w 0000400 f u n c t i o n s t o h a 0000420 n d l e m u l t i w i n d o w 0000440 s i n a r e a s o n a b l 0000460 e w a y . O n l y t h e 0000500 m i n i m a l s u p p o r t 0000520 i s i n c o r p o r a t e d 0000540 s i n c e i t i s u n c 0000560 l e a r h o w m u l t i w i 0000600 n d o w s w i l l b e u s 0000620 e d i n d i f f e r e n t 0000640 s e t t i n g s . \r W i n d o w 0000660 s t h a t b e l o n g t o 0000700 o t h e r w i n d o w s w 0000720 i l l m o v e , c l o s e , 0000740 s h r i n k a n d o p e 0000760 n w h e n t h e i r s u p 0001000 e r w i n d o w d o e s . 0001020 A s u p e r w i n d o w 0001040 i s n o t a f f e c t e d 0001060 b y t h e w i n d o w f u 0001100 n c t i o n s o f i t s s 0001120 u b w i n d o w s ( b u t 0001140 c a n b e m a d e t o 0001160 b e ) . S u b w i n d o w 0001200 s c a n b e m o v e d , 0001220 c l o s e d , s h r u n k , 0001240 o p e n e d , a n d s o 0001260 f o r t h a s n o r m a l 0001300 w i n d o w s . W h e n b 0001320 u r i e d , m u l t i w i n d 0001340 o w s b u r y a s a g r 0001360 o u p , r e t a i n i n g t 0001400 h e i r r e l a t i v e l a 0001420 y e r i n g , b u t g o i n 0001440 g b e l o w u n r e l a t e 0001460 d w i n d o w s . \r T o g e 0001500 t t h e f u l l s u p p o 0001520 r t f o r m u l t i w i n d 0001540 o w s , ( M U L T I W A D V I 0001560 C E ) m u s t b e i n v o 0001600 k e d . T h i s f u n c t 0001620 i o n a d v i s e s s e v e 0001640 r a l s t a n d a r d w i n 0001660 d o w f u n c t i o n s t 0001700 o r e s e t t h e w i n d 0001720 o w l a y e r s a f t e r 0001740 t h e y p e r f o r m t h e 0001760 i r o p e r a t i o n s . 0002000 M u l t i w i n d o w s c a n 0002020 b e u s e d w i t h o u t 0002040 a d v i c e , b u t t h e 0002060 w i n d o w s w i l l h a 0002100 v e t o b e e x p l i c i 0002120 t l y r e s e t . C u r r 0002140 e n t l y t h e f u n c t i 0002160 o n s b e i n g a d v i s 0002200 e d a r e ( B U R Y W C L 0002220 E A R W M O V E W O P E N W 0002240 S H R I N K W ) . W h e r 0002260 e p o s s i b l e , f u n c 0002300 t i o n s o n t h e w i n 0002320 d o w s p r o p e r t y l i 0002340 s t w e r e c h a n g e d 0002360 r a t h e r t h a n a d v i 0002400 s i n g t h e e x i s t i n 0002420 g o n e s , t o k e e p 0002440 t h e s y s t e m a s c o 0002460 m p a t i b l e a s p o s s 0002500 i b l e w i t h a n y e n 0002520 v i r o n m e n t i t s u s 0002540 e d i n . \r I f t h e S u 0002560 p e r W i n d o w , o r S u 0002600 b W i n d o w L s t a r e N 0002620 I L i n f o l l o w i n g 0002640 f u n c t i o n s , t h e 0002660 y a r e p r o m p t e d 0002700 f o r w i t h \ M U L T I W 0002720 P R O M P T . \r ( M U L T I W 0002740 S U P E R W I N D O W S U B 0002760 W I N D O W L S T ) \t [ F u n c 0003000 t i o n ] \r S u b W i n d o w L 0003020 s t c a n b e a l i s t 0003040 o f w i n d o w s o r a 0003060 w i n d o w . M U L T I W 0003100 a d d s w i n d o w s i n 0003120 S u b W i n d o w L s t t o 0003140 S u p e r W i n d o w ' s S 0003160 U B W I N D O W L S T p r o p 0003200 e r t y i f i t e x i t 0003220 s , c r e a t e s i t o t 0003240 h e r w i s e ( W I N D O W A 0003260 D D P R O P ) . A l s o , 0003300 S u p e r W i n d o w g e t s 0003320 a d d e d t o t h e S U 0003340 P E R W I N D O W L S T p r o 0003360 p e r t y o f e a c h e l 0003400 e m e n t o f t h e S u b 0003420 W i n d o w L s t , p r o v i 0003440 d i n g p o i n t e r s i n 0003460 b o t h d i r e c t i o n 0003500 s ( c u r r e n t l y , t h 0003520 e m u l t i w i n d o w p a 0003540 c k a g e d o e s n o t u 0003560 s e t h e b a c k w a r d 0003600 p o i n t e r s , t h e y a 0003620 r e p r o v i d e d f o r 0003640 t h e u s e r ' s c o n v i 0003660 e n e n c e ) . S u p e r w 0003700 i n d o w a l s o g e t s 0003720 i t s w i n d o w f u n c t 0003740 i o n ( s e e \ M U L T I W 0003760 N E W F N S ) p r o p e r t i 0004000 e s r e d e f i n e d t o 0004020 t h e m u l t i w i n d o w 0004040 v e r s i o n s . \r W A R N I N 0004060 G : W i n d o w s t r u c t 0004100 u r e s m u s t b e D A G 0004120 s ( d i r e c t e d a c y c 0004140 l i c g r a p h s ) , t h 0004160 e r e s h o u l d b e n o 0004200 w a y a w i n d o w c a 0004220 n r e a c h i t s e l f b 0004240 y f o l l o w i n g o u t 0004260 t h e p o i n t e r s t o 0004300 i t s s u b w i n d o w s . 0004320 R e c u r s i v e w i n d o 0004340 w s t r u c t u r e s w i 0004360 l l c a u s e i n f i n i t 0004400 e l o o p i n g o f t h e 0004420 w i n d o w f u n c t i o n 0004440 s . \r ( M U L T I W F R E E 0004460 S U P E R W I N D O W S U B W 0004500 I N D O W L S T ) \t [ F u n c t 0004520 i o n ] \r S u b W i n d o w L s 0004540 t c a n b e a l i s t 0004560 o f w i n d o w s , a s i 0004600 n g l e w i n d o w , T o 0004620 r N I L . M U L T I W F R 0004640 E E f r e e s t h e l i n 0004660 k s f r o m S u p e r W i n 0004700 d o w t o t h e w i n d o 0004720 w s i n S u b W i n d o w L 0004740 s t a s w e l l a s t h 0004760 e p o i n t e r s b a c k 0005000 . I f S u b W i n d o w L 0005020 s t i s T , t h e n S u 0005040 p e r W i n d o w i s f r e 0005060 e d o f a l l i t s s u 0005100 b w i n d o w s ( a n d t h 0005120 e y o f i t ) . \r ( M U L 0005140 T I W A D V I C E ) \t [ F u n c 0005160 t i o n ] \r M U L T I W A D V I 0005200 C E a d v i s e s f u n c t 0005220 i o n s b a s e d o n t h 0005240 e s c r i p t s i n \ M U 0005260 L T I W A D V I S E D F N S . 0005300 T h e f u n c t i o n r e t 0005320 u r n s a l i s t o f t 0005340 h e a d v i s e d f u n c t 0005360 i o n s w h i c h s h o u l 0005400 d b e s a v e d i f o n 0005420 e w i s h e s t o U N A D 0005440 V I S E t h e f u n c t i o 0005460 n s ( w h i c h i s r e c 0005500 o m m e n d e d b e f o r e 0005520 a n o t h e r c a l l t o 0005540 ( M U L T I W A D V I C E ) ) . 0005560 \r ( M U L T I W G R A P H S 0005600 U P E R W I N D O W D I S P L 0005620 A Y W I N D O W ) \t [ F u n c t 0005640 i o n ] \r M U L T I W G R A P H 0005660 g r a p h s a w i n d o w 0005700 r e l a t i o n s t r u c t 0005720 u r e i n D i s p l a y W i 0005740 n d o w ( w h i c h c a n 0005760 b e N I L ) . U s e f u l 0006000 i n d e b u g g i n g r e 0006020 l a t i o n s h i p s b e t w 0006040 e e n w i n d o w s . T h 0006060 e G R A P H E R p a c k a 0006100 g e m u s t b e l o a d e 0006120 d t o u s e t h i s f u 0006140 n c t i o n . \r ( \ M U L T I 0006160 W G R A P H N O D E W I N D 0006200 O W ) \t [ F u n c t i o n ] \r 0006220 F u n c t i o n M U L T I W G 0006240 R A P H u s e s t o r e c 0006260 u r s i v e l y f o l l o w 0006300 d o w n t h e w i n d o w 0006320 l i n k s . \r M u l t i W i n d 0006340 o w W i n d o w F u n c t i 0006360 o n s \r M o s t a r e f u n 0006400 c t i o n a l l y i d e n t i 0006420 c a l t o t h e n o r m a 0006440 l w i n d o w f u n c t i o 0006460 n s e x c e p t t h e y p 0006500 e r f o r m t h e p r o p e 0006520 r t a s k o n a l l o f 0006540 t h e s u b w i n d o w s 0006560 a n d r e s e t t h e w i 0006600 n d o w s t r u c t u r e . \r 0006620 ( \ M U L T I W M O V E F N W 0006640 I N D O W N E W P O S I T I O 0006660 N ) \t [ F u n c t i o n ] \r ( \ 0006700 M U L T I W C L O S E F N W I 0006720 N D O W ) \t [ F u n c t i o n ] 0006740 \r ( \ M U L T I W S H R I N K F 0006760 N W I N D O W ) \t [ F u n c t 0007000 i o n ] \r ( \ M U L T I W E X P 0007020 A N D F N W I N D O W ) \t [ F 0007040 u n c t i o n ] \r ( \ M U L T I 0007060 W T O T O P F N W I N D O W ) 0007100 \t [ F u n c t i o n ] \r ( \ M U 0007120 L T I W B U R Y F N W I N D O 0007140 W ) \t [ F u n c t i o n ] \r ( \ 0007160 M U L T I W P R O M P T P R O 0007200 M P T S T R I N G ) \t [ F u n c 0007220 t i o n ] \r P r i n t s P r o 0007240 m p t S t r i n g i n P R O 0007260 M P T W I N D O W a n d r e 0007300 t u r n s a ( W H I C H W 0007320 ( G E T P O S I T I O N ) ) \0 \0 0007340 \0 \0 \0 003 ( L I S T ( ( P A G E 0007360 N I L ( F O L I O I N F O 0007400 ( A R A B I C ) S T A R T I N 0007420 G P A G E # 1 ) ( 0 0 6 0007440 1 2 7 9 2 ) ( ( F O L I O 0007460 N I L ( P A R A L O O K S ( 0007500 Q U A D C E N T E R E D ) C 0007520 H A R L O O K S ( S U P E R S 0007540 C R I P T 0 S I Z E 1 0 0007560 F A M I L Y M O D E R N O V 0007600 E R L I N E O F F S T R I K 0007620 E O U T O F F U N D E R L I 0007640 N E O F F S L O P E R E G 0007660 U L A R W E I G H T M E D I 0007700 U M ) F O R M A T I N F O ( 0007720 A R A B I C ) ) ( 1 7 4 3 6 0007740 2 8 8 3 6 ) N I L ) ( H 0007760 E A D I N G N I L ( H E A D 0010000 I N G T Y P E R U N N I N G H 0010020 E A D ) ( 8 4 7 4 4 4 4 4 0010040 3 6 ) N I L ) ( T E X T 0010060 N I L N I L ( 8 4 9 6 4 0010100 5 6 6 0 0 ) N I L ) ) ) ( 0010120 P A G E N I L N I L ( 0 0010140 0 6 1 2 7 9 2 ) ( ( F O L 0010160 I O N I L ( P A R A L O O K 0010200 S ( Q U A D C E N T E R E D 0010220 ) C H A R L O O K S ( S U P 0010240 E R S C R I P T 0 S I Z E 0010260 1 0 F A M I L Y M O D E R N 0010300 O V E R L I N E O F F S T 0010320 R I K E O U T O F F U N D E 0010340 R L I N E O F F S L O P E 0010360 R E G U L A R W E I G H T M 0010400 E D I U M ) ) ( 2 8 2 4 2 0010420 7 2 3 6 ) N I L ) ( H E A 0010440 D I N G N I L ( H E A D I N 0010460 G T Y P E R U N N I N G H E A 0010500 D ) ( 8 4 7 4 4 4 4 4 3 0010520 6 ) N I L ) ( T E X T N I 0010540 L N I L ( 8 4 9 6 4 5 6 0010560 6 0 0 ) N I L ) ) ) ( P A 0010600 G E N I L N I L ( 0 0 0010620 6 1 2 7 9 2 ) ( ( F O L I O 0010640 N I L ( P A R A L O O K S 0010660 ( Q U A D C E N T E R E D ) 0010700 C H A R L O O K S ( S U P E R 0010720 S C R I P T 0 S I Z E 1 0 0010740 F A M I L Y M O D E R N O 0010760 V E R L I N E O F F S T R I 0011000 K E O U T O F F U N D E R L 0011020 I N E O F F S L O P E R E 0011040 G U L A R W E I G H T M E D 0011060 I U M ) ) ( 2 8 2 4 2 7 2 0011100 3 6 ) N I L ) ( H E A D I 0011120 N G N I L ( H E A D I N G T 0011140 Y P E R U N N I N G H E A D ) 0011160 ( 8 4 7 4 4 4 4 4 3 6 ) 0011200 N I L ) ( T E X T N I L 0011220 N I L ( 8 4 9 6 4 5 6 6 0011240 0 0 ) N I L ) ) ) ) ) \0 \0 \0 \0 0011260 \0 005 \0 006 \0 ( \0 \0 \0 \0 001 310 \0 021 \0 \0 0011300 \0 004 002 003 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0011320 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 1 \0 \0 0011340 \0 \0 001 310 \0 \v \0 \0 \0 004 003 004 \0 \0 002 \0 0011360 \0 001 001 310 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0011400 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 0011420 212 \0 212 001 8 \0 006 \0 \0 \0 004 002 003 \0 \0 \0 0011440 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0011460 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 001 310 \0 \v \0 0011500 \0 \0 004 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0011520 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 0011540 212 \0 212 001 8 \0 \0 \0 \0 \0 004 002 004 \0 \0 \0 0011560 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0011600 \0 \0 \0 \0 \0 \0 D \0 \0 \0 \0 001 310 \0 \0 \0 0011620 \0 \0 \0 003 004 \0 \0 001 001 310 001 \0 \0 \0 \0 \0 0011640 \0 \0 \v P A G E H E A D I N G \0 \v 0011660 R U N N I N G H E A D \0 \0 \0 \0 \0 0011700 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 004 \0 0011720 \t \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 0011740 \0 \0 \0 001 \0 \0 024 \0 006 M O D E R N \0 0011760 \n \0 \0 \0 \0 \0 \0 002 \0 \0 024 \0 006 M O D 0012000 E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 ? \0 0012020 1 ( D E F A U L T F O N T 1 0012040 ( G A C H A 1 0 ) ( G A C H 0012060 A 8 ) ( T E R M I N A L 8 0012100 ) ) \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 024 \0 006 0012120 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0012140 \0 024 \0 006 M O D E R N \0 \f \0 \0 \0 \0 0012160 \0 \0 002 \0 \0 024 \0 006 M O D E R N \0 006 0012200 \0 \0 \0 \0 \0 \0 \0 \0 \0 024 \0 006 M O D E 0012220 R N \0 \n \0 \0 \0 \0 \0 \0 001 \0 \0 022 \0 004 0012240 L O G O \0 030 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0012260 \0 \0 \0 002 \0 006 \0 \0 \0 005 \0 \0 \0 \0 \t \0 0012300 \0 \0 001 \0 \0 \0 \0 \a \0 \0 \0 \a \0 \0 \0 \0 0012320 005 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 002 \0 001 \0 0012340 \v H R U L E . G E T F N 001 \0 024 \0 0012360 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 0012400 \0 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 0012420 \0 005 \0 \0 \0 002 \0 001 \0 \v H R U L E . 0012440 G E T F N 001 \0 024 \0 006 M O D E R N 0012460 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 0012500 \0 \0 003 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 002 \0 0012520 001 \0 \v H R U L E . G E T F N 001 \0 0012540 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 0012560 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 0012600 \0 002 \0 003 \0 \0 \0 \a \0 \0 \0 \0 006 \0 \0 \0 0012620 \0 \0 002 \0 003 \0 \0 \0 002 \0 001 \0 \v H R U 0012640 L E . G E T F N 001 \0 024 \0 006 M O D 0012660 E R N \0 \f \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 0012700 001 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 \0 005 \0 \0 0012720 \0 002 \0 001 \0 \v H R U L E . G E T F 0012740 N 001 \0 024 \0 006 M O D E R N \0 \f \0 \0 0012760 \0 \0 \0 \0 002 \0 \0 \0 \0 001 \0 \0 \0 \0 006 \0 0013000 \0 \0 \0 \0 002 \0 001 \0 \0 \0 , \0 \0 \0 \0 005 0013020 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 006 \0 \0 \0 \0 0013040 002 \0 \0 001 U \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 0013060 \0 004 \0 \0 001 221 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 0013100 002 \0 004 \0 \0 002 , \0 \0 \0 \0 003 \0 \0 \0 \0 0013120 \0 002 \0 004 \0 \0 \0 p \0 \0 \0 \0 003 \0 \0 \0 0013140 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 0013160 \0 \t \0 \0 \0 \0 005 \0 \0 \0 030 \0 \0 \0 \0 001 0013200 \0 \0 \0 \r \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 0013220 004 \0 \0 002 $ \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 0013240 \0 004 \0 \0 \0 371 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 0013260 002 \0 002 \0 \0 \0 2 \0 \0 \0 \0 005 \0 \0 \0 \0 0013300 \0 002 \0 004 \0 \0 001 006 \0 \0 \0 \0 003 \0 \0 \0 0013320 \0 \0 002 \0 002 \0 \0 \0 033 \0 \0 \0 \0 005 \0 \0 0013340 \0 \0 \0 002 \0 004 \0 \0 \0 373 \0 \0 \0 \0 003 \0 0013360 \0 \0 \0 \0 002 \0 002 \0 \0 \0 016 \0 \0 \0 \0 005 0013400 \0 \0 \0 031 \0 \0 \0 \0 001 \0 \0 \0 \r \0 \0 \0 0013420 \0 005 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 303 \0 \0 0013440 \0 \0 003 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 024 \0 0013460 \0 \0 \0 005 \0 \0 \0 006 \0 \0 \0 \0 001 \0 \0 \0 0013500 \r \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 004 \0 \0 0013520 \0 H \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 004 \0 0013540 \0 \0 034 \0 \0 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 0013560 003 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 234 \0 \0 \0 0013600 \0 003 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 017 \0 \0 0013620 \0 \0 005 \0 \0 \0 022 \0 \0 \0 \0 001 \0 \0 \0 \r 0013640 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 0013660 020 \0 \0 \0 \0 005 \0 \0 \0 006 \0 \0 \0 \0 \b \0 0013700 \0 \0 \r \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 002 0013720 \0 \0 \0 021 \0 \0 \0 \0 005 \0 \0 \0 006 \0 \0 \0 0013740 \0 \b \0 \0 \0 \r \0 \0 \0 \0 005 \0 \0 \0 \0 \0 0013760 002 \0 002 \0 \0 \0 021 \0 \0 \0 \0 005 \0 \0 \0 006 0014000 \0 \0 \0 \0 \b \0 \0 \0 \r \0 \0 \0 \0 005 \0 \0 0014020 \0 \0 \0 002 \0 002 \0 \0 \0 020 \0 \0 \0 \0 005 \0 0014040 \0 \0 006 \0 \0 \0 \0 001 \0 \0 \0 \r \0 \0 \0 \0 0014060 005 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 017 \0 \0 \0 0014100 \0 005 \0 \0 \0 006 \0 \0 \0 \0 \b \0 \0 \0 \r \0 0014120 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 017 0014140 \0 \0 \0 \0 005 \0 \0 \0 \f \0 \0 \0 \0 001 \0 \0 0014160 \0 \r \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 004 \0 0014200 \0 \0 H \0 \0 \0 \0 003 \0 \0 016 336 \0 a z 272 0014220