home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 5 / FreshFish_July-August1994.bin / bbs / dev / amiga_e-2.1b.lha / Amiga_E-2.1b / Docs / Utilities / PubScreenNames.doc < prev    next >
Encoding:
Text File  |  1993-10-05  |  5.5 KB  |  167 lines

  1.  
  2.  
  3.                             PubScreenNames
  4.                             ~~~~~~~~~~~~~~
  5.  
  6.                     A small utility  for the Shell
  7.                           By Diego Caravana
  8.  
  9.                          Actual Version: 1.1
  10.  
  11.                                  ---
  12.  
  13.  
  14.                             1. Legal Stuff
  15.                             ==============
  16.  
  17.  PubScreenNames is placed in the Public Domain for the Amiga.
  18.  No  fee  is  requested  to  use it, nor anyone can ask anything for it
  19.  (except for the media).  Feel free to use it, but AT YOUR OWN RISK, as
  20.  I  cannot  be  considered  responsible  for  any damage caused to your
  21.  system.  Have Fun!
  22.  
  23.  
  24.                             2. What is it?
  25.                             ==============
  26.  
  27.  PubScreenNames  is  a  small  utility  that  I have written mainly for
  28.  support  to  my  GetString,  but I think it can be very useful also in
  29.  other  places.   It  is  a  Shell-only  program and its work should be
  30.  clear:   it  prints the names of the actually opened Public Screens or
  31.  checks for the presence of a particular Public Screen, enabling you to
  32.  use it in your Shell scripts (or for what you want :) in a very simple
  33.  way.
  34.  
  35.  
  36.                             3. How to use
  37.                             =============
  38.  
  39.  It  requires  OS  2.04+.
  40.  As  said  above, PubScreenNames is a Shell-only program, so do not try
  41.  to use from Workbench.  It uses the standard parser of OS 2.x.  Try to
  42.  execute  PubScreenNames  with  a  `?'  as  argument  and  you will get
  43.  something like this:
  44.  
  45.     FULL/S,EXISTS/K
  46.  
  47.  Now, a little explanations of the arguments:
  48.  
  49.     FULL/S      specify this if you want more informations about the
  50.                 screens (see below), not only the name
  51.  
  52.     EXISTS/K    is  followed  by  a  string  that  is  the  name  of a
  53.                 particular Public Screen whose you want to know the
  54.                 presence. NOTE: the comparison of the strings is case
  55.                 sensitive!
  56.  
  57.  The  keyword  above  followed  by `/K' MUST appear in the command line
  58.  followed  by  its  argument.  That followed by `/S' act like a switch,
  59.  i.e.   if  it  appear,  the  corresponding  feature  will  be enabled.
  60.  Remember to use apices when necessary!
  61.  
  62.  If  you  execute  PubScreenNames  without  arguments,  it will print a
  63.  simple  list of Public Screen names.  If you specify the keyword FULL,
  64.  you will get something like this:
  65.  
  66.  >PubScreenNames FULL
  67.  
  68.  N. Name               Visitors Screen     Task       Flags
  69.  ----------------------------------------------------------------------
  70.  1  Workbench             1     $31DBE0    $0         <No Flags Set>
  71.  2  DM                    0     $3759C0    $0         <No Flags Set>
  72.  3  CygnusEdScreen1       0     $34BB20    $0         <No Flags Set>
  73.  
  74.  Found 3 Public Screen(s)
  75.  
  76.  >_
  77.  
  78.  The  first two fields are simple to understand; the third, `Visitors',
  79.  is  the  count  of "Visitor Windows" opened actually on that screen (a
  80.  visitor  window is simply a window opened by a program that is not the
  81.  owner  of  the Public screen); the fourth, `Screen', is the address of
  82.  an  Intuition Screen that corresponds to the Public Screen; the fifth,
  83.  `Task',  is  the address of a task that must be signalled by Intuition
  84.  when some events occours; the last field, `Flags', contains the status
  85.  of  some  flags (for now, only SHANGHAI and POPPUBSCREEN are defined).
  86.  [For  informations  about  Public  Screens, see Intuition Autodocs and
  87.  intuition/screens.[m|h|i] includes.]
  88.  
  89.  The  keyword  EXISTS  is  useful  only in in AmigaDOS scripts; a small
  90.  example is given below:
  91.  
  92.     ; stuff...
  93.  
  94.     PubScreenNames EXISTS DM    ; DiskMaster' Public Screen name
  95.     if WARN                     ; ok, it is opened!
  96.         <...>                   ; ...something...
  97.     else                        ; oh, you didn't run DiskMaster!
  98.         <...>                   ; ...something else...
  99.     endif
  100.  
  101.     ; even more stuff...
  102.  
  103.  
  104.                            4. The Language
  105.                            ===============
  106.  
  107.  I have used E language to write PubScreenNames.  What?  E ?!  Yea!  Go
  108.  and see the source!!!  :-)
  109.  But  Why?   Because  it  is  a  very  powerful  simple-to-use language
  110.  dedicated  explicitly  to  our Amiga, influenced by C and Modula-2, so
  111.  you  can  imagine  its  power.  It offers an incredibly vast number of
  112.  features, like high speed in compiling, extremely compact executables,
  113.  inline  assembly,  direct  access  to Amiga Shared Libraries, powerful
  114.  type system, exception handling, etc.
  115.  
  116.  Cool, eh?  Try it, if you do not believe to your eyes ! :-)
  117.  The author of E language is:
  118.  
  119.       Wouter van Oortmerssen ($#%!)
  120.       Levendaal 87
  121.       2311 JG  Leiden
  122.       HOLLAND
  123.   
  124.   If you have access to Email:
  125.  
  126.       Wouter@alf.let.uva.nl    (E-programming support)
  127.   or: Wouter@mars.let.uva.nl   (personal)
  128.   or: Oortmers@gene.fwi.uva.nl (other)
  129.  
  130.  
  131.                             5. The Author
  132.                             =============
  133.  
  134.  If  you  want  to  send  me  bug-reports  or a time-bomb *:), I can be
  135.  contacted in the following manners:
  136.  
  137.     by snail-mail
  138.  
  139.         Diego Caravana
  140.  
  141.         V. Liguria, 24
  142.         10071 Borgaro (TO)
  143.         Italy
  144.  
  145.     by Email
  146.  
  147.         `Diego Caravana'  on
  148.  
  149.         FIDO       2:334/308
  150.                    2:334/308.9
  151.         AMIGANET   39:101/3
  152.  
  153.         Internet   Diego.Caravana%bbs@osra.sublink.org
  154.  
  155.  To  find  me and the E language stuff, you can call the BBS on which I
  156.  am CoSysOp (located in Turin, Italy):
  157.  
  158.        *The New ATH*
  159.         ~~~~~~~~~~~
  160.         TEL       +39-11-5629284
  161.                   +39-11-5629290
  162.         FIDO      2:334/308
  163.         AMIGANET  39:101/3
  164.         Internet  <soon>
  165.  
  166.  
  167.