REVISION HISTORY OF CLIMAX -- DO NOT READ THIS FILE: First version thrown together 11/27/88. It has I option. It works, but it sucks. Like, "please insert" requesters appear back on the workbench screen, starting from workbench leaves it with no command path and a null current directory, and you have to RunBack it. Next day: made the new screen a WBENCHSCREEN. This makes NewCLI and request- ers etc. appear on the screen they were provoked from. I have no idea if this is kosher or not, so I'll just try it for a while and see if anything breaks. 1/16/89: Made it a custom screen again; made error requesters appear on new screen with pr_WindowPtr. Much less trouble with programs that use CloseWorkBench() to have only one wbenchscreen. Now I want a way to NewCLI onto this screen. (Hey, ConMan 1.3 solves this; use CON:S*/n/n/...) And some programs still put up requesters specifically on the workbench screen. Also, file system process requesters (read/write error, volume full, etc) appear there. Made it use different default colors for interlace (no choice). 2/13/89: Workaround for ConMan 1.3 (or was it 1.2) change, which I thought at the time was a bug, (no CloseWindow before CloseScreen) and support for Eurousers by checking IntuitionBase->MaxDisplayHeight. New code for using NewShell and letting the CLI clean up the screen itself somehow is partly written but #if'd out. ******* Woops, the workaround is not good with the old ConMan. 2/24/89: I found out how the CLI (aka Shell) program manages to set current dir etc. from workbench. It appends a phony struct CommandLineInterface onto its own struct Process! Then it just goes Execute("execute s:CLI-Startup", con, 0); (or Shell-Startup) same as I've been doing. It does not set pr_TaskNum. I was amazed to find how it sets the path; the Workbench has a struct CommandLineInterface too! (The path is in cli_CommandDir.) It tests whether the startup script exists before trying to execute it (I hadn't), and if not, goes Execute("", con, 0). New version incorporates the features mentioned above, which considerably increases the complexity of the program. Next day: Handled CloseWindow in a way compatible with either kind of ConMan; scan screen's window list first. (Bill Hawes says you're supposed to let ConMan close the window, and if anything the older ConMan was the one with the bug.) Insufficient testing for other windows/filehandles. 3/12/89: Added V option and usage summary. Wrote doc file not long ago. 3/16/89: Added G option. Changing spew() from a macro to a function saved 650 bytes! Preparing for imminent public release... 3/26/89: Still not released. Added OPTION=V/I/G tooltype. ~ 5/20/89: Released to Fred Fish (release one). !?Why did I take this long to get it out the door? 9/14/89: Finally got NewShell version to work. It creates a subtask which hangs around and waits for CLImax screens to lose their windows, and then closes the screens. It disappears when the last screen is gone. 10/7/89: Added BENCHED option (small version that needs FixCLI when BENCHED not #defined) - the NewShell version needs FixCLI anyway because NewShell sets the WindowPtr to zero (OOPS). This is why I added the WindowPtr feature to FixCLI. Added CD= tooltype. 3/3/90: Decided that I might as well CreateProc something that does Execute as CreateTask a waiting daemon. Consume a couple K more memory, but use less CPU. Decided never to try to replicate NewShell guts --the only reason that seemed necessary was because Execute() was inefficient due to not using the resident Run, and this is fixed by SetPatch in the AmigaDOS 1.3.2 upgrade. This version would go back to using the Execute program instead of NewShell. Stopped using INTUITIONPRIVATE, used GetPrefs like a good boy. Now use GfxBase->NormalDisplayRows instead of IntuitionBase->MaxDisplayHeight. Next day: Attempted to add option for compatibility with old ConMan. Failed (guru, save window being closed twice I guess). So no such option. 3/??/90: Added FROM option and FROM= tooltype to set startup script. 5/5/90: Made CD no longer default to SYS:, must be explicit. Fixed bugs in how data gets passed to child process. Next day, tossed out the small FixCLI-using version as no longer workable, and swatted more bugs. Added E option to make it use Topaz 11; no other font choices yet. 5/13/90: Made interlaced screen show whole title bar with ten line overscan. Released to local bbses same day (release two). 10/31/90: Made it use the width of the Workbench screen instead of always 640. Made it use the Workbench height if more than enough overscanned. Fixed bug with the E option. 11/13/90: Adapted for Aztec 5.0 (still compileable by 3.6). New compiler reduced size by five percent. 12/31/90: Oops! When run without ConMan it never closes the screen! Fixed. Made it open a little CON: on Workbench screen for reporting errors when no standard output. Plugged some memory leaks under error conditions, but I can't do anything about the way OpenScreen leaks when it fails. Sent to Fred Fish (release three).