IMD 1.17: 5/01/2010 19:05:38 NGEN Context Manager II Manual   70-02044-1/1>a>a[Zm9|M^>ȋz>ptx0> tX."tB<t<u%` tMFƇ2@uLJ@yދd+w";fw>Ft;w3St2 2t'Ƈ2;$t@yuLJ@0uS.SƇ|pu61u/<t<t.t  Context Manager II Manual First Edition June 1986 09-01165-012\^ \@^\^@ @  X"@,  ((()P xxxx  Cubic PS 96              G B^\"10.3YĩPN{jq7l5 W%T<-^uXMؓ8'#ʯn*{n0-躏@!DTcDX0`ItuKK~x}Zx_/q<3b%͙ͮj/Zi uAPGdҔ똞Y\ӻ&Wg 9L$}q8m(ϭeaޣZ6pB7L}q7p3 "DT|sEF[e*BDN[Τ 8Hoy2_ LC|Vm"c:)+](?BQf JydhuRIn,)vUwZYɾˡ(bya膋@G!j@@BMMr#ALvO#zim#km!HjfS E:`#簊tFa;.eOl3#ʚ 4 >=&81_K{jp *)D[΃ Ho\2 #CVl:)Է+]?BeQrf:$ Jyd_h^R8,vUwZh 0ߧbGdۆJt@GGdj˄,M܈MrALMкz>i8kk}SuJEu`JsCQ;.툨O_Nl#͚ 4s @>@=A8F_1Jr>:%YĩPN{jq7l5 W%T<-^uXMؓ8'#ʯn*{n0-躏@!DTcDX0`ItuKK~x}Zx_/q<3b%͙ͮj/Zi uAPGdҔ똞Y\ӻ&Wg 9L$}q8m(ϭeaޣZ6pB7L}q7p3 "DT|sEF[e*BDN[Τ 8Hoy2_ LC|Vm"c:)+](?BQf JydhuRIn,)vUwZYɾˡ(bya膋@G!j@@BMMr#ALvO#zim#km!HjfS E:`#簊tFa;.eOl3#ʚ 4 >=&81_K{jpYUĪUNbze5W2T^ݲX~wVѱy]Ӆ#'xX{[n-諏[!cյ0ItK~}xu_Kxq\<3$%Ǘ+/GcuP_],N\&dg 9$m(zba??6>7p7a~x[ɽ𸳟"|sFe{g*DO[ν Ho2h -CVf:)Mԁ+ޭ]e?BQ|m$f Jqy6dQh*Rҡ,v~UxYwZyba漂ĥ@1Gj AGfMr,ALW$ziktF^=3S'E`4;m."VOvPl#~y_ߚ^ 4= 2>=8p11ƴ净E[YN΍%RsAGf5 W7gT^XwT§Fb攅蠊'ʉt{Hnj-d!F^c>:0&ںIt?K=~2}x_Iqq<73e%T꧙Gf/du#PvP锔늞+L\|m&%Źg$ 9$ǻrm=(3a裌6p7^׉3*ո,"^|1sFe*$*لD[ ZHo2 VCVgu:M)Ԋ+ގ]?BQVfuK wSJy+d>:&hRp,3vUwZɀ˓n*b2볚@GjM0rAL=5z i/k'SE` BN;Z.ϨONl=#3ܚO 4 >[=81è Y?6XkuM/hu(Pʗɔ뷞-\e&~yga 9$Юmb(ϜaP쑣6@ApE7[ȉ贊<"/|sFeo-*eD[f Ho2 C{Vh 0:)ԓ+o]/?B!Q?>f6 PJy d+ۭKhzdR,LvUwZ5 @CS3bTF`@Gpj1ӛ!MHirNALNVzzidk(Ց+SAFEa`}t;G.dO뒘l#ٚ@ C4O >=8b뢗1 6YYąۜNQȗҁh5 =W1Ty^`XiIp4r<'/{"n-^֏2!cs@D0XڜItQK~}x_bq< 3.% 1؎8/r=5 u-Pp2x[~v\NӇ&CRg 9x$Ym(9!a:&6p7Xb콟"|sFWe*nD*[ H4o2 CHViIo:/)Ԝ+P]?}BrQ;(f )Jydk|ph3R,vU$wZ8ߐb%@=8Hh1 7wV|nY) N1cîi5VWgT!^AFXbšׅ7'l{nM-菏 !EYc0ڍItKD~U}xY_q:O%l8#÷Ӛ" 4a >~=w8T91 $Ƹ囀 9YvNR 0nj{j5oW+ة;T*^"ݫX[њ昅'M{n-Hl!c BN0~IztcK~}x_q<3Hi% AHkzd/8̏ u7Pjh >:% \ ӡ&)g z9b$뻗m(sCaO쌣6p7R%iS"*|s+Fe>8*xXD[b Ho?2=2 CVk{i:)VԮ+j]^?7BQefy_ ۧGJfydh;R',3vUVwZwTGfJbvOΆ /@GjDVh M7frAL$С)zikUWȑܔS覉E`q6\;.GcO’l#g\К b4 >=\8 15 1dY`Ns@BMHk5WIpT3^XTs8Fe YUĪUNbze5W2T^ݲX~wVѱy]Ӆ#'xX{[n-諏[!cյ0ItK~}xu_Kxq\<3$%Ǘ+/GcuP_],N\&dg 9$m(zba??6>7p7a~x[ɽ𸳟"|sFe{g*DO[ν Ho2h -CVf:)Mԁ+ޭ]e?BQ|m$f Jqy6dQh*Rҡ,v~UxYwZyba漂ĥ@1Gj AGfMr,ALW$ziktF^=3S'E`4;m."VOvPl#~y_ߚ^ 4= 2>=8p11ƴ净E[YN΍%RsAGf5 W7gT^XwT§Fb攅蠊'ʉt{Hnj-d!F^c>:0&ںIt?K=~2}x_Iqq<73e%T꧙Gf/du#PvP锔늞+L\|m&%Źg$ 9$ǻrm=(3a裌6p7^׉3*ո,"^|1sFe*$*لD[ ZHo2 VCVgu:M)Ԋ+ގ]?BQVfuK wSJy+d>:&hRp,3vUwZɀ˓n*b2볚@GjM0rAL=5z i/k'SE` BN;Z.ϨONl=#3ܚO 4 >[=81è Y?6XkuM/hu(Pʗɔ뷞-\e&~yga 9$Юmb(ϜaP쑣6@ApE7[ȉ贊<"/|sFeo-*eD[f Ho2 C{Vh 0:)ԓ+o]/?B!Q?>f6 PJy d+ۭKhzdR,LvUwZ5 @CS3bTF`@Gpj1ӛ!MHirNALNVzzidk(Ց+SAFEa`}t;G.dO뒘l#ٚ@ C4O >=8b뢗1 6YYąۜNQȗҁh5 =W1Ty^`XiIp4r<'/{"n-^֏2!cs@D0XڜItQK~}x_bq< 3.% 1؎8/r=5 u-Pp2x[~v\NӇ&CRg 9x$Ym(9!a:&6p7Xb콟"|sFWe*nD*[ H4o2 CHViIo:/)Ԝ+P]?}BrQ;(f )Jydk|ph3R,vU$wZ8ߐb%@=8Hh1 7wV|nY) N1cîi5VWgT!^AFXbšׅ7'l{nM-菏 !EYc0ڍItKD~U}xY_q:O%l8#÷Ӛ" 4a >~=w8T91 $Ƹ囀 9YvNR 0nj{j5oW+ة;T*^"ݫX[њ昅'M{n-Hl!c BN0~IztcK~}x_q<3Hi% AHkzd/8̏ u7Pjh >:% \ ӡ&)g z9b$뻗m(sCaO쌣6p7R%iS"*|s+Fe>8*xXD[b Ho?2=2 CVk{i:)VԮ+j]^?7BQefy_ ۧGJfydh;R',3vUVwZwTGfJbvOΆ /@GjDVh M7frAL$С)zikUWȑܔS覉E`q6\;.GcO’l#g\К b4 >=\8 15 1dY`Ns@BMHk5WIpT3^XTs8Fe*)D[΃ Ho\2 #CVl:)Է+]?BeQrf:$ Jyd_h^R8,vUwZh 0ߧbGdۆJt@GGdj˄,M܈MrALMкz>i8kk}SuJEu`JsCQ;.툨O_Nl#͚ 4s @>@=A8F_1Jr>:%YĩPN{jq7l5 W%T<-^uXMؓ8'#ʯn*{n0-躏@!DTcDX0`ItuKK~x}Zx_/q<3b%͙ͮj/Zi uAPGdҔ똞Y\ӻ&Wg 9L$}q8m(ϭeaޣZ6pB7L}q7p3 "DT|sEF[e*BDN[Τ 8Hoy2_ LC|Vm"c:)+](?BQf JydhuRIn,)vUwZYɾˡ(bya膋@G!j@@BMMr#ALvO#zim#km!HjfS E:`#簊tFa;.eOl3#ʚ 4 >=&81_K{jp *)D[΃ Ho\2 #CVl:)Է+]?BeQrf:$ Jyd_h^R8,vUwZh 0ߧbGdۆJt@GGdj˄,M܈MrALMкz>i8kk}SuJEu`JsCQ;.툨O_Nl#͚ 4s @>@=A8F_1Jr>:%YĩPN{jq7l5 W%T<-^uXMؓ8'#ʯn*{n0-躏@!DTcDX0`ItuKK~x}Zx_/q<3b%͙ͮj/Zi uAPGdҔ똞Y\ӻ&Wg 9L$}q8m(ϭeaޣZ6pB7L}q7p3 "DT|sEF[e*BDN[Τ 8Hoy2_ LC|Vm"c:)+](?BQf JydhuRIn,)vUwZYɾˡ(bya膋@G!j@@BMMr#ALvO#zim#km!HjfS E:`#簊tFa;.eOl3#ʚ 4 >=&81_K{jpYUĪUNbze5W2T^ݲX~wVѱy]Ӆ#'xX{[n-諏[!cյ0ItK~}xu_Kxq\<3$%Ǘ+/GcuP_],N\&dg 9$m(zba??6>7p7a~x[ɽ𸳟"|sFe{g*DO[ν Ho2h -CVf:)Mԁ+ޭ]e?BQ|m$f Jqy6dQh*Rҡ,v~UxYwZyba漂ĥ@1Gj AGfMr,ALW$ziktF^=3S'E`4;m."VOvPl#~y_ߚ^ 4= 2>=8p11ƴ净E[YN΍%RsAGf5 W7gT^XwT§Fb攅蠊'ʉt{Hnj-d!F^c>:0&ںIt?K=~2}x_Iqq<73e%T꧙Gf/du#PvP锔늞+L\|m&%Źg$ 9$ǻrm=(3a裌6p7^׉3*ո,"^|1sFe*$*لD[ ZHo2 VCVgu:M)Ԋ+ގ]?BQVfuK wSJy+d>:&hRp,3vUwZɀ˓n*b2볚@GjM0rAL=5z i/k'SE` BN;Z.ϨONl=#3ܚO 4 >[=81è Y?6XkuM/hu(Pʗɔ뷞-\e&~yga 9$Юmb(ϜaP쑣6@ApE7[ȉ贊<"/|sFeo-*eD[f Ho2 C{Vh 0:)ԓ+o]/?B!Q?>f6 PJy d+ۭKhzdR,LvUwZ5 @CS3bTF`@Gpj1ӛ!MHirNALNVzzidk(Ց+SAFEa`}t;G.dO뒘l#ٚ@ C4O >=8b뢗1 6YYąۜNQȗҁh5 =W1Ty^`XiIp4r<'/{"n-^֏2!cs@D0XڜItQK~}x_bq< 3.% 1؎8/r=5 u-Pp2x[~v\NӇ&CRg 9x$Ym(9!a:&6p7Xb콟"|sFWe*nD*[ H4o2 CHViIo:/)Ԝ+P]?}BrQ;(f )Jydk|ph3R,vU$wZ8ߐb%@=8Hh1 7wV|nY) N1cîi5VWgT!^AFXbšׅ7'l{nM-菏 !EYc0ڍItKD~U}xY_q:O%l8#÷Ӛ" 4a >~=w8T91 $Ƹ囀 9YvNR 0nj{j5oW+ة;T*^"ݫX[њ昅'M{n-Hl!c BN0~IztcK~}x_q<3Hi% AHkzd/8̏ u7Pjh >:% \ ӡ&)g z9b$뻗m(sCaO쌣6p7R%iS"*|s+Fe>8*xXD[b Ho?2=2 CVk{i:)VԮ+j]^?7BQefy_ ۧGJfydh;R',3vUVwZwTGfJbvOΆ /@GjDVh M7frAL$С)zikUWȑܔS覉E`q6\;.GcO’l#g\К b4 >=\8 15 1dY`Ns@BMHk5WIpT3^XTs8Fe  6 NOTES FOR THE PROGRAMMER From the application programmer's viewpoint, CM makes itself part of the operating system, to provide an environment that allows you to run several applications at once. CM AND ITS RELATIONSHIP TO THE OPERATING SYSTEM The operating system resides in one partition of memory, and CM is in another partition. Initially, the rest of memory is unallocated. When you start an application, the operating system creates a partition in memory for it and then moves the application into this partition. WHAT RUNS UNDER CM? With CM installed, most existing applications can run without change, and in fact without recompiling or relinking. But to create more precise partitions, it is recommended that you relink with the Bind command. (See "Invoking the Linker," in the Linker/Librarian Manual.) Programs that require change to run with CM installed are the following: o a program that writes directly to the screen map in memory o a program that contains a "busy wait" loop that does not allow the processor to give up the keyboard when the program is waiting to read keystrokes o a program that changes a value in the low-memory interrupt vector table directly in memory o a program that positions the cursor using the video controller port o a program that changes the Exit Run file PROGRAMS THAT WRITE DIRECTLY TO THE SCREEN MAP Each memory partition has a system structure called the video pointer map and an associated application character map. The video pointer map is an array of pointers, one for each line of the screen, that always point to the location of the associated line of the application's screen. The application character map is a memory area where lines of the screen (the video lines) are stored when an application is running in background. CM controls the mapping of the video lines to ensure that the output from all write requests goes to the correct place: either to the real screen or to the application character map. The Video Access Method (VAM) and Video Display Management (VDM) do this mapping invisibly to the application. Therefore, programs that use these calls work automatically. Programs that write directly to the screen, however, cannot be detected; the output from their write requests goes directly to the screen whether they own the lines of the screen or not. NOTE Rather than write directly to the screen, it is strongly recommended that you use VAM to write to the display, especially if you intend your application to run in a windowed environment. ____________________________________________________________ To allow your programs that write directly to the screen to work, you can use three system common operations: LockVideo UnLockVideo GetpStructure For details on the use of these operations, see the CTOS II Reference Manual. During initialization, you must first get a pointer to the video pointer map. (The name of the video pointer map is rgpVidMemLine.) You do this by calling GetpStructure and passing a value of lGetpRgpVidMemLine. The returned pointer points to the video pointer map. Later in the program, when you want to move characters to the screen, you must lock all the video structures so that they will not be changed by other programs while you are using them. This is done by a call to LockVideo. To do the actual write, you need to have a structure that looks like a single line of the video and is based on the appropriate pointer entry in the video pointer map. When your write is finished, you must unlock the structures by calling UnLockVideo. The series of locking, writing, and unlocking should be done on a line-by-line basis. Because these operations lock the video during a write, they ensure that one program writing to the screen does not interfere with another one that is writing at the same time. NOTE If these calls are not used, CM does not permit the program to run in background: It suspends the program and displays the status Stopped. ____________________________________________________________ "BUSY WAIT" LOOPS In dealing with the keyboard, a program  are described in the CTOS II Reference Manual. Detection of dirty programs is not flawless. If you have such a program, you should change it: Unpredictable and unfavorable results, such as multiple cursors, overlapping text from several applications, and so on, may occur. PROGRAMS THAT RUN UNDER WINDOWS Although any program that runs under CM can also run under Windows, you must follow certain rules with those programs that run under both: o Do not get a pointer to the video map. (That is, do not use GetpStructure to access rgpVidMemLine.) o Use only VAM to write to the display. When programs abide by the rules by using VAM and/or Windows, they are called "conforming" programs. When they "break" the rules by using pointers to the video map, they are callshould not use a "busy wait" loop. The normal way to read keystrokes from the keyboard is to issue a CTOS ReadKbd with mode 0. A busy wait may be generated by a program that uses calls to ReadKbdDirect with mode 1. Since mode 1 means that the operating system returns immediately whether a character is available or not, the program loops, waiting for a character to arrive. When a program is running in foreground, CM raises its priority (that is, gives it a lower numeric value); when a program runs in background, its priority goes back to normal. If a program contains a busy loop and is running in foreground, its priority is higher than those of other programs in background. Because this foreground program never waits, background programs can never get any processor time, and therefore they stop running. LOW-MEMORY INTERRUPT VECTOR TABLE If a single application is running, it may change any value in the low-memory interrupt vector table without problems. Because more than one application can run under CM, each application must inform the operating system that it wants to change one of the values in this table. To do this, use either of the following CTOS calls: SetIntHandler SetTrapHandler Use SetIntHandler if your application should not be swapped, for example, if the handler that you are providing is a hardware interrupt service routine. Use SetTrapHandler to allow your application to be swapped out. For example, if the handler that you are providing is a software interrupt service routine, your program can be swapped, because no interrupts of this type can occur while the program is swapped out. (See the CTOS II Reference Manual for more information.) POSITIONING THE CURSOR Since a program cannot know whether it is running in foreground or background, it must not pass values to the video controller port to move the cursor. Instead, the CTOS procedure PosFrameCursor should be used to position the cursor. APPLICATIONS SUSPENDED IN BACKGROUND An application that writes to the screen directly, uses the video controller port, or in any other way interferes with normal operation under CM is called a "dirty" program. To avoid unpredictable results, contexts are referred to as clean or dirty according to the following rules: Tentatively clean Contexts start in this state. Tentatively dirty Contexts in the tentatively clean state go to this state if they do a ResetVideo. Absolutely clean Contexts go into this state if they do any of the following: GetPStructure (lprgpVidMemLine) InitVidFrame NotifyCM (not lMarkDirty) Absolutely dirty Contexts go into this state if they do NotifyCM (lMarkDirty). When a dirty context is not on the screen (that is, when it is in the background), it is suspended. This is true whether a context is tentatively or absolutely dirty. NOTE If you have Windows installed on your system, the rules described above do not apply to your program. Programs that run under CM with Windows must conform to a different set of rules. See "Programs That Run Under Windows," below, for more information. ____________________________________________________________ Note that the procedure calls mentioned above do not contain complete parameter lists. See "Communication with CM," below, for a description of the NotifyCM procedure call. The other calls  ed "nonconforming." The programs that run under Windows are the following. 1. Conforming programs that are window-aware o Conforming programs that are window-aware use VAM and Windows. o The windows of these programs have borders and can be sized. o These applications may be informed of changes to the window size and decide to reformat the data displayed in the window. Thus, the program becomes aware that its size has changed. The Windows program notifies the application program about the change in window size by responding to an outstanding Window Event request. (See the Window Services Manual for a complete description of window requests.) 2. Conforming programs that are not window-aware o Conforming programs that are not window-aware use only VAM. o The windows of these programs have borders and can be sized. When the window changes its size, the Windows program does not notify the application, because there is no Window Event request outstanding. Thus the program is not aware that its window size has changed. The program continues to operate as if it had a full screen. If you make the window smaller, the contents of the entire screen will not be visible in the smaller window. (For example, the function key menu or messages may not show up on the smaller screen.) The program has not been informed that its size has changed, so it does not reformat its window accordingly. It still operates as if everything were visible. A user of nonwindow-aware programs can make the "hidden" contents of a window visible by using the Action key in combination with the Arrow keys and Scroll keys. (See Table 44, "Making Hidden Window Contents Visible.") 3. Nonconforming programs that are not window-aware o Nonconforming programs that are not window-aware use the video pointer map to write directly to the character map. That is, they use rgpVidMemLine by calling GetpStructure. These programs might use VAM. o The windows of these programs do not have borders and cannot be sized. The screen must always be full size. When the window of one of these programs is on top, it covers all other windows. o When these programs go into background, they continue to run, although their video is suspended. All video I/O goes to the application character map. EXIT RUN FILE When the user selects an application to start from CM, CM loads the Run file and sets the Exit Run file to CmNull.run. Therefore, when the selected application finishes, CmNull.run is executed. CmNull.run sends a message to CM asking CM to terminate this context.  Upon receiving this message, CM terminates the context that sent it. If you write an application that changes the Exit Run file, CM never gets the message that the program has ended. Therefore, in such a case, you must provide a way to run CmNull.run. For example, the Executive sets itself as the Exit Run file. Thus, when an application that was started from the Executive finishes, the Executive is reloaded. The Executive command Finish Executive invokes CMNull.run, thus allowing the user to return to CM. APPLICATIONS THAT CANNOT BE SWAPPED Certain calls to CTOS, such as SetCommIsr and SetIntHandler, identify an application as one that cannot be swapped. Real-time and communications applications that include such calls are recognized as not swappable, and CM never tries to swap them to the disk. If you wish to ensure that your application is not swapped out, add a call to the CTOS routine SetSwapDisable. From there on, the application cannot be swapped out. (See the CTOS II Reference Manual for more information.) COMMUNICATION WITH CM Applications can communicate with CM using the Interprocess Communication facility (IPC) in CTOS. (See the CTOS II Concepts Manual for more information on the use of IPC.) CM waits for the user to type some Action-keystroke or for a message from an application. An example of the latter is when the Executive sends a message to CM telling it the last command that the user entered. The communication is achieved by means of an operating system call, NotifyCM, which is defin a program calls CM to start a new application, the caller is considered to be the parent context, and the new application is referred to as the child. When a child context is terminated, CM assigns the keyboard, screen, and Mouse (if there is one) to the parent context. A context may be dependent on its parent for survival, so that when its parent is terminated, it also is terminated. If a parent context is terminated for any reason, all its dependent child contexts are terminated, and CM becomes the parent of contexts that were not dependent. CONTEXT HANDLE When an application is first loaded, CM assigns to it a unique identifier known as its context handle (ch). The context handle is needed for all subsequent calls to CM regarding that context. A contexted in Chapter 7, "Operations." COMMUNICATION BETWEEN APPLICATIONS INTERCONTEXT MESSAGE SERVER Applications that are running in separate partitions under CM can communicate with each other by passing messages using the Intercontext Message Server (ICMS). Messages can be of arbitrary length and format. A context sends a message to another context by sending it to ICMS, specifying the context handle of the receiver. (Each context is identified by a context handle that CM assigns when it is first loaded. See "CM as a Server," below, for a discussion of the context handle.) The receiver can either wait for a message to arrive or periodically check for the arrival of a message. In this regard, ICMS is similar to IPC. It differs from IPC in one important way. Under IPC, only the address of the message is transferred. If the context sending the message is swapped to disk before the message is received, this method may not work. Even though IPC has the address of the message, the memory space occupied by the message may be overwritten by another context that was swapped into the same physical partition. Under ICMS, the message itself is copied into ICMS' memory space, where it waits for the receiver to claim it. Because the actual message is copied, you can write programs to use ICMS to pass messages without worrying about swapping problems. When ICMS' memory space for messages is exhausted, ICMS writes the messages to a disk file. The user configures the amount of memory allocated for ICMS message saving using the CM Editor. Function key F9 in the CM Editor is assigned to ICMS. Pressing this key causes an editing area to "pop-up" for the ICMS Run file and the number and size of messages. The default is one message of 200 bytes. (These values are correct for the Document Designer.) If ICMS is to be used constantly, you may wish to have it installed at system initialization through an entry in the JCL file. See "Function Key Menu" in Chapter 5 for details. ICMS queues messages and dispenses them on a first-in-first-out basis. For more information, see the Engineering Update for the CTOS II System Administrator's Guide. PROCEDURAL INTERFACES The following procedural interfaces are described in detail in Chapter 7, "Operations." ICMSCurrentVersion ICMSCheck ICMSFlush ICMSSend ICMSWait CM AS A SERVER CM provides programmatic interfaces to its internal functions of starting, switching, and terminating contexts. In short, anything the user can do from the CM screen is available as a procedure call. Together with ICMS, which allows programs in different partitions to communicate, these calls form tools to build a system of integrated programs. The Document Designer makes extensive use of the functionality described here. The Document Designer allows a user to prepare a document that may contain text, graphics, spreadsheets, and/or voice. The user is unaware that separate programs are actually running to handle the different pieces of the document. CM and ICMS provide services that allow the complete integration of full applications such as Word Processor, Multiplan, and the Business Graphics Package. PARENT/CHILD RELATIONSHIP OF CONTEXTS Every context has a parent. When the user starts a new application from the CM screen, that context's parent is CM. When   handle differs from a user number in that it allows for differentiation of contexts over time. For example: A user installs CM and chooses to start application A from the CM screen. The user finishes from application A and the CM screen reappears. The user again chooses application A. The first and second invocations of application A have the same user number. However, they have different context handles so that it is possible to tell them apart. If a program is to switch to another context, the program must supply the context handle of the target context. Also, to send a message by means of ICMS, a program must determine the context handle of the receiver. The following are three examples of how to do so. 1. The sender is a parent context that wishes to send a message to one of its child contexts. The context handle of the child is returned by CM when the parent starts the child. 2. The sender is a child context that wishes to send a message to its parent. The child can call CMQueryParent to determine the context handle of its parent. 3. The sender and receiver are running concurrently. Both contexts should use the SetPartitionName routine to set the name of their partitions. If context A wishes to switch to context B, context A can issue a GetPartitionHandle using the name of B. Then, using the returned user number (userNum), it can call TranslatePhToCh to find the context handle of B. NOTE If a program is loaded by means of a call to Chain or Exit, the context handle stays the same. For example, the context handle for all programs started from the Executive in a partition is the same. Only after a Finish Executive command is given and a new Executive is reloaded does the context handle change. ____________________________________________________________ There are two reserved context handles. The context handle of CM is 0, and 0FFFFh represents the nil context handle. STARTING AND SWITCHING CONTEXTS A program running in one context can call CM to start a new application in another context. Similarly, a program in one context can call CM to switch ownership of the keyboard, screen, and Mouse (if there is one) to another context. The following is a discussion of a problem that may be encountered when starting a new context or switching to an existing one. In some cases, the caller may need to swap out before the next context can be loaded. However, the outstanding request to start the new context causes the caller to be marked unswappable, thereby causing a deadlock. To solve this problem, the caller context must use two requests. The first request supplies the information about the new context to start. CM responds to the first request, and then attempts to start the new context. The second request is sent so that CM can return any error that was generated during the process of starting the new context. To make this sequence easier for the programmer, the routines CMStartAppl and CMSwitchContext are provided. They make calls to start or switch, and then call to check the status code. Using these routines, you can perform a start or switch by coding a single call. The use of these routines is highly recommended. Whenever a new application is started, any path information not explicitly entered in the Configuration file for that application is inherited from the parent context. CHECK FOR INSTALLATION If you are writing code that depends on CM and, optionally, ICMS being installed, your code should include calls to CMCurrentVersion and, if appropriate, ICMSCurrentVersion. These routines check to ensure that the proper CM (and ICMS) loadable requests that come from the file, Request.7.sys, were loaded when the workstation was booted. If CM (and ICMS) are not installed, calls to CM or ICMS return status code 33 (no such service). If the loadable request file is not present, such calls return status code 31 (service not available). CM SCREEN CM is designed to allow you to create a system of cooperating programs that take advantage of CM functionality without using the CM screen. In fact, you time library that clears the screen and then chains to your program. USING CrashDump.sys AS YOUR SWAP FILE It is convenient to use the CrashDump.sys file, created when the disk is initialized, as a Swap file because this file is contiguous, and this use of disk space is efficient. (When you initialize your disk using the IVolume utility, you must specify the size of this file; otherwise, its length will be 0.) If you use this file for swapping, be sure that you have an alternate administrative user name on your system that does not load CM at signon. (See "Creating the Swap File," in Chapter 5 and the CTOS II Concepts Manual.) After a system failure, the boot ROM writes the contents of memory to CrashDump.sys as part of the boot sequence. Suppose you si can write a system of programs that use CM configured in such a way that, if desired, the user never sees the CM screen. If you use the Autostart facility, you can configure CM at installation to automatically start one or more applications. (For more information, see "Autostart Ordering" under "Screen Areas and Functions," in Chapter 5.) The screen appears as follows: Installing Context Manager . . . done. AutoStarting . . . The next thing the user sees is the last application autostarted. The CM screen does not appear. When a context calls the routines to start a new application or switch to an existing context, the CM screen does not appear. Finally, when SignOn.run is run in a context and there are no other active contexts, or all other context(s) are Executives at the command line, the user is logged out without seeing the CM screen. Thus you can design your own interface to CM. A small "main screen" driver can be written to run in a small partition. This program can be autostarted when CM is installed. The driver can then present the user with a list of things to start, in whatever form you design. When the choice is made, the driver calls CM to start the new application. Since the applications are started from the driver, the driver is the parent of all contexts. Whenever a child context is finished, the driver screen reappears. Finally, when the user wishes to log out, the driver program chains to SignOn.run, CM is deinstalled, and the user is presented with the SignOn screen. If the partition for the driver is too small for SignOn to run, you can simulate SignOn by making the following call: erc = NotifyCM(3, 0, 0); CM will think that your program is SignOn and log you out. While CM is installed, the CM screen is always present and updated properly, but the user can see it only by pressing ActionGo. This mode of operation is analogous to that of the Debugger screen. PROCEDURAL INTERFACES The following procedural interfaces are described in detail under "Operations," in Chapter 7. CMCurrentVersion CMQueryConfigFile CMQueryContextHandle CMQueryErc CMQueryParent CMSetParent CMStartAppl CMStartApplByBlock CMStartApplByName CMSwitchContext CMSwitchToExistingContext CMTerminateContext CMTranslateChToPh CMTranslatePhToCh PLACING INFORMATION IN THE CM CONFIGURATION FILE You can place in the CM Configuration file any information that your program needs to read when it is running. To do so, use the More (F10) key in the CM Editor to overlay an editing area for this information on the command editing area. Information should be provided in the syntax :Field:Value CM does not check this field for information. As an example, the Document Designer identifies cooperating programs by use of the following field: :DDObjectEdited:nnn where nnn specifies the object type that the current entry edits. See Chapter 5, "Setting up Context Manager II," for a description of the CM Editor. INVOKING PROGRAMS THAT USE RUN-TIME LIBRARIES In some languages, for example, versions of Pascal previous to 9.1, a program that is linked with the standard run-time library cannot be invoked directly from CM. You can invoke programs such as these by responding yes to the `Needs Exec screen?{ field in the CM Editor. Alternatively, you can write a small program without the run- gn on afterward as a user configured to load CM and autostart the Document Designer. You want to start the Executive in order to examine the contents of CrashDump.sys. If the system is configured in such a way that the Document Designer must be swapped out at this point, it overwrites the contents of CrashDump.sys. The solution is to sign on after the system failure using the administrative user name, which loads the Executive directly. (Such a user name also enables you to avoid booting the system from a floppy disk in the case of a reproducible system failure while CM or an autostarted application is being loaded.) ESTIMATING MEMORY REQUIREMENTS The memory requirement of each defined application must be supplied to the CM Configuration File Editor when the system is configured. For an application that you write, typically you can obtain the Run file size from the Map file generated by the Linker. Find the last entry in the second column of the Map file: This hexadecimal entry is the size in bytes. In the example below, the correct entry, 07D10H, is shown in boldface. Start Stop Length Name Class 00000H 0016CH 016DH EXBUF_CODE CODE 0016EH 00516H 03A9H EXCLOK_CODE CODE . . . . . . . . . . . . . . . 075C0H 07D0FH 0750H STACK STACK 07D10H 07D10H 0000H MEMORY MEMORY 07D10H 07D10H 0000H ??SEG Convert the boldfaced value, above, to decimal. Examine all calls to AllocMemoryLL and AllocMemorySL, find the total of all memory that the program could allocate while running, and add this total to the above value. If the Run file is made with the Bind command, take the minimum and maximum data size from the binding. Add the minimum size to the above boldfaced value to get a total minimum, and add the maximum size to get a total maximum. This gives the range of partition sizes in which the program will run. Divide the result by 1024, rounding up if there is a fractional remainder. If your program has overlays, the procedure is the same, except that you should take from the Map file the last entry in the second column before the Overlay 0 subheading. In the case of a program that tunes itself based on the amount of memory available (that is, calls AllocAllMemorySL), the situation is less well-defined. The best approach is to instruct the user to create as large a partition as is practical to accommodate this Run file, and then to identify a Run file size to fit this partition. DETERMINING THE SIZE OF A PARTITION When you enter the amount of memory required by an application (in the Memory Required field of the CM Configuration File Editor), you can create one of the following types of partitions: o a variable sized partition, specified by entering [nnn (where nnn is the size in K bytes) or by entering [0 o a fixed sized partition, specified by entering nnn, or 0 (or leaving a blank space) A Variable Sized Partition When you specify you want a variable sized partition by using a less-than sign ([nnn), you are indicating that the size of the partition should not exceed a given maximum amount. CM and the operating system then create a partition based on the sizing information in your Run file. (A sized Version 6 Run file has this information. It specifies the minimum and maximum amount of memory required by your program. To create a Version 6 Run file, you must use the Bind command. See "Invoking the Linker," in the Linker/Librarian Manual.) NOTE Unsized Version 6 Run files and Version 4 Run files do not contain sizing information and will therefore use the maximum amount of memory specified. ____________________________________________________________ You are also creating a variable sized partition when you specify [0. A partition is created that does not exceed the maximum amount in the Run file or in available memory. The partition that is created is determined by the following: o If the maximum size in the Run file is less than the amount you entered (the amount you entered is hereafter called the CM size), a partition is created equal to the maximum size in the Run file. o If the CM size is less than the   X"@&'*+,@ H <0$  @ x00Z@ <00Z0hmnuvyڌݗژݡڢݥ o/ o@ 0x, @ 0 0 <0@ 0 0 x0 @ <00Z@ H x0*maximum size in the Run file, a partition is created equal to the CM size. For example, suppose you start an Executive that is a sized Version 6 Run file that has a minimum of 120K bytes of memory and a maximum of 200K bytes. You enter [300 in the Memory Required field. In this case, the amount in the Run file overrides the amount you entered, and a partition of 200K bytes is created. If, in this example, the maximum had been 400K bytes instead of 200K, a partition would have been created equal to the CM size of 300K. A Fixed Sized Partition When you specify you want a fixed size partition (nnn), CM and the operating system create a partition based on the amount you entered. If you enter 0 (or leave the space blank), a partition is created that is equal to the size of available memory when the Run file is loaded. CAUTION If you do not want your programs to use all available memory, use the less-than sign ([0 or [nnn) to specify that a partition be created of a maximum size. ____________________________________________________________ If you do not have a sized Version 6 Run file, the partition that is created is equal to the CM size. If you do not have a sized Version 6 Run file and enter [0 or 0, the partition that is created is equal to the size of available memory. NOTE It is recommended that you use properly sized Version 6 Run files: You can create partitions that are more precise and thus run more programs in memory at the same time. ____________________________________________________________ For more information on variable and fixed partitions, see "Memory Required" under "Screen Areas and Functions," in Chapter 5. NOTE FOR THE SYSTEM SERVICE WRITER On systems that run CM, system services should handle swapping requests as described in the CTOS II Concepts Manual. Only those applications that do not have outstanding requests are allowed to swap. In order for applications that have outstanding requests to be able to swap, system services need to be changed. To respond to CTOS swap requests, system services must either finish servicing the application request or return the request to the operating system for requeuing when the application swaps back in. Depending on the timing and the ability of the system service to respond to a swap request for a client, an application may at one time be swappable and at another time not swappable. See the CTOS II Concepts Manual for information on handling swap requests.2 Notes for the Programmer 6-# 6-# Context Manager II@ x00Z @ d00Z@ <00Z X"@&'*+, *$;'(*=͆Y('  $%Zr %s$6@ <00Z @ P00Z X"@&'*+,@ H0@ H 40 M_ÃM~ރNM@ 0x, @ 0 0 <00Z@ ` x x00Z@ <00Z Ϧݭnݐ^n͒@ H 40@ x00Z@ <00Z@ x00Z X"@&'*+, ¨½1֩1@ x00Z @ <00Z X"@&'*+,@ P00Z@ H0(lvxy0ܔ)yx4 X"@&'*+,@  40~@  H <0~@ 4  <0~©ڭ«½ͨ׭@ <00Zr@ 0x, @ 0 0 <0@ 0 0 x0@ P00Z Ө7@ H P0$@ H <0$@ x00Zr@ <00Zr Ϟ8e@ H <0$@ H <0*@ <00Zr X"@&'*+, @ <00Z@ 0x, @ 0 0 <0@ 0 0 x0 X"@&'*+, !§Ͼ/ ڋڧڦ̽  0 / @ H0P@ H 40 X"@&'*+,@ <00Z@ x00ZӖ֬ӊËM KM@ H <0$@ H P0* @ H <0$< ϱҲ8=GMKXrsϳҴrP@ H <0$@ H P0*@ H <0$< X"@&'*+, {܅ϻ @A%&'<ϩ8_@E&<8%z  X"@&'*+,   @ <00Z@ x00Z X"@&'*+,  #?BC/ST#?C7TB  X"@&'*+, @ <00Z@ h <00Z @ h x00Zڧکڳnͷ؀$؜ش  X"@&'*+, @ H0@ H 40@ <00Z@ x00Zlcml@ H <0*@ <00Z@ x00Z X"@&'*+, >{>{ͱ  υ݋όݎکں@ P00Z@ ` 400Z@ <00Z X"@&'*+, uve!ϲu-@Rdٕ @ H0@ H 40@ <00Z@ x00Z X"@&'*+,;<K <дK;@ <00Z X"@&'*+,@ P00Z@ x 40~ / CP%ޮû޼.ܽܙ @ P0@H@@@A X"@&'*+, @ <00Z @ x00ZIJ´ѺIj@ P00Z@ 06r@ 0@H@@@A@ 406r B45kmϩ$Bm@ H <0$@ x00Z  X"@&'*+,@ <00Z lm4678<7<6@ 0 0 <0@ 0 0 x0 X"@&'*+, @ <0$@ H x0$ = 8M=)\ 8NM@ H H x0$@ H <0$@ <0$@ 0x,  l Extend DD Figure 2-2. Executive Executive II 1.0 (OS nClstrLfs-II-1.0) Path: [d0] User name: dia Mon Mar 17, 1986 12:01 Command Executive Executive II 1.0 (OS nClstrLfs-II Path: [d0] Command Executive Executive II 1.0 (OS nClstrLf Path: [d0] Command Figure 4-1. CM TILE ICON RESTORE FULL MOVE SIZE SIZE SIZE SIZE Figure 4-2. Executive Executive II 1.0 (OS nClstrLfs-II-1.0) Path: [d0] User name: dia Mon Mar 17, 1986 12:01 Command Executive Executive II 1.0 (OS nClstr Path: [d0] Command Figure. 4-4 Executive Executive II 1.0 (OS nClstrLfs-II-1.0) Path: [d0] User name: dia Mon Mar 17, 1986 12:01 Command Executive Executive II 1.0 (OS nClstrLfs-II-1.0) Path: [d0] User name: dia Mon Mar 17, 1986 12  ϥρ H=@ <0$@ 0x, @ 0 0 <0@ 0 0 x0 X"@&'*+,́i̫ʀ@٫, @ <00Z @ x00Z X"@&'*+,@ 0x !#$9 @99,@,!  ((()P xxxx  Courier 72 Cubic PS 96              G Byy[=$10.1.2 w X !$(0r8%?EGQW7Z[cdYekm;suy ART FILE Status Contexts you can return to Done Floppy Copy Waiting Extended Multiplan Applications you can start Basic Document Designer Executive Extended Multiplan Floppy Copy Mail Select command, optionally choose function key, and press GO Exec Mai :01 Command Figure 4-5. Executive Executive II 1.0 (OS nClstrLfs- Path: [d0] Command Executive II 1.0 (OS nClstrLfs- Path: [d0] Command Executive II 1.0 (OS nClstrLfs- Path: [d0] Command Executive II 1.0 (OS nClstrLfs- Path: [d0]<diane> Command Figure 4-6. Executive Executive II 1.0 (OS nClstrLfs-II-1.0) Path: [d0] User name: dia Mon Mar 17, 1986 12:01 Command Executive Executive II 1.0 (OS nClstrLfs-II-1.0) Path: [d0] User name: dia Mon Mar 17, 1986 12:01 Command Exe F2 Figure 4-7. Executive Executive II 1.0 (OS nClstrLfs-II-1.0) Path: [d0] User name: dia Mon Mar 17, 1986 12:01 Command Executive Executive II 1.0 (OS nClstr Path: [d0] Command Figure. 4-8 Executive Executive II 1.0 (OS nClstrLfs-II-1.0) Path: [d0] User name: dia Mon Mar 17, 1986 12:01 Command Executive Executive II 1.0 (OS nClstrLfs-II-1.0) Path: [d0] User name: dia Mon Mar 17, 1986 12:01 Command Figure 4-9. Executive Executive II 1.0 (OS nClstrLfs- Path: [d0]<diane> Command Executive II 1.0 (OS nClstrLfs- Path: [d0] Command Executive II 1.0 (OS nClstrLfs- Path: [d0] Command Executive II 1.0 (OS nClstrLfs- Path: [d0] Command Figure 4-10. Executive Executive II 1.0 (OS nClstrLfs-II-1.0) Path: [d0] User name: dia Mon Mar 17, 1986 12:01 Command Executive Executive II 1.0 (OS nClstrLfs-II-1.0) Path: [d0] User name: dia Mon Mar 17, 1986 12:01 Command Exe F2 Figure 4-11. CM Configuration Editor Enter a command name and press RETURN or the CREATE function key. Command Name Run file name Memory required K Bytes Abbreviation [Function Key (1...10)] [Command case] [Volume] [Directory] [Prefix] [Password] Node] [Autostart ordering] [Needs Exec screen?] Key Commands Undo Show Create Remove Rename ICMS Figure 5-1. :ICMSFile: :NumberOfMessages: :SizeOfMessage:200 :CommandName:Executive :RunFileName:[Sys]Exec.run :CommandAbbreviation: Exec :MemorySize:200 :CommandCase:00 :FunctionKey:1 :Autostart:0 :Invoker:n :Volume: :Directory: :Password: :Node: For each command Figure 5-2.2) c ,=Xsy؋ؕبش޹ $K^nލ͗ҹ$',19>CHMRWd#c@ P<,@ <@ <,@ P<@ P<@ <@<@ P<@<,Ar 2EUlt~Κӭ-5?fyىӠɿ-5Uhpΐӣ #+5\oӖӢٲɼ%/K^fsr,@ PP<,,,@ <@ P<@ <@ <@<@ P<,9 2EUlt~ΥӸ19YltΔӧ߯)<LckuΜӯٿ MZhO@ , @ PP<, , @ <@ P<@ <@ <@<@ P<,  *)D[΃ Ho\2 #CVl:)Է+]?BeQrf:$ Jyd_h^R8,vUwZh 0ߧbGdۆJt@GGdj˄,M܈MrALMкz>i8kk}SuJEu`JsCQ;.툨O_Nl#͚ 4s @>@=A8F_1Jr>:%YĩPN{jq7l5 W%T<-^uXMؓ8'#ʯn*{n0-躏@!DTcDX0`ItuKK~x}Zx_/q<3b%͙ͮj/Zi uAPGdҔ똞Y\ӻ&Wg 9L$}q8m(ϭeaޣZ6pB7L}q7p3 "DT|sEF[e*BDN[Τ 8Hoy2_ LC|Vm"c:)+](?BQf JydhuRIn,)vUwZYɾˡ(bya膋@G!j@@BMMr#ALvO#zim#km!HjfS E:`#簊tFa;.eOl3#ʚ 4 >=&81_K{jpfh"KXcv͉ߠ "+7BIZf@hWfh@ T, @ T@ PT@ P  ((()P xxxx Courier 72G B5 3 "10.2c YąۜNQȗҁh5 =W1Ty^`XiIp4r<'/{"n-^֏2!cs@D0XڜItQK~}x_bq< 3.% 1؎8/r=5 u-Pp2x[~v\NӇ&CRg 9x$Ym(9!a:&6p7Xb콟"|sFWe*nD*[ H4o2 CHViIo:/)Ԝ+P]?}BrQ;(f )Jydk|ph3R,vU$wZ8ߐb%@=8Hh1 7wV|nY) N1cîi5VWgT!^AFXbšׅ7'l{nM-菏 !EYc0ڍItKD~U}xY_q:O%l8#÷Ӛ" 4a >~=w8T91 $Ƹ囀 9YvNR 0nj{j5oW+ة;T*^"ݫX[њ昅'M{n-Hl!c BN0~IztcK~}x_q<3Hi% AHkzd/8̏ u7Pjh >:% \ ӡ&)g z9b$뻗m(sCaO쌣6p7R%iS"*|s+Fe>8*xXD[b Ho?2=2 CVk{i:)VԮ+j]^?7BQefy_ ۧGJfydh;R',3vUVwZwTGfJbvOΆ /@GjDVh M7frAL$С)zikUWȑܔS覉E`q6\;.GcO’l#g\К b4 >=\8 15 1dY`Ns@BMHk5WIpT3^XTs8Fe  YUĪUNbze5W2T^ݲX~wVѱy]Ӆ#'xX{[n-諏[!cյ0ItK~}xu_Kxq\<3$%Ǘ+/GcuP_],N\&dg 9$m(zba??6>7p7a~x[ɽ𸳟"|sFe{g*DO[ν Ho2h -CVf:)Mԁ+ޭ]e?BQ|m$f Jqy6dQh*Rҡ,v~UxYwZyba漂ĥ@1Gj AGfMr,ALW$ziktF^=3S'E`4;m."VOvPl#~y_ߚ^ 4= 2>=8p11ƴ净E[YN΍%RsAGf5 W7gT^XwT§Fb攅蠊'ʉt{Hnj-d!F^c>:0&ںIt?K=~2}x_Iqq<73e%T꧙Gf/du#PvP锔늞+L\|m&%Źg$ 9$ǻrm=(3a裌6p7^׉3*ո,"^|1sFe*$*لD[ ZHo2 VCVgu:M)Ԋ+ގ]?BQVfuK wSJy+d>:&hRp,3vUwZɀ˓n*b2볚@GjM0rAL=5z i/k'SE` BN;Z.ϨONl=#3ܚO 4 >[=81è Y?6XkuM/hu(Pʗɔ뷞-\e&~yga 9$Юmb(ϜaP쑣6@ApE7[ȉ贊<"/|sFeo-*eD[f Ho2 C{Vh 0:)ԓ+o]/?B!Q?>f6 PJy d+ۭKhzdR,LvUwZ5 @CS3bTF`@Gpj1ӛ!MHirNALNVzzidk(Ց+SAFEa`}t;G.dO뒘l#ٚ@ C4O >=8b뢗1 6YYąۜNQȗҁh5 =W1Ty^`XiIp4r<'/{"n-^֏2!cs@D0XڜItQK~}x_bq< 3.% 1؎8/r=5 u-Pp2x[~v\NӇ&CRg 9x$Ym(9!a:&6p7Xb콟"|sFWe*nD*[ H4o2 CHViIo:/)Ԝ+P]?}BrQ;(f )Jydk|ph3R,vU$wZ8ߐb%@=8Hh1 7wV|nY) N1cîi5VWgT!^AFXbšׅ7'l{nM-菏 !EYc0ڍItKD~U}xY_q:O%l8#÷Ӛ" 4a >~=w8T91 $Ƹ囀 9YvNR 0nj{j5oW+ة;T*^"ݫX[њ昅'M{n-Hl!c BN0~IztcK~}x_q<3Hi% AHkzd/8̏ u7Pjh >:% \ ӡ&)g z9b$뻗m(sCaO쌣6p7R%iS"*|s+Fe>8*xXD[b Ho?2=2 CVk{i:)VԮ+j]^?7BQefy_ ۧGJfydh;R',3vUVwZwTGfJbvOΆ /@GjDVh M7frAL$С)zikUWȑܔS覉E`q6\;.GcO’l#g\К b4 >=\8 15 1dY`Ns@BMHk5WIpT3^XTs8Fe*)D[΃ Ho\2 #CVl:)Է+]?BeQrf:$ Jyd_h^R8,vUwZh 0ߧbGdۆJt@GGdj˄,M܈MrALMкz>i8kk}SuJEu`JsCQ;.툨O_Nl#͚ 4s @>@=A8F_1Jr>:%YĩPN{jq7l5 W%T<-^uXMؓ8'#ʯn*{n0-躏@!DTcDX0`ItuKK~x}Zx_/q<3b%͙ͮj/Zi uAPGdҔ똞Y\ӻ&Wg 9L$}q8m(ϭeaޣZ6pB7L}q7p3 "DT|sEF[e*BDN[Τ 8Hoy2_ LC|Vm"c:)+](?BQf JydhuRIn,)vUwZYɾˡ(bya膋@G!j@@BMMr#ALvO#zim#km!HjfS E:`#簊tFa;.eOl3#ʚ 4 >=&81_K{jp  oss the top of your keyboard are 10 function keys, F1 through F10. These keys are redefined to do different things at different times and within different applications. The highlighted strip at the bottom of the CM screen is the function key menu, a set of temporary labels for these keys. On your system, these labels may all be blank, or some may show abbreviations of certain application names. These labels can be configured (set up) differently for each user. (If you are setting up your own system, see "Function Key (1...10)" in Chapter 5 for details on configuration.) If labels already appear on your function key menu, they have been preassigned for frequently used applications. This preassignment, which is done during configuration, saves time. EvYUĪUNbze5W2T^ݲX~wVѱy]Ӆ#'xX{[n-諏[!cյ0ItK~}xu_Kxq\<3$%Ǘ+/GcuP_],N\&dg 9$m(zba??6>7p7a~x[ɽ𸳟"|sFe{g*DO[ν Ho2h -CVf:)Mԁ+ޭ]e?BQ|m$f Jqy6dQh*Rҡ,v~UxYwZyba漂ĥ@1Gj AGfMr,ALW$ziktF^=3S'E`4;m."VOvPl#~y_ߚ^ 4= 2>=8p11ƴ净E[YN΍%RsAGf5 W7gT^XwT§Fb攅蠊'ʉt{Hnj-d!F^c>:0&ںIt?K=~2}x_Iqq<73e%T꧙Gf/du#PvP锔늞+L\|m&%Źg$ 9$ǻrm=(3a裌6p7^׉3*ո,"^|1sFe*$*لD[ ZHo2 VCVgu:M)Ԋ+ގ]?BQVfuK wSJy+d>:&hRp,3vUwZɀ˓n*b2볚@GjM0rAL=5z i/k'SE` BN;Z.ϨONl=#3ܚO 4 >[=81è Y?6XkuM/hu(Pʗɔ뷞-\e&~yga 9$Юmb(ϜaP쑣6@ApE7[ȉ贊<"/|sFeo-*eD[f Ho2 C{Vh 0:)ԓ+o]/?B!Q?>f6 PJy d+ۭKhzdR,LvUwZ5 @CS3bTF`@Gpj1ӛ!MHirNALNVzzidk(Ց+SAFEa`}t;G.dO뒘l#ٚ@ C4O >=8b뢗1 6YYąۜNQȗҁh5 =W1Ty^`XiIp4r<'/{"n-^֏2!cs@D0XڜItQK~}x_bq< 3.% 1؎8/r=5 u-Pp2x[~v\NӇ&CRg 9x$Ym(9!a:&6p7Xb콟"|sFWe*nD*[ H4o2 CHViIo:/)Ԝ+P]?}BrQ;(f )Jydk|ph3R,vU$wZ8ߐb%@=8Hh1 7wV| 3 BASIC CONCEPTS STARTING AN APPLICATION In most cases, CM is installed automatically when you sign on to your system, and the first display is the CM screen. (The term "install," as it is used here, means "to place in memory, ready to use." For details about installation, see Chapter 5, "Setting up Context Manager II.") If the first display after you sign on is the command line of the Executive, type Install Context Manager, or an abbreviation such as ICM, and press Go. (The Executive needs only as many characters as are necessary to uniquely identify the command. If more than one word appears in the command name, each word can be abbreviated. For details on using these abbreviations in the Executive, see the Executive II Manual.) If the first display after you sign on is that of an application, and if you saw the messages Installing Context Manager . . . done. Autostarting . . . after you signed on, your CM has been configured to autostart (start automatically) one or more applications as soon as it is loaded. You can display the CM screen by pressing ActionGo. ASSIGNING FUNCTION KEYS Under CM, each context is assigned to a function key. You can use the function keys to switch contexts without having to see the CM screen. FUNCTION KEY MENU Acr  ery time you use CM, these labels will appear on the same function keys. FUNCTION KEYS When the highlight bar in the CM screen is within the list of "Applications you can start," the message area says Select application, optionally choose function key, then press GO. Select an application by using the Mouse cursor or Arrow keys to highlight the item you want under "Applications you can start." When you start the application, an area on the function key menu that represents the application becomes highlighted. A function key may be assigned to an application in any of three ways: o The key may have been preassigned by a previous user or system administrator. o You can choose a key and assign it to a context. o You can let the system assign a key by default. Preassigned Function Keys If your function key menu shows an abbreviation for an application, this indicates that a function key already has been preassigned to the application you have chosen. After this application has been started, you can use this preassigned function key (in combination with Action) to switch to this context from any other context or from the CM screen. Assigned Function Keys If no function key has been preassigned for the application you are starting, you can choose your own blank function key from the function key menu and assign it to this context: 1. While in the CM screen, use your Mouse cursor or Arrow keys to highlight the application you are going to start. 2. Decide on which blank function key you want to assign to this application. 3. Press the function key you have chosen, and then press Go, or highlight the area you have chosen with your Mouse cursor, and click the Mark Mouse button. An abbreviation for the application now appears on that function key in the function key menu. You do not have to choose a function key: One can be assigned to your application by default. It will be the first available blank area on the function key menu, starting from the left side of the menu. 1. Select an application from the CM screen. 2. Press Go or click the Mark Mouse button. The screen of your chosen application has appeared and replaced the CM screen. You can see which function key has been assigned to you by returning to your CM screen and looking at the function key menu. If there is a preassigned function key for the application you are starting, you do not have to use it. You can assign another function key to this particular context. This feature is useful when you want to start multiple copies of the same application: two Executives, for example. NOTE A function key label created within a session exists only for that session. When you finish a session (log out) and sign on again, only the preassigned labels are present. ____________________________________________________________ STARTING APPLICATIONS THAT REQUIRE PARAMETERS You may choose to start an application, such as Floppy Copy, to which you want to supply the value of a parameter or parameters. Once you have chosen the application name from the list under "Applications you can start" and pressed Go, the first screen displayed is the appropriate form in the Executive: Floppy Copy `Number of Copies{ ________________________________ `Overwrite ok?{ ________________________________ `Dual floppy?{ ________________________________ `Suppress verification?{ ________________________________ `Device name(s){ ________________________________ `Device password(s){ ________________________________ After you fill in this form and press Go, the Floppy Copy command is executed. CONTEXTS YOU CAN RETURN TO To return to a context from the CM screen, you can do any one of four things: 1. Press Actionfn. 2. Use the Mouse or Arrow keys to move the highlight bar to the context you want in the list of "Contexts you can return to," and click the Mark Mouse button or press Go. 3. Select an assigned function key, and then pressGo. When you switch from one context to another, you do not finish the first context. It remains active, but moves from foreground to background. 4. Select an  s that this application is in background in a partition, but CM does not allow it to continue processing there. (For example, this arrangement can prevent a program that writes directly to the screen from interfering with CM's normal operation. Such a program can run only in foreground.) SWAPPING A CONTEXT TO DISK HOW SWAPPING WORKS At some point, you may start one more application than will fit into memory. When this occurs, the operating system may have to swap out one or more contexts; that is, it may be necessary for the operating system to swap one or more contexts to disk. The message area may say Swapping contexts . . . There is a short pause, during which the operating system clears a space in memory for your new application. The operating sys assigned function key with the Mouse cursor, and click the Mark Mouse button. CYCLING THROUGH CONTEXTS To quickly move from one active context to another without looking at the CM screen and without having to remember which function key is assigned to which context, press Action-Next. Pressing this key combination has the same effect as displaying the CM screen and then pressing Left Arrow, Down Arrow, and Go. You can press Action-Next repeatedly to cycle through all the active contexts in this way. You can move through the contexts in the opposite order by pressing Action-Minus (-). (Remember, Minus on the numeric pad is not equivalent to the hyphen key on the top row of your typewriter pad.) If you have Windows, you can get from one active window to another without looking at the CM screen in one of two ways: You can either click the Mark Mouse button in the selected window, or use the keyboard (as described above). For more information, see "Making a Window Current" in Chapter 4. HALTING A CONTEXT If you want to stop the current context at any time (for example, if it is displaying a list or drawing a picture and you want it to stop so you can examine the partially complete display), press ActionS. When you do so, all processes of the current context are stopped. A stopped context is described as "Halted" under "Contexts you can return to" in the CM screen. To restart the context, press ActionS again. THE BULLET Notice the small bullet indicator to the left of one item in the Context list. This bullet shows which context is current. You can return to it simply by pressing Cancel, even if you have moved the highlight bar to another place on the screen. (This is useful if you only want to look at the CM screen to check on the status of another context and then go right back to what you were doing.) STATUS TERMS The Status column under "Contexts you can return to" may show any one of six words: Waiting, Running, Done, Swapped, Halted, or Stopped. A context that is Waiting is doing literally that: waiting for you to type something at the keyboard. The status Running appears next to a context in which processing is continuing and where no input from you is needed at the moment. The Executive, unlike other applications, tells CM what command has been invoked and what the status of that command is. If, for example, you give a Files command to the Executive and then press ActionGo to return to the CM screen, you see "Files," and not "Executive," on the list of "Contexts you can return to." When the Files command is complete, its status changes from Running to Done. (Notice that Done does not mean that the Executive itself is finished, only that it has completed the command you asked for.) The status Done refers only to completed tasks in the Executive. When a long task in any other application is completed, its status is reported as Waiting. The status Swapped means that the operating system has swapped that context to disk (stored it there temporarily). If you are using an 80286 Processor, a context may also be swapped to extended memory. (See the CTOS II Concepts Manual or the CTOS II Release Notice for more information.) The status Halted indicates that you have stopped all processes of this context by pressing ActionS. The status Stopped mean  tem does this by storing one or more contexts temporarily in a Swap file on a hard disk. The screen of the new application then replaces the CM screen. (For more information on the Swap file, see "The Swap File," in Chapter 5.) If you need to have these two contexts switch places later, there may not be room in the Swap file to swap out the new one before bringing the old one back in. If this situation in fact occurs when you try to switch these two contexts, the following message appears: There is not enough room in the swap file to swap the context. You must then finish one or more contexts to make room in memory for the context you want. A context that has been swapped to disk is not actually running: It temporarily suspends its activity until it is called back by CM. But it is still a started application. You can use Actionfn to return immediately to the same place within it where you were working. CONTEXTS THAT ARE NOT SWAPPED Two kinds of contexts are not swapped: communications applications, such as Asynchronous Terminal Emulator, or SNA RJE and real-time applications, such as direct printing in the Word Processor. (Real-time applications are applications that must respond to events within strict time constraints. If, for example, the Word Processor were swapped during direct printing, it could lose communication with the printer.) If you ask CM to do something that would require CM to swap out such a context, the following message appears: A context in memory cannot be swapped out. This situation can arise if, for example, you start Extended Multiplan, then start a communications application that requires Extended Multiplan to be swapped out, and then try to switch back to Extended Multiplan. Extended Multiplan must come back into the same physical place in memory where it was started, which would require swapping out the communications application. CM cannot swap Extended Multiplan in because the communications application cannot be swapped out, and the screen message appears. To get Extended Multiplan back into memory, you must finish the communications application. In addition, you cannot run two programs that share the same communications port. For example, you cannot run simultaneously two communications programs that both need to use channel A. CM can keep track of 10 contexts at a time. On most systems, if 10 contexts exist, some of them will be swapped to disk and suspended. Those in memory partitions will be able to run. TIME SAVINGS: SWAPPING VERSUS STARTING Part of the benefit of CM to the user lies in the fact that swapping a context from disk to memory is much faster than starting an application. Starting an application often requires opening several files. These files are kept open when a context is swapped to disk. GETTING OUT FINISHING A CONTEXT If you are working within a context, you can save your work and finish it in the same way as you normally would. When you have given the necessary commands to finish, the CM screen returns, and the message area says Finishing . . . Then the context is removed from the list of "Contexts you can return to." If you are working in the Executive and want to finish it and return to CM, type Finish Executive (or a unique abbreviation, such as f e ), and press Go. At any time during a session, of course, you can finish a context that you no longer need. ELIMINATING A CONTEXT WITHOUT SAVING If the CM screen is displayed, you can eliminate any context, including the Executive: Move the highlight bar to the selected context's name on the "Contexts you can return to" list, and press ActionFinish. NOTE Action-Finish eliminates the context without saving your work from this session. You should use it only for those contexts where there is nothing to save (for example, an Executive with a Done status). ____________________________________________________________ ENDING A SESSION (LOGGING OUT) After you have finished all listed contexts from within the applications and the CM screen has returned, press Finish and then Go. Your session with   @ P00Z@ ` 400Z @ x00Z@ <00Z )/xHx@ H x0$@ H <0$@ <00Z X"@&'*+,CM is over, and the normal SignOn form returns to the screen. Ending a session without finishing all contexts first is the same as eliminating each context with Action-Finish. If you press Finish when there are active contexts, the following screen message appears: Warning: There are active contexts, press Go to logout or Cancel to deny. CAUTION If you press Go, your work in any active contexts is not saved. Your session is ended, and you are returned to the SignOn form. ____________________________________________________________ If you have the command line of the Executive on the screen when you decide to end a session, and all other contexts are finished, you can end a session directly from the Executive by typing Logout in the command line and pressing Go. If you do this when there are active contexts, the Executive is finished, the CM screen returns, and the above warning message is displayed. CM VERSION If you need to see what version of CM is running on your system, press ActionGo, if necessary, to display the CM screen, and then press the Help key. The following message appears: This is Context Manager version n.n where n.n is the version number of your CM. CM CONFIGURATION FILE NAME If you need to see the CM Configuration file name, press ActionGo, if necessary, to display the CM screen, and then press Code-Help. MAIL REPORTING The CM screen reports that electronic mail has arrived for you in the same way that the Executive does, by displaying the messages You have mail Urgent mail in the center of the top border of the CM screen.2 Basic Concepts 3-# 3-# Context Manager II +šѱN+GND @ <00Z@ x00Z @ <00Z X"@&'*+,':@ x00Z  X"@&'*+,@ P00Z@ H <0@ H 40 ƤԶƢƫƯƾѤ޶т  Ј>)@ H <0*@ H <0*@ <00Z@ x00Z'v@ H <0*@ H <0*@ P00Z X"@&'*+,²ڳײ8@ <00Z X"@&'*+, @ 0x, @ 0 ( <0@ 0 x0 Tt‡ݧ¹)Ia݁¨Ъ92>tڧIځ9 @ x00Z@ P00Z @ 0,!@ <00Z ).ĢզĽտ@ x00Z X"@&'*+,@ H 40*@ H <0*B«б²ж#%)*/57GMNR…И\bcd(./08Bdex    g k  & , w } ~  Œ º 8\ͅڗ 7BeP[     @ <00Z X"@&'*+,@ x00Z@ 800Z/F/Fy@ <00Z@ <00Z @ x00Z  X"@&'*+,3~$43@ H 40@ <00Z @ P00Z@ ` 400Z  @ ` 400Z @ <00Z@ x00Z  X"@&'*+,  >@ABUVWZ[p >@AW@p>@Vp,@,@ P00Z@ ` <00Z -Ua2]r,Tba@ <00Z@ H 40@ 800Z@ x00Z X"@&'*+,  ! !M@ <00Z@ <00Z @ x00Z X"@&'*+, ­Qu8>?EGK[PuFKS@ 0 x0@ x00Z@ <00Z@ P00Z@ H 40  ( (f@ <00Z X"@&'*+,  @ 0x, @ 0 0 <0 pv€Ђ8>?EU[vw͡v>@ 0x, @ 0 0 <0@ x00Z@ H 40@ <00Z<$&ȵNR<ӵw@ P00Z@ ` 400Z@ x00Z@ <00Z V\]_ݘݝݢѲB۱4B̀    ((()P xxxx  Courier 72 Cubic PS 96              G BY>'>4 $10.1.2NF | 4mh"&h'+23A6i79<= 1 BEFORE YOU BEGIN WHAT IS CONTEXT MANAGER II? Context Manager II is a software product that works with the operating system to allow you to run several applications on your workstation at once. Without Context Manager II (from now on called CM), you worked with one application at a time. Whenever you wanted to start a new application, you had to first finish the application in which you were working. With CM, when one application is on the screen, you can instantaneously switch to another with a single keystroke. Then you can return to the first one and continue working at exactly the point where you were before. WAYS TO USE CONTEXT MANAGER II BUSINESS TASKS You may be in a situation where you need to read an electronic mail message from your company's finance department, finish up the spreadsheets you are working on in Extended Multiplan, copy them to a floppy disk using the Executive, write a cover memo in the Document Designer, and send the spreadsheets out to the address supplied in the finance department memo. With CM, you can do more than one of these tasks at once: Having finished the spreadsheets, you can start the Copy command in the Executive, and then switch to the Document Designer to write your memo while Copy is still running. PROGRAMMING You can write code in the current context while another program compiles in a background context. You can check the status of the background context at any time by pressing ActionGo to look at the CM screen. If you need to see display output from a context that is running in background, many applications allow you to pause the output until you choose to examine it in foreground. COMMUNICATIONS You may be logged onto an information data base using Asynchronous Terminal Emulator (ATE), or to a mainframe using SNA 3270. You bring up the CM screen and notice that electronic mail has arrived. You can switch contexts, read your mail, and then return to ATE or SNA without ever having to terminate your communications session. CM FEATURES CM has a single screen of its own, called the CM screen, to which you can return at any time. On the right, this screen lists the applications that you can start. On the left, it shows applications you have started and the status of each one. (See Figure 22.) You can select an application from the CM screen by using either your keyboard or a hand-held pointing device called a Mouse. (The Mouse is an optional feature.) If you have a Mouse, you select an application by clicking one of the Mouse buttons. (See "Using the   Action and a function key (fn), the combination is symbolized as ActionGo or Actionfn. When you press certain keys to cause one context to be replaced by another on the screen, you are switching contexts. In this way, you can choose to work in any one of the active contexts by making it the current context. MANUAL ORGANIZATION Before you read this manual, you should be familiar with material in the Operator's Guide (including keyboard layout) and in the manuals for the various applications you plan to run under CM. This manual assumes you have this knowledge. For memory and operating system requirements and for instructions for placing CM software on your system, see the Context Manager II Release Notice. The rest of this manual consists of the follow Mouse" in Chapter 4.) CM is not limited to a fixed set of applications. You can configure your system to run whatever applications are important to you. Applications may be CTOS-based, or they may run under operating systems hosted by CTOS (for example, MSDOS). Because the CM environment is flexible, you can add your own application to it with little or no special programming. CM AND WINDOW SERVICES Window Services (from now on called Windows) is a system service that interacts with CM to allow you to manipulate your contexts with windows. (A window is the rectangular portion of your screen within which an application is displayed.) If you have Windows, you can arrange your applications on the screen so that you can see multiple applications at once. You work with one application while the others remain in view on the screen; you can switch to another by using either the Mouse or keyboard. You can use the Mouse or keyboard to easily change the size of these applications' windows and/or move them to different locations on the screen. For more information on Windows, see Chapter 4, "Using Windows and the Mouse." CM, with or without Windows, allows you to run multiple copies of the same application. For example, when you are programming, you can run several copies of the Executive. With Windows, you can view all these copies at the same time. HOW CM WORKS Once an application has been started, it is called a context. You interact with one context at a time. This context is called the current context.  The current context is the only context that responds to the use of the Mouse and keyboard. When you switch contexts, you make the next context the current context. You may need to start one more application than will fit in workstation memory. When this occurs, one or more applications can be swapped to a hard disk (stored temporarily in a suspended state in a Disk Swap file). If you have an 80286 Processor, applications can be swapped into extended memory. (See the CTOS II Concepts Manual and the CTOS II Release Notice for more information on swapping to extended memory.) CM can handle as many as 10 contexts at once; the operating system switches them back and forth from workstation memory to disk, as necessary. TERMS USED IN THIS MANUAL Some common words and phrases have specific meanings as they are used in this manual. They are underlined in the text when they are defined. These terms (except where noted) are also used with Windows. To start an application, choose it from the list on the CM screen and press Go. Once an application is started, it is called a context and is said to be active. You see and interact with one context on the screen. It is called the current context and is said to own the screen. With Windows, although you may see more than one context, you still interact with only one of them. This context is called the current window and is also said to own the screen. The context that owns the screen (the current context) is running in foreground. Any other active context is running in background unless it is swapped. An active context is swapped if it has been stored temporarily on a hard disk. While a context is swapped, it is not running, but is suspended. When you hold down one key and press another, such as Action and Go or ing chapters; each has a different purpose. Chapter 2, "Experimenting with Context Manager II," takes you through a series of exercises designed to show you how CM works. Chapter 3, "Basic Concepts," gives more specific information about CM. Chapter 4, "Using Windows and the Mouse," describes the operation of Windows with the Mouse and keyboard. Step-by-step exercises are provided. If you are using Windows and a Mouse for the first time, you need to read this chapter, along with Chapter 2. Chapter 5, "Setting up Context Manager II," tells how to prepare for and configure CM. If you are setting up your own system, read Chapters 3 and 5. Chapter 6, "Notes for the Programmer," contains information for the programmer writing applications to run under CM. If you are writing such programs, you must read this. You may also find it helpful to read Chapters 3 and 5. Chapter 7, "Operations," describes procedural interfaces for the CM and ICMS operations. Chapter 8, "Troubleshooting," describes common errors, along with suggestions for correcting them. Status codes for CM and ICMS are also reported. RELATED DOCUMENTATION The documents described below provide additional information related to the contents of this manual. For a complete list of Convergent Technologies publications, see the "Guide to Technical Documentation" in the Executive II Manual or a similar command-line interpreter manual for your operating system. Introductory Executive II Manual Operator's Guide Status Codes Manual Operating System CTOS II Concepts Manual CTOS II Reference Manual Program Development Tools Editor II Linker/Librarian Manual Office Automation Document Designer Reference Manual Word Processing Reference Manual Related System Services Mouse Services Manual Window Services Manual Release Notices Release Notice for Context Manager II Release Notice for CTOS II The following paragraphs outline the contents of these manuals. The Executive Manual II describes the interactive command interpreter, the program that first interacts with the user when the system is turned on. It describes available commands and discusses command execution, file management, program invocation, and system management. It also addresses status inquiry and volume management. The Operator's Guide addresses the needs of the average user for operating instructions. It describes the workstation switches and controls, keyboard function, and floppy disk handling. The Status Codes Manual contains a complete listing of all status codes that can be generated by a CTOS workstation or a Shared Resource Processor (SRP). It includes bootstrap ROM error codes and CTOS initialization codes. The codes are listed in numerical order with messages and explanations. The manual also describes and interprets crash status codes. The CTOS II Concepts Manual and the CTOS II Reference Manual describe the operating system. They specify services for managing processes, messages, memory, exchanges, tasks, video, disk, keyboard, printer, timer, communications, and files. In particular, they specify the standard file access methods: SAM, the sequential access method; RSAM, the record sequential access method; and DAM, the direct access method. The Editor II Manual describes the text editor. The Linker/Librarian Manual describes the Linker, which links separately compiled object files, and the Librarian, which builds and manages libraries of object modules. The Document Designer Reference Manual is a reference tool for users of the Document Designer. The manual discusses the capabilities of the Document Designer and describes in detail each of its commands. Information is included on integrating application systems with the Document Designer, generating automatic tables of contents, including voice annotations in documents, list processing, text manipulation, and system configuration. The Word Processing Reference Manual is a reference tool for users already familiar with the Word Processor. The manual discusses efficient use of the various facilities of the Word Processor and describes                in detail each Word Processing command. Information is included on list processing, programmer-specific operations, and printer and print wheel configurations. The Mouse Services Manual describes the Mouse Server and object module library for applications programmers. It also includes a short description of end-user commands. The Window Services Manual describes the procedures that are necessary to manipulate windows.2 Before You Begin 1-# 1-# Context Manager II 1tϡ}ρ1sۡ   X&*,@ <00Z @ x00Z@ <00Z X&*,K ¼О!"‹Т6<g h i u « ޲   KRekµ޼½elms HO¹ ۏ͞g"ۧۋۑ+ z h u ۱ U ۗ!g  X&*, X&*, @ x00Z @ <00Z@ x00Z8>CEIOʊؐʑؓʗ؝ʂʡʋ۞ՁՃs98ճ ՠ @ <0`lx X&*, @ x00Z @ <00Z X&*, FWшâ3`p BRd{ф7N !2FWo݈Ϣݬ3I`pݖݱ=_2 @ <0`lx@ P0 X&*,@ 0*@ H <0(ʼ-B/12HIJMNcѷ(/@2Jc/1Ic@,!,@ , @ <0 X&*, h((()P @xx  Courier 72 Cubic PS 96 G J++$10.1.2z' CONTENTS 1 BEFORE YOU BEGIN 1-1 WHAT IS CONTEXT MANAGER II? 1-1 WAYS TO USE CONTEXT MANAGER II 1-1 Business Tasks 1-1 Programming 1-2 Communications 1-2 CM FEATURES 1-2 CM and Window Services 1-3 HOW CM WORKS 1-4 TERMS USED IN THIS MANUAL 1-4 MANUAL ORGANIZATION 1-5 RELATED DOCUMENTATION 1-6 2 EXPERIMENTING WITH CONTEXT MANAGER II 2-1 USING THE MOUSE 2-1 THE ACTION KEY 2-4 AN EXERCISE WITH CM 2-7 Starting CM 2-7 Moving the Highlight Bar 2-8 Starting an Application 2-8 Overlaying the CM Screen on an Application Screen; Returning to the Current Context 2-9 Starting a Second Application 2-10 Switching Contexts Without Using the CM Screen 2-11 Starting More Contexts 2-12 Finishing from Within a Context 2-13 Eliminating a Context Without Saving 2-14 Ending Your Session with CM (Logging out) 2-14 3 BASIC CONCEPTS 3-1 STARTING AN APPLICATION 3-1 ASSIGNING FUNCTION KEYS 3-1 Function Key Menu 3-2 Function Keys 3-2 Preassigned Function Keys 3-3 Assigned Function Keys 3-3 STARTING APPLICATIONS THAT REQUIRE PARAMETERS 3-5 CONTEXTS YOU CAN RETURN TO 3-5 Cycling Through Contexts 3-6 Halting a Context 3-6 The Bullet 3-7 Status Terms 3-7 SWAPPING A CONTEXT TO DISK 3-8 How Swapping Works 3-8 Contexts That Are Not Swapped 3-9 Time Savings: Swapping Versus Starting 3-10 GETTING OUT 3-11 Finishing a Context 3-11 Eliminating a Context Without Saving 3-11 Ending a Session (Logging out) 3-12 CM VERSION 3-12 CM CONFIGURATION FILE NAME 3-13 MAIL REPORTING 3-13 4 USING WINDOWS AND THE MOUSE 4-1 WHAT IS A WINDOW? 4-2 USING WINDOWS? 4-2 Example 4-3 STARTING WINDOWS 4-3 The Windows Menu 4-4 LOOKING AT WINDOWS 4-7 Making a Window Current 4-7 SIZING AND MOVING WINDOWS 4-9 USING THE MOUSE WITH WINDOWS 4-10 What Is a Mouse? 4-10 Using the Mouse 4-11 MOVING THE MOUSE 4-12 Using the Mouse Buttons 4-13 EXERCISES 4-18 Managing Windows Using the Mouse 4-18 Opening Windows 4-18 Sizing Windows  4-19 Moving Windows 4-24 Activating Commands on the Windows Menu 4-25 Using the Tile Command 4-25 Using the Icon Command 4-28 Using the Full Command and the Restore Command 4-32 USING WINDOWS WITH THE KEYBOARD 4-34 EXERCISES 4-36 Managing Windows Using the Keyboard 4-36 Opening Windows--Activating the Windows Menu 4-37 Sizing a Window 4-38 Moving Windows 4-41 Using the Tile Command 4-42 Using the Icon Command 4-45 Using the Full Command and the Restore Command 4-49 5 SETTING UP CONTEXT MANAGER II 5-1 OVERVIEW 5-1 The Swap File 5-1 Creating the Swap File 5-2 CM and Installed System Services 5-3 Installation and Deinstallation 5-3 CM VERSION NUMBER 5-4 EDITING THE USER CONFIGURATION FILE 5-4 Configuring the Mouse 5-5 A NOTE ABOUT THE NUMBER OF CONTEXTS 5-6 USING THE CM CONFIGURATION FILE EDITOR 5-7 Entering from the Executive 5-7 Experimenting with the CM Editor 5-8 Screen Areas and Functions 5-12 Message Line 5-12 Input/Error Line 5-12 Command Editing Area 5-13 Function Key Menu 5-23 Command List Area 5-26 Exiting the CM Editor 5-26 Examples 5-27 A Complete New Entry 5-27 Editing a Command 5-30 Removing a Command 5-31 Renaming a Command 5-31 A Common Error: Inconsistent Entries 5-32 CHANGING A CONFIGURATION WITH EXECUTIVE COMMANDS 5-32 CM Add Application 5-32 CM Remove Application 5-33 APPLICATIONS YOU CAN START FROM CM 5-34 DEFINING AN EXECUTIVE SUBMIT COMMAND IN CM 5-36 Create a New Command 5-36 Create a Submit File 5-3 @ ,$01,!@ ` ,$01,!@ P,$01,! X"@&'*+,ޟ£ަK;ϕϹ 2]ώۦ/LK@ ,$01,!@ ` ,$01,!@ P,$01,!@ ,$01,!7 Test Your Submit Command 5-37 Define the Command in the CM Editor 5-37 Finish up 5-38 INVOKING THE SUBMIT FILE FROM CM 5-38 TEXT OF THE CONFIGURATION FILE 5-39 ALLOWING FOR MORE CONTEXTS 5-41 Example 5-42 6 NOTES FOR THE PROGRAMMER 6-1 CM AND ITS RELATIONSHIP TO THE OPERATING SYSTEM 6-1 WHAT RUNS UNDER CM? 6-1 Programs That Write Directly to the Screen Map 6-2 "Busy Wait" Loops 6-4 Low-Memory Interrupt Vector Table 6-5 Positioning the Cursor 6-5 Applications Suspended in Background 6-6 Programs That Run Under Windows 6-7 Exit Run File 6-10 APPLICATIONS THAT CANNOT BE SWAPPED 6-11 COMMUNICATION WITH CM 6-12 COMMUNICATION BETWEEN APPLICATIONS 6-12 Intercontext Message Server 6-12 Procedural Interfaces 6-14 CM AS A SERVER 6-14 Parent/Child Relationship of Contexts 6-15 Context Handle 6-15 Starting and Switching Contexts 6-17 Check for Installation 6-18 CM Screen 6-18 Procedural Interfaces 6-20 PLACING INFORMATION IN THE CM CONFIGURATION FILE 6-21 INVOKING PROGRAMS THAT USE RUN-TIME LIBRARIES 6-21 USING CrashDump.sys AS YOUR SWAP FILE 6-22 ESTIMATING MEMORY REQUIREMENTS 6-23 DETERMINING THE SIZE OF A PARTITION 6-24 A Variable Sized Partition 6-25 A Fixed Sized Partition 6-26 NOTE FOR THE SYSTEM SERVICE WRITER 6-27 7 OPERATIONS 7-1 CMCurrentVersion 7-2 CMQueryConfigFile 7-3 CMQueryContextHandle 7-5 CMQueryErc 7-6 CMQueryParent 7-7 CMSetParent 7-9 CMStartAppl 7-11 CMStartApplByBlock 7-15 CMSwitchContext 7-21 CMSwitchToExistingContext 7-22 CMTerminateContext 7-24 CMTranslateChToPh 7-26 CMTranslatePhToCh 7-28 ICMSCheck 7-30 ICMSCurrentVersion 7-32 ICMSFlush 7-33 ICMSSend 7-35 ICMSWait 7-37 NotifyCM 7-39 8 TROUBLESHOOTING 8-1 STATUS CODES 8-1 Context Manager II 8-1 Intercontext Message Server 8-3 STATUS MESSAGES 8-3 GLOSSARY G-1 INDEX I-1 LIST OF FIGURES Figure Page 21. The Mouse and the Mark Button 2-1 2-2. Context Manager Screen 2-2 4-1. Three Overlapping Windows 4-2 4-2. The Windows Menu 4-4 4-3. The Mouse Buttons: Mark, Menu, and Bound 4-11 4-4. A Resized Window 4-20 4-5. Two Tiled Windows 4-26 4-6. Four Tiled Windows 4-27 4-7. A Current Window and an Icon 4-30 4-8. A Resized Window 4-41 4-9. Two Tiled Windows 4-43 4-10. Four Tiled Windows 4-44 4-11. A Current Window and an Icon 4-47 5-1. CM Editor Screen 5-9 5-2. Example of a Configuration File 5-40 LIST OF TABLES Table Page 41 Menu Commands 4-5 4-2 Mouse Buttons 4-14 4-3 Summary: Windows and the Mouse 4-15 4-4 Making Hidden Window Contents Visible 4-23 4-5 Summary: Windows and the Keyboard 4-34 5-1 CM Editor Function Key Menu 5-112 Contents i i Context Manager II  !$Gnru@ $Gm)Fu "0157YxBVq5Ndr܊ܻ7Ngܘϟ@ P,$01,!@ ,$01,!@ ` ,$01,! X"@&'*+,+@oόϩEyϏϤ@ ` ,$01,! X"@&'*+,@ ,$01,!@ ,$01,! $'{'7Kg?m5Miy D^|{@ ,$01,!@ ,$01,!@ ` ,$01,!@ P,$01,!&wϕ,,`|Dgv!9a~.Y|ܰ8Ifܠ-,@ P,$01,!@ ,$01,!@ ` ,$01,! X"@&'*+, Ϛϩ_ptw-Onܙ !4Hc{ܝܸ+<M^w܋@ P,$01,!@ ,$01,!@ ` ,$01,! X"@&'*+, +126^*6^/@ @,01,! @ <,,!@ x,,! X"@&'*+,@ P,1,!!E`ϕϱ0Mlϕڰ $N~ϫ@@,@, @ <,,!@ x,,!@ @,01,!@ @ ,01,!  ((()P xxxx  Courier 72 Cubic PS 96 *)D[΃ Ho\2 #CVl:)Է+]?BeQrf:$ Jyd_h^R8,vUwZh 0ߧbGdۆJt@GGdj˄,M܈MrALMкz>i8kk}SuJEu`JsCQ;.툨O_Nl#͚ 4s @>@=A8F_1Jr>:% 7 OPERATIONS This chapter describes procedural interfaces for the CM and ICMS operations. For descriptions of other operations mentioned in this note, see "Operations" in the CTOS II Reference Manual. If you want to write code that uses any of the following calls, you must link your Run file with the following two files: CmCalls.obj CmRqLabl.obj These files resolve references to CM requests and object module operations within your program. They are placed on your hard disk when CM is first installed.               G B "10.3 i r Y?6XkuM/hu(Pʗɔ뷞-\e&~yga 9$Юmb(ϜaP쑣6@ApE7[ȉ贊<"/|sFeo-*eD[f Ho2 C{Vh 0:)ԓ+o]/?B!Q?>f6 PJy d+ۭKhzdR,LvUwZ5 @CS3bTF`@Gpj1ӛ!MHirNALNVzzidk(Ց+SAFEa`}t;G.dO뒘l#ٚ@ C4O >=8b뢗1 6YYąۜNQȗҁh5 =W1Ty^`XiIp4r<'/{"n-^֏2!cs@D0XڜItQK~}x_bq< 3.% 1؎8/r=5 u-Pp2x[~v\NӇ&CRg 9x$Ym(9!a:&6p7Xb콟"|sFWe*nD*[ H4o2 CHViIo:/)Ԝ+P]?}BrQ;(f )Jydk|ph3R,vU$wZ8ߐb%@=8Hh1 7wV|nY) N1cîi5VWgT!^AFXbšׅ7'l{nM-菏 !EYc0ڍItKD~U}xY_q:O%l8#÷Ӛ" 4a >~=w8T91 $Ƹ囀 9YvNR 0nj{j5oW+ة;T*^"ݫX[њ昅'M{n-Hl!c BN0~IztcK~}x_q<3Hi% AHkzd/8̏ u7Pjh >:% \ ӡ&)g z9b$뻗m(sCaO쌣6p7R%iS"*|s+Fe>8*xXD[b Ho?2=2 CVk{i:)VԮ+j]^?7BQefy_ ۧGJfydh;R',3vUVwZwTGfJbvOΆ /@GjDVh M7frAL$С)zikUWȑܔS覉E`q6\;.GcO’l#g\К b4 >=\8 15 1dY`Ns@BMHk5WIpT3^XTs8Fe (See the Context Manager II Release Notice for details about installation.) ____________________________________________________________ CMCurrentVersion ____________________________________________________________ CMCurrentVersion (pbVersion, pbRevision): ErcType DESCRIPTION CMCurrentVersion allows a program to determine the current version and revision levels of CM. It checks to ensure that 1. CTOS is Version 9 or greater 2. CM is installed 3. Request.7.sys loadable requests are installed PARAMETERS pbVersion is the memory address of a byte into which CM will return the current version. pbRevision is the memory address of a byte into which CM will return the current revision. ____________________________________________________________ CMCurrentVersion (continued) ____________________________________________________________ ERRORS Decimal Value Meaning 12099 ercNoCM NOTE If the CM version is earlier than 2.0, CmCurrentVersion returns 0 and 0 as the version and revision. ____________________________________________________________ REQUEST BLOCK CMCurrent Version is an object module procedure. ____________________________________________________________ CMQueryConfigFile ____________________________________________________________ CMQueryConfigFile (pbBuf, cbBuf, pcbBufRet): ErcType DESCRIPTION The CMQueryConfigFile service allows a program to determine the name of the current CM Configuration file. The CMQueryConfigFile returns the fully qualified Configuration file name. PARAMETERS pbBuf bBuf describe the buffer where the name of the Configuration file is to be returned. pcbBufRet is the memory address of a word value where the actual size of the name of the Configuration file is placed. ERRORS Decimal Value Meaning 12007 ConfigBufferTooSmall ____________________________________________________________ CMQueryConfigFile (continued) ____________________________________________________________ REQUEST BLOCK ____________________________________________________________ Size Offset Field (bytes) Contents 0 sCntInfo 1 6 1 RtCode 1 0 2 nReqPbCb 1 0 3 nRespPbCb 1 2 4 userNum 2 6 exchResp 2 8 ercRet 2 10 rqCode 2 8077h 12 reserved 6 16 pbBuf 4 20 cbBuf 2 22 pbBufRet 4 26 cbBufRet 2 2 ____________________________________________________________  ____________________________________________________________ CMQueryContextHandle ____________________________________________________________ CMQueryContextHandle (pchRet): ErcType DESCRIPTION The CMQueryContextHandle service allows a program to determine its own context handle. This program can then identify itself to another program by including its context handle in a message. PARAMETERS pchRet is the memory address of a word value where the context handle is returned. REQUEST BLOCK ____________________________________________________________ Size Offset Field (bytes) Contents 0 sCntInfo 1 6 1 RtCode 1 0 2 nReqPbCb 1 0 3 nRespPbCb 1 1 4 userNum 2 6 exchResp 2 8 ercRet 2 10 rqCode 2 8076h 12 reserved 6 18 pchRet 4 22 schRet 2 2 ____________________________________________________________ ____________________________________________________________ CMQueryErc ____________________________________________________________ CMQueryErc (pErcRet): ErcType DESCRIPTION The CMQueryErc service is used by a program to retrieve the error code from the preceding call to CMStartApplByName, CMStartApplByBlock, or CMSwitchToExistingContext. PARAMETERS pErcRet is the memory address of a word value where the previous erc is returned. REQUEST BLOCK ____________________________________________________________ Size Offset Field (bytes) Contents 0 sCntInfo 1 6 1 RtCode 1 0 2 nReqPbCb 1 0 3 nRespPbCb 1 1 4 userNum 2 6 exchResp 2 8 ercRet 2 10 rqCode 2 807Ch 12 reserved 6 18 pErcRet 4 22 sErcRet 2 2 ____________________________________________________________ ____________________________________________________________ CMQueryParent ____________________________________________________________ CMQueryParent (ch, pchRet): ErcType DESCRIPTION The CMQu M is to use as the new context's VLPB. Therefore, if pVLPB is nonNIL, then the command case specified in the StartData block is ignored. fDependentChild If true, the child context is marked as dependent on its parent context for survival. That is, if the parent is terminated, the child is also terminated. pchRet is the memory address of a word to which the context handle of the new context is returned. Definition of the StartData block: Size Offset Field (bytes) 0 sbApplName 80 80 sbRunFile 80 160 sbAbbrev 7 167 wMemorySize 2 169 sbCase 3 172 bPresetFKey 1 173 fPresetFKey 1 174 bAutoStart 1 175 sbVolume 13 188 sbDirectory 13 201 sbPrefix 13 214 sbPassword 13 227 sbNode 13 240 fDirty 1 241 fNeedsExecScreen 1 __________________________________eryParent service is used by a program to find out the context handle of the parent of any context. PARAMETERS ch is the context handle of the context whose parent is desired. If ch is 0, the context handle of the calling context is used. pchRet is the memory address of a word value where the context handle is returned. Note that a context handle of zero means that the parent is CM. If a parent context is terminated for any reason, the parent of the child context becomes CM. ____________________________________________________________ CMQueryParent (continued) ____________________________________________________________ REQUEST BLOCK ____________________________________________________________ Size Offset Field (bytes) Contents 0 sCntInfo 1 6 1 RtCode 1 0 2 nReqPbCb 1 0 3 nRespPbCb 1 1 4 userNum 2 6 exchResp 2 8 ercRet 2 10 rqCode 2 8078h 12 reserved 6 18 pchRet 4 22 schRet 2 2 ____________________________________________________________ ____________________________________________________________ CMSetParent ____________________________________________________________ CMSetParent (chToSet, chNewParent): ErcType DESCRIPTION The CMSetParent service is used by a program to change the parent of any context. PARAMETERS chToSet is the context handle of the context whose parent is to be changed. If chToSet is 0, the context handle of the calling context is used. chNewParent is the context handle of the new parent context. Note that a context handle of 0 means that the new parent is to be CM. ERRORS Decimal Value Meaning 12003 ercNoSuchContextHandle 12012 ercNoSuchParentCh 12013 ercNoSelfParent ____________________________________________________________ CMSetParent (continued) ____________________________________________________________ REQUEST BLOCK ____________________________________________________________ Size Offset Field (bytes) Contents 0 sCntInfo 1 6 1 RtCode 1 0 2 nReqPbCb 1 0 3 nRespPbCb 1 1 4 userNum 2 6 exchResp 2 8 ercRet 2 10 rqCode 2 8082h 12 chToSet 2 14 chNewParent 2 16 reserved 2 ____________________________________________________________ ____________________________________________________________ CMStartAppl ____________________________________________________________ CMStartAppl (fName, pbStartData, cbStartData, pVLPB, fDependentChild, pchRet): ErcType DESCRIPTION CMStartAppl is called to start a new application. An application can be started in two ways: by name or by block. If an application is started by name, the name supplied must exactly match a name in CM's current Configuration file. If an application is started by block, a block of information must be supplied to CM. This block provides the same information normally supplied by the Configuration file. PARAMETERS fName is TRUE to start an application by name, or FALSE to start an application by a block of information. pbStartData cbStartData If fName is TRUE, describe the name of an application that matches one specified in CM's Configuration file. If fName is FALSE, describe a block whose definition is given below. ____________________________________________________________ CMStartAppl (continued) ____________________________________________________________ pVLPB is either NIL or is a pointer to a variable length parameter block (VLPB) that C __________________________ CMStartAppl (continued) ____________________________________________________________ where sbApplName is the name of the application to start. The first byte is the size. sbRunFile is the fully qualified file specification for the Run file to be loaded. sbAbbrev is the abbreviation to be displayed in the CM screen in the associated function key. wMemorySize is the amount of memory needed to run this Run file. sbCase is the case value to be used when invoking the Run file. bPresetFKey is ignored. fPresetFKey is ignored. bAutoStart is ignored. sbVolume is the default volume to be used for the new application. sbDirectory is the default directory to be used for the new application. sbPrefix is the default prefix to be used for the new application. ____________________________________________________________ CMStartAppl (continued) ____________________________________________________________ sbPassword is the default password to be used for the new application. sbNode is the default node to be used for the new application. fDirty is TRUE if the application should only run when it is in foreground. fNeedsExecScreen is TRUE if the application requires the video to be initialized with frames as though it had been invoked from the Executive. NOTE Any path information that is not specified is inherited from the parent context. ____________________________________________________________ ____________________________________________________________ CMStartAppl (continued) ____________________________________________________________ ERRORS Decimal Value Meaning 12004 ercNoSuchCommand 12005 ercSizeTooLarge 12007 ercMissingCommandName 12008 ercCommandNameTooLong 12009 ercMissingRunFile 12010 ercRunFileTooLong 12011 ercMissingMemorySize REQUEST BLOCK CMStartAppl is an object module procedure. Depending on the value of fName, CMStartAppl calls either CMStartApplByName or CMStartApplByBlock, and then calls CMQueryErc to return the proper status code. ____________________________________________________________ CMStartApplByBlock ____________________________________________________________ CMStartApplByBlock (pbBlock, cbBlock, pVLPB, sVLPB, fDependentChild, pchRet): ErcType DESCRIPTION The CMStartApplByBlock service is used by a program to request that CM start a new application in another partition. This call should be immediately followed by a call to CMQueryErc. PARAMETERS pbBlock cbBlock describe a block of information about the new application to be started. For the definition of the start block, refer to the documentation for the related routine, CMStartAppl. pVLPB sVLPB pVLPB is either NIL or points to a variable length parameter block. NIL implies that CM should create a VLPB as though the user had selected this application from the CM screen. Otherwise, CM copies the VLPB described by pVLPB, sVLPB and uses it as the VLPB for the new application. ____________________________________________________________ CMStartApplByBlock (continued) ____________________________________________________________ fDependentChild is true if the child context is marked as dependent on its parent context for survival. If the parent is terminated, the child is also terminated. pchRet is the memory address of a word value to which the context handle of the new application is to be returned. ERRORS Decimal Value Meaning 12005 ercSizeTooLarge 12007 ercMissingCommandName 12008 ercCommandNameTooLong 12009 ercMissingRunFile 12010 ercRunFileTooLong 12011 ercMissingMemorySize SEE ALSO CMStartAppl ____________________________________________________________ CMStartApplByBlock (continued) ____________________________________________________________ REQUEST BLOCK ____________________________________________________________ Size Offset Field (bytes) Contents 0 sCntInfo 1 6 1 RtCode 1 0 2 nReqPbCb 1 2 3 nRespPbCb 1 1 4 userNum 2 6 exchResp 2 8 ercRet 2 10 rqCode 2 8079h 12 fDependentChild 1 13 reserved 5 18 pCMInfo 4 22 sCMInfo 2 24 pVLPB 4 28 sVLPB 2 30 pchRet 4 34 schRet 2 2 ________________________ _________ Size Offset Field (bytes) Contents 0 sCntInfo 1 6 1 RtCode 1 0 2 nReqPbCb 1 0 3 nRespPbCb 1 0 4 userNum 2 6 exchResp 2 8 ercRet 2 10 rqCode 2 807Bh 12 ch 2 14 reserved 4 ____________________________________________________________ ____________________________________________________________ CMTerminateContext ____________________________________________________________ CMTerminateContext (ch): ErcType DESCRIPTION The CMTerminateContext service allows a program to terminate a context in another partition. A program cannot terminate itself or CM in this way. PARAMETERS ch is the context handle of the context to be terminated. ERRORS Decimal Value Meaning 12003 NoSuchCh 12006 CannotKillSelf __________________________________________________________________________________ ____________________________________________________________ CMStartApplByName ____________________________________________________________ CMStartApplByName (pbName, cbName, pVLPB, sVLPB, fDependentChild, pchRet): ErcType DESCRIPTION The CMStartApplByName service is used by a program to request that CM start a new application in another partition. This call should be immediately followed by a call to CMQueryErc. PARAMETERS pbName cbName describe the name of the application to be started. The name must match the name of an application in CM's known list of applications supplied in its Configuration file. pVLPB sVLPB pVLPB is either NIL or points to a variable length parameter block. NIL implies that CM should create a VLPB as though the user had selected this application from the Context Manager's screen. Otherwise, CM copies the VLPB described by pVLPB, sVLPB and uses it as the VLPB for the new application. ____________________________________________________________ CMStartApplByName (continued) ____________________________________________________________ fDependentChild is true if the child context is marked as dependent on its parent context for survival. If the parent is terminated, the child also is terminated. pchRet is the memory address of a word value to which the context handle of the new application is to be returned. ERRORS Decimal Value Meaning 12004 NoSuchAppl SEE ALSO CMStartAppl ____________________________________________________________ CMStartApplByName (continued) ____________________________________________________________ REQUEST BLOCK ____________________________________________________________ Size Offset Field (bytes) Contents 0 sCntInfo 1 6 1 RtCode 1 0 2 nReqPbCb 1 2 3 nRespPbCb 1 1 4 userNum 2 6 exchResp 2 8 ercRet 2 10 rqCode 2 807Ah 12 fDependentChild 1 13 reserved 5 18 pCMInfo 4 22 sCMInfo 2 24 pVLPB 4 28 sVLPB 2 30 pchRet 4 32 schRet 2 2 ____________________________________________________________ ____________________________________________________________ CMSwitchContext ____________________________________________________________ CMSwitchContext (ch): ErcType DESCRIPTION CMSwitchContext switches the screen and keyboard to the context specified by the given context handle. PARAMETERS ch is the context handle of the context to switch to. ERRORS Decimal Value Meaning 12003 NoSuchCh REQUEST BLOCK CMSwitchContext is an object module procedure. CMSwitchContext calls CMSwitchToExistingContext, and then calls CMQueryErc to return the proper status code. ____________________________________________________________ CMSwitchToExistingContext ____________________________________________________________ CMSwitchToExistingContext (ch): ErcType DESCRIPTION The CMSwitchToExistingContext service is used by a program to ask CM to switch the screen and keyboard to an existing context. This call should be immediately followed by a call to CMQueryErc. PARAMETERS ch is the context handle of the context to switch to. ERRORS Decimal  Value Meaning 12003 NoSuchCh ____________________________________________________________ CMSwitchToExistingContext (continued) ____________________________________________________________ REQUEST BLOCK ___________________________________________________ ______________ CMTerminateContext (continued) ____________________________________________________________ REQUEST BLOCK ____________________________________________________________ Size Offset Field (bytes) Contents 0 sCntInfo 1 6 1 RtCode 1 0 2 nReqPbCb 1 0 3 nRespPbCb 1 0 4 userNum 2 6 exchResp 2 8 ercRet 2 10 rqCode 2 807Dh 12 ch 2 14 reserved 4 ____________________________________________________________ ____________________________________________________________ CMTranslateChToPh ____________________________________________________________ CMTranslateChToPh (ch, pphRet): ErcType DESCRIPTION The CMTranslateChToPh service allows a program to translate a context handle into a user number. PARAMETERS ch is the context handle to be translated. pphRet is the memory address of a word value where the translated user number is to be returned. ERRORS Decimal Value Meaning 12003 NoSuchCh ____________________________________________________________ CMTranslateChToPh (continued) ____________________________________________________________ REQUEST BLOCK ____________________________________________________________ Size Offset Field (bytes) Contents 0 sCntInfo 1 6 1 RtCode 1 0 2 nReqPbCb 1 0 3 nRespPbCb 1 1 4 userNum 2 6 exchResp 2 8 ercRet 2 10 rqCode 2 807Eh 12 ch 2 14 reserved 4 18 pphRet 4 22 sphRet 2 2 ____________________________________________________________ ____________________________________________________________ CMTranslatePhToCh ____________________________________________________________ CMTranslateuserNumToCh (userNum, pchRet): ErcType DESCRIPTION The CMTranslateuserNumToCh service allows a program to translate a user number into a context handle. PARAMETERS userNum is the user number to be translated. pchRet is the memory address of a word value where the translated context handle is to be returned. ERRORS Decimal Value Meaning 12001 NoSuchuserNum ____________________________________________________________ CMTranslatePhToCh (continued) ____________________________________________________________ REQUEST BLOCK ____________________________________________________________ Size Offset Field (bytes) Contents 0 sCntInfo 1 6 1 RtCode 1 0 2 nReqPbCb 1 0 3 nRespPbCb 1 1 4 userNum 2 6 exchResp 2 8 ercRet 2 10 rqCode 2 807Fh 12 userNum 2 14 reserved 4 18 pchRet 4 22 schRet 2 ____________________________________________________________ ____________________________________________________________ ICMSCheck ____________________________________________________________ ICMSCheck (pbMsg, cbMsg, pcbMsgRet): ErcType DESCRIPTION The ICMSCheck service allows a program to check for and possibly receive an arbitrary message sent by another context by means of the Intercontext Message Server (ICMS). If a message is queued waiting for this context, the message is returned. PARAMETERS pbMsg cbMsg describe a buffer for the message supplied by the calling program. pcbMsgRet is the memory address of a word value where the actual size of the message is placed. ERRORS Decimal Value Meaning 12103 ercNoMsgAvailable There is no message available for this context. 12106 ercMsgTooLong The message is bigger than the area supplied. ____________________________________________________________ ICMSCheck (continued) ____________________________________________________________ REQUEST BLOCK ____________________________________________________________ Size Offset Field (bytes) Contents 0 sCntInfo 1 6 1 RtCode 1 0 2 nReqPbCb 1 0 3 nRespPbCb 1 2 4 userNum 2 6 exchResp 2 8 ercRet 2 10 rqCode 2 8011h 12 reserved 6 18 pbMsg 4 22 cbMsg 2 24 pcbMsgRet 4 28 cbMsgRet 2 2 ____________________________________________________________ ____________________________________________________________ ICMSCurrentVersion ____________________________________________________________ ICMSCurrentVersion (pbVersion, pbRevision): ErcType DESCRIPTION The ICMSCurrentVersion routine allows a program to determine the current version and revision levels of ICMS. It checks to ensure that 1. CTOS is Version 9 or greater 2. Requ tifyCM ____________________________________________________________ NotifyCM (msgType, pbMsg, cbMsg): ErcType DESCRIPTION NotifyCM passes information from a context to CM, stating a condition of that context or asking for action by CM. PARAMETERS msgType is a word value code for one of the following messages: 0 Test to see if CM is installed. Returns status code 0 (ercOK) if CM is installed and status code 33 if CM is not installed. (This code also works in CM Versions 1.0 and 1.1.) 1 Terminate this context and pass an erc (sent by CmNull). 2 New command (sent by the Executive). 3 Logout (sent by SignOn). 4 Terminate this context if you want (sent by the Executive). ____________________________________________________________ NotifyCM (continued)est.7.sys is installed PARAMETERS pbVersion is the memory address of a byte into which ICMS will return the current version. pbRevision is the memory address of a byte into which ICMS will return the current revision. ERRORS Decimal Value Meaning 12108 ercNoICMS REQUEST BLOCK ICMSCurrentVersion is an object module procedure. ____________________________________________________________ ICMSFlush ____________________________________________________________ ICMSFlush (ch): ErcType DESCRIPTION The ICMSFlush service allows a program to flush any messages that may be waiting in the Intercontext Message Server (ICMS) for a given context. This call might be used, for example, when program A in a given partition chains to program B. Program B might initially flush waiting messages intended for A. PARAMETERS ch is the context handle of the context whose messages are to be flushed. REQUEST BLOCK ____________________________________________________________ Size Offset Field (bytes) Contents 0 sCntInfo 1 6 1 RtCode 1 0 2 nReqPbCb 1 0 3 nRespPbCb 1 0 4 userNum 2 6 exchResp 2 8 ercRet 2 10 rqCode 2 8012h 12 ch 2 14 reserved 4 ____________________________________________________________ ____________________________________________________________ ICMSSend ____________________________________________________________ ICMSSend (ch, pbMsg, cbMsg): ErcType DESCRIPTION The ICMSSend service allows a program to send an arbitrary message to another context by means of the Intercontext Message Server (ICMS). PARAMETERS ch is the context handle of the context where the message is to be sent. pbMsg cbMsg describes the message to be sent. ____________________________________________________________ ICMSSend (continued) ____________________________________________________________ REQUEST BLOCK ____________________________________________________________ Size Offset Field (bytes) Contents 0 sCntInfo 1 6 1 RtCode 1 0 2 nReqPbCb 1 1 3 nRespPbCb 1 0 4 userNum 2 6 exchResp 2 8 ercRet 2 10 rqCode 2 800Fh 12 ch 2 14 reserved 4 18 pbMsg 4 22 cbMsg 2 ____________________________________________________________ ____________________________________________________________ ICMSWait ____________________________________________________________ ICMSWait (pbMsg, cbMsg, pcbMsgRet): ErcType DESCRIPTION The ICMSWait service allows a program to wait for an arbitrary message sent by another context by means of the Intercontext Message Server (ICMS). PARAMETERS pbMsg cbMsg describe a buffer for the message supplied by the calling program. pcbMsgRet is the memory address of a word value where the actual size of the message is placed. ERRORS Decimal Value Meaning 12106 MsgTooLong The message is bigger than the area supplied. ____________________________________________________________ ICMSWait (continued) ____________________________________________________________ REQUEST BLOCK ____________________________________________________________ Size Offset Field (bytes) Contents 0 sCntInfo 1 6 1 RtCode 1 0 2 nReqPbCb 1 0 3 nRespPbCb 1 2 4 userNum 2 6 exchResp 2 8 ercRet 2 10 rqCode 2 8010h 12 reserved 6 18 pbMsg 4 22 cbMsg 2 24 pcbMsgRet 4 28 cbMsgRet 2 2 ____________________________________________________________ ____________________________________________________________ No  ____________________________________________________________ 5 Change the parent of the calling context to be CM (see "Communication Between Applications," in Chapter6). 6 Graphics application (sent automatically by all graphics applications). 7 Terminate this context and pass an error message (sent by CmNull). 8 This context can run in background (clean) (sent by any application). 9 This context cannot run in background (dirty) (sent by any application). 10 This context is no longer using graphics. 11 Not currently used. 12 Not currently used. 13 Lock this context from user access. 14 Unlock this context from user access. 15 Terminate this context when its parent terminates. ____________________________________________________________ NotifyCM (continued) ____________________________________________________________ 16 Do not terminate this context when its parent terminates. 17 Log out unconditionally. 18 Change the label of the function key appearing on the CM screen. pbMsg/cbMsg describes the appropriate message. These are only meaningful to CM for messages of types 1, 2, 4, 7, and 18. Values 8 and 9 deserve further explanation: Depending on the sequence of calls that a program makes to video routines, CM marks that context as clean or dirty (able or unable to run in background). Any program can override this marking by including an explicit call to NotifyCM with the values 8 or 9. ERRORS Decimal Value Meaning 12000 ercUnknownMsg ____________________________________________________________ NotifyCM (continued) ____________________________________________________________ REQUEST BLOCK ____________________________________________________________ Size Offset Field (bytes) Contents 0 sCntInfo 1 6 1 RtCode 1 0 2 nReqPbCb 1 1 3 nRespPbCb 1 0 4 userNum 2 6 exchResp 2 8 ercRet 2 10 rqCode 2 102h 12 msgType 2 14 reserved 4 18 pbMsg 4 22 cbMsg 2 ____________________________________________________________2 Operations 7-# 7-# Context Manager II³RFRK@ ` 40 0Z @ d00Z @ <00Z X"@&'*+,78H 7H_@0 @ <0 X"@&'*+,@ P00Z@ ` 0 0Z=q}'=p|'@ H H <0*@ H H 80*@ <0@ x0@ 0 2=ĕԖ1<@ 8 P0N@ 8 <0N@ x0@ H <0* @ 0 <@ <0,!@ h x00Z @ 0,!@ 0,!!ߚś݈@ H0<@ H 0<@ H0<@ 0 <  >?O[ߘ™ҟ>[Ϫ@ h x0@ 0,!@ 0,! @ <0,! X"@&'*+,&*̏%* @ 0,! @ 0 0 <0@ 0 0 0@ 8 <0N@ <N@A}~я@}?@0 @ <0,! X"@&'*+,@ h <0@ h x0=tÀ6@A=s5A@M  X"@&'*+,5733B@ <0@ x0@ | x0 @ 0,!^_ ^ ]@ 8 P0N X"@&'*+," X"@&'*+,56733B@ <0N:;w:w9= @ <0,! X"@&'*+,@ 8 <0N@ <N@ h x0 [\j٦̬[i  =>?{|ŐԑŒ>{=q@ x00Z@ 0,!@ <0,! X"@&'*+, @ 0,! -,io@ <0,!@ h x00Z@ 8 <0N@ x00Z@ <00Z<b<BaB@ H 0<@ H0<@ 0 <@ 0 <   )*fghůӰű)gfo@ 0,!@ <0,! X"@&'*+, @ 0,!@ H0<  ,0>+/=z@ <0,!@ h x00Z@ 8 <0N@ <00Z@ x00Z<b<BaD@ H 0<@ H0<@ 0 <@ 0 <  +,hijŴӵŶ+ih@ 0,!@ <0,! X"@&'*+, @ 0,!@ H0<&2Оé%1۝Ψ)@ 8 P0N@ 8 <0N@ <00Z@ x00Z @ H0<@ H 0<@ H0<@ 0 < =>?{|ŇԈʼn>{=:@  x0@ 0,!@ <0,! X"@&'*+,  @ 0,! >?LXYߕ–Ҥ>X@ h x00Z@ 0,!@ 0,! @ <0,! X"@&'*+, &%@ H 0<@ H0<@ 0 <@ 0 < ()efgӤůӰű(fe@ 0,!@ <0,! X"@&'*+,  @ 0,!@ H0<.:ŒЗ¬-9ۋ͖'@ 8 P0N@ 8 <0N@ <00Z@ x00Zjk;SjiP@ <0,! X"@&'*+, @ 8 <0N@ <N@ h x00Z <=HTUđƒР<Tّ@ 0 <@ <0,!@ h x00Z@ 0,!@ 0,!  ߚś݈  §в ۦͱ6  X"@&'*+, 57R8B@ 8 <0N@ <00Z@ x00Z@ 80N@ <0N" X"@&'*+, 567R8B@ P0N?LWX?W@ 0,!@ 0,! @ <0,! X"@&'*+,  X"@&'*+, 3@ 0@ P0N@ 8 0N@ 8 L0N@ 8 P0NXXO @ <0,! X"@&'*+,@ ,*Z@ 0$x@ UU[_'j~ X"@&'*+,@  P <0~@ P00Z @ 0,!@ 0,!=JUVВ=Ud@ x0@  P <0~@ 0,!@ 0,! @ <0,! QRގďѐ!Qڏ!Ž@ 0,!@ <0,! X"@&'*+, @ 0,!@ 0 0 <0! @ 0,! @ <0,! X"@&'*+,@ <00Z@ x00Z(=>LЈÎ=K@ 0 <@ <0,!@ h x00Z @ 0,! §5Kg@ <00Z@ h x00Z@ 8 <0N@ <N@ x00Z >?QRSߏ>Rϵ@  p x0@ 0,!@ 0,! @ <0,! X"@&'*+, @ <0N  X"@&'*+,5733B@ <00Z@ x00ZݵԴ@ P00Z  X"@&'*+,5733B@ <0N" X"@&'*+,56733B?@R^_?^@ 0,!@ 0,! @ <0,! X"@&'*+, X"@&'*+, 6ۤ6Lh@ 8 <0N@ <N@ x0T@ 8 0N@ 8 P0N STfr SrA  ߗŘ݅A@ H0<@ H 0<@ H0<@ 0 <* =>?{|ōԎŏ>{=@ | x0@ 0,!@ <0,! X"@&'*+, @ 0,!* @ <0N  X"@&'*+,5733B@ <00Z@ x00ZݭԬ@ P0N  X"@&'*+,5733B@ <0N" X"@&'*+,56733B?R]^?]@ 0,!@ 0,! @ <0,! X"@&'*+, X"@&'*+,Ѥå6Gۤ6G\@ <N@ x0T@ 8 P0N@ 8 0N@ 8 <0N S S@ @ <0,! X"@&'*+,@ h <00Z@ h x00Z0[\j٦ì[i@ 0 <@ <0,!@ h x00Z @ 0,!@ 0,! @ H0<@ H 0<@ H0<@ 0 <8 =>?{|ŎԏŐ>{=@ x00Z@ 0,!@ <0,! X"@&'*+, @ 0,!8 ߗŘ݅A@ H0<@ H 0<@ H0<@ 0 <2 =>?{|ŋԌō>{=t@ x00Z@ 0,!@ <0,! X"@&'*+, @ 0,!2  tµŒ s~ͻۍ@ h x00Z@ <N@ 8 <0N@ <00Z@ x00Z >?XYZߖ¿>Y@ x00Z@ 0,!@ 0,! @ <0,! X"@&'*+, .= -=< X"@&'*+,@ <N@ 8 <0N@ <00Z@ x00Z =>WcdРҡï=c@ 0 <@ h x00Z@ 0,!@ 0,! @ <0,! ߗŘ߭݅   Ы' ۟ͪ'& X"@&'*+,@ <N@ 8 <0N@ <00Z@ x00Z =>P\]ЙҚè=\@ 0 <@ h x00Z@ 0,!@ 0,! @ <0,! ߗŘ߭݅@ H0<@ H 0<@ H0<@ 0 << =>?{|ōԎŏ>{=%@ x00Z@ 0,!@ <0,! X"@&'*+, @ 0,!<  ny£Ф#1 mx "21@ <N@ 8 P0N@ 8 <0N@ <00Z@ x00Z >?P\]ߙšҨ>\@ h x00Z@ 0,!@ 0,! @ <0,! X"@&'*+,&% @ H 0<@ H0<@ 0 <@ 0 < 01mnoӬŽӾſ0nmn@ 0,!@ <0,! X"@&'*+, @ 0,!@ H0<A @ 8 P0N X"@&'*+, @ <0N" X"@&'*+, 56733Bfg©6fz X"@&'*+,!@ 80N@ 8 <0N@ <N@ x00Z4@¦ڱBH3?װAHs@ 8 P0N@ 8 <0N@ <00Z@ x00Z@ x00Z,-ij{ڇ,i+@ 0,! @ <0,! X"@&'*+,@ 8 <0N@ <NC=>LЈÎ=K@ 0 <@ <0,!@ h x00Z @ 0,! ߗŘ݅@ H0<@ H 0<@ H0<@ 0 <E =>?{|ŅԆŇ>{=@ x00Z@ 0,!@ <0,! X"@&'*+,  @ 0,!E      @ <0N  X"@&'*+, 5733B@ <00Z@ x00ZEF¥EDM  =>GSTАґß=S@ 0 <@ h x00Z@ 0,!@ 0,! @ <0,! ߗŘ݅@ H0<@ H 0<@ H0<@ 0 <K =>?{|ŎԏŐ>{=@  x00Z@ 0,!@ <0,! X"@&'*+," @ 0,!K  –д ڔ8͜@ 8N@ 8 80N@ 40*@ 80 @ x00ZAB~A~@ @ <0,! X"@&'*+,#@ 800Z @ h x00ZN  Hbmn¢̬ Ham1@ 800Z @ t00Z@ x00Z @ 0,!@ 0,!KYśJX…@ 0 < @ 80,!@ h t00Z@ 8 80NP ߗŘ߭݅@ H0<@ H 0<@ H0<@ 0 <P   X"@&'*+,&5733B@ <00Z @ x00Z@ x00ZQRα Q P@ 8 P0N X"@&'*+,&" X"@&'*+,&56733B@ <0N =>?{|Ņ>{=@ x00Z@ 0,!@ <0,! X"@&'*+,$ @ 0,!P —Т ޖ͡  X"@&'*+,$5733B@ 8 <0N@ <00Z @ x00Z1 1 /0 X"@&'*+,% X"@&'*+,$" X"@&'*+,$56733B@ P0N =>FRSЏҐÞ=R@ 80,!@ h x00Z@ 0,!@ 0,! @ <0,!&%@ H 0<@ H0<@ 0 <@ 0 <V ,-ijkӨŰӱŲ,ji@ 0,!@ <0,! X"@&'*+,& @ 0,!@ H0<V.9:-9 ^/^]U X"@&'*+,'@ 80N@ 8 <0N@ <N@ x00Z =>FRSЏҐÞ=R@ 0 <@ h x00Z@ 0,!@ 0,! @ <0,! ߗŘ݅@ H0<@ H 0<@ H0<@ 0 <\ =>?{|ńԅņ>{=+@ x00Z@ 0,!@ <0,! X"@&'*+,( @ 0,!\  Њ> ~͉~?>@  H <0Nf@ 8 <0N@ <00Z@ x00Z >?GSTߐ >SL(Ul  @  H <0Nf@ 0,!@ 0,! @ <0,! X"@&'*+,) >?GSTߐ.>S. @  H <0Nf@ 0,!@ 0,! @ <0,! X"@&'*+,*Ѯϭݴ X"@&'*+,+@ 8 <0N@ <N@ x00Zr@ 8 P0N  is not a context until it has been started by CM. Application character map. The application character map is an array where lines of the screen are stored when an application is running in background. Autostart. A CM configuration in which the first display after you sign on is that of an application. Available memory. Available memory is the amount of memory that is available to the application program after the operating system, CM, and all system services have been loaded. Background. This indicates a context that is still running, but is not the active context. Border. See Window border. Bound button. The Bound button is one of the Mouse buttons. It is used to change the size of a window. Bullet. On the CM screen, the bullet is the small dot in =>FRSЏҐÞ=R@ 0 <@ h x00Z@ 0,!@ 0,! @ <0,! ߖŗ݅@ H0<@ H 0<@ H0<@ 0 <c =?@PQRSUVk=@@Rk=?Qk@,@, @ 0,!c  ((()P xxxx  Cubic PS 96              G Bii5g"10.3RP9 cPgI,J "% '+()*+y-./U001335d67789:"<<>??@ABhC\DEqFG HQIIfJ0K!L:MMNiOCPDQSS1UUyV`WKX|XVYYZ[j\\]^o_adeghki GLOSSARY Active. An application that has been started under CM (a context) is said to be active. Application. An application is a program with which a user can carry out tasks such as word processing or financial spreadsheet operations. An application dicator to the left of the name of the current context under "Contexts you can return to." Click. Click is a Mouse button term. To click a Mouse button, press it down and release it immediately. CM Configuration file. The CM Configuration file contains information required by the system to run CM for a given user. Command. A command is an instruction that performs a specific action. The Windows menu contains a list of commands that allow you to move and size a window. Command case. The command case is a two-character parameter that is passed to an application to tell it which command has been given, and thus what process should be done. Conforming program. Under Window Services, a conforming program uses only the Video Access Method (VAM) to write to the display. Configure. To configure a system is to set it up, specifying certain parameter values or characteristics to complete the information that is needed so that it can run. Context. A context is an application that has been started under CM. Context handle. A context handle is a unique identifier that is assigned to an application when the application is first loaded into a vacant partition. Current context. The current context is the context you can see on the screen and interact with. Current window. The current window is the window with which you can interact. It is the only window that can be sized and moved. If the current window has a window border, it will be brighter than the other window borders on the screen. Default value. A default value is a value assigned automatically if you do not specify one. Done. This status term indicates that the last command you invoked in the Executive has been completed. Drag. Drag is a Mouse button term. To drag a Mouse, hold down a button and move the Mouse at the same time. Eliminating a context. To eliminate a context, choose it in the list of "Contexts you can return to" and press Action-Finish. This method discards work done in this context in this session. Exit Run file. An Exit Run file is a user-specified file that is loaded and activated when an application system exits. Each application partition has its own Exit Run file. Finishing a context. To finish a context is to carry out the usual steps to finish and save within that application. Fixed partition. A fixed partition is a space of a fixed size that is created in memory for a specific application. The size of this space is determined by the amount of memory specified in the Memory Required field of the CM Configuration File Editor. When you specify 0 or leave the space blank, a partition is created that is equal to the size of available memory. Foreground. The current context, which owns the screen, keyboard, and Mouse (if you have one) runs in foreground. Full. A command that appears on the Windows menu. When the Full command is selected, a window is created that is the size of the full screen. This window does not have a border or title bar. Function keys. The function keys are keys F1 through F10 across the top of the keyboard. In CM, they can either be assigned during a session or preassigned to applications. Halted. This status term indicates that all processes of the current context have been stopped. Highlighted. A screen area, word, or character that is highlighted appears brighter than other objects on the screen. Icon. An icon represents an application whose window has been greatly reduced. It is also the name of a command on the Windows menu. When the Icon command is selected, an icon is created that appears at the bottom of the screen over its assigned function key. The application represented by the icon may still be running in background, or it may be swapped out. Install. The term "install" has two meanings: to place software on a system, and to load a program from disk storage to workstation memory. In this manual, the second meaning has been used throughout. Intercontext Message Server (ICMS). Applications that are running in separate partitions can communicate with each other by passing messa t is not running because it is allowed to run only in foreground. Suspended. A context that has been swapped to disk (stored temporarily in a hard disk file) is said to be suspended because it is not actually running. Swapped. This status term indicates that the context shown to its right has been stored temporarily on a hard disk. This context is active although suspended. Swap to disk. To swap a context to disk is to place it temporarily in a designated Swap file on a hard disk. A swapped context is still active (can be recalled with a keystroke) but is suspended (not actually running). Switching contexts. To switch contexts is to press certain keys to cause one context to be replaced on the screen by another. Tile. A command that appears on the Wiges using ICMS. Under ICMS, a message is copied into ICMS' memory space, where it waits for the receiver to claim it. Interprocess Communication (IPC). IPC is a facility of the operating system that allows communication between processes in a way that is similar to the Intercontext Message Server. But under IPC, only the address of a message is transferred. Mark button. The Mark button is one of the Mouse buttons. It is used to select a command on the Windows menu and move a window to a new position.  Menu. A menu lists various command options, from which you can make one choice. When an option is chosen from the Windows menu, a window can be sized and moved. Menu button. The Menu button is the middle button on the Mouse. It is used to bring up the Windows menu. Mouse. A Mouse is an electronic pointing device that plugs into the keyboard. Moving the Mouse moves a cursor on the screen. The Mouse also has three buttons that manipulate windows in various ways. Mouse Services. The Mouse Services is a system service that allows you to use a Mouse to select items from the CM screen and manipulate windows. Move. A command that appears on the Windows menu. When the Move command is selected, the window is moved to a new location. The size of the window does not change. Nonconforming program. Under the Windows Services, a nonconforming program "breaks" the rules by using a pointer to the video map. (That is, it uses a GetpStructure to get access to rgpVidMemLine.) Partition. A partition is a defined portion of workstation memory. Point. Point is a Mouse term. To point a Mouse is to move it until the cursor rests on the selected area. Preassigned function key. A preassigned function key is one assigned to an application through the CM Editor. Preassigned keys appear on the function key menu whenever CM is installed. Press. Press is a Mouse button and keyboard term. When used in reference to the keyboard, it means to press and release a key. When used in reference to the Mouse, it means to hold down a Mouse button. Real-time applications. Real-time applications are applications in which response to input is fast enough to affect subsequent input, such as a process control system or a computer-assisted instruction system. Restore. A command that appears on the Windows menu. When the Restore command is selected, the window is restored to the size and position it was in before the Full or Tile command was executed. Reverse video. This term indicates a reversal of brightness and darkness in order to highlight a screen area, word, or character. Run file. A Run file is a disk file that contains a program in a form that can be read into memory by the operating system loader when the program is to be run. Running. This status term indicates that the context shown to its right is running. Sized Version 6 Run file. A sized Version 6 Run file is a type of Run file that has been created with the Bind command and contains sizing information from the minimum and maximum data fields. Status terms. Status terms, which appear to the left of the items in the list of "Contexts you can return to," tell whether each context is Running, Waiting, Done, Swapped, or Stopped. Stopped. This status term indicates that the context shown to its right is in background, bu ndows menu. When the Tile command is selected, the screen is divided among the number of contexts that are currently active. Title bar. A title bar is a bar that appears in the upper left-hand corner of the window border. It displays (in reverse video) the name of the application that is in the window. Type-ahead buffer. Characters that cannot yet be shown on the screen are stored in the type-ahead buffer until it becomes possible to display them. User Configuration file. The User Configuration file contains general information needed to run the system for a given user. Variable sized partition. A variable sized partition is created when you enter a less-than sign before a numeral or a zero ([nnn or [0) in the Memory Required field of the CM Configuration File Editor. The less-than sign indicates that the partition can shrink and grow (up to the maximum specified) based on information about its memory needs. This information is stored in the Run file. Video Access Method (VAM). The Video Access Method is a set of system-common procedures that is part of the installable video or Windows system service. These procedures provide direct access to the characters and attributes of each frame in the application character map. VAM procedures can put characters anywhere in a frame, scroll a frame up or down a specified number of lines, position a cursor in a frame, and reset a frame. Video Display Management (VDM). Video Display Management is that part of the installable video or Windows system service that handles requests directed to the video exchange. VDM provides direct control over the video hardware. With it, an application system can determine the level of video capability, load a new character font into the font RAM, change screen attributes, stop video refresh, calculate the amount of memory needed for the character map based on the desired number of columns and lines and the presence or absence of character attributes, initialize each of the frames, and initialize the character map. Video pointer map. The video pointer map is an array of pointers, one for each line of the screen, that always point to the location of the associated line of the application's screen. Waiting. This status term indicates that the context shown to its right is waiting for input. Window. A window is the rectangular portion of the screen within which an application's character map is displayed. If the Window Services program has been installed, some windows are surrounded by borders and have title bars. These windows can be sized and moved. Window-aware program. A window-aware program uses only the Video Access Method to access the display. The program is aware that the size of its window has changed and reformats itself to fit into the new size. Window border. A window border is a box that surrounds the window. The border has a title bar on top that displays the name of the context that is in the window. Windows menu. The Windows menu is a small box that "pops up" on the screen and displays Window commands. These commands allow a window to be moved and sized. Window Services. The Window Services system service allows multiple contexts to be visible on the screen at once. Each context "owns" a portion of the screen called a window. Under Window Services, the windows can be moved and sized.2 Glossary G-# G-# Context Manager IIZ$dp3M3CAKOUV\]mZ[d@KŽ̤»›̫ K Q ´ ̼ # 9 “ ̙ š ̠ “ ̧   }̈.2²´bl:B©̱ưw c22A][@ݎݺݚ K ݴ " ݒ  |ݳb:ݨuwZ  X&*, X&*, X&*,@ P0<@ d0<@  X&*, n Chapter 2, "Experimenting with Context Manager II," before you read this chapter. ____________________________________________________________ WHAT IS A WINDOW? A window is the rectangular portion of your screen within which an application is displayed. Your CM screen is a window. When you start an application from CM, the window of that application appears on top, and the CM screen disappears. USING WINDOWS If you have Windows installed on your workstation, your application does not have to occupy the full screen: You can now vary the size of its window. You can also view more than one application at the same time, move them to different locations on the screen, and make them overlap, if necessary. See Figure 41, below. _ 1165-003 ]#$ ̈Ñ,;̗àas04̙òcm̦ï,̛õny̯ö    3 D ̸ [ c ̯   r  , 4 e m ai̟ã̼QiLMTUWXu .~Ð8@̖à̢úvʉ,ʗaʙbʦʛn3 ʸ Z ʯ q + d aʻPX }7ʖʢw Wv X&*, X&*, X&*, X&*,@ P0<ԥ˵GZ467EFGHJK`ҥG4@7G`46F`@ ,@ ,!,@ P0< X&*,  h((()P @xx  Courier 72 Cubic PS 96              G JM1!1$10.1.2w. 4 USING WINDOWS AND THE MOUSE This chapter introduces you to the interaction between CM and Windows. CM and Windows also interact with the Mouse Services. The Mouse Services is a system service that allows you to use a Mouse to select items from the CM screen and to manipulate windows. This chapter also gives you practice in selecting, sizing, and moving windows with either a Mouse or the keyboard. Step-by-step exercises are provided in the following sections, later in this chapter: o Managing Windows Using the Mouse o Managing Windows Using the Keyboard NOTE To use Windows with CM, you must have the Window Services installed on your workstation. To use a Mouse, you must have the Mouse Services installed. You must also be familiar with the material i  _ Figure 41. Three Overlapping Windows EXAMPLE You have just started the Copy command in the Executive and now need to telephone someone about one of your files. With Windows, the Executive can remain visible on your screen (while the Copy continues to run), and at the same time you can scan your files list in another Executive to obtain the information you need. Both applications can remain open, side by side. If you need a larger work area, you can make one Executive smaller and position it in another area on your screen. (You may want to keep it open if you plan to return to it again.) You can also start a third application and still have the two Executives remain visibly open. STARTING WINDOWS To start an application using Windows, use your CM screen areas as outlined in Chapter 2. Your CM screen and the way you use it have not changed. The next few pages provide detailed information and summaries about Windows and the Mouse. A tutorial that gives hands-on instructions follows. THE WINDOWS MENU The Windows menu is a small box that "pops-up" on the screen and lists various command options. After you start an application, you can size and move its window by selecting a command from the Windows menu. With the keyboard, you display the menu by pressing ActionW. (See Figure 42.) Note that you cannot activate the Windows menu from the CM screen. If you have a Mouse, display the menu by placing the Mouse cursor on a window border and pressing the middle Mouse button, known as the Menu button.  (See "Using the Mouse Buttons," below.) When you use the Mouse to display the menu, five commands are shown: CM, Icon, Restore, Full, and Tile*. (The Size and Move commands, shown on the menu in Figure 42, are not listed when you activate the Windows menu with your Mouse: You can size and move windows by using your Mouse buttons.) Table 41, below, summarizes the commands available to you on the Windows menu. _____ *On a window that must always occupy the full screen, the Windows menu displays only the CM and Icon commands. (For more information on full screen windows, see "Looking at Windows," below. On a window that occupies the full screen after the Full command is activated, the Windows menu displays only the CM, Icon, and Restore commands. _  1165-004 _ Figure 42. The Windows Menu Table 41 MENU COMMANDS (Page 1 of 2) ____________________________________________________________ Command Name Function ____________________________________________________________ CM* Returns you to the CM screen. Icon* Creates a tiny window that moves to the bottom of the screen and appears over its assigned function key. An icon is never the current window, so it never owns the keyboard or Mouse. It cannot be sized or moved around the screen. The application program represented by an icon may still be running in the background or may be swapped out. Restore* Returns the window to the size and position it was in before the Full command was executed. The Restore command is not displayed on the menu if the current window must always occupy a full screen. It is displayed if the window is expanded to a full screen size when the Full command is selected. Full* Expands the window to the size of the whole screen. The full screen does not have window borders. The Full command is not displayed on the menu if the current window must occupy a full screen. ____________________________________________________________ Table 41 MENU COMMANDS (Page 2 of 2) ____________________________________________________________ Command Name Function ____________________________________________________________ Tile* Divides the screen among the number of contexts that are currently active. You can view each context that is running in one "Tile" of the screen. The Tile command is not displayed on the menu if the current window must occupy a full screen. Move Moves the window to a new location without changing its size. A window that occupies the full screen cannot be moved. Size** Selects the bottom left corner of  return to" becomes the current window. (Minus is the key above Next in the numeric pad on the right side of the keyboard.) o If you press Actionfn, the application associated with the function key becomes the current window. (See "Cycling Through Contexts," in Chapter 3, for more information.) SIZING AND MOVING WINDOWS You can change the size of a window by stretching or shrinking its borders. The contents of the window do not change until the new size has been defined. You can also change the location of a window (without changing its size) by moving its borders. The contents of the window do not move until the new position has been defined. (See "Managing Windows Using the Mouse" and "Managing Windows Using the Keyboard," below.) USING THE MOUSE WITHa window. When you move this corner, the size of the window changes. Size** Selects the bottom right corner of a window. When you move this corner, the size of the window changes. Size** Selects the top left corner. When you move this corner, the size of the window changes. Size** Selects the top right corner. When you move this corner, the size of the window changes. ____________________________________________________________ *If you are using a Mouse, only these commands appear on the menu. **For the Size commands, note that a window that occupies the full screen cannot be sized. LOOKING AT WINDOWS After you select an application and press Go, a context appears with a highlighted window border around it. (A window border is a box that surrounds a window.) The border has a title bar (in reverse video) on top, displaying the name of the context. NOTE A program may appear on your screen without a window border and title bar. Do not be alarmed if this occurs. Some programs require a full-screen window. You cannot move these windows or change their size. (You can only make them into tiny windows called icons.) You can place other windows on top of them that can be moved and sized. When you activate the Windows menu on a window that must occupy the entire screen, only the CM and Icon commands are displayed. When a program with a full-screen window is on top, it covers all other windows and takes up the whole screen. (See "Programs That Run Under Windows," in Chapter 6.) ____________________________________________________________ MAKING A WINDOW CURRENT With Windows, you can view several contexts at once; however, you can only interact with one of them at a time. The one with which you are interacting is called the current window. The current window is the only window that responds to the use of the keyboard (and Mouse, if you have one) and updates its screen based on your actions. It is the only window that can be moved and sized. You can tell which window is a current window, because its border appears brighter than the other window borders on the screen. Make a window current by clicking the Mark Mouse button in the selected window. (See "Using the Mouse Buttons," below.) On the keyboard, you can press Action-Next, Action-Minus (-), or Actionfn (where fn represents the function key assigned to the application). You can also make a window current by using your CM screen: 1. Display your CM screen (by selecting CM from the Windows menu or by pressing ActionGo). 2. Select a context from the list of "Contexts you can return to" (with your Mouse cursor or arrow keys). 3. Press Go. You can return to a context without selecting an item from the CM screen: If the CM screen does not completely cover a window (that is, a part of the window is visible from behind the CM screen), you can return to this window by moving the Mouse cursor into it and clicking the Mark button. When you have many contexts open, you can perform the following functions: o If you move the Mouse cursor into a window and click the Mark button, that window becomes current. o If you press Action-Next, the next context in the list of "Contexts you can return to" becomes the current window. o If you press Action-Minus (-), the previous context in the list of "Contexts you can   WINDOWS WHAT IS A MOUSE? A Mouse is an electronic, hand-held pointing device that plugs into your keyboard and sits on your desk. _ 1165-005 _ By moving the Mouse on your desktop, you move a cursor on your screen. USING THE MOUSE The Mouse has three buttons: Mark, Menu (the middle button), and Bound. (See Figure 43.) You can use the Mouse buttons, in place of your keyboard, to o select an application from the CM screen o display the Windows menu o select a command from the Windows menu o change the size of a window o select the current window o move a window to a new location (For more information on the Mouse buttons, see Table 42.) _ 1165-006 _ Figure 43. The Mouse Buttons: Mark, Menu, and Bound MOVING THE MOUSE If your Mouse is not attached to your system, plug it into one of the ports on the back of your keyboard. (If you are right-handed, plug it into the right side of your keyboard. If you are left-handed, plug it into the left side.) The Mouse is set up for right-handed people. It can also be configured for left-handed use. (See "Configuring the Mouse" in Chapter 5.) If you are right-handed, place your first finger on the Mark button, your second finger on the Menu button (the middle button), and your third finger on the Bound button. _ 1165-007 _ If you are left-handed, the Mark and Bound buttons are reversed. _ 1165-008 _ Move the Mouse around on your desk, and watch the cursor move on the screen. NOTE Note that the Mouse can be configured so that the cursor moves slowly or quickly. (See "Configuring the Mouse" in Chapter 5.) ____________________________________________________________ USING THE MOUSE BUTTONS You use the Mouse buttons in four ways: Press When you press a button, you hold it down. Click When you click a button, you press it down and release it immediately. Point When you point, you move the Mouse until the cursor rests on the place you have selected. Drag When you drag, you hold down a button and move the Mouse at the same time. When you work with windows, you use all three Mouse buttons. Table 42, below, describes how the Mouse buttons interact with Windows. If you want to experiment with the Mouse buttons, you can do so without damaging anything. NOTE To display the Windows menu or to move or size a window, be sure that the Mouse cursor is resting on a window boundary before you press the appropriate Mouse button. ____________________________________________________________ Table 42 MOUSE BUTTONS ____________________________________________________________ Button Description ____________________________________________________________ Mark selects an application from the CM screen selects a command from the Windows menu makes a window current moves a window by dragging the window border to a new position Bound changes the size of a window by dragging the window border to a new position Menu displays the Windows menu ____________________________________________________________ The summary in Table 43 is a quick reference guide to manipulating your windows using the Mouse. Table 43 SUMMARY: WINDOWS AND THE MOUSE (Page 1 of 2) ____________________________________________________________ If you want to... Then... ____________________________________________________________ Activate Windows menu Place the Mouse cursor on a window border, and click the Menu (middle) button. Select command Move the Mouse into the menu, point to the selection, and click the Mark button. Quickly change window size Select Icon, Full, or Tile from the Windows menu, and click the Mark button. Return to CM screen Select CM from the Windows menu, and click the Mark button, or press ActionGo on the keyboard. Cancel Windows menu Place the cursor outside the menu, and click the Mark button. Size windows Place the Mouse cursor on a window border, press the Bound button, drag the border up or down, and release the button. Move windows Place the Mouse cursor on a window border, press the Mark button, drag the bo e not highlighted. 4. Place the Mouse cursor on other highlighted window borders, and practice dragging these borders (using the Bound button) to make the window bigger or smaller. (For an example of a resized window, see Figure 44.) _ 1165-009 _ Figure 44. A Resized Window 5. Point to any corner on the window border of the current window. 6. Press the Bound button, and, at the same time, move the Mouse. Notice how the border moves in two directions. 7. Release the button when the window has reached the size you want. The contents of the window have been redrawn. 8. Now make the other window current by moving the Mouse and placing the cursor in this other window. 9. Click the Mark button. The other window has now become the current order to a new position, and then release the button. View "hidden" contents of a window Press Action in combination with the Arrow keys or Scroll keys. ____________________________________________________________ Table 43 SUMMARY: WINDOWS AND THE MOUSE (Page 2 of 2) ____________________________________________________________ If you want to... Then... ____________________________________________________________ Make a different window the current window Move the cursor into another window, and click the Mark button. Activate Windows menu on a full screen Place the cursor in the upper left-hand corner of the screen, and click the Menu (middle) button. Bring back a context from an icon Place the cursor in the icon window, and click the Mark button, or Select CM from the Windows menu to return to the CM screen, look under "Contexts you can return to," and highlight the context that corresponds to the icon. Quit from within an application Press Finish (or type f e, if in the Executive). Discard work without saving Press Action-Finish (from the CM screen, after selecting the context's name under "Contexts you can return to"). Quit CM Press Finish, and then Go from the CM screen. ____________________________________________________________ EXERCISES MANAGING WINDOWS USING THE MOUSE The exercises below give you practice in sizing and moving windows using the Mouse. If you do not have a Mouse, see "Managing Windows Using the Keyboard," below. Start by opening a few Executive windows from the CM screen. Opening Windows 1. Point your Mouse cursor to the Executive under "Applications you can start," and click the Mark button. The Executive window appears, with a highlighted window border and a title bar displaying the name of the context. 2. Point your Mouse cursor to one of the window borders, and click the Menu (middle) button. The Windows menu appears. (When you want to cancel the menu, position the cursor outside the menu, and click the Mark button.) 3. Point to the CM command with your Mouse cursor, and click the Mark button. The CM screen has placed its window over the application you have just started. 4. Start a second Executive from the list, "Applications you can start." (See step 1, above.) This second Executive, which is now the current window, has overlaid its window over the first Executive. (If you start a third Executive, it would overlay its windows over the first two Executives, and so on.) Sizing Windows You can change a window size by dragging the border of the current window to a new position. You can also drag a corner of the border. When the corner is dragged, the window changes size in two dimensions at the same time. 1. Move the Mouse so the cursor points to the top window border. 2. Press the Bound button (the border dims), and at the same time move the Mouse down (the border becomes highlighted again). This is called "dragging" the Mouse. As the Mouse moves down, the top border of the window moves down, and the window gets smaller. Notice that the border moves in one direction. 3. Release the button when the window has reached the size you want. The contents of the window have been redrawn. Notice that the first Executive, which was underneath, appears. Since the first Executive is not the current window, its borders ar ne. The current window has bright borders. ____________________________________________________________ How can I see a window that is behind the current window? Use the Bound button to make the current window smaller. (See steps 5 to 7.) When you release the button, the hidden window is revealed. ____________________________________________________________ Continue sizing the two windows by moving the borders and corners. NOTE When you make a window smaller, the contents of the entire screen are not always visible in the smaller window (for example, the command line in the Executive may not show up in the smaller window). This can occur with certain programs that are not aware that their sizes have changed. (See "Programs That Run Under Windows" in Chapter 6.) You can view the "hidden" contents of the resized window by using your Action key in combination with your Arrow keys and Scroll keys. When you use these key combinations, the contents of the window that were not visible are moved into view. See Table 44, below. ____________________________________________________________ Table 44 MAKING HIDDEN WINDOW CONTENTS VISIBLE (Page 1 of 2) ____________________________________________________________ If you want to... Then... ____________________________________________________________ See the previous line within the window Press ActionUp Arrow to move the window contents up one line at a time. See the next line within the window Press ActionDown Arrow to move the window contents down one line at a time. See the characters on the right side of the window Press Action-Left Arrow to move the window contents to the left one character at a time. ____________________________________________________________ Table 44 MAKING HIDDEN WINDOW CONTENTS VISIBLE (Page 2 of 2) ____________________________________________________________ If you want to... Then... ____________________________________________________________ See the characters on the left side of the window Press Action-Right Arrow to move the contents to the right one character at a time. Move quickly to the window contents at the top Press Action-Scroll Down. Move quickly to the window contents at the bottom Press Action-Scroll Up. ____________________________________________________________ Moving Windows During the Move operation, only the borders of the current window move; the contents of the window do not move until the new position has been defined. To move a window, 1. Move the Mouse so that it points to a border on the current window. 2. Press the Mark button, and drag the border to a new position. 3. Release the button when the window is in the location you want. The contents of the window have been redrawn. NOTE To quit working at any time, follow the procedures you normally would when in CM (refer to the summary in Table 41, "Menu Commands," above, or see "Getting out," in Chapter 3). To continue, keep both Executives open on your screen, and follow the next exercise. ____________________________________________________________ ACTIVATING COMMANDS ON THE WINDOWS MENU When you use a Mouse to activate the Windows menu, the following five commands are displayed: CM, Icon, Restore, Full, and Tile. When you activate the Windows menu on a context that must occupy the entire screen and cannot be sized or moved, only the CM and Icon commands are displayed. On a window that occupies the entire screen after the Full command is activated, the Windows menu displays the CM, Icon, and Restore commands. The CM command returns you to the CM screen. (ActionGo, on the keyboard, performs this same function.) Using the Tile Command The Tile command allows you to view all the windows you have opened. When you execute this command, each window is positioned in one "tile" of the screen. 1. Move your Mouse to make the cursor point to any border area of the current window. 2. Click the Menu (middle) button to make the Windows menu appear. (Remember, when you want to cancel a menu, position the cursor outside of the menu, and click the Mark butto lighting the selected context from the CM screen and pressing Action-Finish. 2. Activate the Windows menu (by pointing anywhere on the bright window border and clicking the Menu button), and select the Tile command. Your screen should display three "tiled" Executives. 3. Make the window on top the current one (if it does not already appear that way). 4. Activate the Windows menu again, point to the Icon command, and click the Mark button. The current window has moved to the bottom of the screen and has become iconic. Another window is now the current window. See Figure 47. 5. Follow step 4 again to create another icon. _ 1165-012 _ Figure 47. A Current Window and an Icon ___________________________________________________________n.) 3. Select the Tile command by moving your Mouse into the menu and pointing to the command. The selected command appears in reverse video. 4. Click the Mark button to execute the command. The menu has disappeared, and each Executive appears in one tile of the screen. (See Figure 45.) The current window has the brighter border. 5. Move the Mouse, and place the cursor in the other window (the one that does not have bright borders). _ 1165-010 _ Figure 45. Two Tiled Windows 6. Click the Mark button. The other window has now become the current one. 7. Activate the Windows menu by clicking the Menu (middle) button on a window border. 8. Select CM, and click Mark to return to the CM screen. 9. Start a third Executive. Then repeat steps 7 and 8 to start a fourth Executive. 10. Activate the Windows menu, and select the Tile command again. You now see four Executives represented on the screen. The last one that you started is the current window. (See Figure 46.) _ 1165-011 _ Figure 46. Four Tiled Windows 11. Experiment with the Tile command to open additional Executive windows. Notice how the tile format changes when more windows are displayed on the screen. Remember to use Action in combination with the Arrow keys and Scroll keys to make the hidden contents visible. ____________________________________________________________ What if a window appears with dotted lines? This indicates that the context has been swapped. You can recall it by placing the Mouse cursor in its window and clicking the Mark button. ____________________________________________________________ Practice making the other windows current. (Place the Mouse cursor in a different window, and click the Mark button.) Experiment also with Action-Next, Action-Minus (-), and Actionfn to make different windows current. Using the Icon Command To make a window iconic, you select the Icon command from the Windows menu. The Icon command shrinks the windows that are not presently required: You may want only one Executive open. Perhaps you do not need the other three at this moment and would like a larger work space on your screen. (You may be planning to return to these other windows later.) When you execute the Icon command, the selected window shrinks and moves to the bottom of the screen. Its title bar shortens. The contents of this window have now been replaced with the window's associated function key. (See Figure 47.) Notice that this function key is represented on the screen in relation to its position on the keyboard. Since it is still represented on the screen, it can remind you that you still have a context that is running. An icon is never the current window. It cannot be sized or moved around the screen. You can bring an icon back to its previous size by placing the Mouse cursor in the icon window and clicking the Mark button. You can also bring back the icon by returning to the CM screen, looking under "Contexts you can return to," and selecting the context that corresponds to the icon. To create some iconic windows, follow the steps below: 1. Make three Executives active. You may have to finish any additional Executives (by entering f e in the command line of the current window). Remember, you can also discard your work by high  _ What if my icons are not visible? If the current window has borders that are at the bottom of the screen, you cannot see the icons. They are hidden behind the current window. Follow the steps below to make the icons visible. To uncover hidden icons, 1. Point to the bottom border of the current window border. 2. Press the Bound button, and drag up the border. When you release the button, you can see the two icons that were previously covered. ____________________________________________________________ To bring your icons back to their previous window size, you can do one of the following: o Place the Mouse cursor in the icon window, and press the Mark button. o Return to the CM screen (by selecting CM from your Windows menu), look under "Contexts you can return to," and highlight and select the context that corresponds to the icon. NOTE The icon that is brought back last becomes the current window. It places itself over the other windows. ____________________________________________________________ Using the Full Command and the Restore Command The Full command creates a window that takes up the full screen. It does not have a border or a title bar. To activate the Windows menu on a full screen, move the Mouse cursor to the upper left-hand corner, and click the Mark button. The commands displayed on the menu are CM, Icon, and Restore. NOTE Once a context becomes full-screen, you cannot move it or change its size. However, you can make it iconic by selecting the Icon command from the Windows menu. ____________________________________________________________ The Restore command returns the window to the size and position it was in before the Full command was executed. Continue to keep three Executives open. (If you have left the exercises and are returning, start three Executives from your CM screen.) 1. When in an Executive window, activate the Windows menu and select the Full command. 2. Click the Mark button to execute the command. Notice that the context has taken up the whole screen. It does not have a border or a title bar. (The other Executive screens are in the background.) 3. Move the Mouse so that the cursor is in the upper left-hand corner of your screen. (Make sure it is exactly in the corner and cannot move up anymore.) 4. Click the Menu (middle) Mouse button to make the Windows menu appear. There are three commands on the menu: CM, Icon, and Restore. 5. Select the Restore command by clicking the Mark button. The window appears with its border and title bar. It should be the size it was before the Full command was executed. (For example, if your screen displayed three tiled windows before you executed the Full command, these three tiles would reappear if you selected Restore.) You now have a flexible way of arranging your screen. Later, when you apply these techniques to your own applications, you will be able to work quickly and efficiently. USING WINDOWS WITH THE KEYBOARD If you do not have a Mouse, you can use the keyboard to select, size, and move windows. The summary in Table 45 is a quick reference guide to manipulating your windows using the keyboard. Table 45 SUMMARY: WINDOWS AND THE KEYBOARD (Page 1 of 2) ____________________________________________________________ If you want to... Then... ____________________________________________________________ Activate Windows menu Press ActionW. Select command Press the Arrow keys, or use the Return or Next key. Size windows Press ActionW, and then press the Arrow keys or the Return or Next key to select a Size command. Press Go, press the Up or Down Arrow keys, and press Go again. Quickly change window size Select Tile, Icon, or Full from the Windows menu, and press Go. Return to CM screen Select CM from the Windows menu, or press Action-Go. Move windows Press ActionW, and press the Arrow keys or the Return or Next key to select the Move command. Press Go, press the Up or Down Arrow keys, and press Go again. Cancel Windows menu Press Cancel. View "hidden" window contents Press Action in combination with the Arrow keys or Sc  d its borders move. 5. When the window is the size you want, press Go. The window is redrawn in the new size. Notice that the first Executive, which was underneath, appears. Since the first Executive is not the current window, its borders are not highlighted. NOTE When you make a window smaller, the contents of the entire screen are not always visible in the smaller window. This can occur with certain programs that are not aware that their sizes have changed. (See "Programs That Run Under Windows" in Chapter 6.) You can view the "hidden" contents of the resized window by using your Action key in combination with the Arrow keys and Scroll keys. When you use these key combinations, the contents of the window that were not visible are moved into view. Seeroll keys. ____________________________________________________________ Table 45 SUMMARY: WINDOWS AND THE KEYBOARD (Page 2 of 2) ____________________________________________________________ If you want to... Then... ____________________________________________________________ Make a different window the current window Press Action-Next or Actionfn. Bring back a context from an icon Press Action-Next, Actionfn, or look at "Contexts you can return to," and select the context that corresponds to the icon. Quit from within an application Press Finish (or type f e if in the Executive). Discard work without saving Press Action-Finish from the CM screen (after selecting the context's name under "Contexts you can return to"). Quit CM Press Finish and then Go from the CM screen. ____________________________________________________________ EXERCISES MANAGING WINDOWS USING THE KEYBOARD The exercises below give you practice in sizing and moving windows with your keyboard. Start by opening a few Executives from the CM screen and activating the Windows menu. Opening Windows--Activating the Windows Menu To open two Executives from the CM screen, perform the following steps: 1. Use your Arrow keys to highlight Executive under "Applications you can start," and press Go. (If Executive is already highlighted, press Go.) The Executive window appears with a highlighted window border and a title bar displaying the name of the context. 2. Press ActionGo (to return to the CM screen), and start a second Executive from the list, "Applications you can start." (You can also return to the CM screen by selecting CM from the Windows menu.) This second Executive, which is now the current window, has overlaid its window over the first Executive. (If you start a third Executive, it would overlay its windows over the first two Executives, and so on.) 3. Press ActionW to bring up the Windows menu. The rectangular menu appears in the upper left-hand corner of the current window. The Move command has automatically been selected. It appears in reverse video. The Windows menu displays the commands described in Table 41, above. You select a command by either pressing the Return or Next key or by pressing the Arrow keys. (The Arrow keys are located in the upper right-hand corner of your keyboard.) To cancel the menu, press Cancel. (Note that you must cancel the menu first if you use ActionGo to return to the CM screen.) Sizing a Window You can size a window by using your Arrow keys. The Arrow keys move the corner of a window up, down, left, or right. As the Arrow keys are moved, the borders next to the selected corner move, changing the size of the window. 1. Press the Down Arrow key on the Windows menu to select Size (bottom left corner). (Remember, you can also use your Return or Next key to select the command.) The selected command appears in reverse video. 2. Press Go to execute the command. Notice that the window border has lost its brightness, and the Windows menu has disappeared. 3. Press the Up Arrow key to move the window border. The window border is highlighted again, and the selected corner and its adjacent borders move. The other two sides remain stationary. 4. Experiment by moving the other Arrow keys right, left, and down. Notice how the selected corner an!  Table 44, above. _________________________________________________________ 6. Now press Action-Next. CM selects the next context (in this case, the other Executive) as the current window. This window is brought to the top and has the brighter border. When you have several contexts running, you can cycle through all your contexts by pressing Action-Next. The "next" context always becomes the current window. Pressing Action and the function key assigned to the other application also selects the next context as the current window. This key combination is denoted as Actionfn. (If you cannot recall which key is the assigned function key, press ActionGo, or select CM from the Windows menu to return to the CM screen. Refer to the function key menu at the bottom of the screen, and press Go to return to your context.) 7. Press ActionW to bring back the menu, and experiment on your own by selecting Size, Size, or Size. (For an example of a resized window, see Figure 48.) _ 1165-009  _ Figure 48. A Resized Window NOTE To quit working at any time, follow the procedures you normally would when in CM. (Refer to Table 4-5 above, or see "Getting out" in Chapter 3.) To continue, keep both Executives open on your screen, and follow the next exercise. ____________________________________________________________ Moving Windows You can practice moving a window after you have changed its size. (The window must be smaller than the screen in order to be moved around.) When you execute the Move command, only the borders of the window move. The contents of the window move after you press Go to select the position you want. The window is then redrawn in this new location. To move a window, 1. Start two Executives, if you have not already done so. 2. Press ActionW to display the Windows menu, and notice that the Move command is automatically selected. (Remember, you may have to use the Size commands to resize the Executive before you can move it.) 3. Press Go. 4. Use the Arrow keys to move the window up, down, left, or right. 5. Press Go again to redraw the window in the location you have selected. Using the Tile Command The Tile command allows you to view all the windows you have opened. When you execute this command, each window is positioned in one tile of the screen. While you still have two Executives open, perform the following steps: 1. Activate the Windows menu by pressing ActionW. 2. Select the Tile command by either pressing Return or Next, or by pressing Up Arrow. 3. Press Go. You see two Executives evenly represented on the screen. (See Figure 49.) _ 1165-010 _ Figure 49. Two Tiled Windows (The current window has highlighted borders. You can make the next window current by pressing Action-Next or Actionfn.) 4. Press ActionGo, or select CM from the Windows menu, and start a third Executive and then a fourth Executive. 5. Activate the Windows menu, and select the Tile command again. 6. Press Go. You now see four Executives represented on the screen.  The last one that you started is the current window. (See Figure 410.) _ 1165-011 _ Figure 410. Four Tiled Windows 7. Experiment with the Tile command to open additional Executive windows. Notice how the tile format changes when more windows are displayed on the screen. ____________________________________________________________ What if a window appears with dotted lines? This indicates that the context has been swapped. It can be recalled by pressing Action-Next, Action-Minus (-), or Actionfn. ____________________________________________________________ Experiment with Action-Next, Action-Minus (-), and Actionfn to make different windows current. Using the Icon Command To make a window iconic, select the Icon command from the Windows menu. The Icon command shrinks the windows that are not presently required. You may want only one Executive open. Perhaps you do not need the other three at this moment and would like a larger work space on your screen. (You may be planning t! ore. (On a context that must always run in a full screen, only the CM and Icon commands are displayed.) The Restore command returns the window to the size and position it was in before the Full command was executed. Continue to keep three Executives open. (If you have left the exercises and are returning, start three Executives from your CM screen.) 1. When in an Executive window, activate the Windows menu, and execute the Full command. Notice that the context has taken up the whole screen. It does not have a border or a title bar. (The other Executive screens are in the background.) 2. Press ActionW. There are three commands on the menu: CM, Icon, and Restore. 3. Select the Restore command. The window appears with its border and title bar. It shouldo return to these other windows later.) When you execute the Icon command, the selected window shrinks and moves to the bottom of the screen. Its title bar shortens. The contents of this window have now been replaced with the window's associated function key. (See Figure 411.) Notice that this function key is represented on the screen in relation to its position on the keyboard. Since it is still represented on the screen, it can remind you that you still have a context that is running. An icon is never the current window. It cannot be sized or moved around the screen. You can bring an icon back to its previous size by pressing Action-Next or Actionfn. (Fn, the assigned function key, is visible on the icon.) You can also bring back the icon by returning to your CM screen, pressing ActionGo, looking under "Contexts you can return to," and selecting the context that corresponds to that icon. To create some iconic windows, follow the steps below. 1. Make three Executives active. You may have to finish any additional Executives (by entering f e in the command line). Remember, you can also discard your work by highlighting the selected context from the CM screen and pressing Action-Finish. 2. Activate your Windows menu, and select the Tile command. Your screen should display three "tiled" Executives. 3. Make the window on top the current one (if it does not already appear that way). 4. Activate the Windows menu again, and select the Icon command. 5. Press Go to activate the command. The current window has moved to the bottom of the screen and has become iconic. Another window is now the current window. See Figure 411. 6. Repeat steps 4 and 5 to create another icon. _ 1165-012 _ Figure 411. A Current Window and an Icon ____________________________________________________________ What if my icons are not visible? If the current window has borders that are at the bottom of the screen, you cannot see the icons. They are hidden behind the current window. Follow the steps below to make the icons visible. To uncover hidden icons, 1. Activate the Windows menu. 2. Select Move and press Go. 3. Use the Up Arrow key to move the window. 4. Press Go to redraw the current window in a new location. Now you can see the two icons that were previously covered. ____________________________________________________________ To bring your icons back to their original window size, press Action-Next or Actionfn. (You can also return to your CM screen. Press ActionGo, look under "Contexts you can return to," and select the context that corresponds to that icon.) NOTE The icon that is brought back last becomes the current window. It places itself over the other windows. Press Action-Next to make another window current. ____________________________________________________________ Using the Full Command and the Restore Command The Full command creates a window that takes up the full screen. It does not have a border or a title bar. NOTE Once a context becomes full-screen, you cannot move it or change its size. However, you can make it into an icon by selecting Icon from the Windows menu. ____________________________________________________________ When you press ActionW on a full screen, three commands appear on the windows menu: CM, Icon, and Rest"  be the size it was before the Full command was executed. (For example, if your screen displayed three tiled windows before you executed the Full command, these three tiles would reappear if you selected Restore.) You now have a flexible way of arranging your screen. Later, when you apply these techniques to your own applications, you will be able to work quickly and efficiently.2 Using Windows and the Mouse 4-# 4-# Context Manager II Using Windows and the Mouse 4-#  g"̐@ H <0$@ <0@ d0@ x <0 X&*,'+D&+D X&*,@ 0x, @ 0 0 <0@ 0 0 x0@ H 0$ vSvc@ x0 X&*,@ P@ x< @ <0@ x0  ‡͘½¼9;=ACJKRVZcglpq)ɇ՘+ɾ3kq@ 0 @ <0@ x0 X&*,@ 0 @ P0Z\ae468<BISTwϕTwS X&*,@ P@ x< X&*,@  00@  0&czٷոû &czi@ h <0Z@ 0*@@@ 0, @ 0@ d0 [cĥөswčӒSđӛoZпތSC@ d0 X"&*,@ 0, @ h <0Z@ h P0Z" @ <<@ <0 $@ x0 $ X&*, @ x< #Y+Fo܍ܩ#ZY@ P0Z@ x<@ H P0$@ H 40$@ H <0$YpѭͮóͥYpۭF@ h 80Z@ h <0Z@ 0*@@@ 0, @ 0}ӄbi(efijӷ|a(e@ ( 0 @  0 @ 0, @ h P0Z?Aօ֌֏h@ 0 0 <0@ 0 0 x0 @ <0@ x0  X&*, =U Z[ڂІږИrtu=U [dhuZ?@ x < <0 X"&*,  @ <0@ 0@ 0x,  ¬̰Zj-3Œ%pJ1@ <0@ x0  X&*, @ H <0$@ <0 $@ P0/27/@ x< @ <0 $@ <0 $@ x0 $  X&*,  HXw|}Ղ•՗šաHXGJ#  ¾#(QRotx~0RQ@ <0 X&*,@ x<@ <0 $@ x0 $  X&*, „؄@ H x0$ X"&*,@ 0x, @ 0 x <0@ 0 0 x0_(.Y_ @ P H P0*@ H 0#*@ H P0*@ H H <0$ ĻҼĄGMϧ߬~@ 0 H <0@ 0 0 x0@ <0$@ P H P0*@ H0#*=>VƓܧ>HV=٣@ 0@@@ 0,@ 0@ x0 X"&*,@ 0x,  ҭô\ҿ/Wnݭ\ X"&*,@ 0x@ 0x, @ 8 <0N@ 8 P0 N*8uÐ 8u X"&*,57)\ff@ 07@@@ 0, @ 0@ d0QUggf X"&*,@ <0 X"&*,567)\ff@ <0# @ \0 X&*,57)\ff@ <0@ H <0  V]^d3P2O X&*,@ \0 X&*,57)\ff@ <0 X&*,567)\ffTX}a}`| X"&*,567)\ff@ P0 X"&*,57)\ff@  P0x AEkm“Η©ί°β NcMb X"&*,567)\ff@ P0 X"&*,57)\ff@ <0DI8؅98@ d0 X"&*,57)\ff@  P0x X"&*, ',5;AB€BAM X&*,@ 0x,  X"&*,@ <0 X"&*,567)\ff*8uÐ 8u X&*,57)\ff@ 07@@@ 0, @ 0@ d0`dOS\,m\+l@ P0 X&*,57)\ff@ <0 X&*,567)\ff@ <0 ٢$  #567tu7u6t@ H x0$ X&*,@ 0x,  X&*,@  \0x !"4=pt|!|i@ H <0*@ x0$@ <0$ @ <0$ ĻBF`bđ"1sOݝN"1@ <0$@ x0$ X&*,@ H P0*@ H <0*OTyҗ37˜AEtϹ݀YyLϑݿ%?ݘ X&*,@ P@ x< X&*,@ H <0#@ H P0* =>wҀ?@҂=w?@ <@ 0x,@ 0 0 <0 @ 0 0 <0 ( @ x0,  ʥ׫h]hx@ 0@ d0@ 0x, @ 0 0 <0@ 0 0 x0 X&*,=Xĕϖ=X̖@ d0 X&*,57)\ff@ 07@@@ 0, w}~܈ KLKpپLJoнK X&*,@ d0 X&*,57)\ff@ <0 X&*,567)\ff$ @ x<@ H 40*@ H <0*@ H <0*@  H 40*  !:>./k!m.k ҷ @ P0, @ H <0*@ H <0* X&*,@ ,=>n|Ĺ>H|̹=@ 07@@@ 0@ d0 X&*,@ 0,  ;ABM4ٹ 3ϸ@ <0@ <0 X&*,567)\ff@ d0 X&*,57)\ff>MY]MQ>M?@ H <0*@ <0*@ ` H x0*@ 0,  X&*,./04<y/4<y.v@ 0x, @ 0 0 <0@ 0 0 x0 X&*,@ H <0*$(ЈÊЌÐВÙЛßХé%',0ЀÄйûнAX]aX\Ѝ(ڪAXJ@ H P0*@ H <0*@ H x0$@ <0$@ H x0$ cgpqĀӄ  Gfguyāq,Џл$Ggpf X&*,@ @ x<@ H P0* X&*,@ H <0** _c’ߔ ߤCG1܇V%  ,­ѱ¹ߺ`em,ܹmL@ x0 $ @ 0x, @ 0 0 40 @  0  40  !#39?e|ĥѩosķѺX^_ee|Ω{Vfz@ H P0*@ H <0* X&*,@ x0 $@ <0 $. ‰¼5ۊp۟# X&*,@ P@ x< X&*,@ H P0*@ H <0*=>_҃Ҩ=_ 9u6@ P <0@ 0 0 <0 @ 0 0 <0  @ x0, UVߒ'+\^Uے3Ž@ H <0$@ <0 $ @ 0x, @ H <0-1non«@ x0 $ X&*,  @ 0x, @ 0 0 <0@ 0 0 x01 ")+/­ϱ cgl*/ } @ 0x, @ 0 0 <0@ 0 0 x0@ <0 $ KOfjļ.026<CSZswIMĈԏ;X!D;¼@ P0* X&*,!@ H <0*@ H P0*@ H <0*4% | W xW@ 0,@ 0@ d0 X&*,"@ <0@ x0 #Xu{|}ۘÝۯõ۹ý $(9;GIMQRWhjqX~rq@  P0x@  <0x@ 0, @ 07@@%)+/48Z\]^{}Ҟäҥçҩ^s]rw X&*,"@ <0 X&*,"567)\ff@ P0 X&*,"57)\ff,1=DHL_ctv‚҄ˆҌҒ£ҥϬ. X&*,"567)\ff@ d0 X&*,"57)\ff@  P0x crashDump.sysfileHeaders.sysmfd.sys sysImage.syslog.sys badBlk.sys& R8 70-02044-1/1>aꊾa[E> SYS<ctzH9|M^SYSctz9{HfileHeaders.syssysNaNa˄g_mfd.syssysPaPa/15bkPlog.syssysRaRaRa sysImage.syssysTaTaTav, badBlk.syssysVaVaVa& MP앜aGadianenancy\ 01165.7ct |havava>>MPaai+dianenancy& crashDump.syssysYaYaYaP 01165.pnsctzaaa  MPcaa\nancyc01165.6ctz a+aτg@MP&aaydianespell 01165.artct z0a9a9aMP8WaAa3 diane؅ 01165.3ct z=aHaHan8nMP0aV-a'> dianespell1 01165.1ct |LaVaVa<<MPZasa+dianejeanlg 01165.tocct |Zada΄g22'  01165.gloct|zaaa>\>MPaa!1 dianejeanl401165.4ct|aä́gL.MP aa0dianejeanyF 01165.frtct~aaaMPaHa'nancy0.01165.8ct~aaaLLMP\(a a dianespell'01165.2ct~aaah6hMPaa`a1 dianejeanl7 01165.unsortct~aʊaʊannMPaaWdiane 01165.indct~Ίaيaيa MPaa2dianejeanyf01165.5ct~ފa늾aЄg  MPAOaˇa#jean' ^#e"d!c ba`_( ]\ [ !Z!"Y"#X#$W$%V%&(  N-.U&'T'(S()R)*Q*+P+, O,-)  M./ L/0 K01J12I23H34G45F56) ==>E67D78C89B9:@:;?;<><=* <>?;?@:@A9AB8BC7CD6DE5EF* -MN4FG3GH2HI1IJ0JK/KL.LM+ ,NO+OP*PQ)QR(RS'ST&TU%UV+  01165.frt01165.801165.2 01165.unsort 01165.ind01165.5$VW#WX"XY!YZ{Z 01165.pns01165.6 01165.art 01165.3 01165.1 01165.toc 01165.7 01165.glo01165.4,   &+4:@A~άºA@~O@ 0@ d0 X&*,#@ 0x,  X&*,"@ <0=Xĕ=X̖@ <0 X&*,#57)\ff@ 07@@@ 0, LRSWY_"E!D@ <0@ P0 X&*,#57)\ff@ <0 X&*,#567)\ff  T[\b¾1N0M@ <0 X&*,#567)\ff@ P0 X&*,#57)\ff@ P0 #567tuڣ7u6t;@ <0@ x0 X&*,$@ 0x, @  P0x X&*,# ­̽¿05HQ€̂‰̒±̳178:MQ˜Wɭ#'@ H P0 $@ H <0 $@ H <0 $@ x0@ <0& u{كʛ٠ʭٲNTUWtلʩٮʺٿuyzʢ٦EGxtg ;_ּyx@ H P0@ <0 $@ x0 $@ H <0 $ X&*,% $)ʪ٬mqʸپyEz֭lqpy @ H <0 $@ 0 x0@ H 40 $@ H P0 X&*,&, @ x< X&*,-@ H  <0*@  H <0*@ H P0*+,ijËL,iL+R@ 0 0 <0 @ 0 0 <0 @ x0,  X&*,.@ P!:HSHNOSՌ՗.4~ՅՓ7=>?ՉՕ:T- X&*,'@ H 40 $@ H P0 @ 0 0x ,  >?@D,- ?D,i>܉@ 0x, @ 0 0 <0@ 0 0 x0 X&*,(@ P@ x<(<KRT8<ӄLj\]ty}ӀdžӇLjӘǜӸǾ<KѺ]tV\{@ <0 @ x0 $ X&*,)@ H <0*@ <0 $  oَ(*¨٬mَLo zJm X&*,+@ H P0* X&*,*@ P@ x<@ H <0*ߞY_`dfv{с…Kܝb@ 0 H <0 * @ x0, @ H <0*@ H <0* =NTUZ[kqwԝ)-pvw{Դ=ޝ3} X&*,,@ <0 $@ x0 $@ <0* @ 0x, F ad&+ 4iϽ#/-  BFQS`hŠ݌57Tڀڼ5@ 0x, @ P <0(-@ P <0@ 0 P <0 $0 ?EFJNTĉяĐђioptĔ nr JZ`abġѣĥѩįѶ 'qumr J΋W  X&*,/@ 0x, @ 0 0 <0@ 0 0 x0@ <0 $J MQ-/15;BCD¾.2mt "#$DZDcޕv @#EC "E@ /,!,@ P0* X&*,0@ H <0*@ H P0* =>>>@ /,!,@ , h((()P @xx  Courier 72 Cubic PS 96              G JTO$10.1.27 >WZ^ %&'(+,/-/0W2%33 4 5X66799:;<@+FGJNKLMNPRUXZy[\celgOi*j0mkqr3ttuvEw(xxy!~ș̜Ma CONTEXT MANAGER II MANUAL Specifications Subject to Change. Convergent Technologies and NGEN are registered trademarks of Convergent Technologies, Inc. Art Designer, Convergent, CTDBMS, CTMAIL, CTNet, CTIX, CTOS, DISTRIX, Document Designer, The Operator, AWS, CWS, IWS, MegaFrame, MightyFrame, MiniFrame, MiniFrame Plus, Voice/Data Services, Voice Processor, and XBus are trademarks of Convergent Technologies, Inc. IBM is a registered trademark of International - *)D[΃ Ho\2 #CVl:)Է+]?BeQrf:$ Jyd_h^R8,vUwZh 0ߧbGdۆJt@GGdj˄,M܈MrALMкz>i8kk}SuJEu`JsCQ;.툨O_Nl#͚ 4s @>@=A8F_1Jr>:%YĩPN{jq7l5 W%T<-^uXMؓ8'#ʯn*{n0-躏@!DTcDX0`ItuKK~x}Zx_/q<3b%͙ͮj/Zi uAPGdҔ똞Y\ӻ&Wg 9L$}q8m(ϭeaޣZ6pB7L}q7p3 "DT|sEF[e*BDN[Τ 8Hoy2_ LC|Vm"c:)+](?BQf JydhuRIn,)vUwZYɾˡ(bya膋@G!j@@BMMr#ALvO#zim#km!HjfS E:`#簊tFa;.eOl3#ʚ 4 >=&81_K{jpBusiness Machines Corporation. Microsoft, MS, GW, and XENIX are trademarks of Microsoft Corporation. UNIX is a trademark of Bell Laboratories. First Edition (June 1986) 090116501 Copyright  1986 by Convergent Technologies, Inc., San Jose, CA. Printed in USA. All rights reserved. Title to and ownership of the documentation contained herein shall at all times remain in Convergent Technologies, Inc., and/or its suppliers. The full copyright notice may not be modified except with the express written consent of Convergent Technologies, Inc.22.ַ') /0123456789:;<=>?@ABde '@).')@@ P@ `lx@@ <  X"@,@ @  X"@,  ((()P xxxx  Cubic PS 96              G B)'"10.3Y`Ns@BMHk5WIpT3^XTs8Fe. YUĪUNbze5W2T^ݲX~wVѱy]Ӆ#'xX{[n-諏[!cյ0ItK~}xu_Kxq\<3$%Ǘ+/GcuP_],N\&dg 9$m(zba??6>7p7a~x[ɽ𸳟"|sFe{g*DO[ν Ho2h -CVf:)Mԁ+ޭ]e?BQ|m$f Jqy6dQh*Rҡ,v~UxYwZyba漂ĥ@1Gj AGfMr,ALW$ziktF^=3S'E`4;m."VOvPl#~y_ߚ^ 4= 2>=8p11ƴ净E[YN΍%RsAGf5 W7gT^XwT§Fb攅蠊'ʉt{Hnj-d!F^c>:0&ںIt?K=~2}x_Iqq<73e%T꧙Gf/du#PvP锔늞+L\|m&%Źg$ 9$ǻrm=(3a裌6p7^׉3*ո,"^|1sFe*$*لD[ ZHo2 VCVgu:M)Ԋ+ގ]?BQVfuK wSJy+d>:&hRp,3vUwZɀ˓n*b2볚@GjM0rAL=5z i/k'SE` BN;Z.ϨONl=#3ܚO 4 >[=81è Y?6XkuM/hu(Pʗɔ뷞-\e&~yga 9$Юmb(ϜaP쑣6@ApE7[ȉ贊<"/|sFeo-*eD[f Ho2 C{Vh 0:)ԓ+o]/?B!Q?>f6 PJy d+ۭKhzdR,LvUwZ5 @CS3bTF`@Gpj1ӛ!MHirNALNVzzidk(Ց+SAFEa`}t;G.dO뒘l#ٚ@ C4O >=8b뢗1 6YYąۜNQȗҁh5 =W1Ty^`XiIp4r<'/{"n-^֏2!cs@D0XڜItQK~}x_bq< 3.% 1؎8/r=5 u-Pp2x[~v\NӇ&CRg 9x$Ym(9!a:&6p7Xb콟"|sFWe*nD*[ H4o2 CHViIo:/)Ԝ+P]?}BrQ;(f )Jydk|ph3R,vU$wZ8ߐb%@=8Hh1 7wV|nY) N1cîi5VWgT!^AFXbšׅ7'l{nM-菏 !EYc0ڍItKD~U}xY_q:O%l8#÷Ӛ" 4a >~=w8T91 $Ƹ囀 9YvNR 0nj{j5oW+ة;T*^"ݫX[њ昅'M{n-Hl!c BN0~IztcK~}x_q<3Hi% AHkzd/8̏ u7Pjh >:% \ ӡ&)g z9b$뻗m(sCaO쌣6p7R%iS"*|s+Fe>8*xXD[b Ho?2=2 CVk{i:)VԮ+j]^?7BQefy_ ۧGJfydh;R',3vUVwZwTGfJbvOΆ /@GjDVh M7frAL$С)zikUWȑܔS覉E`q6\;.GcO’l#g\К b4 >=\8 15 1dY`Ns@BMHk5WIpT3^XTs8Fe*)D[΃ Ho\2 #CVl:)Է+]?BeQrf:$ Jyd_h^R8,vUwZh 0ߧbGdۆJt@GGdj˄,M܈MrALMкz>i8kk}SuJEu`JsCQ;.툨O_Nl#͚ 4s @>@=A8F_1Jr>:%YĩPN{jq7l5 W%T<-^uXMؓ8'#ʯn*{n0-躏@!DTcDX0`ItuKK~x}Zx_/q<3b%͙ͮj/Zi uAPGdҔ똞Y\ӻ&Wg 9L$}q8m(ϭeaޣZ6pB7L}q7p3 "DT|sEF[e*BDN[Τ 8Hoy2_ LC|Vm"c:)+](?BQf JydhuRIn,)vUwZYɾˡ(bya膋@G!j@@BMMr#ALvO#zim#km!HjfS E:`#簊tFa;.eOl3#ʚ 4 >=&81_K{jp. *)D[΃ Ho\2 #CVl:)Է+]?BeQrf:$ Jyd_h^R8,vUwZh 0ߧbGdۆJt@GGdj˄,M܈MrALMкz>i8kk}SuJEu`JsCQ;.툨O_Nl#͚ 4s @>@=A8F_1Jr>:%YĩPN{jq7l5 W%T<-^uXMؓ8'#ʯn*{n0-躏@!DTcDX0`ItuKK~x}Zx_/q<3b%͙ͮj/Zi uAPGdҔ똞Y\ӻ&Wg 9L$}q8m(ϭeaޣZ6pB7L}q7p3 "DT|sEF[e*BDN[Τ 8Hoy2_ LC|Vm"c:)+](?BQf JydhuRIn,)vUwZYɾˡ(bya膋@G!j@@BMMr#ALvO#zim#km!HjfS E:`#簊tFa;.eOl3#ʚ 4 >=&81_K{jpYUĪUNbze5W2T^ݲX~wVѱy]Ӆ#'xX{[n-諏[!cյ0ItK~}xu_Kxq\<3$%Ǘ+/GcuP_],N\&dg 9$m(zba??6>7p7a~x[ɽ𸳟"|sFe{g*DO[ν Ho2h -CVf:)Mԁ+ޭ]e?BQ|m$f Jqy6dQh*Rҡ,v~UxYwZyba漂ĥ@1Gj AGfMr,ALW$ziktF^=3S'E`4;m."VOvPl#~y_ߚ^ 4= 2>=8p11ƴ净E[YN΍%RsAGf5 W7gT^XwT§Fb攅蠊'ʉt{Hnj-d!F^c>:0&ںIt?K=~2}x_Iqq<73e%T꧙Gf/du#PvP锔늞+L\|m&%Źg$ 9$ǻrm=(3a裌6p7^׉3*ո,"^|1sFe*$*لD[ ZHo2 VCVgu:M)Ԋ+ގ]?BQVfuK wSJy+d>:&hRp,3vUwZɀ˓n*b2볚@GjM0rAL=5z i/k'SE` BN;Z.ϨONl=#3ܚO 4 >[=81è Y?6XkuM/hu(Pʗɔ뷞-\e&~yga 9$Юmb(ϜaP쑣6@ApE7[ȉ贊<"/|sFeo-*eD[f Ho2 C{Vh 0:)ԓ+o]/?B!Q?>f6 PJy d+ۭKhzdR,LvUwZ5 @CS3bTF`@Gpj1ӛ!MHirNALNVzzidk(Ց+SAFEa`}t;G.dO뒘l#ٚ@ C4O >=8b뢗1 6YYąۜNQȗҁh5 =W1Ty^`XiIp4r<'/{"n-^֏2!cs@D0XڜItQK~}x_bq< 3.% 1؎8/r=5 u-Pp2x[~v\NӇ&CRg 9x$Ym(9!a:&6p7Xb콟"|sFWe*nD*[ H4o2 CHViIo:/)Ԝ+P]?}BrQ;(f )Jydk|ph3R,vU$wZ8ߐb%@=8Hh1 7wV|nY) N1cîi5VWgT!^AFXbšׅ7'l{nM-菏 !EYc0ڍItKD~U}xY_q:O%l8#÷Ӛ" 4a >~=w8T91 $Ƹ囀 9YvNR 0nj{j5oW+ة;T*^"ݫX[њ昅'M{n-Hl!c BN0~IztcK~}x_q<3Hi% AHkzd/8̏ u7Pjh >:% \ ӡ&)g z9b$뻗m(sCaO쌣6p7R%iS"*|s+Fe>8*xXD[b Ho?2=2 CVk{i:)VԮ+j]^?7BQefy_ ۧGJfydh;R',3vUVwZwTGfJbvOΆ /@GjDVh M7frAL$С)zikUWȑܔS覉E`q6\;.GcO’l#g\К b4 >=\8 15 1dY`Ns@BMHk5WIpT3^XTs8Fe/ YUĪUNbze5W2T^ݲX~wVѱy]Ӆ#'xX{[n-諏[!cյ0ItK~}xu_Kxq\<3$%Ǘ+/GcuP_],N\&dg 9$m(zba??6>7p7a~x[ɽ𸳟"|sFe{g*DO[ν Ho2h -CVf:)Mԁ+ޭ]e?BQ|m$f Jqy6dQh*Rҡ,v~UxYwZyba漂ĥ@1Gj AGfMr,ALW$ziktF^=3S'E`4;m."VOvPl#~y_ߚ^ 4= 2>=8p11ƴ净E[YN΍%RsAGf5 W7gT^XwT§Fb攅蠊'ʉt{Hnj-d!F^c>:0&ںIt?K=~2}x_Iqq<73e%T꧙Gf/du#PvP锔늞+L\|m&%Źg$ 9$ǻrm=(3a裌6p7^׉3*ո,"^|1sFe*$*لD[ ZHo2 VCVgu:M)Ԋ+ގ]?BQVfuK wSJy+d>:&hRp,3vUwZɀ˓n*b2볚@GjM0rAL=5z i/k'SE` BN;Z.ϨONl=#3ܚO 4 >[=81è Y?6XkuM/hu(Pʗɔ뷞-\e&~yga 9$Юmb(ϜaP쑣6@ApE7[ȉ贊<"/|sFeo-*eD[f Ho2 C{Vh 0:)ԓ+o]/?B!Q?>f6 PJy d+ۭKhzdR,LvUwZ5 @CS3bTF`@Gpj1ӛ!MHirNALNVzzidk(Ց+SAFEa`}t;G.dO뒘l#ٚ@ C4O >=8b뢗1 6YYąۜNQȗҁh5 =W1Ty^`XiIp4r<'/{"n-^֏2!cs@D0XڜItQK~}x_bq< 3.% 1؎8/r=5 u-Pp2x[~v\NӇ&CRg 9x$Ym(9!a:&6p7Xb콟"|sFWe*nD*[ H4o2 CHViIo:/)Ԝ+P]?}BrQ;(f )Jydk|ph3R,vU$wZ8ߐb%@=8Hh1 7wV|nY) N1cîi5VWgT!^AFXbšׅ7'l{nM-菏 !EYc0ڍItKD~U}xY_q:O%l8#÷Ӛ" 4a >~=w8T91 $Ƹ囀 9 8 TROUBLESHOOTING In this chapter, common errors that occur when you are using CM are described, along with suggestions as to what to do about them. In most cases, a screen message reports the error. Each such error is described under its message on the following pages. STATUS CODES CONTEXT MANAGER II The following errors are most commonly reported during software development. ____________________________________________________________ Decimal Value Meaning ____________________________________________________________ 12000 CM has received an unknown message. 12001 No such user number. 12002 The Configuration file name is bigger than the buffer that was allocated. 12003 No such context handle. 12004 The application specified does not match one listed in the Configuration file. 12005 The size of the application information block is too large. 12006 A context cannot kill itself. 12007 Using start by block, missing command name. 12008 Using start by block, command name too long. 12009 Using start by block, missing Run file. 12010 Using start by block, Run file too long. 12011 Using start by block, missing memory size. ____________________________________________________________ Decimal Value Meaning ____________________________________________________________ The following errors are reported during normal execution of a program that uses CM as a server. 12084 The Run file needed for this application does not exist. 12085 There are no more function keys available. 12086 There are no active contexts. 1208/ ______________________________________ EXPLANATION A context in memory cannot be swapped out because it cannot be quieted; that is, the program has requests outstanding after swapping requests have been issued by the operating system. This error is usually caused by servers that do not handle swapping correctly. OPERATOR RESPONSE Either wait until the context in memory is finished, or finish the context that is in memory, and then try to switch your context again. NOTE Status codes 813 and 815 have the same status message. ____________________________________________________________ ____________________________________________________________ A context in memory cannot be swapped out. (Error 815) __________________________________________________________7 The Swap file is full--cannot swap any more contexts. 12088 The Run file is too large to run in any partition. 12089 You cannot logout; there are context(s) that must be finished. 12090 Warning: There are active contexts. 12091 This context cannot be finished from CM. 12092 The file specified as the Swap file does not exist. 12093 You can run only one graphics application at a time. 12094 Not currently used. ____________________________________________________________ Decimal Value Meaning ____________________________________________________________ 12095 There is no current context. 12096 An existing context cannot be swapped out to start a new application. 12097 Not enough room in the Swap file to switch contexts. 12098 You cannot switch to this context--it is currently locked. 12099 CM is not installed. INTERCONTEXT MESSAGE SERVER ____________________________________________________________ Decimal Value Meaning ____________________________________________________________ 12100 ICMS is already installed. 12101 ICMS internal error. 12102 Cannot open the ICMS Disk Message file. 12103 No message available. 12104 No free messages. 12105 Not implemented. 12106 The message sent was too long. 12107 This context is already waiting for messages. 12108 ICMS is not installed. 12109 Incorrect version or missing Request.7.sys. STATUS MESSAGES Status messages are described on the following pages. ____________________________________________________________ Not enough memory available. (Error 400) ____________________________________________________________ EXPLANATION When you select an application to start and press Go, the CM message area says, "Loading ...," then, "Finishing ...," and then gives the above error. This series of messages occurs when CM tries to start an application in a partition that is too small for the application. The error is in the CM Configuration file: The number specified in the Memory Required field of the command editing area is too small. Suppose you edit the Memory Required field to state that the Executive requires 50K bytes to run, when actually it requires at least 110K bytes. When CM tries to start the Executive in that 50K-byte partition, these messages are displayed. OPERATOR RESPONSE Use the CM Config File Editor command to edit your CM Configuration file. Bring up the offending application, and change the entry in the Memory Required field to match the value given in the Context Manager II Release Notice. If you are using a sized Version 6 Run file, you may want to specify a less than amount ([nnn or [0). Save the Configuration file changes, log out, and reinstall CM. ____________________________________________________________ This version of the OS cannot support any more contexts. (Error 801) ____________________________________________________________ EXPLANATION When you try to start a new application from the CM screen, the above message is displayed. The operating system has run out of user numbers. OPERATOR RESPONSE Refer to the Context Manager II Release Notice for an explanation of how to generate a new version of the operating system that supports more contexts. ____________________________________________________________ A context in memory cannot be swapped out. (Error 813) ______________________0 __ EXPLANATION A context in memory cannot be swapped out because it has served a request, served interrupts, or has a communication or parallel printer resource in use. OPERATOR RESPONSE Either wait until the context in memory is finished, or finish the context that is in memory, and then try to switch your context again. NOTE Status codes 813 and 815 have the same status message. ____________________________________________________________ ____________________________________________________________ This application must be invoked through the Exec; edit the Config File. ____________________________________________________________ EXPLANATION The application you have chosen requires that you enter a parameter or parameters that should be supplied from the Executive, by means of an Executive command form. OPERATOR RESPONSE Use the CM Editor to edit your CM Configuration file. Bring up the offending application. Change the entry in the Run file field to be `Sys{[Sys~Exec.run. Change the entry in the `Command case{ field to be CM. Save the Configuration file changes, log out, and reinstall CM. ____________________________________________________________ An existing context cannot be swapped out to start a new application. ____________________________________________________________ EXPLANATION If you select a new application and press Go, and the above message is displayed, all memory partitions into which the new application would fit are already occupied by contexts that are not allowed to swap out. OPERATOR RESPONSE Either wait until the context(s) in memory are finished, or finish a context that is in memory, and then try to start your application again. ____________________________________________________________ You cannot switch to this context - it is currently locked. ____________________________________________________________ EXPLANATION You select a context by pressing Action-fn or from the CM screen, and the above error message is displayed. The context that you chose marked itself as "locked from user interaction." You cannot switch to it directly from CM. This context may have been started by another (parent) context and be accessible only through its parent. As an example, suppose you start the Business Graphics Package from the Document Designer. When you finish your work with the Business Graphics Package, it marks itself as locked to show that it is there only so it will be available if you need to go to it from the Document Designer again.2 Troubleshooting 8-# 8-# Context Manager II!3€ 3ڀs@ <0@ x0 X"@&'*+,@ d0 @ <0 X"@&'*+,=?FHMNUVΒ13:<ABIJΆ=U'E2e1I X"@&'*+,@  <0<@,!@ 0,!@0@@,! @ <0,!0 @ <00Z,!@ x00Z,! @ 0x, @00Z,!>vӳ>v @ 0x,@00Z,!@ 0,  X"@&'*+, šaݠ1jݯ C~ݙ1 @ <0,! X"@&'*+,@  <0<@,!@ P00Z@,!  U\Ux@\[g X"@&'*+,@  <0<@,! @ 0,!@0@@,! Y[bdijqrYq @ 0,!@0@@,! @ <0,!@ @ x00Z@,! O\_oĤ!<j҆Ҟҵ+^n]@ <00Z,! @ x00Z,! X"@&'*+,@  <0<@,! =ghΥѱD=gLSD@ <00Z,!@ x00Z,!@ 0,!@00Z,! @ <0,! 0QRYZҟޟž@ 0,  X"@&'*+,@ <00Z,!@ x00Z,!FЃ܄Ð0Fك01  '԰ñҵ ')@ 0 0 <0@ 0 x0@ x00Z,!@ <00Z,!@ x00Z,! =>{>{=ު @00Z,!@ 0, X"@&'*+, @ 0x,   ԦҸABF} AF}@ 0 0 <0@ 0 x0@ x00Z,!@ <00Z,!@ x00Z,! =?{>{=@00Z,! @ <0,! X"@&'*+, @ 0x,   >JŠݜ=I@ x00Z,!@ <00Z,!@ x00Z,! @ 0,!>ބ…>C@ x00Z,!@ 0x,!@00Z,! @ <0,! X"@&'*+, +-xwv@00Z,! @ 0,! X"@&'*+, @ x00Z,!@ <00Z,!>Ikq»=I@@ h,@,@ <00Z,!@ x00Z,! @ 0x,!1  the highlighted context. If you have a Mouse, moving the Mouse cursor highlights a selected area on the CM screen. If the highlight bar is on the right, clicking the Mark Mouse button starts a new application. If the highlight bar is on the left, clicking the Mark Mouse button returns you to the highlighted context. Pressing Cancel removes the CM screen and returns you to the current context. The message area, above the function key menu, tells you what you can do or explains what has gone wrong. Pressing Code-Help displays the CM Configuration file name. ____________________________________________________________ THE ACTION KEY The Action key is used in combination with other keys to manipulate applications. (The same key combinations are also used   ((()P xxxx  Cubic PS 96              G B #$10.1.28 s&DZ' 2 EXPERIMENTING WITH CONTEXT MANAGER II This chapter provides a general introduction to CM by taking you through a series of steps that show you how CM works. To learn more about CM, see Chapter 3, "Basic Concepts." You can select applications from the CM screen by using either your Mouse or keyboard. USING THE MOUSE If you have a Mouse, you can choose an application by highlighting the selected area with the Mouse cursor. The Mouse has three buttons. To start an application from the CM screen, click (press and release) the Mark Mouse button. (See Figure 21.) The other two buttons, along with the Mark button, are used to manipulate windows, as explained in Chapter 4. (For detailed information on handling the Mouse, see "Moving the Mouse" in Chapter 4.) _ 1165-001 _ Figure 21. The Mouse and the Mark Button (The Mouse is set up for right-handed people, but it can be changed for left-handed use. See "Configuring the Mouse" in Chapter 5, or contact your system administrator.) Figure 22 shows an example of the CM screen. The boxed summaries on the next few pages tell you what you need to know to use the screen. _ 1165-002 _ Figure 22. Context Manager Screen ____________________________________________________________ SUMMARY: USING CM When the CM screen is up The Left and Right Arrow keys move the highlight bar between "Applications you can start" and "Contexts you can return to." The Up and Down Arrow keys move the highlight bar within the lists under "Applications you can start" and "Contexts you can return to." If the highlight bar is on the right, under "Applications you can start," pressing Go starts a new application. If the highlight bar is on the left, under "Contexts you can return to," pressing Go returns you to2 if you have Windows. See "Using Windows with the Keyboard" in Chapter 4.) Action-Go Pressing Action-Go overlays the CM screen on the current context screen. Action-fn Pressing Action and an assigned function key (denoted as fn) switches from one context to another, or from the CM screen to a context. Action-Next Pressing Action-Next repeatedly cycles through the active contexts without displaying the CM screen. Action-Minus (-) Pressing Action-Minus (-) (the minus sign on your numeric keypad, not the hyphen) cycles through the active contexts in the opposite order. ActionS Pressing ActionS stops all processes of the current context. Pressing ActionS again restarts them. Action-Finish Pressing Action-Finish eliminates a context without saving the files created. SUMMARY OF STATUS TERMS DISPLAYED Status terms are found to the left of "Contexts you can return to" on the CM screen. The meanings of these terms are discussed further under "Status Terms," in Chapter 3. (These terms are also used with Windows.) Running This context is running. Waiting This context (other than the Executive) is waiting for keyboard input. Done In the Executive, the last command you invoked has been completed; the Executive is waiting for input. Swapped This context has been swapped to disk. It is suspended. Stopped This context is in background, but is not running because it is allowed to run only in foreground. Halted This context has been halted by the use of ActionS. AN EXERCISE WITH CM CM is designed to be self-explanatory, so you can learn your way around CM quickly by experimenting. Do not worry about making mistakes. If you try to do something that is not allowed, a screen message tells you so, but no damage results. NOTE If you have Windows installed, first complete the CM exercises below, and read Chapter 3. Then refer to Chapter 4, "Using Windows and the Mouse." ____________________________________________________________ Refer to the CM screen in Figure 22 and to the boxed summaries in the previous section as you do the exercises below. STARTING CM 1. Sign on to your workstation (by completing the SignOn form), and press Go. Your system administrator can help you if you do not know your user name or password. (The SignOn form is explained in detail in the Executive Manual.) In most cases, the first display after you sign on is the CM screen. If you have a Mouse, notice the Mouse cursor that is now visible on your screen. (Depending on the capabilities of your system, you may notice a small block or arrow.) 2. If the first display after you sign on is the command line of the Executive, type Install Context Manager (or an abbreviation such as I C M ), and press Go to display the CM screen. (See the Executive II Manual for allowed abbreviations.) 3. If the first display is that of an application, press ActionGo to display the CM screen. (See Chapter 3, "Basic Concepts," for more information on starting CM.) Moving the Highlight Bar 1. If you have a Mouse, move your Mouse around so that the Mouse cursor highlights contexts listed under "Applications you can start." (If any contexts are listed under "Contexts you can return to," use the Mouse to highlight these contexts, as well.) 2. If you do not have a Mouse, experiment with the Up and Down Arrow keys to see what they do. (The Arrow keys are located on the upper right-hand corner of your keyboard.) If any contexts are listed under "Contexts you can return to," try the Left and Right Arrow keys, as well. Starting an Application 1. Move the Mouse cursor to highlight an application to start, and click the Mark Mouse button. 2. If you do not have a Mouse, use the Up and Down Arrow keys. Move the highlight bar to select an application to start, and press Go. Any application that has been started is called a context. (If you have Windows, notice that the context may be surrounded by a highlighted border. For more information on Windows, see Chapter 4, "Using Windows and the Mouse.") Overlaying the CM Screen on an Application Screen; Returning to the Current 2 above. When you press these keys, the window you switch to becomes the current window. (See "Making a Window Current," in Chapter 4.) Starting More Contexts 1. Press ActionGo, and start several more (perhaps three or four) applications. With each one, note the messages displayed in the message area and the term indicated under Status. At some point, you may see a message concerning swapping, if you did not see one under "Starting a Second Application," above. 2. Now try Action-Next and Action-Minus (-) again. NOTE Some applications cannot be started more than once. This will be indicated by the message There is already a user named xxxx ____________________________________________________________ Finishing from Within a Context 1. Press ActionGo. 2. Context 1. Press ActionGo. The CM screen is overlaid on the screen of the application you just started (the current context). Notice the function key menu at the bottom of your CM screen (see Figure 22). The function key menu represents the 10 function keys, F1 through F10, across the top of your keyboard. An area on the function key menu is now highlighted to reflect the application you selected in the previous step, and an abbreviation for that application appears in the menu. (For detailed information on function keys, see Chapter 3, "Basic Concepts.") Notice the positions of the highlight bar and the bullet under "Contexts you can return to." (The bullet shows which context is current.) 2. If you have a Mouse, move the Mouse cursor between "Contexts you can return to" and "Applications you can start." If you do not have a Mouse, try out the Left and Right Arrow keys. Notice the screen messages as you perform these actions. 3. If you have a Mouse, move the Mouse cursor to the area behind the CM screen in which a portion of the current context is displayed. Click the Mark Mouse button to return to the current context. 4. If you do not have a Mouse, when in the CM screen, press Cancel to return to the current context. Starting a Second Application 1. Press ActionGo again to see the CM screen. 2. Move the highlight bar with the Mouse or Arrow keys to the "Applications you can start" area. 3. Choose another application, and either click the Mouse Mark button or press Go. Depending on the kind of system you have, there may be a small delay, and the message area may tell you at this point that a context is being swapped. This message is normal. (The concept of swapping is explained under "Swapping a Context to Disk" in Chapter 3.) NOTE If you have Windows, when starting several applications, you may notice at some point that your video is replaced with dots. Do not be alarmed. This is normal and indicates that a context has been swapped. ____________________________________________________________ Switching Contexts Without Using the CM Screen 1. While holding down the Action key, press the function key assigned to the first application you started (the first context). If you cannot recall which key is the assigned function key, perform the following steps: a. Press ActionGo to return to the CM screen. b. Refer to the function key menu to see which spaces are highlighted. c. Press Go to return to the context you just left. d. Hold down the Action key, and press the appropriate function key. From now on, this key combination is denoted as Actionfn. 2. Press Actionfn for the second context. 3. Press Action-Next. (The Next key is on the right side of your keyboard, in the numeric pad.) Notice that the next context appears on the screen. (When you have several contexts running, if you continue to use the Action-Next key, you can cycle through all your contexts.) 4. Now try Action-Minus (-). (Minus is the key above Next in the numeric pad. The hyphen key does not have the same effect.) When you have several contexts running, if you continue to use the Action-Minus (-) key, you can cycle through all your contexts in the reverse order. With Windows, you can also switch contexts without returning to the CM screen by using the same action keys described 3 Move the highlight bar with the Mouse or Arrow keys to choose an item under "Contexts you can return to." 3. Click the Mark Mouse button, or press Go to return to the context you selected in step 2. With this context on the screen, use whatever method is specified to finish the application involved. (When you finish an application in this way, it is automatically saved.) In most cases, you need to press the Finish key. If you want to finish from the Executive, type Finish Executive (or a unique abbreviation, such as f e) in the command field, and press Go. Eliminating a Context Without Saving If you choose to eliminate a context without saving, follow the steps below. 1. Press ActionGo to return to the CM screen. 2. Move the highlight bar with the Mouse or Arrow keys to the first context that you started (listed under "Contexts you can return to"). 3. Press Action-Finish. CAUTION Action-Finish eliminates a context (that is selected from the CM screen) without saving your work. You should only use it for those contexts where there is nothing to save (for example, an Executive with a Done status). ____________________________________________________________ Ending Your Session with CM (Logging out) When you have either finished your contexts from within or eliminated them without saving, you should no longer have any contexts listed under "Contexts you can return to." CAUTION Ending a session without finishing all contexts first is the same as eliminating each context with Action-Finish. ____________________________________________________________ From the CM screen, perform the following steps: 1. Press Finish. 2. Press Go. Your session with CM has ended, and the SignOn form is now on your screen. This exercise has shown you most of the ways in which you can manipulate applications using CM. There is more than one way to do some of the things you have done, as you will see in later chapters.2 Experimenting with Context Manager II 2-# 2-# Context Manager II*2*2H @ <00Z@ d00Z@ <00Z X&*, 37g}Mg X&*,@ P@ x<@ <00Z@ x00Z  >?josx24LPŽGKLPy>Qjn\=yʶ@ H <0$@ H P0@ 00Z@ <0,  X&*,=>MRXϟ>M=j@ <00Z@ ` ` x00Z X&*,@ 0x, 3  @ H 80*@ ` H x0*@ H P0*@ H <0*U_efhi4Ui-@ H <0*@ ` 00Z@ ` x00Z X&*, SZgmWhSWiVh@ ` P0l X&*,57BL@ h P0Z@ h <0Z Žܕ–ܗ¡ܧ¨ܩ "ZَZЍY X&*,@ h P0Z X&*,@ P0l X&*,567BL "¶ͼ½;¿8"k8@ x< @  P0<@ <0<@ <0@ x0ČĎ&cύ&cŒW@ 0x, @ 0 0 <0@ 0 0 x0 X&*,@ <00Zyڄ[k[xׄm[@ H  80* @ H <0*@ x00Z@ <0<WnċԐĞԠ.457ęԳQ™@ ` H x0* X&*,@ x0* @ H P0*249=>Cdi 0~߂¸ߺ¿KR0ϐS4  FJOZ,0œѢcΦ`_b @ ` x00Z X&*, @ H 80@ H P0*@ H 80*  \a/ߐ@ 0 0 <0@ 0 0 x0@ H 80@ H P0*@ H <0*=l߆ҍG=lG½@ H <0*@ H <0*@ x00Z@ 0x,   vwāԃĽ!'5;`fgkswķ/wѫ+Vv܀@ H P0*@ H P0* X&*, @  H <0* zрцwчδ3x@ ` x00Z X&*, @ H P0*@ H P0*@ H 80*  AGHLQahmQ5hm@ x 0 <0@ 0 0 <0@ 0 0 x0@ H 80*@ H <0*=>]gmnpў ;=]q;«@ H <0*@ H 80*@ ` x00Z@ 0x, $HKmopqrҖqpd@ H 80*@ 0 <0@ ` x0<0Z X&*, @ H 80*4  !#MainEntry #SubEntry !#CM #definition, 1-1 !#CM #uses, 1-1 to 1-2 !#Examples #CM, 1-1 to 1-2 !#Background, 1-2 !#Foreground, 1-2 !#CM #features, 1-2 !#Window Services #definition, 1-3 !#Window Services #See also Windows. !#Windows #features, 1-3 !#Context #definition, 1-4 !#Current context, 1-4 !#Contexts #number of, 1-4 !#Active context, 1-4 !#Suspended context, 1-4 !#Number of contexts, 1-4 !#Current window, 1-4 !#Window #making current, 1-4 !#Starting an application, 1-4 !#Swapping to disk, 1-4 !#Fore-2”Қ›ҡ£Ҫ«ұ²Ҹ‡ϊϢܪR@ 0x, @ 0 0 <0@ 0 0 x0<@ H <0* *CIJPQ*QŽ @ 0 0 <0@ 0 0 x0@ <00Z@ ` x00Z=>xيٍ>o=ן@ H <0*@ ` x00Z X&*, @ 0x,  @ABEF[K@B[A[@ ,!,@ ,@ <00Z@ H 80( h((()P @xx  Courier 72 Cubic PS 96              G J111$10.1.226 J D!#$')*,./z05 ground, 1-4 !#Background, 1-4 !#Screen #ownership of, 1-4 !#Action keys, 1-5 !#Key combinations, 1-5 !#Switching contexts, 1-5 !#Contexts #switching, 1-5 !#Bibliography, 1-6 to 1-8 !#Mouse #starting an application with, 2-1 !#Mouse #clicking, 2-1 !#Mouse buttons #mark, 2-1 !#Mouse #cursor, 2-1 !#Mark Mouse button, 2-1 !#Clicking the Mouse, 2-1 !#Starting an application #with the Mouse, 2-1 !#Starting an application, 2-3 !#Starting an application #with the Mouse, 2-3 !#Starting an application #with arrow keys, 2-3 !#Mark Mouse button, 2-3 !#Mouse buttons #mark, 2-3 !#Arrow keys, 2-3 !#Screen areas #in CM 2-3 #message area in CM, 2-3 !#Message area in CM, 2-3 !#Action keys, 2-4 !#Key combinations, 2-4 !#Action-Go, 2-4 !#Action-fn, 2-4 !#Action-Next, 2-4 !#Action-Minus (-), 2-4 !#Action-S, 2-4 !#Action-Finish, 2-4 !#Status terms, 2-5 !#Running, 2-5 !#Waiting, 2-5 !#Done, 2-5 !#Swapped, 2-5 !#Stopped, 2-5 !#Halted, 2-5 !#Status terms #running, 2-5 !#Status terms #waiting, 2-5 !#Status terms #done, 2-5 !#Status terms #swapped, 2-5 !#Status terms #stopped, 2-5 !#Status terms #halted, 2-5 !#Starting CM, 2-6 !#Tutorial See Exercises. !#Exercises #using CM, 2-6 to 2-13 !#Using CM. See Exercises. !#Highlight bar #in CM, 2-7 !#Starting an application #with the Mouse, 2-7 !#Starting an application #with arrow keys, 2-7 !#Starting an application, 2-7 !#Current context #returning to, 2-8 !#Returning to current context, 2-8 !#Function key menu, 2-8 !#Bullet, 2-8 !#Screen areas #messages, 2-8 !#Message area in CM, 2-8 !#Cancel #in CM, 2-8 !#Starting a second application, 2-9 !#Applications #starting a second one, 2-9 !#Switching contexts, #without using CM screen, 2-9 to 2-10 !#Action-fn, 2-9 to 2-10 !#Action-Next, 2-10 !#Action-Minus (-), 2-10 !#Executive #finishing, 2-11 !#Starting more contexts, 2-11 !#Finishing a context, 2-11 !#Eliminating a context, 2-12 !#Action-Finish, 2-12 !#Logging out, 2-12 !#Starting CM, 3-1 !#Autostarting, 3-1 !#Installation of CM, 3-1 !#Assigning function keys, 3-2 to 3-4 !#Function keys, 3-2 to 3-4 !#Function key menu #in CM, 3-2 !#Function key menu #definition, 3-2 !#Function keys #assigned, 3-2 to 3-4 !#Function keys #preassigned, 3-2 to 3-4 !#Assigned function keys, 3-2 to 3-4 !#Preassigned function keys, 3-3 to 3-4 !#Executive, 3-5 !#Current context #returning to, 3-5 !#Returning to current context, 3-5 !#Applications #requiring parameters, 3-5 !#Parameters #applications that require, 3-5 !#Switching contexts #without using CM screen, 3-6 !#Cancel #in CM, 3-6 !#Action-Next, 3-6 !#Action-Minus, 3-6 !#Action-S, 3-6 !#Halted, 3-6 !#Bullet, 3-6 !#Status terms, 3-7 !#Status terms #running, 3-7 !#Status terms #waiting, 3-7 !#Status terms #done, 3-7 !#Status terms #swapped, 3-7 !#Status terms #stopped, 3-7 !#Status terms #halted, 3-7 !#Running, 3-7 !#Waiting, 3-7 !#Done, 3-7 !#Swapped, 3-7 !#Stopped, 3-7 !#Halted, 3-7 !#Swapping to disk, 3-8 to 3-9 !#Swap file, 3-8 !#Swapped #contexts that are not, 3-9 !#Contexts that are not swapped, 3-9 !#Applications #not swapped, 3-9 !#Communications applications and swapping, 3-9 !#Real-time applications and swapping, 3-9 !#Swapping to disk #communications applications, 3-9 !#Swapping to disk #real-time applications, 3-9 !#Finishing a context, 3-10 !#Eliminating a context, 3-10 !#Executive #finishing, 3-10 !#Logging out, 3-11 !#Executive, 3-11 !#Mouse Services #definition, 4-1 !#Window #definition, 4-2 !#Windows #features, 4-2 to 4-3 !#Windows #examples, 4-3 !#Windows #starting, 4-3 !#Starting Windows, 4-3 !#Menu. See Windows menu. !#Windows menu, 4-4 to 4-7 !#Windows menu commands, 4-4 to 4-7 !#Windows menu commands #when window is always full screen, 4-4 !#Windows menu commands #after Full command is activated, 4-4 !#Commands, #on Windows menu, 4-4 to 4-7. See also Windows menu commands for individual commands. !#Menu Mouse button !#Mouse buttons #menu, 4-4 !#Windows menu #activating, 4-4 !#CM command on Windows menu, 4-6 !#Icon command, 4-6 !#Restore command, 4-6 !#Full command, 4-6 !#Tile command, 4-7 !#Move command, 4-7 !#Size commands, 4-7 !#Windows menu c5 gging, 4-20 !#Current window #seeing what is behind, 4-22 !#Window #seeing what is behind, 4-22 !#Programs #nonwindow-aware, 4-23 !#Nonwindow-aware programs, 4-23 !#Programs that run under Windows #nonconforming and nonwindow-aware, 4-23Window !#Window #viewing hidden contents of, 4-23 !#Window #moving with the Mouse, 4-24 to 4-25 !#Moving a window #with the Mouse, 4-24 to 4-25 !#Mouse #moving a window with, 4-24 to 4-25 !#Windows menu #activating with the Mouse, 4-25 !#Windows menu #activating with the Mouse on a full screen, 4-25 !#Full-screen window #activating Windows menu with the Mouse, 4-25 !#Tile command, 4-25 to 4-28 !#Tiled windows #creating using the Mouse, 4-25 to 4-28 !#Window #tiled using the Mouse, 4-25 to 4-28 !#Windows menu commands #Tile, ommands CM, 4-6 !#Windows menu commands Icon, 4-6 !#Windows menu commands Restore, 4-6 !#Windows menu commands #Full, 4-6 !#Windows menu commands #Tile, 4-7 !#Windows menu commands #Move, 4-7 !#Windows menu commands #Size, 4-7 !#Windows menu commands #after Full command is activated, 4-8 !#Window #border, 4-8 !#Border in Windows, 4-8 !#Window #requiring full screen, 4-8 !#Programs that run under Windows #nonconforming and nonwindow-aware, 4-8 !#Programs #nonwindow-aware, 4-8 !#Nonwindow-aware programs, 4-8 !#Full-screen window, 4-8 !#Screen #full-screen window, 4-8 !#Current window, 4-8 to 4-9 !#Window #making current, 4-8 to 4-9 !#Mark Mouse button, 4-9 !#Mouse buttons #mark, 4-9 !#Current window #returning to, 4-9 !#Returning to current window, 4-9 !#Action-Next, 4-9 !#Action-Minus (-), 4-9 !#Action-fn, 4-9 !#Window #sizing, 4-10 !#Sizing a window, 4-10 !#Window #moving, 4-10 !#Moving #window, 4-10 !#Mouse #definition, 4-11 !#Mouse #cursor, 4-11 !#Mouse buttons, 4-12 !#Mouse #uses of, 4-12 !#Mouse #moving, 4-13 to 4-14 !#Mouse #installing, 4-13 to 4-14 !#Moving #mouse, 4-13 to 4-14 !#Mouse #right-handed use, 4-13 !#Mouse #left-handed use, 4-14 !#Mouse #regulating cursor speed, 4-14 !#Mouse buttons #using, 4-15 to 4-16 !#Using the Mouse buttons, 4-15 to 4-16 !#Mouse button techniques #pressing, 4-15 !#Mouse button techniques #clicking, 4-15 !#Mouse button techniques #pointing, 4-15 !#Mouse button techniques #dragging, 4-15 !#Mouse #clicking, 4-15 !#Clicking the Mouse, 4-15 !#Pressing the Mouse, 4-15 !#Pointing the Mouse, 4-15 !#Dragging the Mouse, 4-15 !#Mouse #cursor, 4-15 !#Mouse buttons #mark, 4-16 !#Mouse buttons #bound, 4-16 !#Mouse buttons #menu, 4-16 !#Mark Mouse button description, 4-16 !#Bound Mouse button description, 4-16 !#Menu Mouse button description, 4-16 !#Windows menu #activating with the Mouse, 4-17 to 4-18 !#Windows menu commands #selecting with the Mouse, 4-17 !#Mouse #selecting Windows menu commands with, 4-17 !#Window #sizing with the Mouse, 4-17 !#Sizing a window #with the Mouse, 4-17 !#Mark Mouse button #using to return to CM screen, 4-17 !#Windows menu #cancelling with the Mouse, 4-17 !#Mouse #cancelling Windows menu with, 4-17 !#Cancelling Windows menu #using the Mouse, 4-17 !#Moving a Window with the Mouse, 4-17 !#Mouse #moving window with, 4-17 !#Window #viewing hidden contents of, 4-17 !#Window #moving with the Mouse, 4-17 !#Window #making current with the Mouse, 4-18 !#Current window #with the Mouse, 4-18 !#Windows menu #activating with the Mouse on a full screen, 4-18 !#Full-screen window #activating Windows menu with the Mouse, 4-18 !#Iconic windows #de-selecting, 4-18 !#Finishing #in Windows, 4-18 !#Logging out, 4-18 !#Windows #finishing, 4-18 !#Logging out, 4-18 !#Exercises #using Windows and the Mouse, 4-19 to 4-33 !#Using Windows and the Mouse. See Exercises. !#Windows menu #cancelling with the Mouse, 4-19 !#Cancelling Windows menu #with the Mouse, 4-19 !#Window #opening with the Mouse, 4-19 to 4-20 !#Opening a window #with the Mouse, 4-19 to 4-20 !#Mouse #opening a window with, 4-19 to 4-20 !#Mouse #cancelling Windows menu with, 4-19 !#Window #sizing with the Mouse, 4-20 to 4-23 !#Sizing a window #with the Mouse, 4-20 to 4-23 !#Mouse #sizing a window with, 4-20 to 4-23 !#Dragging the Mouse, 4-20 !#Mouse button techniques #dra6 4-25 to 4-28 !#Icon command, 4-28 to 4-31 !#Iconic windows #creating using the Mouse, 4-29 to 4-31 !#Windows menu commands #Icon, 4-28 to 4-31 !#Window #iconic using the Mouse, 4-28 to 4-31 !#Window #with dotted lines, 4-28 to 4-31 !#Iconic windows #de-selecting with the Mouse, 4-29 !#Iconic windows #that are not visible, 4-31 !#Iconic windows #de-selecting with the Mouse, 4-31 !#Full command, 4-32 !#Restore command, 4-32 to 4-33 !#Windows menu commands #Full, 4-32 !#Full window #creating using the Mouse, 4-32 !#Window #made full using the Mouse, 4-32 !#Windows menu commands #Restore, 4-32 to 4-33 !#Restored window #creating using the Mouse, 4-32 to 4-33 !#Window #restored using the Mouse, 4-32 to 4-33 !#Cancelling Windows menu #using the keyboard, 4-34 !#Keyboard #cancelling Windows menu with, 4-34 !#Windows menu #cancelling using the keyboard, 4-34 !#Keyboard #sizing window with, 4-34 !#Keyboard #moving window with, 4-34 !#Window #moving using the keyboard, 4-34 !#Window #sizing using the keyboard, 4-34 !#Window #viewing hidden contents of, 4-34 !#Action-W !#Window #making current using the keyboard, 4-35 !#Current window #using the keyboard, 4-35 !#Window #making current, 4-35 !#Current window #returning to, 4-35 !#Returning to current window, 4-35 !#Iconic windows #de-selecting using the keyboard, 4-35 !#Windows #finishing, 4-35 !#Logging out, 4-35 !#Window #opening using the keyboard, 4-36 !#Opening a window using the keyboard, 4-36 !#Keyboard #opening a window, 4-36 !#Windows menu #activating using the keyboard, 4-36 to 4-37 !#Windows menu commands #selecting using the keyboard, 4-37 !#keyboard #selecting Windows menu commands, 4-37 !#Window #sizing using the keyboard, 4-37 to 4-39 !#Sizing a window #using the keyboard, 4-37 to 4-39 !#Keyboard #sizing a window, 4-37 to 4-39 !#Window #making current using the keyboard, 4-38 to 4-39 !#Current window #using the keyboard with, 4-38 to 4-39 !#Window #moving using the keyboard, 4-40 !#Moving a window #using the keyboard, 4-40 !#Keyboard #moving a window, 4-40 !#Tile command, 4-41 to 4-43 !#Tiled windows #creating using the keyboard, 4-41 to 4-43 !#Window #tiled using the keyboard, 4-41 to 4-43 !#Windows menu commands #Tile, 4-41 to 4-43 !#Window #with dotted lines, 4-43 !#Window #iconic using the keyboard, 4-43 to 4-46 !#Iconic windows #creating using the keyboard, 4-43 to 4-46 !#Windows menu commands #Icon, 4-43 to 4-46 !#Icon command, 4-43 to 4-46 !#Iconic windows #de-selecting using the keyboard, 4-44 !#Iconic windows #de-selecting using the keyboard, 4-46 !#Iconic windows #that are not visible, 4-46 !#Full command, 4-47 !#Restore command, 4-47 to 4-48 !#Windows menu commands #Full, 4-47 !#Full window #creating using the keyboard, 4-47 !#Window #made full using the keyboard, 4-47 !#Windows menu commands #Restore, 4-47 to 4-48 !#Restored window #creating using the keyboard, 4-47 to 4-48 !#Window #restored using the keyboard, 4-47 to 4-48 !#Configuring CM, 5-1 !#Swap file, 5-1 to 5-2 !#Swapping and the operating system, 5-1 to 5-2 !#Swap file #creating, 5-2 !#CrashDump.sys as a swap file, 5-2 !#Swap file #using CrashDump.sys, 5-2 !#System Services and CM, 5-3 !#Starting CM, 5-3 !#Installation of CM, 5-3 !#Logging out, 5-3 !#Deinstallation of CM, 5-3 !#Help key, 5-4 !#Version number of CM, 5-4 !#User Configuration file, 5-4 to 5-5 !#User Configuration file #editing, 5-4 to 5-5 !#Editing the User Configuration file, 5-4 to 5-5 !#User Configuration file #configuring the Mouse, 5-5 !#Configuring the Mouse #for left-hand use, 5-5 !#Configuring the Mouse #for cursor speed, 5-5 !#Mouse #configuring for left-hand use, 5-5 !#Mouse #configuring for cursor speed, 5-5 !#Contexts #number of, 5-6 !#Number of contexts, 5-6 !#CM Configuration File Editor. See CM Editor. !#CM Editor #starting from the Executive, 5-6 to 5-7 !#Executive #starting the CM Editor, 5-6 to 5-7 !#Starting the CM Editor, 5-6 to 5-7 !#Message line in CM Editor, 5-7 !#Screen areas #message line in CM Editor, 5-7 !#Highlight bar #in CM Editor, 5-8 !#Function key menu !#in CM Editor, 5-9 !#Undo (f2), 5-9 !#Show 6 5-27 !#Adding an application. See CM Add Application. !#CM Remove application, 5-28 !#Executive commands !#CM Remove Application, 5-28 !#Applications #removing from a configuration file, 5-28 !#Removing an application. See CM Remove Application. !#Applications you can start from CM #example, 5-28 to 5-29 !#Applications #not requiring parameters, 5-28 !#Parameters !#applications not requiring, 5-28 !#Applications #requiring parameters, 5-28 to 5-29 !#Parameters !#applications requiring, 5-28 to 5-29 !#Applications #invoked indirectly from CM through the Executive, 5-28 to 5-29 !#Executive #invoking applications from, 5-28 to 5-29 !#Command case value #CM defined as, 5-29 !#Executive commands !#Submit, 5-30 to 5-31 !#Submit command #creating in CM, 5-30 !#Ex(f3), 5-9 !#Create (f5), 5-9 !#Remove (f6), 5-9 !#Rename (f7), 5-9 !#ICMS (f9), 5-9 !#More (f10), 5-9 !#Screen areas !#in CM Editor, 5-10 !#Message line in CM Editor, 5-10 !#Screen areas #message line in CM Editor, 5-10 !#Input/error line in CM Editor, 5-10 !#Command editing area in CM Editor, 5-10 !#Editing a command, 5-10 to 5-12 !#Creating a command, 5-10 to 5-12 !#Commands #editing, 5-10 to 5-12 !#Commands #creating, 5-10 to 5-12 !#Cancel #in CM Editor, 5-11 !#Highlight bar #in CM Editor, 5-11 !#Command Name field in CM Editor, 5-11 !#CM Editor #making an entry, 5-11 !#Commands #name length, 5-11 !#Commands #vs. applications, 5-11 !#Background #preventing an application from running in, 5-12 !#Dirty applications. See Dirty programs. !#Applications that are dirty. See Dirty programs. !#Programs #dirty, 5-12 !#Dirty programs, 5-12 !#Create (f5), 5-12 !#Rename (f7), 5-12 !#Remove (f6), 5-12 !#Commands #renaming, 5-12 !#Commands #removing, 5-12 !#Run File Name field in CM Editor, 5-12 !#Memory required field in CM Editor, 5-13 to 5-15 !#Partitions #creating, 5-13 to 5-15 !#Partition sizes, 5-13 to 5-15 !#Partition sizes #variable, 5-13 to 5-15 !#Partition sizes #fixed, 5-14 !#Variable sized partitions, 5-13 to 5-15 !#Fixed sized partitions, 5-14 !#Partition status #for examining Run file sizes, 5-15 !#Run files #examining sizes of, 5-15 !#Sizes of Run files. See Run files. !#Abbreviation field in CM Editor, 5-16 !#Function Key field in CM Editor, 5-16 !#Function keys #preassigned !#Show (f3) !#Command Case field in CM Editor, 5-17 !#Volume field in CM Editor, 5-17 !#Directory field in CM Editor, 5-17 !#Prefix field in CM Editor, 5-17 !#Applications #requiring parameters, 5-17 !#Parameters #applications that require, 5-17 !#Password field in CM Editor, 5-18 !#Node field in CM Editor, 5-18 !#Autostart ordering field in CM Editor, 5-18 !#Needs Exec screen field in CM Editor, 5-18 !#Autostarting, 5-18 !#Function key menu #in CM Editor, 5-19 !#Undo (f2), 5-19 !#Show (f3)), 5-19 !#Remove (f6)), 5-19 !#Rename (f7)), 5-20 !#ICMS (f9)), 5-20 to 5-21 !#Intercontext Message Server (ICMS), 5-20 to 5-21 !#More (f10), 5-21 !#Command list area in CM Editor, 5-21 !#Applications you can start from CM, 5-21 !#CM Editor #exiting, 5-22 !#Exiting CM Editor, 5-22 !#Deinstalling CM to record changes, 5-22 !#Logging out of CM to record changes, 5-22 !#Changes #deinstalling CM to record changes, 5-22 !#Cancel #in CM Editor, 5-22 !#Exercises #using CM Editor, 5-22 to 5-26 !#Using CM Editor. See Exercises. !#CM Editor #making an entry in, 5-22 to 5-24 !#Create (f5), 5-23 !#Run file field in CM Editor, 5-23 !#Abbreviation field in CM Editor, 5-23 !#Function Key field in CM Editor, 5-23 !#Command Case field in CM Editor, 5-23 !#Volume field in CM Editor, 5-24 !#Directory field in CM Editor, 5-24 !#Prefix field in CM Editor, 5-24 !#Node field in CM Editor, 5-24 !#Autostart ordering field in CM Editor, 5-24 !#Needs Exec screen field in CM Editor, 5-24 !#Commands #editing, 5-25 !#Commands #removing, 5-25 to 5-26 !#Editing a command #example, 5-25 !#Removing a command #example, 5-25 to 5-26 !#Commands #renaming, 5-26 !#Renaming a command #example, 5-26 !#Rename (f7), 5-26 !#CM Add Application, 5-27 !#Executive commands !#CM Add Application, 5-27 !#Applications #adding to a configuration file, 7 ecutive Submit command. See Submit command. !#Executive commands #New Command, 5-30 !#New Command command #creating, 5-30 !#Commands #See also Executive commands. !#Submit file #creating, 5-31 !#Executive #creating a Submit file, 5-31 !#Submit command #testing, 5-31 !#Testing Submit command, 5-31 !#Submit command #defining in the CM Editor, 5-31 !#CM Editor #defining CM Editor, 5-31 !#Deinstalling CM to record changes, 5-32 !#Logging out of CM to record changes, 5-32 !#Changes #deinstalling CM to record changes, 5-32 !#Finishing #in CM Editor, 5-31 !#Submit file #invoking from CM 5-32 !#Configuration file #example, 5-32 to 5-33 !#Contexts #number of, 5-34 to 5-35 !#Number of contexts, 5-34 to 5-35 !#CM and operating system, 6-1 !#Operating system and CM, 6-1 !#Programs #compatible with CM, 6-1 !#Programs #requiring alteration, 6-1 !#Programs !#that write to the screen map, 6-2 !#Screen map #programs that write to, 6-2 !#Video pointer map, 6-2 to 6-3 !#Application character map, 6-2 to 6-3 !#VAM. See Video Access Method !#Video Access Method (VAM), 6-2 !#VDM. See Video Display Management !#Video Display Management (VDM), 6-2 !#Mapping of video lines, 6-2 to 6-3 !#Operations, 6-2 to 6-3 !#LockVideo, 6-2 to 6-3 !#UnLockVideo, 6-2 to 6-3, !#GetpStructure, 6-2 to 6-3 !#Busy wait loops, 6-4 !#Foreground, 6-4 !#Background, 6-4 !#Low-memory interrupt vector table, 6-4 !#SetIntHandler, 6-4 to 6-5 !#SetTrapHandler, 6-4 to 6-5 !#Programs #dirty, 6-5 to 6-6 !#Dirty programs, 6-5 to 6-6 !#Positioning cursor, 6-5 !#Applications #that write directly to the sceen, 6-5 to 6-6 !#Applications #suspended in background, 6-5 to 6-6 !#Programs #clean, 6-5 !#Clean programs, 6-5 !#Background, 6-6 !#Suspended, 6-6 !#GetpStructure, 6-6 !#Windows #programs that run under, 6-6 to 6-8 !#Programs that run under Windows, 6-6 to 6-8 !#Conforming programs, 6-6 to 6-8 !#Nonconforming programs, 6-6 to 6-8 !#Programs that run under Windows #conforming and window-aware, 6-7 !#Programs that run under Windows #conforming and nonwindow-aware, 6-7 to 6-8 !#Video Access Method, (VAM) 6-6 to 6-8 !#Window-aware programs, 6-7 !#Nonwindow-aware programs, 6-7 to 6-8 !#Programs #window-aware, 6-7 to 6-8 !#Programs #nonwindow-aware, 6-7 to 6-8 !#Windows #making hidden contents visible, 6-8 !#GetpStructure, 6-8 !#Programs that run under Windows #nonconforming and nonwindow-aware, 6-8 !#Window #requiring full screen, 6-8 !#Exit Run file, 6-9 !#CmNull.run, 6-9 !#Executive #as Exit Run file, 6-9 !#Applications #not swapped, 6-9 !#Contexts that are not swapped, 6-9 !#Swapped #contexts that are not, 6-9 !#Real-time applications and swapping, 6-9 !#Communications applications and swapping, 6-9 !#Swapping to disk #communications applications, 6-9 !#Swapping to disk #real-time applications, 6-9 !#SetCommIsr, 6-9 !#SetIntHandler, 6-9 !#SetSwapDisable, 6-9 !#Communication with CM, 6-10 !#Interprocess Communication facility (IPC), 6-10 !#NotifyCM, 6-10 !#Communication between applications, 6-10 to 6-11 !#Intercontext Message Server (ICMS), 6-10 to 6-11 !#ICMS. See Intercontext Message Server !#Context handle, 6-10 !#CM as a server, 6-12 !#Contexts #parent/child relationships, 6-12 !#Parent/child relationships of contexts, 6-12 !#Server #CM as one, 6-12 !#Context handle, 6-13 to 6-14 !#CMQueryParent, 6-13 !#SetPartitionName, 6-13 !#GetPartitionHandle, 6-13 !#TranslatePhToCh, 6-13 !#Starting and switching contexts, 6-14 !#Contexts #starting and switching, 6-14 !#CMStartAppl, 6-15 !#CMSwitchContext, 6-15 !#Installation #check for, 6-15 !#Check for installation, 6-15 !#ICMSCurrentVersion, 6-15 !#CMCurrentVersion, 6-15 !#Request.7.sys, 6-15 !#Autostarting, 6-15 to 6-16 !#Screen #using CM without CM screen, 6-15 to 6-16 !#SignOn.run, 6-16 !#Contexts #parent/child relationships, 6-16 !#Parent/child relationships of contexts, 6-16 !#Function keys #more (f10), 6-17 !#More (f10), 6-17 !#CM Configuration file, 6-17 to 6-18 !#Run-time libraries #programs that use, 6-18 !#CrashDump.sys as a swap file, 6-18 to 6-19 !#Swap file #using CrashDump.sys, 6-18 to 6-19 !#Memory #requirements, 6-19 7 'Kf̡̀ؐؾ'Ix́أ̬ -<]l؟̴7@e}̮ؑ̿  B K   !&*,  !&*,  !&*,@  $0@ `  $0 |ڶ23 !2Uf̶̂ؓ=Fg̖ب5@ds̘أ̽ 6?amv̟ذ2Cjtؙ̅آ"Og̋ؖ̽#.MVؘ̇̿ 7Tdؘ̏AR}̩ؕ 6 G c x ؘ ذ ̼  2 I [ ̆ ؏ ̺  $ 3 W c } ؛ l  !&*,  !&*, @ `  $0@  $0to 6-20 !#Applications #estimating memory requirements of, 6-19 to 6-20 !#Commands #Bind, 6-19 !#Bind command, 6-19 !#Memory required field in CM Editor, 6-20 to 6-21 !#Partitions #creating, 6-20 to 6-22 !#Partition sizes, 6-20 to 6-22 !#Partition sizes #variable, 6-20 to 6-21 !#Variable sized partitions, 6-20 to 6-21 !#Version 6 Run files #sized, 6-20 to 6-22 !#Partition sizes #fixed, 6-21 to 6-22 !#Fixed sized partitions, 6-21 to 6-22 !#Sizes of partitions. See Partition sizes !#Version 6 Run files #unsized, 6-21 to 6-22 !#Version 4 Run files, 6-21 !#Swap requests, 6-23 !#System services #writing, 6-23 !#Operations, 7-1 to 7-43. See also individual listings for each operation !#CMCurrent Version, 7-2 to 7-3 !#Request.7.sys, 7-2 !#CMQueryConfigFile, 7-4 to 7-5 !#CMQueryContextHandle, 7-6 !#CMQueryErc, 7-7 !#CMQueryParent, 7-8 to 7-9 !#CMSetParent, 7-10 to 7-11 !#CMStartAppl, 7-12 to 7-16 !#CMStartApplByBlock, 7-17 to 7-19 !#CMStartApplByName, 7-20 to 7-22 !#CMSwitchContext, 7-23 !#CMSwitchToExistingContext, 7-24 to 7-25 !#CMTerminateContext, 7-26 to 7-27 !#CMTranslateChToPh, 7-28 to 7-31 !#ICMSCheck, 7-32 to 7-33 !#ICMSCurrentVersion, 7-34 !#ICMSFlush, 7-35 !#ICMSSend, 7-36 to 7-37 !#ICMSWait, 7-38 to 7-39 !#NotifyCM, 7-40 to 7-43 !#Troubleshooting, 8-1 to 8-12 !#Errors. See Troubleshooting !#Status codes, 8-2 to 8-9 !#Status codes #CM, 8-2 to 8-4 !#Status codes #InterContext Message Server, 8-5 !#Status Messages, 8-6 to 8-12 2 Index-# Index-# Whatever Manual goy -2DO_qՃՈթ*5E[tՎդխ &9Ld~Չմռ&?Ztը 0;M\g՚խ"7KZiuՄՓահ!/>K^yՅոY !&*,@ `  $0@  $0@ `  $0 !&*, sY\`c^ 1Pbuֲ֙ 2A]sֲ7Uk֦֒"6GWm}ֻ=Lgt֪"0DSap~֍֧ '6Dct~ֿ;Npփּ .?HZdzք֝ 6 ^ ʔY  !&*, !&*,@  $0@ `  $0 !&*,vsz{ڈ >Jء̵&=Qey̦̎خ 0;S^v؁̙ؿ5]h~̞̹6FQbu̘̫ #19KSaw؎̖ج̴ +3Rbw̟̹ 7HP`{̖̱+7K]r؄̘ت̹ G  !&*, !&*,@  $0@ `  $0c?CGK!%)-K 4=Zl؂̖غ0Gnv̙ؐػ 6Ew̌غ.BNy̷̨7Jhp̝ؕ8  tW`|  B -@\l̮̈)E]v̎إ̭1am̢ؖ ;K^r؆̨̗̻(JYz̠1<T]q́ؕ̽ "/`̋̿*5EP`̼̉+=Jț̓ > f v ؃ ̏ ̷ / K X y ̝ ̽  . B u- m !&*, !&*, !&*, @  $0@ `  $0r1>ڒ>Szڈ    ! j &9Nc~ر"1Kuءث?Km؁إ?d؆ئ &>Ravؘ̨̍ؽ,;aؓرTy̐؟̿"/Ve̥ر1BX؉؞̱   * H Y h ؇ ؘ ̹ 6 @ i u ̉ ؗ ̮ ! @ _ j +5  !&*, !&*,@ `  $0@  $0 |] a $?Jn{̘ظ Dj؏ب 2[wؔ؟̲&5Zeq؇ؙث?d؆̨;bṁ̯ؒع=Fbw؉̬ؕػCs؆̨ػ3evة  4 ? a ؐ ؙ ̪  + S ^ | ؐ ب ط   1 N W ́ ؔ ؟  % K ` y ئ ز 3 2 !&*, !&*,@ `  $0@  $0;dgknfjnr %4ep|̑ 3^t؉̛ذ0Lbt؃$@Rn̦̊-Pŗ̹̌#B]l|̋ح@]@  ,@  , !&*,@  $0@ `  $0  ((()P xxxx Courier 72G BWW5, "10.2a{"a.9 EQ INDEX Page numbers in bold indicate the principal discussion of a topic. Abbreviation field in CM Editor, 516, 523 Action keys, 15, 24 ActionFinish, 24, 212, Actionfn, 24, 29 to 210, 49 ActionGo, 24, 434 ActionMinus (), 24, 210, 36, 49 ActionNext, 24, 210, 36, 49 ActionS, 24, 36 ActionW, 44 Active context, 14 Adding an application. See CM Add application. Application character map, 62 to 63 Applications adding to Configuration file, 527 assuming call from Executive, 529 estimating memory requirements of, 619 to 620 invoking indirectly from CM through Executive, 528 to 529 not requiring parameters, 528 not swapped, 39, 69 removing from Configuration file, 528 requiring parameters, 35, 517, 528 to 529 starting second one, 29 suspended in background, 65 to 66 writing directly to sceen, 65 to 66 Applications, dirty. See Dirty programs. Applications started from CM, 521 example, 528 to 529 Arrow keys, 23 Assigned function keys, 32 to 34 Assignin8  522 to 526 using CM, 26 to 213 using Windows and Mouse, 419 to 433 Exit Run file, 69 Exiting CM Editor, 522 Finishing in CM Editor, 531 in Executive, 211, 310 in Windows, 418 Finishing a context, 211, 310 Fixed sized partitions, 514, 621 to 622 Foreground, 12, 14, 64 Full command, 46, 432, 447 Full window, creating using keyboard, 447 using Mouse, 432 Fullscreen window, 48 activating Windows menu with Mouse, 418, 425 Function keys, 32 to 34 assigned, 32 to 34 preassigned, 32 to 34 Function Key field in CM Editor, 516, 523 Function key menu, 28 definition, 32 in CM Editor, 59, 519 in CM, 32 GetPartitionHandle, 613 GetpStructure, 62 to 63, 66, 68 Halted, 25, 36, 37 Help key, 54 Highlight bar in CM, 27 in CMg function keys, 32 to 34 Autostart ordering field in CM Editor, 518, 524 Autostarting, 31, 518, 615 to 616 Background, 12, 14, 64, 66 preventing application from running in, 512 Bind command, 619 Border in Windows, 48 Bound Mouse button description, 416 Bullet, 28, 36 Busy wait loops, 64 Cancel in CM, 28, 36 in CM Editor, 511, 522 Cancelling Windows menu using the keyboard, 434 using the Mouse, 417, 419 Changes deinstalling CM to record changes, 522, 532 Clean programs, 65 Clicking the Mouse, 21, 415 CM definition, 11 features, 12 uses, 11 to 12 CM Add application, 527, CM and operating system, 61 CM as server, 612 CM command on Windows menu, 46 CM Configuration File Editor. See CM Editor. CM Configuration file, 617 to 618 CM Editor defining Submit command in, 531 exiting, 522 making entry in, 511, 522 to 524 starting from Executive, 56 to 57 CM Remove application, 528 CmConfig.sys, 57, 522 CMCurrentVersion, 615, 72 to 73 CMNull.run, 69 CMQueryConfigFile, 74 to 75 CMQueryContextHandle, 76 CMQueryErc, 77 CMQueryParent, 613, 78 to 79 CMSetParent, 710 to 711 CMStartAppl, 615, 712 to 716 CMStartApplByBlock, 717 to 719 CMStartApplByName, 720 to 722 CMSwitchContext, 615, 723 CMSwitchToExistingContext, 724 to 725 CMTerminateContext, 726 to 727 CMTranslateChToPh, 728 to 731 Command Case field in CM Editor, 517, 523 Command case value CM defined as, 529 Command editing area in CM Editor, 510 Command list area in CM Editor, 521 Command Name field in CM Editor, 511 Commands Bind, 619 creating, 510 to 512 editing, 510 to 512, 525 name length, 511 removing, 512, 525 to 526 renaming, 512, 526 Windows menu, 44 to 47. See also Windows menu commands for individual commands. versus applications, 511 Communication between applications, 610 to 611 with CM, 610 Communications applications swapping, 39, 69 Configuration file example, 532 to 533 Configuring CM, 51 Configuring the Mouse for cursor speed, 55 for lefthanded use, 55 Conforming programs, 66 to 68 Context definition, 14 Context handle, 610, 613 to 614 Contexts number of, 14, 56, 534 to 535 parent/child relationships, 612, 616 starting, 614 switching, 15, 614 Contexts that are not swapped, 39, 69 CrashDump.sys as a swap file, 52, 618 to 619 Create (F5), 59, 512, 523, Creating a command, 510 to 512 Current context, 14 returning to, 28, 35 Current window, 14, 48 to 49 returning to, 49, 435 seeing behind, 422 using keyboard with, 435, 438 to 439, using Mouse with, 418 Deinstallation of CM, 53 Deinstalling CM to record changes, 522, 532 Directory field in CM Editor, 517, 524 Dirty applications. See Dirty programs. Dirty programs, 512, 65 to 66 Done status, 25, 37 Dragging the Mouse, 415, 420 Editing a command, 510 to 512 example, 525 Editing User Configuration file, 54 to 55 Eliminating a context, 212, 310 Errors. See Troubleshooting. Examples using CM, 11 to 12 using Windows, 43 Executive, 35, 311 as command, 529 as Exit Run file, 69 creating Submit file, 531 finishing, 211, 310 invoking applications from, 528 to 529 starting CM Editor, 56 to 57 New Command, 530 Executive Submit command. See Submit command. Exercises using CM Editor,9  Editor, 58, 511 ICMS. See Intercontext Message Server. ICMS (F9), 59, 520 to 521 ICMSCheck, 732 to 733 ICMSCurrentVersion, 615, 734 ICMSFlush, 735 ICMSSend, 736 to 737 ICMSWait, 738 to 739 Icon command, 46, 428 to 431, 443 to 446 Iconic windows creating using keyboard, 443 to 446 using Mouse, 429 to 431 deselecting, 418 using keyboard, 435, 444, 446 using Mouse, 429, 431 not visible, 431, 446 Input/error line in CM Editor, 510 Installation CM, 31, 53 to 54 system services, 53 Installation check for CM and ICMS, 615 Intercontext Message Server (ICMS), 520 to 521, 610 to 611 Interprocess Communication facility (IPC), 610 Key combinations, 15, 24 Keyboard, use for cancelling Windows menu, 434 moving window, 434, 440 opening window, 436 selecting Windows menu commands, 437 sizing window, 434, 437 to 439 LockVideo, 62 to 63 Logging out of CM to record changes, 522, 532 Logging out, 212, 311, 418, 435, 53 Lowmemory interrupt vector table, 64 Map file, 619 Mapping video lines, 62 to 63 Mark Mouse button, 21, 23, 49 to return to CM screen, 417 description, 416 Memory area entries example, 513 to 514 Memory requirements, 619 to 620 Memory required field in CM Editor, 513 to 515, 620 to 621 Menu Mouse button description, 416 Menu. See Windows menu. Message area in CM, 23, 28 Message line in CM Editor, 57, 510 More (F10), 59, 521, 617 Mouse cancelling Windows menu, 417, 419 clicking, 21, 415 configuring for cursor speed, 55 for lefthanded use, 55 cursor, 21, 411, 415 definition, 411 installing, 413 to 414 lefthanded use, 414 moving, 413 to 414 moving window, 417, 424 to 425 opening window, 419 to 420 regulating cursor speed, 414 righthanded use, 413 selecting Windows menu commands, 417 sizing a window, 420 to 423 starting an application with, 21 uses of, 412 Mouse button techniques clicking, 415 dragging, 415, 420 pointing, 415 pressing, 415 Mouse buttons, 412, 415 to 416 Bound, 416 Mark, 21, 23, 49, 416 Menu, 44, 416 Mouse Services definition, 41 Move command, 47 Moving mouse, 413 to 414 window, 410 Moving a window using keyboard, 440 using Mouse, 417, 424 to 425 New Command command creating, 530 Node field in CM Editor, 518, 524 Nonconforming programs, 66 to 68 Nonwindowaware programs, 48, 423, 67 to 68 NotifyCM, 610, 740 to 743 Number of contexts, 14, 56, 534 to 535 Opening window Mouse, 419 to 420 keyboard, 436 Operating system and CM, 61 Operations, 62 to 63, 71 to 743. See also specific operation. Parameters applications requiring, 35, 517 applications not requiring, 528 passing, 529 Parent/child relationships contexts, 612, 616 Partitions creating, 513 to 515, 620 to 622 Partition sizes, 513 to 515, 620 to 622 fixed, 514, 621 to 622 variable, 513 to 515, 620 to 621 Partition status examining Run file sizes, 515 Password field CM Editor, 518 Pointing Mouse, 415 PosFrame Cursor, 65 Positioning cursor, 65 Preassigned function keys, 33 to 34 Prefix field CM Editor, 517, 524 Pressing Mouse, 415 Programs clean, 65 compatible with CM, 61 dirty, 512, 65 to 66 nonwindowaware, 48, 423, 67 to 68 requiring alteration, 61 windowaware, 67 to 68 writing to screen map, 62 Programs under Windows, 66 to 68 conforming and nonwindow-aware, 67 to 68 conforming and windowaware, 67 nonconforming and nonwindowaware, 48, 423, 68 Realtime application swapping, 39, 69 Remove (F6), 59, 519, 512 Removing a command example, 525 to 526 Removing an application. See CM Remove application. Rename (F7), 59, 512, 520, 526 Renaming a command example, 526 Request.7.sys, 615, 72 Restore command, 46, 432 to 433, 447 to 448 Restored window, creating using keyboard, 447 to 448 using Mouse, 432 to 433 Returning to current context, 28, 35 Returning to current window, 49, 435 Run file field CM Editor, 512, 523, Run files examining sizes of, 515 Runtime libraries programs using, 618 Saving, 212, 310 9 , 44 to 47 activating, 44 using keyboard, 436 to 437 using Mouse, 417 to 418, 425 cancelling using keyboard, 434 using Mouse, 417, 419 Windows menu commands, 44 to 47 after Full command is activated, 44, 48 CM, 46 Full, 46, 432, 447 Icon, 46, 428 to 431, 443 to 446 Move, 47 Restore, 46, 432 to 433, 447 to 448 selecting using keyboard, 437 using Mouse, 417 Size, 47 Tile, 425 to 428, 441 to 443, 47 when window is always full screen, 442 Index I-# I-# Context Manager IIScreen fullscreen window, 48 ownership of, 14 using CM without CM screen, 615 to 616 Screen areas in CM, 23 message area, 23, 28 in CM Editor, 57, 510, Screen map programs writing to, 62 Server CM as one, 612 SetCommIsr, 69 SetIntHandler, 64 to 65, 69 SetPartitionName, 613 SetSwapDisable, 69 SetTrapHandler, 64 to 65 Show (F3) 59, 519 SignOn.run, 616 Size commands, 47 Sizes of partitions. See Partition sizes. Sizes of Run files. See Run files. Sizing window, 410 using keyboard, 437 to 439 using Mouse, 417, 420 to 423 Starting second application, 29 Starting application, 14, 23, 27 arrow keys, 23, 27 Mouse, 21, 23, 27 Starting and switching contexts, 614 Starting CM, 26, 31, 53 Starting more contexts, 211 Starting CM Editor, 56 to 57 Starting Windows, 43 Status codes, 82 to 89 Context Manager, 82 to 84 InterContext Message Server (ICMS), 85 Status Messages, 86 to 812 Status terms, 25, 37 Done, 25, 37 Halted, 25, 37 Running, 25, 37 Stopped, 25, 37 Swapped, 25, 37 Waiting, 25, 37 Submit command creating, 530 defining in CM Editor, 531 testing, 531 Submit file creating, 531 invoking from CM, 532 Suspended context, 14 SwapFileName, 52 SwapFileSize, 52 Swap file, 38, 51 to 52 creating, 52 using CrashDump.sys, 52, 618 to 619 Swap requests, 623 Swapped, 25, 37 contexts not, 39, 69 Swapping and operating system, 51 to 52 Swapping to disk, 14, 38 to 39 communications applications, 39, 69 realtime applications, 39, 69 Switching contexts, 15 without CM screen, 29 to 210, 36 System services and CM, 53 writing, 623 Testing Submit command, 531 Tile command, 47, 425 to 428, 441 to 443 Tiled windows, creating using keyboard, 441 to 443 using Mouse, 425 to 428 TranslatePhToCh, 613 Troubleshooting, 81 to 812 Tutorial. See Exercises. Undo (F2), 59, 519 UnLockVideo, 62 to 63 User Configuration file, 54 to 55 configuring Mouse, 55 editing, 54 to 55 VAM. See Video Access Method. Variable sized partitions, 513 to 515, 620 to 621 VDM. See Video Display Management Version 4 Run files, 621 Version 6 Run files sized, 620 to 622 unsized, 621 to 622 Version number of CM, 54 Video Access Method (VAM), 62, 66 to 68 Video Display Management (VDM), 62 Video output, 62 to 63 Video pointer map, 62 to 63 Volume field CM Editor, 517, 524 Waiting, 25, 37 Window border, 48 definition, 42 iconic using keyboard, 443 to 446 using Mouse, 428 to 431 made full using keyboard, 447 using Mouse, 432 making current, 14, 48 to 49, 435 using keyboard, 435, 438 to 439 using Mouse, 418 moving, 410 using keyboard, 434, 440 using Mouse, 417, 424 to 425 opening using keyboard, 436 using Mouse, 419 to 420 requiring full screen, 48, 68 restored using keyboard, 447 to 448 using Mouse, 432 to 433 seeing behind, 422 sizing, 410 using keyboard, 434, 437 to 439 using Mouse, 417, 420 to 423 tiled using keyboard, 441 to 443 using Mouse, 425 to 428 viewing hidden contents of, 417, 423, 68 with dotted lines, 428 to 431, 443 Window Services. See also Windows. definition, 13 Windowaware programs, 67 Windows examples, 43 features, 13, 42 to 43 finishing, 418, 435 programs runing under, 66 to 68 starting, 43 Windows menu: KKJ# !"&'x*+x,57s@ x $0@ `  $0 !"&'x*+x,?B+=0>x,B\}>dq%E[?byx@  $0@ `  $0@ 0 x $0°4X@ 0  $0@ `  $0% !"&'x*+x,567sBL_v ">Ft"DB@ 0  $0@ `  $0@  $0@ `  $0&/^0T^@ `  $0! !"&'x*+x,7s !"&'x*+x, !>AEHvz~š"0Ty(Hb)Iuќ#:Vhхћ@ 0  $0@ `  $0@  $0!&-.23<ձչ ՀՈ ՝Vp 3Ib4\/Cl@ `  $0@  $0# !"&'x*+x,67sq€.W1! !"&'x*+x,7s@ `  $0@ 0  $0: @ 0  $0@  $0@  $0 7"72@  $0@ `  $0! !"&'x*+x,7s‹µS .[} $:c(;SZ@ `  $0@  $0@ `  $0 6Gg@ `  $0@  $0@ ` x $0=>+>=# !"&'x*+x,67s@  $0@ 0  $0 WZ^aGavU@ 0  $0@  $0@ `  $0Ē=SaozQ@  $0@ `  $0@ ` x $0   '(E]|¿@  $0@ `  $0@ `  $0 ~ľ7Ijӂ¾; ±)h@ `  $0@ `  $0@ 0  $0348Msӕ5@ 0  $0@ `  $0@  $0 )P_ӠZ@  $0@ `  $0@ `  $0?@R@R?@ `  $0# !"&'x*+x,67s@ 0  $0 *+Hmѳ@ 0  $0@ `  $0@  $0 !IJĺHLPT/GXq6Tw '7FVho@ `  $0@  $0@  $0$$V@  $0@ ` x $0! !"&'x*+x,7s ˆ³»$Gw2@ `  $0@ `  $0@ 0  $0; @ `  $0@  $0@ 0  $0@ `  $0@ `  $0! !"&'x*+x,7sY\`gă#@d@ `  $0@ 0  $0@  $0ĄĎ .O]@ 0  $0@  $0@ `  $0 0\vӬS@ 0  $0@  $0@ `  $0xy%:RyxN# !"&'x*+x,67s@ `  $0@ `  $0“$9BMe}@a@  $0@ `  $0@ `  $0@ 0  $0Ď)FYo2LiB@  $0@ `  $0@ 0 x $0q&0I\rq<  'ž#*S`kћѿ0K_p#Ei~ѓ&?[у@  $0@ `  $0@  $0  #'*՗$6HZix*8_s1Im}~@ `  $0@  $0# !"&'x*+x,67sKc@  $0@ `  $0@ `  $0R.R@ `  $0@ `  $0! !"&'x*+x,7s6J›+J@d}@ `  $0@ `  $0@  $06$6#@ `  $0@  $0@ 0  $0#*#*@ `  $0@  $0@ `  $0#~ą7AVhӱ# !"&'x*+x,67s@ `  $0@  $0#<  5 SETTING UP CONTEXT MANAGER II OVERVIEW This chapter describes the steps you should follow to prepare for and configure CM. Configuring CM involves o editing a User Configuration file to start CM automatically at signon o using the CM Configuration File Editor to create the CM Configuration file or files The CM Configuration File Editor is a related program that greatly simplifies system setup. You can configure CM differently for each user, if you want to. Note that you do not need the various applica <@DH7;?C (HPeџ#CIfѭ6@ `  $0@  $0@  $0#c$4OWe +6Kdc@  $0@  $0@ `  $0' #MUkL@  $0@ `  $0! !"&'x*+x,7s ~‚'1W~@~@ ,@ ,@  $0@  $0 h((()P @xx  Courier 72 Cubic PS 96              G J32F,$10.1.2Ks J!t>|4 !z##$'c*J++7-m--[..01_2= tion Run files in order to do this configuration. For memory and operating system requirements and instructions for placing the software on the system, see the Context Manager II Release Notice. THE SWAP FILE All swapping is handled by the operating system. The operating system can swap to a file that it has designated on a local hard disk, or it can swap over the cluster to the hard disk attached to the master workstation. On an 80286 Processor, applications can be swapped into extended memory above one megabyte. The Swap file should be contiguous (not broken up among different sectors on the disk) so that swapping can be done as rapidly as possible. For more information on the Swap file, and swapping to extended memory, see the CTOS II Concepts Manual and the CTOS II Release Notice. Creating the Swap File The operating system creates a Swap file by default when it is needed. However, if you want, you can name and/or size such files yourself. To create the Swap file, you must edit the file `Sys{[Sys~OSconfig.sys. In this file, the following two entries concern you: Entry Identifier Default :SwapFileSize: 2048 :SwapFileName: `sys{[sys~CrashDump.sys The operating system reads `Sys{[Sys~OSconfig.sys to determine the Swap file size. If you have not specified a size, the size by default is 2048 sectors. The operating system then looks at what is specified as the Swap file name. If you have not entered a name, the name by default is `Sys{[Sys~CrashDump.sys. (See "Using CrashDump.sys as Your Swap File" in Chapter 6.) If the file indicated in the SwapFileName field cannot be accessed or created, the operating system searches for and creates, if necessary, `Sys{[Sys~swaparea.nn (nn represents a value of 00, which can be incremented to 01 or 02, and so on). (For general information on swapping, see "Swapping a Context to Disk" in Chapter 3.) CM AND INSTALLED SYSTEM SERVICES CM is not an installed system service. The user can log out of CM and continue to run the system without rebooting. System services are described in the CTOS II Concepts Manual. NOTE All system services must be installed before loading CM. Commands such as Install Spooler are not permitted after CM has been installed. ____________________________________________________________ If you try to install a system service after loading CM, status code 206 (invalid user number) is returned. In addition to the regular user name or names, you should define an administrative user name, such as Exec.user or NoCM.user on every system. This user should not be configured to install CM at signon, but should load the Executive. Such a user name allows you access to the system for system service installation or troubleshooting. INSTALLATION AND DEINSTALLATION CM can be installed (loaded from disk to memory) automatically after signon or manually through the Executive command, Install Context Manager (or a unique abbreviation, such as ICM). Installation at signon is specified in the User Configuration file. While running, CM manipulates applications in response to Action keystrokes in combination with other keystrokes. (See Chapter 3, "Basic Concepts," for details about commands. For a general description of how CM works, see Chapter 1, "Before You Begin.") CM is deinstalled when the user logs out. For information on the files required by CM, refer to your Release Notice. CM VERSION NUMBER When the Context Manager screen is displayed, you can press the Help key to display the following message: This is Context Manager version n.n where n.n is the version number of CM you are running. EDITING THE USER CONFIGURATION FILE Most users prefer to have CM installed when they sign on. In such a case, each User Configuration file (other than that of the administrative user) should contain the following lines: :SignOnExitFile:`Sys{[Sys~SignOn.run :SignOnChainFile:`Sys{[Sys~CmInstall.run 'Install Context Manager' `Sys{[Sys~ConfigFileName where ConfigFileName is the default (CmConfig.sys) or the file name you define for this user when you use the CM Configuration Fil= hted line. To accept this default name, press Go. To define a new file name, edit within this line as you want, and then press Go. If you enter a CM Configuration file name that does not exist and press Go, the message line informs you that the file name does not exist and asks for confirmation that you want to create this file. Press Go to confirm that you do, or Cancel to discard it. If not all users are to have the same configuration, use the CM Editor several times to define the various configurations you want, and give distinct names to these Configuration files. Each user's own User Configuration file must contain the name of that user's CM Configuration file. Enter the CM Configuration file name when editing the User Configuration file. (See e Editor. (See "Using the CM Configuration File Editor," below.) You can edit the User Configuration file directly, or you can use the User Configuration File Editor to do so. (See the Executive II Manual.) Note that this type of installation allows CM to run in an environment that may not have the Executive. If you prefer not to have CM installed when the user signs on, the user must install it from the command line of the Executive by giving the command Install Context Manager (or a unique abbreviation, such as ICM) and pressing Go. It is a good practice to create on each system one administrative user name that does not automatically install CM when you sign on. You can use this name to gain access to the Executive for system service installation or troubleshooting. CONFIGURING THE MOUSE You must edit your User Configuration file to configure the Mouse for left-handed use. To do this, modify (or insert) the following line: :LeftHanded:Y If you do not insert Y, the default is N (meaning right-handed). You can also edit this file to specify how quickly you want the Mouse cursor to move. To do this, modify (or insert) the following line: :MouseSpeed:1..10 The default value is zero. (That is, the system automatically assigns zero if you do not specify a number.) The cursor moves faster as you specify a higher number, up through 10. Note that raising the Mouse speed makes the Mouse more responsive to your hand movements and, consequently, somewhat harder to control. You can insert the Mouse configuration information at any point in your User Configuration file. Capitalization does not matter, but you should spell out phrases completely. A NOTE ABOUT THE NUMBER OF CONTEXTS Should you create a great many contexts, you may at some point receive this screen message: This version of the OS cannot support any more contexts. For more information, see "Allowing for More Contexts," below. USING THE CM CONFIGURATION FILE EDITOR The CM Configuration File Editor is not part of CM. It is a separate program that allows you to supply information about how each system is to be set up. This information includes details about the applications that you want a particular CM to be able to run. All this information is placed in a CM Configuration file. When CM is installed, it refers to this file for specific details on how it is expected to function. The CM Configuration file is not the same as the User Configuration file. The User Configuration file is more general in scope. (See "User Configuration," under "Advanced Concepts," in the Executive II Manual.) ENTERING FROM THE EXECUTIVE To start the CM Configuration File Editor from the Executive, use the command CM Config File Editor, or a unique abbreviation, such as c c f e. CM Config File Editor `Configuration file name{ _______________________________ It is preferable to enter the name of the Configuration file at this point (if you do not want the default), although you can provide it within the CM Configuration File Editor (hereafter called the CM Editor). The default file name is `Sys{[Sys~CmConfig.sys. If you press Go without entering a file name in the above command, the next display shows you the default file name and gives you the opportunity to accept or change it. The default file name appears in a highlig> "Editing the User Configuration File," above.) EXPERIMENTING WITH THE CM EDITOR As with CM itself, it is not difficult to learn your way around the CM Editor by experimentation. The software is well-protected, and a message tells you if you try something that is not allowed. After you use the CM Config File Editor command, fill in the Configuration file name, and press Go, the CM Editor screen appears. All the necessary editing is done in this single screen and its pop-up menus. Its main areas are labeled in Figure 51. In general, Return, Next, or the Up and Down Arrow keys move the highlight from field to field within a given area. The Left and Right Arrow keys move the edit cursor within a field. The usual editing commands (Delete, Code-Delete, Overtype, and so on) work within a field. (See the Forms Manual for details.) The CM Editor has a main function key menu. Its commands are listed in Table 51, below. A step-by-step example of an editing session is given under "Examples," below, and details about each area and field of the CM Editor screen appear under "Screen Areas and Functions." _ 1165-017 (TP) _ Figure 51. CM Editor Screen Table 51 CM EDITOR FUNCTION KEY MENU ____________________________________________________________ Function Key Name Purpose ____________________________________________________________ Undo (F2) Replaces the value in the current field with the immediately previous value. Show (F3) Replaces the CM Editor function key menu display with a display of the current values on the CM screen function key menu. Create (F5) Records the command name entered in the Command Name field as a new command. Remove (F6) Removes the name in the Command Name field from the command list. Rename (F7) Allows renaming of the command entered in the Command Name field. ICMS (F9) Overlays part of the main editing area with an editing area for specifying the name of the ICMS Run file and the number and size of messages. More (F10) Overlays the command editing area with an editing area for entry of program-specific information to be read from the CM Configuration file. ____________________________________________________________ SCREEN AREAS AND FUNCTIONS This section describes in detail the functions of each screen area. It is not a sequential tutorial. To see what a step-by-step session with the CM Editor is like, refer to "Examples," at the end of this section. Message Line The first line below the status line of the CM Editor screen is the message line. During most of your work, it tells you what you can or should do next. When the CM Editor screen first appears, the message line says Enter command name and press Return or the Create function key. Input/Error Line The next line of the CM Editor screen is the input/error line. It has the main function of telling you when and why you cannot do something that you have tried. Meanwhile, the message line tells you what to do next. The messages that appear in these two lines are self-explanatory. Command Editing Area You can add an application (such as Document Designer or Extended Multiplan) or an Executive command (such as Floppy Copy or Files) to the list that CM recognizes. You can also create an Executive Submit command (SubCmd), give it a command name, and identify it to CM as a regular command. (Instructions are given below under "Defining an Executive Submit Command in CM.") No matter which category your choice belongs in, it is called a command in the CM Editor screen, because that is its function. Once it appears in the list on the CM screen, however, it is called an application. The large rectangular box surrounded by a double rule is the command editing area. (See Figure 51 above.) You can use it to name and describe a command or application that you want to add to the list of applications that the user can start. You also use this area to edit or remove commands that already are listed. In the CM Editor, you do not have to edit fields in a certain order, and you do not have to compl> estimation of memory requirements for user-written applications.) If you want a variable sized partition to be created, type [nnn (where nnn represents the number of bytes, multiplied by 1024) or [0; if you want a fixed sized partition, type 0 (or leave the space blank), or nnn. Create a variable sized partition as follows: o When you specify a less-than sign before the size ([nnn), this indicates that the partition is to have a maximum size. For example, specifying [150 means that the maximum size of the partition is not to exceed 150K bytes. When you specify an amount in this way, the operating system creates a partition of a more precise size because the sizing information is taken from the Run file. (A Run file with sizing information specifies the miete all fields in one session. If you press Cancel when the highlight bar is on any of the command editing area fields, the current entry in the Command Name field and all the edits in the command area fields are discarded, and the highlight bar returns to the Command Name field. Command Name Field. In this field, enter the name of the command or application you want to add, edit, or remove. (Note that if you are editing a command rather than defining a new one, you can enter only as much of the command name as is needed to make it unique.) Type the name of a new command exactly as you want it to appear in the list of "Applications you can start" on the CM screen (for example, Word Processor). A name 32 characters long can be displayed on the command list in this screen. A 28-character name can be displayed on the list of "Applications you can start" and "Contexts you can return to." (Although the lists show only the first 32 and 28 characters, respectively, you can define a name of up to 50 characters on both screens.) If you wish to prevent an application from ever running in the background, you can mark it explicitly as "dirty" by adding an asterisk at the end of the name of the command: Command Name ScreenWriter*  A dirty application is an application that writes directly to the screen. (See Chapter 6, "Notes for the Programmer," for a discussion of clean and dirty programs.) You can press either Return or Create (F5) at this point. If you are adding a new command, press Create (F5). If you are editing information for an existing command, press Return. If the name you have entered is not identical to one on the list, the command is created. If you are renaming a command without changing any other information about it, or if you are removing a command from the list, you can press Rename (F7) or Remove (F6) without pressing Return first. You can use Rename (F7) to add an asterisk to an existing command name, thus telling CM that this is a dirty program. If you press Return or Create (F5) after filling in the Command Name field, the highlight bar that was on this field moves to the next field, the Run File Name field. If you enter a new command name in the Command Name field and press Go, the new name is listed immediately in the command list area. Run File Name. In this field, you can enter or edit the name of the Run file for the application or command you entered in the Command Name field. You do not have to have this Run file present on your system to do this configuration. For a discussion of Run file names for applications that require parameters or assume an Executive screen, see "Applications You Can Start from CM," below. In the command editing area, Return, Next, or the Up or Down Arrow keys cycle the highlight bar within this area only. Memory Required. In this field, you enter the amount of memory required for this application. The amount you enter controls the size of the partition within which this application will run. The partition can be a fixed size or a variable size. A variable sized partition can shrink and grow (up to the maximum specified) based on information about its memory needs. (The Context Manager II Release Notice lists memory requirements for standard applications. See Chapter 6, "Notes for the Programmer," for an ? nimum and maximum amount of memory required by your program.) Thus, if you chain from one program to another, and the program you chain to requires less than the maximum amount of memory that you entered, the partition size changes (to the size indicated in the Run file) to accommodate this other program. When that program chains, the partition is resized again, and so on. o When you specify a less-than sign before a zero ([0), a partition of a more precise size is created in the same way that entering [nnn does. When you enter [0, though, the size of the partition is not limited by the amount that you have specified. A partition is created that does not exceed the maximum amount in the Run file or in available memory. (Available memory is the amount of memory left after the operating system, CM, and all system services have been loaded.) You create a fixed sized partition as follows: o When you specify 0 or leave a blank space, a partition is created that is equal to the size of available memory when the Run file is loaded. For example, if available memory is 800K bytes, and you load an Executive that has a maximum size of 180K bytes indicated in the Run file, a partition is created of 800K. o When you specify an amount without a less-than sign (nnn), a partition is created that is equal to the size you entered. Thus, if you enter 150, a fixed sized partition is created of 150K bytes. This size does not change: If you chain to another program, the size of the partition still remains at 150K bytes. CAUTION If you do not want your programs to use all available memory, use the less-than sign ([0 or [nnn) to specify that a partition be created of a maximum size. ____________________________________________________________ For more information on partition sizes, see "Determining the Size of a Partition" in Chapter 6. NOTE It is to your advantage to create variable sized partitions by specifying [nnn or [0. They allow you to run more programs in memory at the same time. ____________________________________________________________ To examine the sizes of Run files, you can refer to the Release Notice for each product or the Context Manager II Release Notice, or you can use the Partition Status utility. To use Partition Status for this purpose, you must have the appropriate applications running on the system: Run Partition Status in 30K bytes, and then your test application in a very large amount of memory. Create the command Partition Status in the command editing area of the CM Editor. The command Executive should already be present in `Sys{[Sys~CmConfig.sys. Configure the Executive to run in a very large partition. Start the Executive, and then give a command to run the application you want from that Executive. Then switch contexts to Partition Status to examine the size of the Run file in the large partition. The information you get from Partition Status can also help you decide on more accurate application sizes. In most cases, an application Run file requires an amount of memory slightly larger than itself because of partition overhead. Some applications, however, "tune" themselves to fit into available memory space and do not require this allowance. Among these are Document Designer, Editor II, Bootstrap, and Linker. For details about Partition Status, see the Executive II Manual. Use the Update function key in Partition Status to see the latest information it can provide. Abbreviation. This abbreviated name for the command appears on the function key menu in the CM screen when you start this application. The default value is the first six characters of the Command Name field entry. Edit this field if you want to. `Function Key (1...10){. You can choose to preassign a function key to this application so that the user does not have to do so at each session. (For a description of how these labeled function keys are used, see Chapter 3, "Basic Concepts.") You can see which function keys are already preassigned by looking at the Key column at the left of the command list area. Enter the number ? ds Exec screen?{. Some applications assume that the Executive's screen is present and begin their video output without clearing the screen and setting it up themselves. For such applications, respond yes in this field to cause such a screen to be set up for the application before it starts. Function Key Menu For a general discussion of the use of the function keys in CM, see Chapter 3, "Basic Concepts." Table 51, above, briefly describes the effect of each function key in the CM Editor. At any given time while you are working in the CM Editor, only those labels that are appropriate at that time are shown on the menu. Most of the commands in this menu have been discussed in earlier subsections. Some require further information. Undo (F2). This command rof any available function key. You can press Show (F3) to display the preassigned function keys on your own function key menu. In this way, you can check the arrangement of function keys to see if it is convenient for the user. Press Cancel to dismiss the function key menu displayed by Show (F3). You do not have to make any entry in this field. NOTE Do not assign all 10 function keys to applications. At least one should be left blank so that the user can start applications that do not have preassigned function keys. ____________________________________________________________ `Command Case{. Some applications (notably the Document Designer) carry out different processes depending on what command was used to invoke them. (For the Document Designer, these commands are Document Designer and Resume Document Designer.) The command case is a two-character parameter that is passed to the application to tell it which command has been given, and thus what process should be performed. (See the section on parameter management in the CTOS II Concepts Manual for a further discussion of command case. See also "Adding a New Command," in the Executive II Manual.) If the application you are describing can be invoked by more than one command, you must enter a value for the command case parameter in this field. For the correct parameter value, see the release notice for that application. Some applications, when started, require parameters. These applications must be started from the Executive. For such an application, the Run file should be given as `Sys{[Sys~Exec.run and should require the entry CM in the Command Case field. (For details, see "Applications You Can Start from CM," below.) The default value of Command Case is 00. `Volume{. You can specify the path to be used when an application is started. This field allows you to specify the volume for that path. If no entry is made in this and the next four fields, the new application will be written to the same volume in which CM is running. `Directory{. Specify in this field the directory to be used in the default path for the application. `Prefix{. Specify the prefix, if any, to be used in the default path for the application. `Password{. Give the password, if any is needed, to be used as a default by the application. `Node{. Specify the node, if any, to be used in the default path for the application. `Autostart ordering{. The Autostart feature allows you to specify applications that should be started as soon as CM is loaded. You assign the number 1 in this field for the first application to be started by CM, 2 for the second, and so on, up to 9. Leaving this field blank or specifying 0 indicates that this application should not be autostarted. The last application started becomes the current context and gains control of the screen and keyboard. Thus, if you gave the Executive an Autostart ordering value of 1, the Document Designer a value of 2, and Electronic Mail a value of 3, the user would sign on and see the messages Installing Context Manager . . . done Autostarting . . . and would then see the first screen of Electronic Mail. Under Autostart, the CM screen is not displayed after the user signs on. If you assign duplicate numbers in this field, CM starts those applications in alphabetical order. `Nee@ eplaces the value in the current field (the field indicated by the highlight bar) with the immediately previous value in that field. In numeric fields, if the immediately previous value was blank, Undo (F2) replaces the current value with 0. Show (F3). This command displays the current values on the CM screen function key menu so that, while making new assignments, you can see what keys are already assigned. Remove (F6). This command allows deletion of a command name from the Command Name list. The highlight bar can be on any field of the command editing area (including the Command Name field) when you press this key. A screen message asks you to confirm deletion of the command. Press Go to confirm deletion, or Cancel to retain the command on the list. Rename (F7). This command allows you to change the name of a command. Enter the old name of the command in the Command Name field. You can press Rename (F7) immediately, without pressing Return. Edit the field to show the new name of this command. When you press Go, the highlight bar moves to the Run File Name field. You are not, however, required to edit the Run file name. Press Go to record this change of name, or Cancel to discard it. ICMS (F9). If you plan to run applications that pass messages to each other, these applications require the presence of the Intercontext Message Server (ICMS). Some integrated applications, such as Document Designer, make use of CM in this way. If you need ICMS on this system, press the ICMS (F9) function key. The ICMS editing area will pop up on the upper part of the command editing area. In this area, fill in the name of the ICMS Run file, the number of messages, and the size of each message. Typically, the Run file is `Sys{[Sys~ICMS.run. To save space and to ensure identical versions throughout a cluster, a Run file may be placed on the master. In this case, the Run file name is `}Sys{[Sys~ICMS.run. The number and message size fields default to 1 and 200 bytes, respectively. If you specify a Run file name for ICMS here, ICMS is installed when the user installs CM. Alternatively, if ICMS is to be used all the time, you may want to have ICMS installed during system initialization by including the following line in the JCL file: $Run `Sys{[Sys~ICMS.run For details, see the Engineering Update for the CTOS II System Administrator's Guide. More (F10). This command is available after you have entered a command name in the Command name field and pressed Return or Create (F5). It causes an editing area entitled "More Information" to pop up over the command editing area. This area allows you to enter any information that your program needs to read when it is running. (For details, see "Placing Information in the CM Configuration File," in Chapter 6.) Command List Area The boxed list of commands with their assigned function key numbers, shown in Table 51, is the command list area. This list shows the currently allowed commands, that is, those recognized by CM under this Configuration file. (On the CM screen, these commands are called "Applications you can start.") This screen area is not an editing area, but reflects what has been recorded from other editing areas in this session and in previous ones. CM can recognize 17 commands that you define through the CM Editor. CM can manage a maximum of 10 contexts, or started applications, at once. You are not restricted to defining 10 commands. Note that if you have entered the CM Editor while running under CM in order to edit your own Configuration file, the changes you make do not appear on the "Applications you can start" list in the CM screen until you log out and then reinstall CM, at which time CM reads the CM Configuration file again. Exiting the CM Editor When you have completed your editing session, press Finish to exit the CM Editor. A screen message asks you to confirm that you want to finish. The input/error line tells you if any inconsistencies have been found. You have the opportunity to remain in the CM Editor and correct them. If you want to overwrite th@ rompted to confirm recording the entries you have made in this file. To see the effect of your new entry, finish the Executive (and other active contexts you want to save), logout (by pressing Finish and then Go), and sign on to reinstall CM. Note that you can also add a command using the CM Add Application command in the Executive, as described below in "Changing a Configuration with Executive Commands." Editing a Command When you were entering new commands in this Configuration file, perhaps you added Extended Multiplan and assigned it to function key F6. The user now asks you to change the function key abbreviation from Extend to X MP. Enter the CM Editor, and press Go to accept the default. In the Command Name field, type the command name Extended Multe Configuration file with your edits, press Go. Note that it is only at this point that any of your edits become part of the Configuration file, even though some of your changes have already appeared in the command list area in the screen. If you decide not to save your changes, press Cancel. EXAMPLES A Complete New Entry 1. In the Executive, type in the command CM Config File Editor (or a unique abbreviation, such as ccfe) and press Go. The default file name `Sys{[Sys~CMconfig.sys is displayed. 2. Press Go to access the default file. (If you want, you can assign a different file name: Type in the new file name and press Go. For example, a file name for a specific user might be `Sys{[Sys~UserCMConfig.sys, where User identifies a unique name associated with the individual user.) The CM Editor screen appears with the highlight bar on the Command Name field. You want this user to be able to start the Document Designer. 3. Type in the name Document Designer and press Create (F5). 4. Type in the name of the Document Designer Run file (for example, `Sys{[Sys~DocumentDesigner.run) and press Return. 5. Type 375 (the amount of memory required for the Document Designer) and press Return. The highlight bar moves to the Abbreviation field, and the default entry Docume has been clipped from your entry in the Command Name field. 6. Suppose you feel that D D would be a better abbreviation. Hold down Code and press Delete to remove the current entry, type D D, and press Return. The highlight bar moves to the Function Key field. You decide to assign function key F1 to Document Designer. (If F1 has already been assigned, choose a function key number that is available.) 7. Type 1 in the Function Key field, and press Return. 8. Do not make an entry in the Command Case field if 00 is already specified. The Document Designer is an application that does require a Command Case field entry. The command case for the Document Designer function is 00 (and 01 is for resume Document Designer). 9. Press Return. 10. Leave the Volume field and the next four fields (Directory, Prefix, Password, and Node) blank. You want Document Designer for this user to be pathed into the directory where documents are kept. You would specify the volume, directory, prefix, password, and node for this path if they differ from CM's path. (If, for example, your documents are kept in the directory named docs on volume D1, you would have to indicate that in the Volume and Directory fields.) 11. Assign 1 as the value in the Autostart ordering field. You want Document Designer to be started automatically when this user signs on. If you do not assign larger numbers to other applications in this field, Document Designer will be the first application displayed after the user signs on. 12. Do not make an entry in the Needs Exec screen field. The default n indicates that Document Designer does not require an Executive screen. 13. Press Go to record your entries for this command. (If you press Return instead, the highlight bar goes back to the Run File Name field.) The name Document Designer and the function key name 1 appear in the command list area, and your entries for this particular command are complete. 14. Press Finish when you have completed all your work on this Configuration file. 15. Press Go when pA iplan and press Go. When the highlight bar enters the command editing area, use Return, Next, or the Down Arrow key to move it to the Abbreviation field. Press Code-Delete to remove Extend, and type in X MP. Press Go. If you have no other changes to make, press Finish, and confirm overwriting this user's file by pressing Go. Removing a Command Perhaps when you first defined this Configuration file, you added the Copy command to the list of available commands because you thought Copy would be used often. This turns out not to be true, and the user wants it removed. As before, enter the CM Editor, and press Go. In the Command Name field, type the name of the command you want to remove, Copy. You can now press Remove (F6), and then press Go in response to a message that asks you to confirm the deletion. The name is removed from the list. If you have no other changes, press Finish and Go to overwrite the file. You can also use the CM Remove Application command from the Executive to remove a command, as described below in "Changing a Configuration with Executive Commands." Renaming a Command On this command list, you originally typed Asynchronous Terminal Emulator as a command name. You would like the name to read ATE. After entering the CM Editor, type in the Command Name field the old name, Asynchronous Terminal Emulator (or only as much of that name as you need to distinguish it from other commands). You can now press Rename (F7), delete the old name, and type in the new name: ATE. When you now press Go, the highlight bar moves to the Run File Name field, but you do not have to edit this field, even though you are given the opportunity to do so. (In this case, the Run file does not change.) Press Go again to record your change. The new name replaces the old one on the list. A Common Error: Inconsistent Entries Where an error cannot be compensated for by an entry in another field, the current field does not allow you to exit. For example, if you specify function key 20 in the Function Key field, you are not allowed to exit that field, because no other entry can make 20 correct. CHANGING A CONFIGURATION WITH EXECUTIVE COMMANDS Two Executive commands allow you to change the contents of the CM Configuration file without using the CM Editor. They are CM Add Application and CM Remove Application. CM ADD APPLICATION This command allows you to add an application to a specified Configuration file. It is analogous to the New Command command for creation of Executive commands and is useful when you are installing new software. The command form is as follows: CM Add Application `CM Config File{ ___________________________________ Application ___________________________________ Run file ___________________________________ Memory required ___________________________________ `Abbreviation{ ___________________________________ `Function key{ ___________________________________ `Command case{ ___________________________________ `Volume{ ___________________________________ `Directory{ ___________________________________ `Prefix{ ___________________________________ `Password{ ___________________________________ `Node{ ___________________________________ `AutoStart ordering{ ___________________________________ `Needs Exec screen?{ ___________________________________ `Overwrite OK?{ ___________________________________ `More information{ ___________________________________ The fields in this form are analogous to the similarly named fields in the CM Editor. The `Overwrite OK?{ field allows you to overwrite old information about a command with new information about the same command. But if you overwrite an existing application without explicitly supplying path and/or Autostart information, the old path and/or Autostart information is kept. CM REMOVE APPLICATION This command allows you to remove an application from a specified Configuration file. It is analogous to the Remove Command command in the Executive. The command form is as follows: CM Remove Application Application _______________________________________ `CM CA  command through CM. CREATE A NEW COMMAND Use the New Command command in the Executive. Choose a command name that you want to use to invoke this sequence of actions in CM. For the IVolume example, you might use IVFloppy. In the Run File field of New Command, you must specify `Sys{[Sys~Subcmd.run. This name is the only acceptable one. CREATE A SUBMIT FILE For details on creating a Submit file, see the Executive II Manual. The name of the Submit file must be of the form `Sys{[Sys~CommandName.sub In this example, it must be `Sys{[Sys~IVFloppy.sub If there are spaces in the command name you created, delete those spaces in forming the Submit file name. If you create your Submit file using the Executive Record and Stop Record commands, you must then invoke onfig File{ _______________________________________ APPLICATIONS YOU CAN START FROM CM Applications that can start directly from CM must be able to be invoked without parameters. Examples of such applications include BASIC, the Executive, Mail, and Extended Multiplan. When you are using the CM Editor to define these commands, you can specify their associated Run files in the Run File Name field. Applications that do not follow this rule still can be invoked indirectly from CM. They are invoked through the Executive. As an example, you want to invoke the Selective Backup command from CM. Selective Backup has parameters that must be specified (the file list to be backed up) and optional parameters that are passed to it through the Executive. To add Selective Backup to the list of applications you can start, use the CM Editor as follows: 1. In the Command Name field, type Selective Backup. 2. In the Run File Name field, type `Sys{[Sys~Exec.run (instead of `Sys{[Sys~SelectiveBackup.run). 3. Enter the appropriate memory size, abbreviation, and optional preassigned function key. 4. In the Command Case field, enter CM. Note that, if you wanted to define the Executive itself as a command rather than Selective Backup, you would have left the Command Case field blank. Under this arrangement, when you choose Selective Backup from the list of applications you can start in CM, the Executive is actually invoked. Part of the Executive's purpose is to supply a convenient way to pass parameters to an application. When the Executive begins execution, it checks to see what case value was used when it was invoked. The case value CM indicates that it was invoked from CM. The name of the command you specified (Selective Backup) is passed to the Executive, which then brings up the appropriate form. You fill out the form and press Go to start Selective Backup. When it is complete, it returns to CM. Some applications do not recognize command case values, but assume that they have been called from the Executive and derive the equivalent information from the number of lines in the command form. These applications also should be invoked through the Executive and defined with CM as the command case value. If you define one of these applications directly, the following message appears when you try to start it in CM: This application must be invoked through the Exec; edit the Config File. Use the CM Editor to specify `sys{[sys~Exec.run as the Run file and CM as the command case for such an application. DEFINING AN EXECUTIVE SUBMIT COMMAND IN CM An Executive Submit command is a streamlined form of the Submit facility that allows you to define a series of Executive commands to be carried out in sequence when you give one command. You can create an Executive Submit command and give it a command name for use under CM. Suppose you want to create a Submit command to initialize floppy disks using IVolume, because you do this operation often. Perform the following steps: 1. Create a new command to be the Submit command. 2. Create a Submit file containing the Executive command IVolume and its details. 3. Test your Submit command. 4. Enter the Submit command as a command in the CM Editor. 5. Deinstall and reinstall CM to cause the new CM Configuration file to take effect. 6. Test your SubmitB the Editor and delete from this file the words stop record and the trailing bullet that represents the Go keystroke at the end of the file. TEST YOUR SUBMIT COMMAND In the Executive, give the new command (IVFloppy) to verify that it works. DEFINE THE COMMAND IN THE CM EDITOR Enter the CM Editor. In the Command Name field, enter your new Submit command name (IVFloppy). In the Run File field, you must enter `Sys{[Sys~Exec.run In the `Command case{ field, you must enter CM. FINISH UP Press Finish and then Go to deinstall CM, and sign on, reinstalling CM. Doing so makes the needed changes effective in the CM Configuration file. Your SubCmd should appear on the list of "Applications you can start." Test it in the same way that you would give any other command under CM. INVOKING THE SUBMIT FILE FROM CM You can run any Submit file directly from CM. For example, you may have a Submit file called Cleanup.sub. (Be sure it is in `Sys{[Sys~.) To invoke this file from CM, use the CM Config File Editor to add the application, Cleanup, with the Run file set to `Sys{[Sys~SubCmd.run. TEXT OF THE CONFIGURATION FILE You can use the Type command in the Executive to look at the CM Configuration file itself. The example of a file in Figure 52 contains one command (the Executive). A series of entries like that shown here for the Executive should exist for each command you have described using the CM Editor. This file has been created by the Configuration File Editor for use by CM. The file consists of fields that are recognized by FieldName, followed by a parameter. Modification of this file should be done carefully. ____________________________________________________________ :ICMSFile: :NumberOfMessages: :SizeOfMessage:200 :CommandName:Executive :RunFileName:`sys{[sys~Exec.run :CommandAbbreviation: Exec :MemorySize:200 :CommandCase:00 :FunctionKey:1 For :Autostart:0 each :Invoker:n command :Volume: :Directory: :Prefix: :Password: :Node: ____________________________________________________________ Figure 52. Example of a Configuration File It is also important to note the following: 1. FieldNames must begin in column 1; blanks are significant after the colon. 2. MemorySize is specified in K bytes. 3. Command descriptions are assumed to be in sorted order. ALLOWING FOR MORE CONTEXTS Each version of the operating system is built to support some maximum number of programs running at one time. Each program runs in a separate partition of memory. Thus, the total number of partitions (nPartitions) needed for any system is the sum of the following: 1 for the operating system partition + 1 for the Context Manager partition + 1 for the Debugger (if used) + x number of contexts desired + y number of system services ________________________________________ = nPartitions As each application is started, CM creates a partition and then loads the application into that partition. If you try to start an application that results in the creation of one more partition than the system was built to handle, the following message is displayed: This version of the OS cannot support any more contexts. The number of partitions is specified in the Prefix file for your particular operating system. The naming of the Prefix file is based on the operating system version. See the CTOS II Release Notice, "Building an Operating System," to determine the prefix file for your workstation. The Prefix file should contain a line similar to the following example: %Set(nPartitions, 12) EXAMPLE You want seven contexts and have three system services installed. You want to use the Debugger. The number of partitions to specify is 1 (OS partition) + 1 (Context Manager) + 1 (Debugger) + 7 (contexts) + 3 (system services) __________________________ = 13 Once the appropriate Prefix file has been modified, follow the directions in the CTOS II Release Notice for assembling the SysGen files and linking the new version of the operating system.2 Setting up Context Manager II 5-# 5-# Context Manager IIB  @ H00Z@ H 800Z@ 800Z@ x00Z $%67OPPO@ @00Z X&*,@ 000Z@ H 00Z"#+—"+@ <00Z @ x00Z@ <00Z,! X&*, -:Pg‡H۞,:s @ x00Z@ <00Z@ H 0$@ H 40$ #=PQw#<Pw@ H 0@@ H 0@@ 800Z@ x00Z X&*,2 7FS¾z“ї!Λugν!^@ 0 0 40@ 0 0 P0 @ 800Z@ d00Z@ 80~=>?'ڙکTZ>D=g@ d00Z@@ 800Z@ 80 X&*,@ 0P, SW} X&*,@ ` 800Z@ 800Z @ h d00Z $ҝҰ ғ$^#ݲ `ݓC $Q$% @ x00Z @ @00Z@ \00Z@ H 000Z\]\ @ x00Z@ P00Z@ H 800Z@ <00Z cvxy$Wvբx%v@ 0 80,@ x00Z  @ <00Z X&*,0   \^¨۪/1MSbc *PR einy 6 7 _c *$~7 b6  X&*, @ x00Z X&*,@ <00Z@ P00ZA_`͆A`j_Y@ 0, @ 0@ x0 X&*, @ P@ x< Z[_ac۲ö۸ú6=>@ۏÖۗÙ+/13YZ5*Y @ h H0Z@ h <0Z@@ 0, @ 0@@=>?Z0=>Y0==@ x00Z@ <00Z@ x00Z X&*, @ 0x,   @RmЂY_<CžФ‹О‚ @Q+m3    X&*, @ x00Z@ <00Z@ x00Z@ H 40C @ x00Z@ <00Z@ P00Z@ H <0@ H 404¡إ§ةy؀؃—ؙ²ظryz|œآbd‡؍آ£إ±W j º tOxQգ[Քk  @ H 40 X&*, X&*,@ <00Z@ x00Z X&*,& ʾʉʓʛ!' &(*=CX^`bʭկsՃhu@ P00Z,! @ H 80,!@ <00Z X&*, ЈЧíЯóмþЀÄ~ۉsDH~@ H <0$@ P00Z X&*, @ <00Z@ x00Z †ڇ¡ڣ†ڍ)Jׅ) @ 0 0 <0@ 0 0 x0@ P00Z@ H <0$ X&*, =ҞҠ;<x XamÀҋ=ݟ;x'ݖݙ@@ 0 0 <0@ 0 0 x0 X&*,@ <00Z @ 0x,  ©ح¯رhnء£إˆՉ @ 0 0 <0@ 0 0 x0@ <00Z@ x00Z X&*, =>N)*2 "vÉ(FHDMҟݫTj >nXCT =ڞ  X&*,@ <00Z@ x00Z X&*, @ 0x, 4H&9IHD  W\]` ·V ;  X&*,@ 800Z@ x00Z@ p00Z@ D00ZKQ~ЀqwyЁ‚Ж &<J6Bx́ۖJ@ H 80*@ H P0*@ <00Z@ x00Z  āԃļİ(!¯ X&*,@ H 80*@ H <0*@ H \0*+ &17‚Ҡ¬Ҳ¼ҿ U[³Ҷ)/‡ҊŒҍ¥ҧ#)`b >D©=ϳ ޙ0*x4FE @ H P0* X&*,@ H 80*@ H P0* {|24ms¿SY¦Ҩqw҃Hoުϙ'޵HޛHO @ <00Z@ P0*0 X"&*,@ H P0*@ H 80*0]˜КZbclwy¸о  %37@Brx¯б³ OS"&;ACEWY3­ @CЮPSik35‚ШH J ® а »  h z  Д – Щ   ž (E۲ۭۧDۂۺ ە ۞  H  X&*,@ x00Z X&*,@ <00Z@ x00Z"%HUx‚ҥ¶ ?Or|ҟ¬+3Vlҏ¥4¬3߫7 @ x00Z,! X&*,@ d00Z,! @ 0 <0},!ouv};<^:J^nZи;^Zv@ 800Z @ t00Z @ 0 80i,!@ 800Z,!D @ x00Z  X&*,"@ H <0*@ H 80*$´ :V͞@ H 40@ P00Z@ ` <00Z @ ` 40@ <00Z $4ZmzԗoIJ5@ P00Z X&*,@ H 40*@ H 40*)9»57AQ‡Й ;A·͏z i ͷP  @ x00Z X&*,@ P00Z@ H 40@ <00Z#)ls’Ҙ¯ҵ?EZow҂#?J]qš2τϡ1Yn" X&*,@ <00Z@ ` x00Z@ H <0* EXŠѤk{€ы7Pxр›ѿEX…ч‰܊A6OܚξEX  X&*, @ P00Z@ H 40 @ <00Z@ x00Z  !#.O®й  Qeg߅–К(† ۞.Of۬ۅ@ x< X&*,!@ x00Z @ <00Z@ x00Z u¡1 HuQ@ <00Z@ P@ <@ x P@ x <ıNuޱ°E   ‘ْ ӑ@@ ,@ P00Z@ ` <00Z @ <0 X&*,#@ , h((()P @xx  Courier 72 Cubic PS 96              G JӱY*$10.1.2 E%\&'x*,6:{CHO T]%`jpsuQz7RUޣA YvNR 0nj{j5oW+ة;T*^"ݫX[њ昅'M{n-Hl!c BN0~IztcK~}x_q<3Hi% AHkzd/8̏ u7Pjh >:% \ ӡ&)g z9b$뻗m(sCaO쌣6p7R%iS"*|s+Fe>8*xXD[b Ho?2=2 CVk{i:)VԮ+j]^?7BQefy_ ۧGJfydh;R',3vUVwZwTGfJbvOΆ /@GjDVh M7frAL$С)zikUWȑܔS覉E`q6\;.GcO’l#g\К b4 >=\8 15 1dY`Ns@BMHk5WIpT3^XTs8Fe*)D[΃ Ho\2 #CVl:)Է+]?BeQrf:$ Jyd_h^R8,vUwZh 0ߧbGdۆJt@GGdj˄,M܈MrALMкz>i8kk}SuJEu`JsCQ;.툨O_Nl#͚ 4s @>@=A8F_1Jr>:%YĩPN{jq7l5 W%T<-^uXMؓ8'#ʯn*{n0-躏@!DTcDX0`ItuKK~x}Zx_/q<3b%͙ͮj/Zi uAPGdҔ똞Y\ӻ&Wg 9L$}q8m(ϭeaޣZ6pB7L}q7p3 "DT|sEF[e*BDN[Τ 8Hoy2_ LC|Vm"c:)+](?BQf JydhuRIn,)vUwZYɾˡ(bya膋@G!j@@BMMr#ALvO#zim#km!HjfS E:`#簊tFa;.eOl3#ʚ 4 >=&81_K{jpE *)D[΃ Ho\2 #CVl:)Է+]?BeQrf:$ Jyd_h^R8,vUwZh 0ߧbGdۆJt@GGdj˄,M܈MrALMкz>i8kk}SuJEu`JsCQ;.툨O_Nl#͚ 4s @>@=A8F_1Jr>:%YĩPN{jq7l5 W%T<-^uXMؓ8'#ʯn*{n0-躏@!DTcDX0`ItuKK~x}Zx_/q<3b%͙ͮj/Zi uAPGdҔ똞Y\ӻ&Wg 9L$}q8m(ϭeaޣZ6pB7L}q7p3 "DT|sEF[e*BDN[Τ 8Hoy2_ LC|Vm"c:)+](?BQf JydhuRIn,)vUwZYɾˡ(bya膋@G!j@@BMMr#ALvO#zim#km!HjfS E:`#簊tFa;.eOl3#ʚ 4 >=&81_K{jpYUĪUNbze5W2T^ݲX~wVѱy]Ӆ#'xX{[n-諏[!cյ0ItK~}xu_Kxq\<3$%Ǘ+/GcuP_],N\&dg 9$m(zba??6>7p7a~x[ɽ𸳟"|sFe{g*DO[ν Ho2h -CVf:)Mԁ+ޭ]e?BQ|m$f Jqy6dQh*Rҡ,v~UxYwZyba漂ĥ@1Gj AGfMr,ALW$ziktF^=3S'E`4;m."VOvPl#~y_ߚ^ 4= 2>=8p11ƴ净E[YN΍%RsAGf5 W7gT^XwT§Fb攅蠊'ʉt{Hnj-d!F^c>:0&ںIt?K=~2}x_Iqq<73e%T꧙Gf/du#PvP锔늞+L\|m&%Źg$ 9$ǻrm=(3a裌6p7^׉3*ո,"^|1sFe*$*لD[ ZHo2 VCVgu:M)Ԋ+ގ]?BQVfuK wSJy+d>:&hRp,3vUwZɀ˓n*b2볚@GjM0rAL=5z i/k'SE` BN;Z.ϨONl=#3ܚO 4 >[=81è Y?6XkuM/hu(Pʗɔ뷞-\e&~yga 9$Юmb(ϜaP쑣6@ApE7[ȉ贊<"/|sFeo-*eD[f Ho2 C{Vh 0:)ԓ+o]/?B!Q?>f6 PJy d+ۭKhzdR,LvUwZ5 @CS3bTF`@Gpj1ӛ!MHirNALNVzzidk(Ց+SAFEa`}t;G.dO뒘l#ٚ@ C4O >=8b뢗1 6YYąۜNQȗҁh5 =W1Ty^`XiIp4r<'/{"n-^֏2!cs@D0XڜItQK~}x_bq< 3.% 1؎8/r=5 u-Pp2x[~v\NӇ&CRg 9x$Ym(9!a:&6p7Xb콟"|sFWe*nD*[ H4o2 CHViIo:/)Ԝ+P]?}BrQ;(f )Jydk|ph3R,vU$wZ8ߐb%@=8Hh1 7wV|nY) N1cîi5VWgT!^AFXbšׅ7'l{nM-菏 !EYc0ڍItKD~U}xY_q:O%l8#÷Ӛ" 4a >~=w8T91 $Ƹ囀 9YvNR 0nj{j5oW+ة;T*^"ݫX[њ昅'M{n-Hl!c BN0~IztcK~}x_q<3Hi% AHkzd/8̏ u7Pjh >:% \ ӡ&)g z9b$뻗m(sCaO쌣6p7R%iS"*|s+Fe>8*xXD[b Ho?2=2 CVk{i:)VԮ+j]^?7BQefy_ ۧGJfydh;R',3vUVwZwTGfJbvOΆ /@GjDVh M7frAL$С)zikUWȑܔS覉E`q6\;.GcO’l#g\К b4 >=\8 15 1dY`Ns@BMHk5WIpT3^XTs8FeF YUĪUNbze5W2T^ݲX~wVѱy]Ӆ#'xX{[n-諏[!cյ0ItK~}xu_Kxq\<3$%Ǘ+/GcuP_],N\&dg 9$m(zba??6>7p7a~x[ɽ𸳟"|sFe{g*DO[ν Ho2h -CVf:)Mԁ+ޭ]e?BQ|m$f Jqy6dQh*Rҡ,v~UxYwZyba漂ĥ@1Gj AGfMr,ALW$ziktF^=3S'E`4;m."VOvPl#~y_ߚ^ 4= 2>=8p11ƴ净E[YN΍%RsAGf5 W7gT^XwT§Fb攅蠊'ʉt{Hnj-d!F^c>:0&ںIt?K=~2}x_Iqq<73e%T꧙Gf/du#PvP锔늞+L\|m&%Źg$ 9$ǻrm=(3a裌6p7^׉3*ո,"^|1sFe*$*لD[ ZHo2 VCVgu:M)Ԋ+ގ]?BQVfuK wSJy+d>:&hRp,3vUwZɀ˓n*b2볚@GjM0rAL=5z i/k'SE` BN;Z.ϨONl=#3ܚO 4 >[=81è Y?6XkuM/hu(Pʗɔ뷞-\e&~yga 9$Юmb(ϜaP쑣6@ApE7[ȉ贊<"/|sFeo-*eD[f Ho2 C{Vh 0:)ԓ+o]/?B!Q?>f6 PJy d+ۭKhzdR,LvUwZ5 @CS3bTF`@Gpj1ӛ!MHirNALNVzzidk(Ց+SAFEa`}t;G.dO뒘l#ٚ@ C4O >=8b뢗1 6YYąۜNQȗҁh5 =W1Ty^`XiIp4r<'/{"n-^֏2!cs@D0XڜItQK~}x_bq< 3.% 1؎8/r=5 u-Pp2x[~v\NӇ&CRg 9x$Ym(9!a:&6p7Xb콟"|sFWe*nD*[ H4o2 CHViIo:/)Ԝ+P]?}BrQ;(f )Jydk|ph3R,vU$wZ8ߐb%@=8Hh1 7wV|nY) N1cîi5VWgT!^AFXbšׅ7'l{nM-菏 !EYc0ڍItKD~U}xY_q:O%l8#÷Ӛ" 4a >~=w8T91 $Ƹ囀 9YvNR 0nj{j5oW+ة;T*^"ݫX[њ昅'M{n-Hl!c BN0~IztcK~}x_q<3Hi% AHkzd/8̏ u7Pjh >:% \ ӡ&)g z9b$뻗m(sCaO쌣6p7R%iS"*|s+Fe>8*xXD[b Ho?2=2 CVk{i:)VԮ+j]^?7BQefy_ ۧGJfydh;R',3vUVwZwTGfJbvOΆ /@GjDVh M7frAL$С)zikUWȑܔS覉E`q6\;.GcO’l#g\К b4 >=\8 15 1dY`Ns@BMHk5WIpT3^XTs8Fe*)D[΃ Ho\2 #CVl:)Է+]?BeQrf:$ Jyd_h^R8,vUwZh 0ߧbGdۆJt@GGdj˄,M܈MrALMкz>i8kk}SuJEu`JsCQ;.툨O_Nl#͚ 4s @>@=A8F_1Jr>:%YĩPN{jq7l5 W%T<-^uXMؓ8'#ʯn*{n0-躏@!DTcDX0`ItuKK~x}Zx_/q<3b%͙ͮj/Zi uAPGdҔ똞Y\ӻ&Wg 9L$}q8m(ϭeaޣZ6pB7L}q7p3 "DT|sEF[e*BDN[Τ 8Hoy2_ LC|Vm"c:)+](?BQf JydhuRIn,)vUwZYɾˡ(bya膋@G!j@@BMMr#ALvO#zim#km!HjfS E:`#簊tFa;.eOl3#ʚ 4 >=&81_K{jpF *)D[΃ Ho\2 #CVl:)Է+]?BeQrf:$ Jyd_h^R8,vUwZh 0ߧbGdۆJt@GGdj˄,M܈MrALMкz>i8kk}SuJEu`JsCQ;.툨O_Nl#͚ 4s @>@=A8F_1Jr>:%YĩPN{jq7l5 W%T<-^uXMؓ8'#ʯn*{n0-躏@!DTcDX0`ItuKK~x}Zx_/q<3b%͙ͮj/Zi uAPGdҔ똞Y\ӻ&Wg 9L$}q8m(ϭeaޣZ6pB7L}q7p3 "DT|sEF[e*BDN[Τ 8Hoy2_ LC|Vm"c:)+](?BQf JydhuRIn,)vUwZYɾˡ(bya膋@G!j@@BMMr#ALvO#zim#km!HjfS E:`#簊tFa;.eOl3#ʚ 4 >=&81_K{jpYUĪUNbze5W2T^ݲX~wVѱy]Ӆ#'xX{[n-諏[!cյ0ItK~}xu_Kxq\<3$%Ǘ+/GcuP_],N\&dg 9$m(zba??6>7p7a~x[ɽ𸳟"|sFe{g*DO[ν Ho2h -CVf:)Mԁ+ޭ]e?BQ|m$f Jqy6dQh*Rҡ,v~UxYwZyba漂ĥ@1Gj AGfMr,ALW$ziktF^=3S'E`4;m."VOvPl#~y_ߚ^ 4= 2>=8p11ƴ净E[YN΍%RsAGf5 W7gT^XwT§Fb攅蠊'ʉt{Hnj-d!F^c>:0&ںIt?K=~2}x_Iqq<73e%T꧙Gf/du#PvP锔늞+L\|m&%Źg$ 9$ǻrm=(3a裌6p7^׉3*ո,"^|1sFe*$*لD[ ZHo2 VCVgu:M)Ԋ+ގ]?BQVfuK wSJy+d>:&hRp,3vUwZɀ˓n*b2볚@GjM0rAL=5z i/k'SE` BN;Z.ϨONl=#3ܚO 4 >[=81è Y?6XkuM/hu(Pʗɔ뷞-\e&~yga 9$Юmb(ϜaP쑣6@ApE7[ȉ贊<"/|sFeo-*eD[f Ho2 C{Vh 0:)ԓ+o]/?B!Q?>f6 PJy d+ۭKhzdR,LvUwZ5 @CS3bTF`@Gpj1ӛ!MHirNALNVzzidk(Ց+SAFEa`}t;G.dO뒘l#ٚ@ C4O >=8b뢗1 6YYąۜNQȗҁh5 =W1Ty^`XiIp4r<'/{"n-^֏2!cs@D0XڜItQK~}x_bq< 3.% 1؎8/r=5 u-Pp2x[~v\NӇ&CRg 9x$Ym(9!a:&6p7Xb콟"|sFWe*nD*[ H4o2 CHViIo:/)Ԝ+P]?}BrQ;(f )Jydk|ph3R,vU$wZ8ߐb%@=8Hh1 7wV|nY) N1cîi5VWgT!^AFXbšׅ7'l{nM-菏 !EYc0ڍItKD~U}xY_q:O%l8#÷Ӛ" 4a >~=w8T91 $Ƹ囀 9YvNR 0nj{j5oW+ة;T*^"ݫX[њ昅'M{n-Hl!c BN0~IztcK~}x_q<3Hi% AHkzd/8̏ u7Pjh >:% \ ӡ&)g z9b$뻗m(sCaO쌣6p7R%iS"*|s+Fe>8*xXD[b Ho?2=2 CVk{i:)VԮ+j]^?7BQefy_ ۧGJfydh;R',3vUVwZwTGfJbvOΆ /@GjDVh M7frAL$С)zikUWȑܔS覉E`q6\;.GcO’l#g\К b4 >=\8 15 1dY`Ns@BMHk5WIpT3^XTs8FeG ZZZZZZZZZZZZZZZZG ZZZZZZZZZZZZZZZZH ZZZZZZZZZZZZZZZZH ZZZZZZZZZZZZZZZZI ZZZZZZZZZZZZZZZZI ZZZZZZZZZZZZZZZZJ ZZZZZZZZZZZZZZZZJ ZZZZZZZZZZZZZZZZK ZZZZZZZZZZZZZZZZK ZZZZZZZZZZZZZZZZL ZZZZZZZZZZZZZZZZL ZZZZZZZZZZZZZZZZ