
PublicScreen.doc :  PublicScreen 1.02.10  (Release 1, rev 2 minor rev 10)
===============================================================================
Copyright ©1992 Edward D. Berger, freely redistributable.

What is a Public Screen?
===============================================================================
Public Screens are new Amiga Screens that can have program windows on them,
instead of the Workbench Screen, allowing you to avoid shuffling windows around
the Workbench Screen in order to get to your Icons. A good use of this would be
for opening a public screen and putting both an Amiga Shell Window and a Clock
Window, as a CLI work environment, leaving Workbench available for file/icon
manipulation.


***********************************************
* WARNING!! WARNING!!  DANGER WILL ROBINSON!! *
***********************************************
1.) Do NOT try to close a PublicScreen Screen any way other than by
selecting its menu item, or you will crash your Amiga!
    (Other public screen programs are not aware of our menu window.)

2.) PublicScreen may not find ALL programs that use its screen, and therefore
not shutdown properly, resulting in an ill/crashed Amiga.
    (OK, I found 1 old program that caused this behavior...)

REQUIREMENTS:
===============================================================================
Amiga OS 2.04 (v37 system libraries) is required to use PublicScreen.

USAGE INSTRUCTIONS:
===============================================================================
CLI Usage:       PublicScreen <ScreenName>   (defaults to PublicScreen.1 etc.)
Workbench Usage: Double Click on icon (what else?)

Installation: PublicScreen expects to find the following programs/files
                S:PublicScreen-Startup  (a startup script for the shell menu item)
                PublicScreen (in the current dir or C: [I have no paths])
                C:ED (the standard AmigaOS 2.04 Editor)
                SYS:Tools/memacs (the standard AmigaOS 2.04 memacs editor)
                SYS:Utilities/clock (the standard AmigaOS 2.04 clock)
                SYS:Tools/Calculator
                SYS:Tools/Colors (the standard AmigaOS 2.04 Screen colors program)

About the Tools Menu:
              These are currently hardcoded values, through use of some C string
              manipulation, I directly supply ED and SHELL with CON:specs that
              substitute the current screen, for the SCREEN keyword argument.
              CLOCK, CALCULATOR, and MEMACS are SHANGHAI'd by setting that mode
              silently, launching the program and waiting half a second, before
              returning default/shanghai back to their previous off status. The
              Colors program is simply called as it always opens-- front screen.
              In a user configurable version, I will probably have a settable
              DELAY value, for people with slow machines.

              In a future release I hope to make this tools menu(s) configurable,
              I just wanted to give something out now that was more usable than
              the previous releases of PublicScreen.

Description:  PublicScreen simply opens a Public Screen with the same attributes
              as your workbench screen, (Same Font, Same Screenmode, etc.)
              and stays open until you select the menu item to close the screen.
              (If it finds no other programs using the screen. See Warning above.)

              I have included a basic Tools Menu, so you can launch a shell,
              ed-editor, memacs-editor, clock, calculator, and/ Colors windows
              on your newly opened public screens.

              PublicScreen has menu items on the public screen for default mode.
              On a 512K CHIP amiga approx 12 non-interlaced public screens can
              be opened, or 6 interlaced ones.  These numbers increase with
              1M CHIP and 2M CHIP machines. Machines with ECS should be able to
              open public screens in Productivity or SuperHires modes, if that is
              how their workbench screen is configured.

              If your Workbench Screen is set to a virtual size > actual display
              size, such as going to the Prefs/ScreenMode program and setting
              Width and Height to double their normal value, (1200 Width, 800 Height)
              PublicScreen will open an identical type window.  You can thus
              place multiple shell windows in view and out of view.

Requirements: AmigaOS Release 2.04 (v37)

Known BUGS:  YES!

Revision History:
  REV 1.01: first usable version - alpha released 04/08/92
  REV 1.02: changed default behavior for CLI to match workbench - not released
  REV 1.03: reorganized some code, etc. - not released
  REV 1.04: basic Menu functionality Added -alpha released 04/09/92
  REV 1.05: fixed "leave shanghai/popup mode on" bug - not released
  REV 1.06: added autoname function code both CLI (no-args) and Workbench
  REV 2.00: RELEASED for general consumption   04/10/92
  REV 2.02: changed process name from "Background_Process" to "PublicScreen" 04/12/92
            (was quite rude, not giving our real name, could be suspected as virus...)
            added Command Template for CLI "PublicScreen ?"  04/12/92
            fixed another "leave shanghai/popup mode on" bug 04/12/92
  REV 2.03: added 'low CHIP ram' to Error requester and updated docs 04/12/92
  REV 2.04: added menu item for New PublicScreen (buggy implementation) 04/14/92
            added cli warning message for 1.3 lusers                    04/14/92 not released
  REV 2.05: looking into adding startup file design and calling modes   04/15/92 not released
            changing CLI template to SCREENAME,FROM/K:
            for SCREENAME=<name_of_screen> and FROM=<startup_file>
            rearranging some code, increasing number and clarity of comments
            since there will be a lot of changes coming.
  REV 2.06: added basic CLI based program launching, and Tools Menu     04/17/92 not released
            fixed bug with CON: opening with wrong font, used wrong screentag, Sorry!!
            replaced some SAS/C specific code with something more portable. 04/19/92 not released
  REV 2.07  Got SCREEN independent program launching working... Yeah! 04/21/92 RELEASED
  REV 2.08  Changed ED commandline to have a proper close gadget, oops!
            Changed CLOCK commandline to be over more to left (fit on no-overscan screens)
  REV 2.09  Added "Colors" to Tools Menu because it was suggested by a user
  REV 2.10  Fixed Bug in Un-default routine, Couldn't shutoff Default mode if was in
            default mode before launching "Shanghai'd" programs, oops! (5/8/92)
            Also program launching with "shanghai" mis-sets the popup and shanghai flags
            when returning (still needs to be fixed).
FUTURE:
  Rev 3 and Beyond:
   - Add a user configurable menu for launching programs so that once a public
     screen is popped up, it is immediately usable, without switching screens.
     SCREENMODE/Font selection support?

   - Add user configurable option to automatically start various programs when
     publicscreen is opened.

   - Rewrite program as a Client/Server to allow external controls from Shell
     Scripts, options for starting in default mode, options for non-cloneWB
     Screens (screenmodes/overscan/font/colors)

   - Add External (arexx?) Support to 1.)Close Screen
                                      2.)Bring Screen to Front
                                      3.)Push Screen to Back
                                      4.)Open other screens?

   - Get closer to the 'ideal application' in Amiga User Interface Style Guide.

  Anyone want to create a better Icon?
  Write Some utilities with JUMP gadgets?

NOTICE TO OTHER PROGRAMMERS:
--------------------------------------------------------
PLEASE make your programs Public Screen aware, and font sensitive.

-Ed Berger
 internet: eberger@psc.edu
           eb15@andrew.cmu.edu

