home *** CD-ROM | disk | FTP | other *** search
/ back2roots/padua / padua.7z / padua / system / sm_1_13a.lzh / SM / SM.doc < prev    next >
Text File  |  1992-07-25  |  26KB  |  672 lines

  1.  
  2.  
  3.                    ScreenManager by Bernhard M÷llemann
  4.                           all rights reserved
  5.  
  6.              English .doc-file written by Frank 'Franky' Neumann
  7.  
  8.            An utility to deal with public screens under AmigaOS2.0
  9.  
  10.                               Version V1.13a
  11.  
  12. A note at the beginning: The program as well as this document require a
  13. certain knowledge of the Amiga's operating system, especially AmigaOS2.0.
  14. It might not be suitable for beginners. - the translator
  15.  
  16.  
  17. ScreenManager (SM) is a small CLI utility used to open, close or modify
  18. public screens and retrieve information about them. Screens can be opened
  19. with user-selectable colors and DrawInfo's (they determine which color is
  20. used for highlighting). The resolution is also selectable on a wide range.
  21.   On the other hand SM can also be used to make a certain screen the system's
  22. default screen, or to change the screen modes of other public screens.
  23. Finally, it is possible to view a list of all currently open screens in the
  24. system and to get informed about resolution and other properties of screens.
  25.  
  26. This document is split into the following six sections:
  27.   Disclaimer
  28.   CLI
  29.   Examples
  30.   Workbench
  31.   HotKeys
  32.   At the end
  33.  
  34. Everybody is obligated to read the disclaimer! Afterwards, the "Examples"
  35. section may be the most interesting part for those impatient
  36. wanna-see-something people. But you will have to read the entire document
  37. to fully understand the power of ScreenManager.
  38.  
  39.  
  40.                                  Disclaimer
  41.                                  ----------
  42.  
  43. The program ScreenManager is Copyright 1992 by Bernhard M÷llemann.
  44.  
  45. This program is freely distributable as long as the following conditions
  46. and terms are fulfilled:
  47.  
  48.  - All files of this package must be copied. This includes:
  49.    ScreenManager
  50.    ScreenManager.info
  51.    SM.doc
  52.    SM.anl
  53.    SM.ver
  54.    SM.doc.info
  55.    SM.anl.info
  56.    SM.ver.info
  57.  
  58.  - All above mentioned files must reside in one directory. There must not
  59.    be any other files in this directory.
  60.  
  61.  - All files must remain unmodified. You may archive them if they can
  62.    be de-archived with a freely distributable Amiga-version of one of the
  63.    following programs:
  64.      Zoo
  65.      Arc
  66.      LhArc
  67.      LhA
  68.      Zip
  69.      ARJ
  70.      uudecode
  71.      compress
  72.      tar
  73.  
  74.  - It is strictly forbidden to make any kind of profit by selling,
  75.    distributing or copying this package.
  76.  
  77.  - It may exclusively be put on one of the following PD disk series:
  78.      AmigaLibDisks of Fred Fish
  79.      AUGS (Amiga User Group Switzerland)
  80.      AmigaJUICE
  81.      SAUG (Saarbrueckener Amiga User Group)
  82.      Time
  83.  
  84.  - It may not be put on a CD-ROM disk without my written permission.
  85.    This includes CD-ROMs of AmigaLibDisks!
  86.  
  87. If you want to distribute the package in any way that violates any of
  88. the above conditions, you have to get a written permission from the author.
  89.  
  90. You might get this from:
  91.  
  92.     Bernhard M÷llemann
  93.     Luisenstra▀e 17
  94.  
  95.     D-7500 Karlsruhe 1
  96.     Germany
  97.  
  98. You use the program at your own risk. The author can not be made
  99. responsible for any damage which is caused by this program.
  100.  
  101.  
  102.  
  103.                                  CLI
  104.                                  ---
  105.  
  106. ScreenManager was written to control the Public Screen feature of the
  107. Amiga. It is not (YET!) possible to achieve this by using the mouse.
  108. However, this stuff might be implemented later if enough people are
  109. interested in such features. (The author does _NOT_ need it, being
  110. YASE (yet another shell enthusiast ;-) (The translator is, too ;-))
  111.  
  112. As Public Screens are only available in version 2.0 (and above) of AmigaOS,
  113. you need at least that version to run ScreenManager.
  114.  
  115. There are some different tasks which ScreenManager can perform:
  116.   open a screen (really great, eh?)
  117.   close a screen
  118.   print informations about a screen or resolution
  119.   print a list of all resolutions
  120.   change a screen
  121.   change global settings
  122.  
  123.  
  124. This is accomplished by a call to ScreenManager with one or more of the
  125. following options: (don't be scared by their size, it looks worse than it
  126. actually is !)
  127.   NAME:         sets name of a screen
  128.   OPEN:         opens a new screen
  129.   CLOSE:        closes a certain screen
  130.   INFO:         provides some information about a screen
  131.   LIST:         provides a listing of all screens
  132.   EXPERT/FORCE: provides extended information and disables some checks
  133.   TITLE:        supplies the screen's title used with OPEN
  134.   PLANES:       sets the number of bitplanes used with the OPEN command
  135.   MODE:         sets the resolution used with OPEN. Consists of some letters
  136.   DISPID:       sets the DisplayID of a to be opened screen, alike MODE
  137.   SIZE/POS:     sets the size of a screen used with OPEN and the position
  138.                 when moving a screen
  139.   DISPCLIP:     sets the size of the visible portion of a screen, used with
  140.                 OPEN
  141.   COLORS:       sets colors, used with OPEN. Consists of 3 digit hexadecimal
  142.                 numbers, separated by commas
  143.   PENS:         sets color numbers for DrawInfo
  144.   FONT:         sets the font that is to be used when opening a screen
  145.   FONTSIZE:     sets the size of the font mentioned above
  146.   SHANGHAI:     turns on Shanghai mode
  147.   NOSHANGHAI:   turns off Shanghai mode
  148.   POPPUB:       turns on Poppub mode
  149.   NOPOPPUB:     turns off Poppub mode
  150.   TOFRONT:      bring a screen to the front
  151.   TOBACK:       bring a screen to the back
  152.   CLOSEGAD:     provides a screen with a CLOSE gadget
  153.   AUTOCLOSE:    closes a screen when its last window is closed
  154.   CX_TOFRONT:   sets the HotKey that brings a screen to the front
  155.   CX_DEFAULT:   sets the HotKey that makes a screen the system's default
  156.                 screen
  157.   CX_PRIORITY:  sets the priority under which HotKeys are installed
  158.   DEFAULT:      makes a screen the system's default screen
  159.  
  160. Looks like quite a bunch of choices, and even mighty complicated, eh ?
  161. But don't surrender too early, basically there are just 6 main operations,
  162. everything else is just arguments for these operations.
  163.  
  164.  
  165.  
  166. 1.1) OPEN
  167.  
  168. Opens a new screen. If the screen already exists under the given name,
  169. an error message is printed out. These arguments can be given with OPEN:
  170.  
  171.   1.1.1)  NAME:  Name of the screen.
  172.     This is the name by which the screen is introduced to the system
  173.     as a public screen. It is also used as the screen's title if no
  174.     title is given. This argument is essential for OPEN.
  175.  
  176.   1.1.2)  TITLE:  The title of a new screen.
  177.     The text which appears in the titlebar of the screen (unless the
  178.     active window sets its own title).
  179.  
  180.   1.1.3)  PLANES:  Number of bitplanes.
  181.     With this value you set the maximum number of colors that can be
  182.     simultaneously displayed, in this way: # of colors = 2^# of planes.
  183.     For different graphic modes, there are different limitations on the
  184.     value of PLANES. If these limits are exceeded, you will get a
  185.     corresponding error message.
  186.     Default value is 2 (4 colors).
  187.  
  188.   1.1.4)  MODE:  Determines the graphics mode (and thus the resolution).
  189.     You just provide a ScreenMode name, like those found in the ScreenMode
  190.     preferences tool. However, upper/lower case does not matter.
  191.  
  192.     If you don't want to use these sometimes longish mode names, you can
  193.     also select the screen mode with a letter combination where each
  194.     letter represents a certain property. It depends on your graphics
  195.     hardware (ECS) and monitor (Multiscan,...) which modes are available
  196.     and how you may combine these.
  197.  
  198.     If a certain mode is not available, you will be told so in an error
  199.     message.
  200.  
  201.     These are the letters you can use:
  202.       H: HiRes        (Default value: LoRes)
  203.       L: Lace         (Default value: no interlace)
  204.       S: SuperHiRes
  205.       E: ExtraHalfBright
  206.       V: VGA
  207.       P: Productivity
  208.       A: A2024 at 10 Hz
  209.       F: A2024 at 15 Hz
  210.       X: HAM
  211.  
  212.     The desired mode is simply selected by concatenating the letters
  213.     defining it - like in  MODE=SL  for SuperHiRes-Lace.
  214.  
  215.     Unfortunately the default mode may not be copied from the Workbench
  216.     screen, as this might result in an unwanted opening of the Workbench
  217.     screen.
  218.  
  219.   1.1.5)  DISPID:  DisplayID of the screen that is to be opened.
  220.     Can be used as an alternative to MODE. However, only one of these two
  221.     options may be used at a time, not both.
  222.  
  223.     Legal values for DisplayID can be found in the C include file
  224.     graphics/displayinfo.h, always assuming the desired monitor is
  225.     available. (This list can also be found from the output of typing
  226.     'ScreenManager LIST DISPID'.)
  227.  
  228.     ScreenManager does not support the DualPlayfield-mode. So DisplayID's
  229.     with this property are rejected.
  230.  
  231.     The value of DISPID must be given as a hexadecimal value. It may be
  232.     preceeded by a '$' or the C style '0x'.
  233.  
  234.   1.1.6)  SIZE:  Determines the size of a screen in pixels.
  235.     The default is using text-overscan. The size is written in the format
  236.     LEFT,TOP,WIDTH,HEIGHT.
  237.  
  238.     As WIDTH and HEIGHT are probably used more often than LEFT and TOP,
  239.     they (WIDTH, HEIGHT) are used when only 2 values are given. To help
  240.     readability, they may also be written as WIDTHxHEIGHT instead of
  241.     WIDTH,HEIGHT.
  242.  
  243.     To cope with overscan sizes more comfortably, you may also directly
  244.     use the names of the Overscan areas that the system offers.
  245.  
  246.     Legal Overscan names are:
  247.       OSCAN_NORM  Hardware default. This is the 'official' resolution as
  248.                   stated by Commodore.
  249.       OSCAN_TXT   Text overscan. This is set in the Preferences program
  250.                   'Overscan'. Text must be readable in the edges of the
  251.                   monitor. You can also use OSCAN_TEXT here.
  252.       OSCAN_STD   Standard overscan, it is also set in the preferences.
  253.                   The picture just fills up the entire monitor area.
  254.                   OSCAN_STANDARD may also be used.
  255.       OSCAN_MAX   Maximum Overscan, as fixed by the hardware.
  256.  
  257.     Lazytypers may leave out the _ or the OSCAN.
  258.  
  259.     To select sizes different from these values, you may append a size
  260.     string to the Overscan, delimited by a colon ':'. In this case the
  261.     corresponding Overscan size is used and the appended size values are
  262.     _ADDED_ to the Overscan size.
  263.  
  264.     So, this is what a complete SIZE definition might look like:
  265.  
  266.       SIZE=OSCAN_STD:-10,-10,+20,+20
  267.  
  268.     This results in a screen whose size exceeds the size of a standard
  269.     overscan by 10 pixels in each direction.
  270.  
  271.   1.1.7)  DISPCLIP:  Size of the visible area of the screen.
  272.     The same rules for formatting as in SIZE apply here.
  273.  
  274.   1.1.8)  COLORS:  This sets the color palette as RGB values.
  275.     They are entered as 3 digit hexadecimal values, separated by commas.
  276.     A leading '$' or '0x' must NOT appear here.
  277.  
  278.   1.1.9)  PENS:  Sets the pens used for rendering 3D effects.
  279.     Every pen is responsible for certain effects (Programmers should look
  280.     into the DrawInfo.Pens section of intuition/screens.h).
  281.  
  282.     Every character is interpreted as a hexadecimal index into the color
  283.     table that was set with the COLORS command. From this results that only
  284.     the first 16 color registers are usable.
  285.  
  286.     If you REALLY, REALLY need to access the remaining color registers, too,
  287.     leave the author a message. You don't have to specify ALL pens, but you
  288.     have to specify all pens up to the last one you want to specify.
  289.     Ehh..got it ? :}
  290.  
  291.     These are the definitions:
  292.  
  293.     Pen  Name             is used for...
  294.      1   DETAILPEN        ordinary text (compatible with 1.3)
  295.      2   BLOCKPEN         ordinary fill operations (compatible with 1.3)
  296.      3   TEXTPEN          ordinary labels
  297.      4   SHINEPEN         shiny edges on 3D objects
  298.      5   SHADOWPEN        dark edges on 3D objects
  299.      6   FILLPEN          background of highlighted elements \ e.g. active
  300.      7   FILLTEXTPEN      text in highlighted elements       / window border
  301.      8   BACKGROUNDPEN    background - must be set to 0
  302.      9   HIGHLIGHTTEXTPEN emphasized text
  303.  
  304.  
  305.     All this stuff might sound very difficult, and the result isn't always
  306.     easily predictable. I recommend you look at some of the examples below,
  307.     and this way you might soon get an idea for all this mess.
  308.  
  309.   1.1.10)  FONT:  Sets the font that will become the screen's default font.
  310.     This may be a non-proportional font as well as a proportional font.
  311.     If the font cannot be found, the screen is still opened with the
  312.     system's default font (this is set with the 'Font' preferences
  313.     tool).
  314.  
  315.     The fontname extension '.font' is optional. Furthermore,
  316.     you may append the font pixel size to the name with .<size>, like in
  317.     diamond.12
  318.  
  319.   1.1.11)  FONTSIZE:  Size of the font mentioned above.
  320.     Almost any value is possible here, since the new diskfont.library
  321.     will automatically scale the font if the desired size could not be
  322.     found.
  323.  
  324.     This option may give quite funny results with dumb programs!
  325.  
  326.   1.1.12)  CLOSEGAD:  Attaches a close gadget to the screen.
  327.     This puts a Close gadget into the upper left corner of the screen.
  328.     This way you can simply close a screen with a mouse click just the
  329.     way you would close a window.
  330.  
  331.   1.1.13)  AUTOCLOSE:  Automatically closes a screen after usage.
  332.     If this option is given, the screen will automatically be closed as
  333.     soon as the last window on it was closed.
  334.  
  335.   1.1.14)  CX_TOFRONT:  HotKey used to bring a screen to the front.
  336.     This defines a HotKey (we're talking about a shortcut here, not
  337.     about boiled or baked keyboards) by which the screen is put to front.
  338.  
  339.     The definition of the key name conforms to the commodities.library
  340.     standard. How such a key name is put together is described further
  341.     below in this document.
  342.  
  343.   1.1.15)  CX_DEFAULT:  HotKey to make a screen the system's default screen.
  344.     This defines a HotKey by which the screen is made the system's default
  345.     screen. As well as with 1.1.14), the definitions of commodities.library
  346.     are used here, too. They are listed further below.
  347.  
  348.   1.1.16) CX_PRIORITY:  priority for above mentioned HotKeys.
  349.     If no value is given, a default value of 0 is used.
  350.  
  351.   1.1.17)  Other options.
  352.     Further options are
  353.  
  354.     SHANGHAI, NOSHANGHAI, POPPUB, NOPOPPUB, DEFAULT, TOFRONT and TOBACK.
  355.  
  356.     An explanation for these follows in a minute as they may also be used
  357.     without opening a screen.
  358.  
  359.   1.1.18)  FORCE: Switch off some security checks.
  360.     By activating this mode, you disable the internal checks if the hardware
  361.     of your machine can deal with the values for SIZE, DISPCLIP and PLANES
  362.     at all. If the computer displays some crap or even crashes, do NOT
  363.     send a bug report to C= or me - it was your fault !
  364.  
  365.  
  366.  
  367. 1.2)  CLOSE
  368.  
  369.   Closes a previously opened screen
  370.  
  371.   1.2.1)  NAME:  Name of the screen.
  372.     Upper/lowercase spelling of the name need not be exactly as in the
  373.     real name, but if there is more than one screen with a fitting name,
  374.     the first one that is found will be used. If the NAME matches exactly
  375.     with an existing name, that screen is certainly always used for
  376.     closing.
  377.  
  378.     If Angela Schmidt's 'pattern.library' is installed (to be found on
  379.     Fish disk 625), you may even use a pattern - especially such
  380.     patterns as 'wo*', which matches e.g. 'Workbench' !
  381.  
  382.     At the moment, there are two special names:
  383.       * selects the screen on which this process's console is situated
  384.       . selects the system's default screen
  385.  
  386.     These names are valid with all other commands, except of course for the
  387.     OPEN command.
  388.  
  389.   1.2.2)  FORCE:  Will also close 'alien' screens
  390.     By enabling this mode, you are able to close screens that have NOT
  391.     been opened by ScreenManager or the Workbench.
  392.  
  393.     However, the program that opened the screen will probably not be
  394.     informed about that. If some time later it tries to open a window
  395.     on that screen, a crash is imminent. It is also possible that resources
  396.     belonging to the screen (like fonts) are not freed.
  397.  
  398.  
  399. 1.3)  LIST
  400.  
  401.   Prints out a list of screens or resolutions.
  402.  
  403.   1.3.1)  <without parameters>: prints out a list of screens.
  404.     The screens' name, title, resolution and # of colors are printed.
  405.  
  406.     Behind these values you will see a <SM> if the screen was opened by
  407.     ScreenManager. You might also find a DEFAULT here if it's the system's
  408.     default screen, or PRIVATE if a screen is not public at the moment.
  409.  
  410.   1.3.2)  DISPID:  shows ALL possible resolutions
  411.     This shows all resolutions that are known to the system at the
  412.     moment.
  413.  
  414.     Also, the name and availability of each mode is given if they are
  415.     available.
  416.  
  417.   1.3.3)  MODE:  shows resolutions
  418.     Shows a list of those modes that are known to the system by name.
  419.  
  420.  
  421. 1.4)  INFO
  422.  
  423.   Provides information about a screen or a screen mode
  424.  
  425.   1.4.1)  <without parameters>: lists the currently valid public
  426.     screen modes.
  427.  
  428.   1.4.2)  NAME:  shows properties of a screen.
  429.     If a name is supplied, some infos about this screen, its resolution
  430.     and depth are listed. The special characters mentioned in the
  431.     CLOSE section are valid here, too.
  432.  
  433.   1.4.3)  DISPID/MODE:  provides information about screen modes.
  434.     If this option is supplied, the corresponding information is
  435.     given - what this means exactly is left to the reader as an exercise ;-)
  436.  
  437.   1.4.4)  EXPERT:  Provide some more info.
  438.     This option may be added to all parameters of INFO. In that case
  439.     the structures NameInfo, DisplayInfo, DimensionInfo and MonitorInfo
  440.     will additionally be displayed.
  441.  
  442.  
  443. 1.5) Modify previously opened screens
  444.  
  445.   The following options are used to modify the modes of an already opened
  446.   public screen. The screen's name has to be given. Once again, the same
  447.   special characters as in CLOSE are valid here, too.
  448.  
  449.   Certainly all these options may also be used for opening a new screen.
  450.  
  451.   1.5.1)  COLORS: supplementary modification of the color table.
  452.     This allows to change the colors of a screen after it has already
  453.     been opened. The values are given as 3 digit hexadecimal numbers,
  454.     separated by comma.
  455.  
  456.     WATCH OUT ! If the colors of the Workbench screen are modified, the
  457.     IPrefs demon does not notice that - just as Intuition does not, either.
  458.     This may result in strange effects when using Prefs/Palette.
  459.  
  460.   1.5.2)  POS:  repositions the screen.
  461.     This is used to change the position of a screen. The format string
  462.     is POS=x,y.
  463.  
  464.   1.5.3)  PLANES: changes the number of bitplanes of a screen.
  465.     This option permits to increase or reduce the number of
  466.     bitplanes a screen is using. This option is only valid if the
  467.     keyword FORCE is also given - otherwise only a warning is issued.
  468.  
  469.     Due to the fact that you do not know if the size of the corresponding
  470.     BitMap structure (which contains a pointer for every bitplane) is
  471.     sufficient for the requested number of planes, it MIGHT
  472.     happen that by increasing the number of planes unallocated memory is
  473.     overwritten, which may lead to a system crash. So be _VERY_ cautious
  474.     when using this option.
  475.  
  476.   1.5.4)  DEFAULT:  Makes a screen the system's default screen
  477.  
  478.   1.5.5)  TOFRONT:  Brings a screen to the front
  479.  
  480.   1.5.6)  TOBACK:  Brings a screen to the back
  481.  
  482.   1.5.7)  CX_TOFRONT:  changes the HotKey used to put a screen to the front.
  483.     By using the empty string (CX_TOFRONT="") this HotKey is disabled.
  484.  
  485.   1.5.8)  CX_DEFAULT:  changes the HotKey that is used to make a screen the
  486.     system's default screen. This HotKey may also be switched off by giving
  487.     an empty string "" as parameter.
  488.  
  489.  
  490. 1.6) Modification of global settings
  491.  
  492.   The following options affect global settings and may also be used without
  493.   dealing with a screen:
  494.  
  495.   1.6.1)  SHANGHAI: Turns on Shanghai mode.
  496.     This way, even those windows that would usually be opened on the
  497.     Workbench screen will open on the system's default screen.
  498.  
  499.     This helps to prevent old-style programs (those that don't know about
  500.     the concept of public screens) from plastering the Workbench screen
  501.     with their windows.
  502.  
  503.   1.6.2)  NOSHANGHAI:  Turns off Shanghai mode.
  504.  
  505.   1.6.3)  POPPUB:  Enables PopPub mode.
  506.     Now the screen comes to front as soon as a window is opened on it.
  507.  
  508.   1.6.4)  NOPOPPUB:  Turns off PopPub mode.
  509.  
  510.  
  511.  
  512.  
  513.                                Examples
  514.                                --------
  515.  
  516. Here are some examples to make all the above information a little clearer
  517. for you:
  518.  
  519. ScreenManager OPEN NobelScreen MODE=H PLANES=3 PENS=121657404
  520. COLORS=960,DDF,03C,FF1,DC0,730,F83,C30 DEFAULT SHANGHAI POPPUB CLOSEGAD
  521. CX_PRI=10 CX_TOFRONT="LCOMMAND s" CX_DEFAULT="LCOMMAND SHIFT s"
  522.  
  523. ScreenManager OPEN BlueScreen DISPID=$00029004 PLANES=3 PENS=171657404
  524. SIZE=OSCAN_TEXT:+100,+100 DISPCLIP=OSCAN_TEXT
  525. COLORS=13B,AAC,D30,FFF,CC2,015,7AF,13F FONT=courier.13 DEFAULT TOBACK
  526.  
  527. ScreenManager OPEN NessyScreen MODE=PAL:Hires PLANES=2 SIZE=640╫256
  528. PENS=021123103 COLORS=69A,FEE,002,F7C DEFAULT AUTOCLOSE CLOSEGAD POPUP
  529.  
  530. ScreenManager OPEN SimpleWB MODE=H DEFAULT SHANGHAI POPPUB
  531.  
  532. ScreenManager LIST
  533.  
  534. ScreenManager LIST DISPID
  535.  
  536. ScreenManager INFO DISPID=$00031004 EXPERT
  537.  
  538. ScreenManager CLOSE BlueScreen
  539.  
  540. These commands have to be entered in _one_ input line, some of them were
  541. just split up here to make this document good readable.
  542.  
  543. To be able to open a window on such a screen, you certainly first have to
  544. find a program that makes use of the feature of public screens. This is at
  545. least true for the preferences programs 'Time' and 'Font' and for the
  546. console handler "CON:" (and, unfortunately incorrect, for IconEdit :-( ).
  547.  
  548. However, a console window may also be opened on a screen that is NOT the
  549. default screen:
  550.  
  551.   CON:0/15/640/185/MyWindow/CLOSE/SCREEN#NobelScreen.
  552.  
  553. This is certainly also correct for the display handler of WShell.
  554.  
  555.  
  556.  
  557.                             Workbench
  558.                             ---------
  559.  
  560. To show some kind of mercy with those rare Workbench users ;-), ScreenManager
  561. is also able to accept ToolTypes as arguments.
  562.  
  563. These are treated almost exactly as command line parameters, but there
  564. are a few differences:
  565.  
  566.     NOSHANGHAI and NOPOPPUB
  567.  
  568.   do not exist any more. They have to be replaced by SHANGHAI=FALSE resp.
  569.   POPPUB=0.
  570.  
  571.   Also, there is one additional ToolType WINDOW. Its argument should be a
  572.   filename into which output messages e.g. from the LIST command go. A
  573.   valid file name would certainly also be the description of a window, like:
  574.  
  575.     CON:////ScreenManager-Output/CLOSE
  576.  
  577.   If WINDOW is not given, no window will be opened and all error-messages
  578.   will be sent to the user by requesters.
  579.  
  580. The ToolType arguments have to be entered WITHOUT enclosing parentheses
  581. because (contrary to command line parameters) it is directly visible where
  582. an argument ends.
  583.  
  584. If you click on a project icon which has ScreenManager as its default tool,
  585. the ToolTypes from ScreenManager will be taken as default values and may
  586. then be overridden by the ToolTypes from the project.
  587.  
  588. This way, you may create a project icon with a ToolType NAME=<ScreenName>
  589. for every screen that you make heavy use of (in my case this is a
  590. ShellScreen and the Workbench), and a ScreenManager icon with a DEFAULT
  591. tooltype.
  592.  
  593. If you now single-click on the project icon, and then double-click the
  594. ScreenManager's icon (while holding down the Shift key), the screen
  595. <ScreenName> will become the system's default screen.
  596.  
  597. So, depending on which pair of icons you double-click, either the ShellScreen
  598. or the Workbench screen will become the default screen. The same goes for
  599. POS, and voila - you've got a WBclick construction kit. :)
  600.  
  601.  
  602.                             HotKeys
  603.                             -------
  604.  
  605. For those who haven't got their 2.0 manuals handy, here are the special
  606. settings of commodities from V37 (does not claim to be complete 8-):
  607.  
  608. Events:
  609.   RawKey, RawMouse, Event, PointerPos,
  610.   Timer, NewPrefs, DiskRemoved, DiskInserted
  611.  
  612.   Most of these are not very useful, still they may show up as funny
  613.   experiments when e.g. a shell comes to the front as soon as you insert
  614.   a disk. Also, the Timer event is quite interesting due to the fact that
  615.   no other qualifier may be used alone. Still, I do not want to recommend
  616.   it. However, my opinion is that everyone should judge for himself
  617.   in how far he wants to configure his system to death - but he shouldn't
  618.   complain later then.
  619.  
  620. Qualifiers:
  621.   LShift, RShift, CapsLock, Control, LAlt, RAlt, LCommand, RCommand,
  622.   NumericPad, Repeat, RelativeMouse, Shift, Caps, Alt, UpStroke
  623.  
  624. Keys:
  625.   (MidButton, RButton, LeftButton)
  626.   Comma, Space, BackSpace, Tab, Enter, Return, Esc, Del
  627.   Up,áDown, Right, Left
  628.   F1, F2, F3, F4, F5, F6, F7, F8, F9, F10
  629.   Help
  630.   as well as all usual printable characters which then represent themselves.
  631.  
  632. A HotKey definition from these items looks like this:
  633.   [<Qualifier> <Qualifier> ... ] <Event>|<Key>
  634.  
  635. As in the CLI the <Space> character is also the separator between keywords,
  636. the expression has to be enclosed in double quotes like this:
  637.  
  638.   CX_TOFRONT="LCommand s"
  639.   CX_DEFAULT="LCommand Shift s" or CX_DEFAULT="LCommand S"
  640.  
  641. All names may be given in upper or lower case. Of course, the Shift key has
  642. to be pressed then for uppercase letters if the qualifier Shift is not
  643. given (as in the second example above).
  644.  
  645.  
  646.                             At the end
  647.                             ----------
  648. Thanks go to: Hmmm..the translator...who feels funny translating this :)
  649. More thanks to Angela Schmidt for bug reports and suggestions.
  650.  
  651. I also say thanks to:
  652.   Holger Gzella
  653.   Michael (Mick) Hohmann
  654.   Martin Horneffer
  655.   Georg (Gio) Magschok
  656.   and certainly to Ralph Babel for his Guru book.
  657.  
  658.  
  659. Any kind of bug reports, suggestions for improvement, congratulations,
  660. chocolate rum almonds, flames, GUIs etc. (NO letter bombs or pirate
  661. programs) should be sent to:
  662.  
  663.     zza@rz.uni-karlsruhe.de
  664.  
  665. or, by SnailMail:
  666.  
  667.     Bernhard Moellemann
  668.     Luisenstra▀e 17
  669.  
  670.     D-7500 Karlsruhe 1
  671.  
  672.