Manager 1.1 - a public screen manager for Release 2.04 by Chris Papademetrious, REM-CTP Software Changes since 1.01: -*- Turned the font name and size displays into string gadgets, making it possible to bypass the "Choose Font" button -*- Smashed the usual bugs I. What is Manager? Public screens are a new feature of Release 2.04. What are they? Public screens are nothing more than that - screens that are publicly accessable, and thus can be shared by different programs. For example, with public screens, you can put a desktop publishing program, a Shell window, and a menu utility on the same screen. Since public screens are unique to Release 2.04 (and higher), they require programs to specifically support public screens. There are some ways around this, as we shall see later, however. II. How do I run Manager? Manager is easy to run. Just double-click on its icon, or type "run Manager" in a Shell window (assuming Manager is in the current directory, or in your search path). Manager will bring up its window, ready for use. III. Manager's main window - what is it? "Open Screen" will bring up the screen definition window, which lets you define the type of screen you wish to open. Note that even when the screen definition window is open, the main window is still available for use; the "Open Screen" gadget is ghosted, however, so that you cannot select it once more by accident; only one screen definition window may be open at a time. "Close Screen" will close the screen that you have selected in the public screen list at the top of the window. If there is no selected screen, no action will be taken. If the screen cannot be closed for some reason, the display will flash indicating an error. A public screen can only be closed if there are no 'locks' on it, and no windows are opened on it (this includes Manager itself!) "Jump To Screen" will move Manager to the currently selected screen. If Manager can not jump to the new screen, it will try to reopen on the default screen. If this fails as well, it will exit with an error. "Make Default" will designate the currently selected screen as the new default screen. As a result, any program requesting the default public screen (such as Manager) will be pointed to this screen. The current default screen is shown at the bottom of Manager's window. The "Shanghai" checkbox, when checked, will cause windows requesting the Workbench screen to receive the default screen instead. Note that this does not work with every Workbench window, such as those of Workbench itself, but it should work with most programs that open their window on Workbench. The "PopPubScreen" checkbox stands for Pop Public Screen. When checked, it will cause a public screen to pop to the front of the display any time a window is opened on it. IV. Manager's screen definition window - what is it? This window is where you define a screen to be opened. You can give it a name, size, display mode, and much more. The options are listed below, along with a short description of what they control. "Screen Name" designates the name of the screen to be opened. It must be unique from other public screens already opened. If a duplicate name is entered, you will be informed, and given the opportunity to change it. "Width" and "Height" specify the width and height, in pixels, of the screen to be opened. To the right of the numeric gadgets there are cycle gadgets. These cycle gadgets control the size of the display that the screen can cover. In other words, the cycle gadgets control the degree of overscan that the screen may use, not the size of the screen itself. When the cycle gadgets are selected, however, suggested size values are placed into the numeric Width and Height gadgets automatically. "Colors" specifies the number of colors desired for the screen to be opened. More colors use up more memory, of course. "Font" specifies the font to be used for the screen and window titles. You may select another font by clicking on the "Choose Font" gadget directly beneath it. "Autoscroll" will allow you to scroll around on the screen by pushing the pointer against the edge of the screen. This only works when a window is active on a screen which does not fit entirely on the display. Try opening a large screen (say, 1000 by 1000) to see an example of this. "Open" tells Manager to attempt to open the screen with the selected characteristics. If the screen cannot be opened, you will be asked whether you want to cancel, or modify the settings to try again. The "Cancel" button will abort the current screen definition. On the right side of the window, a list of display modes resides. This list should contain the display modes that are currently installed in the system via the Monitor drawer on Workbench. If you want a display mode that is not listed, be sure to check if the monitor is being installed properly. See your Amiga Release 2.0 manual for more details. TECHNICAL NOTE [programmers only]: To implement the font selection, I store a pointer to the screen's TextAttr structure in the screen structure's UserData field. Any public screen clients must NOT alter this field, or the system will crash when the screen is closed! The font name in the TextAttr is allocated via AllocVec(), as is the TextAttr() itself. V. Wow! What should I do now? If you have any questions or comments regarding Manager, they can be GEmailed to me on GEnie, or sent via US Mail. If you find Manager useful, a $10 donation is greatly appreciated. GEnie: CHRIS.P [-=Chrispy=-] US Mail: Chris Papademetrious 306 Summit Drive Ephrata, PA 17522 Enjoy!