Metropoli BBS
VIEWER: yass.guide MODE: TEXT (LATIN1)
@database Yass
@master Yass.guide
@$VER: Yass.guide 1.1 (29.01.95)
@author "Albert Schweizer"
@(c) "© 1993-1995 Albert Schweizer"

@node "main" "Yet Another Screen Selector"

               @{b}@{fg shine}Yass - Yet Another Screen Selector@{ub}@{fg text}

             Copyright © 1993-1995 Albert Schweizer

                     Version 2.4 (05.12.94)

           @{" Description    " link "description" 0}  What is Yass ?
           @{" Copyright      " link "copyright" 0}  Please note!
           @{" Author         " link "author" 0}  About me :-)

           @{" Requirements   " link "requirements" 0}  What you need to run
           @{" Starting       " link "starting" 0}  How to run

           @{" ToolTypes      " link "tooltypes" 0}  Tooltypes and CLI-Options
           @{" Usage          " link "usage" 0}  How to use it

           @{" Warnings       " link "warnings" 0}  !! Attention !!

           @{" Locale Support " link "local" 0}  Yass speakes YOUR language
           @{" Testing        " link "testing" 0}  Yass runs on these machines...
           @{" Credits        " link "credits" 0}  Thanx to...
           @{" Todo           " link "todo" 0}  Some work is still left...
           @{" Bugs           " link "bugs" 0}  Bugs ?! No Bugs !
           @{" History        " link "history" 0}  Yass' evolution...

           @{" Index          " link "Index" 0}  Index

@endnode

@node "description" "Description"
@next "copyright"
@prev "main"
@toc "main"

   @{b}DESCRIPTION@{ub}

   Yass is a Screen & Window-Selector Commodity for Amigas with
   OS2.0 or higher. Here's a rundown of Yass' features:

   o Completely controllable via keyboard.
     (of course you can use your mouse, if you really want to).

   o Shows Screens and Windows (option).

   o Shows PublicScreenname or ScreenTitle (option).

   o Ability to change the default PublicScreen.

   o Opens window even on non-public screens (option).

   o Font-sensitive.

   o Resizeable window.

   o Saves settings (size, hotkeys, ...) in ToolTypes

   o Nice GUI with some OS3.x features

   o Locale-support (OS2.1 + OS3.x)

   o configurable hotkeys for screens and windows

   o configurable mousebutton-popup-feature
     (completely controllable via mouse)

   o Screen- and Window-shuffle via hotkeys

@endnode

@node "copyright" "Copyright"
@next "author"
@prev "description"
@toc "main"

   @{b}COPYRIGHT@{ub}

   Yass is freely distributable.
   Yass is free to be spread on public-domain and shareware disks
   especially on Fred Fish's AmigaLibDisks + CD-ROM, as long as they
   are sold for a reasonable charge that is less than US $6 or DM 8.-
   per disk. For use in commercial products the permission of the authors
   is required. Yass may be copied and distributed via electronic networks
   such as the Internet (especially AmiNET), also it may be held available
   on anonymous ftp-servers, mail-boxes or BBS's.
   The Copyright is still by the @{"Author" link "author" 0}.
   And, of course, you cannot hold me responsible for any kind
   of damage that Yass may cause.

@endnode

@node "author" "Author"
@next "requirements"
@prev "copyright"
@toc "main"

   @{b}AUTHOR@{ub}

   s-mail: Albert Schweizer
           Kelterstr. 9
           71032 Böblingen
           Germany
 
   e-mail: schweizr@rz.fht-esslingen.de

   www:    http://www.fht-esslingen.de/~schweizr

 
   @{i}PS. IF YOU LIKE THIS PROGRAM, SEND ME A @{"POSTCARD" link credits}  !!@{ui}


   -----BEGIN PGP PUBLIC KEY BLOCK-----
   Version: 2.3a

   mQBNAi0BETcAAAECANzWqHSj72uAu3gpk8AorRGRysFz2EK39U2aSDPDhIa7+7lO
   bzIFrIZyXh4Jv7Sm08gSB+KjAJYVSrzHCGn0be0ABRG0L0FsYmVydCBTY2h3ZWl6
   ZXIgPHNjaHdlaXpyQHJ6LmZodC1lc3NsaW5nZW4uZGU+
   =0Wvy
   -----END PGP PUBLIC KEY BLOCK-----

@endnode

@node "requirements" "Requirements"
@next "starting"
@prev "author"
@toc "main"

   @{b}REQUIREMENTS@{ub}

   o Any Amiga with OS2.0 (V37) or higher

   o Some screens and windows :-)

@endnode

@node "starting" "Starting"
@next "tooltypes"
@prev "requirements"
@toc "main"

   @{b}STARTING@{ub}

   Yass is a COMMODITY, therefore it @{i}only@{ui} runs under WB Release
   2.0 (V37.175) and newer. A Commodity is normally started in the
   "SYS:WBStartup" drawer. So it will be automatically started on the
   workbench startup (LoadWB, usually in "S:Startup-Sequence").
   So, just copy "Yass" and "Yass.info" to "SYS:WBStartup", or
   click and move the icon to the drawer.

   To get Yass started without rebooting now, double-click the icon.
   If the Tool Types weren't changed yet, a window shows up. Double-click
   once more, if the window doesn't show up.

   You can start Yass from the CLI or another Shell.
   (If started from CLI/shell, the 'Save Settings' feature is not available)
   For example you can start Yass in the S:User-Startup:
       Run >NIL: <NIL: Yass CX_POPUP=NO

@endnode

@node "tooltypes" "ToolTypes and CLI-Options"
@next "usage"
@prev "starting"
@toc "main"

   @{b}TOOLTYPES AND CLI-OPTIONS@{ub}

   Yass knows some ToolTypes which can either be located within the
   .info file or may be issued on the command line. The syntax should
   be of the form ToolType=Value.

   Here are the ToolTypes the program recognizes.

   @{b}DONOTWAIT@{ub}
             When started from WBStartup, let
             WB know that it doesn't have to wait
             for Yass.

   @{b}CX_PRIORITY=<-128 - 129>@{ub}
             Priority in "commodities.library"'s queue
             @{i}Default: 0@{ui}

   @{b}CX_POPUP=<YES | NO>@{ub}
             When Yass is started, the @{"Screenlist-Window" link "window" 0} may show
             up when set to 'YES' or any (!) other String than 'N*'.
             @{i}Default: YES@{ui}

   @{b}CX_POPKEY=<HotKey>@{ub}
             The @{"hotkey" link "hotkeys" 0} which opens @{"Yass' Window" link "window" 0}.
             You will get a DisplayBeep if the hotkey is not valid.
             @{i}Default: Shift Escape@{ui}

   @{b}CX_MOUSEKEY=<any combination of left,right,mid or off>@{ub}
             (actually you only need a combination of lowercase l,r or m)
             To disable this feature, use 'off' as keyword.(CX_MOUSEKEY=off)
             @{i}Default: left+right mousebutton@{ui}

   @{b}NEXTWIN=<HotKey>@{ub}
             @{"Hotkey" link "hotkeys" 0} for next window (windowshuffeling).
             To disable this feature, use 'off' as hotkey. (NEXTWIN=off)
             @{i}Default: LCommand Right@{ui}

   @{b}PREVWIN=<HotKey>@{ub}
             @{"Hotkey" link "hotkeys" 0} for previous window (windowshuffeling).
             To disable this feature, use 'off' as hotkey. (PREVWIN=off)
             @{i}Default: LCommand Left@{ui}

   @{b}NEXTSCR=<HotKey>@{ub}
             @{"Hotkey" link "hotkeys" 0} for next screen (screenshuffeling).
             To disable this feature, use 'off' as hotkey. (NEXTSCR=off)
             @{i}Default: LCommand Down@{ui}

   @{b}PREVSCR=<HotKey>@{ub}
             @{"Hotkey" link "hotkeys" 0} for previous screen (screenshuffeling).
             To disable this feature, use 'off' as hotkey. (PREVSCR=off)
            @{i} Default: LCommand Up@{ui}

   @{b}EXTPOPUP=<YES | NO>@{ub}
             Yass' @{"Screenlist-Window" link "window" 0} will popup on every screen
             (even on non-public screens !) when set to 'YES' or any 
             other string than 'N*'. See @{"WARNINGS" link "warnings" 0} for more information.
             Will be changed by 'Save Settings'
             @{i}Default: YES@{ui}

   @{b}SHOWWINDOWS=<YES | NO>@{ub}
             The Screenlist will also contain windows when set 
             to 'YES' or any other string than 'N*'.
             Will be changed by '@{"Save Settings" link "preferences" 0}'
             @{i}Default: NO@{ui}

   @{b}SCREENNAME=<Title | PubName>@{ub}
             Show Screen-Title or PublicScreen-name (if available)
             Will be changed by '@{"Save Settings" link "preferences" 0}'
             @{i}Default: PubName@{ui}

   @{b}WIDTH=<startup width>@{ub}
             Yass' @{"Screenlist-Window" link "window" 0} width at startup.
             Will be changed by '@{"Save Settings" link "preferences" 0}'
             @{i}Default: 260@{ui}

   @{b}HEIGHT=<startup height>@{ub}
             Yass' @{"Screenlist-Window" link "window" 0} height at startup.
             Will be changed by '@{"Save Settings" link "preferences" 0}'
             @{i}Default: 243@{ui}

   @{b}PREFEREDWINDOW=<Pattern>@{ub}
             <Pattern> is a @{i}case-sensitive@{ui} @{"AmigaDOS-Pattern" link pattern}.
             If you select a screen with a window on it, which
             title matches <Pattern>, it will be activated.
             @{i}Default: #?Shell#?@{ui}

   @{b}FORBIDDENWINDOW=<Pattern>@{ub}
             <Pattern> is a @{i}case-sensitive@{ui} @{"AmigaDOS-Pattern" link pattern}.
             If you select a screen with a window on it, which
             title matches <Pattern>, it will never be activated.
             @{i}Default: Clock@{ui}

   @{b}BACKPATTERN=<YES | NO>@{ub}
             @{"Yass' window" link "window" 0} will contain a background-pattern when
             set to 'YES' or any other string than 'N*'.
             The active-window-titlebar-color will be used to
             draw the background-pattern (use OS3.x-palette-prefs
             to change).
             Will be changed by '@{"Save Settings" link "preferences" 0}'
             @{i}Default: YES@{ui}

   @{b}RENDERTYPE=<+|- [ NONE | RIDGE | BUTTON | ICONDROPBOX ]>@{ub}
             Use '-' to draw BevelBoxes in recessed-mode.
             RIDGE | BUTTON | ICONDROPBOX selects rendertype for
             BevelBoxes ( OS3.x Only ).
             Use +NONE or -NONE to turn BevelBox-drawing off.
             OS2.x - BevelBoxes will always be drawn in BUTTON-look.
             (I prefer RIDGE or BUTTON, ICONDROPBOX looks ugly ;-)
             Will be changed by '@{"Save Settings" link "preferences" 0}'
             @{i}Default: +NONE@{ui}

   @{b}SMARTSELECTOR=<YES | NO>@{ub}
             Next screen will be the active Screenlist-item when
             set to 'YES' or any other string than 'N*'. If you don't
             like this behavior, use NO, and the actual screen will
             be the active Screenlist-item.                 
             Will be changed by '@{"Save Settings" link "preferences" 0}'
             @{i}Default: YES@{ui}

   @{b}HOTKEY<num>=P(<Pubname>) S(<Scrname>) W(<Winname>) H(<HotKey>)@{ub}
             <num> is the hotkeynumber. This should be 0,1,2,3, .. ,9,10, ..
             <publicscreenname>, <screenname>, <windowname> are @{i}case-sensitive@{ui}
             @{"AmigaDOS-Pattern" link pattern} for the desired (pub)screens and windows.
             <HotKey> is a valid CX-@{"hotkey" link "hotkeys" 0}-description.

             Examples: HOTKEY0=W(#?Shell#?) H(shift f1)
                       HOTKEY1=P(Workbench) H(shift f2)
                       HOTKEY2=P(CygnusEdScreen1) H(shift f3)
                       HOTKEY3=P(DOPUS#?) H(shift f4)
                       HOTKEY4=P(TERM) H(shift f5)
                       HOTKEY5=S(GadToolsBox#?) H(shift f6)

             See @{"Hotkey-Priority-Scheme" link "hotkey-prio" 0} for more informations...


@endnode

@node "hotkey-prio" "Hotkey-Priority-Scheme"
@next "pattern"
@prev "tooltypes"
@toc "main"

  @{b}HOTKEY-PRIORITY-SCHEME@{ub}

                 xx: Publicscreenname
                 yy: Screenname
                 zz: Windowname

                      ______________
                     /              \\ 
                    /   installed    \\ 
                    \\ Hotkey pressed / 
                     \\______________/ 
                            |
                          __|__
                         /     \\ 
                        / P(xx) \\__________\\_____
                        \\   ?   /      yes /     |
                         \\__ __/                 |
                            |               _____|_____
                            |              |  search   |
                            |no            | for xx in |
                            |              |  public-  |
                           \\./             |screenlist |
                            |              |___________|
                            |                    |
                            |                 ___|___
                            |                /       \\ 
                            |_________/_____/xx found \\_____________
                            |         \\ no  \\    ?    / yes         |
                            |                \\_______/              |
                            |                                       |
                            |                                       |
                          __|__                                     |
                         /     \\                                   \\./
                        / S(yy) \\__________\\_____                   |
                        \\   ?   /      yes /     |                  |
                         \\__ __/                 |                  |
                            |               _____|_____             |
                            |              |  search   |            |
                            |no            | for yy in |            |
                            |              |  title-   |            |
                           \\./             |screenlist |            |
                            |              |___________|            |
                            |                    |                  |
                            |                    |                  |
                            |                 ___|___               |
                            |                /       \\              |
                            |________/______/xx found \\             |
                            |        \\  no  \\    ?    /             |
                            |                \\_______/              |
                            |                    |                  |
                            |                   \\./                 |
                            |                    |                  |
                            |                    |yes               |
                       _____|_____          _____|_____        _____|_____
                      |    no     |        | use yy as |      | use xx as |
                      |  SCREEN   |        |  SCREEN   |      |  SCREEN   |
                      | specified |        |___________|      |___________|
                      |___________|              |                  |
                            |                    |                  |
                           \\./                   |______/___________|
                            |                    |      \\
                            |                    |
                          __|__                __|__
                         /     \\              /     \\ 
            _______/____/ W(zz) \\            / W(zz) \\____\\_________
           |       \\ no \\   ?   /            \\   ?   / no /         |
           |             \\__ __/              \\__ __/               |
           |                |                    |                  |
           |                |yes                 |yes               |
           |                |                    |                  |
           |                |                    |                  |
           |           _____|_____          _____|_____             |
           |          |  search   |        |  search   |            |
           |          |  window   |        |  window   |            |
           |          |    zz     |        |    zz     |            |
           |          |  on all   |        |  only on  |            |
           |          |  screens  |        |  SCREEN   |            |
           |          |___________|        |___________|            |
           |                |                    |                  |
           |             ___|___              ___|___               |
           |            /       \\            /       \\              |
           |______/____/zz found \\          /zz found \\____\\________|
           |      \\ no \\    ?    /          \\    ?    / no /        |
           |            \\_______/            \\_______/              |
           |                |                    |                  |
           |                |yes                 |yes               |
           |                |                    |                  |
      _____|_____      _____|_____          _____|_____      _______|_______
     |           |    | use zz as |        | use zz as |    |     use       |
     | forget it |    |  WINDOW   |        |  WINDOW   |    |PREFEREDWINDOW |
     |___________|    | and set   |        |___________|    |   patttern    |
           |          |  SCREEN   |              |          |_______________|
           |          |___________|              |                  |
           |                |                    |                  |
           |                |____________________|__________________|
           |                           |
           |                           |
           |                     ______|______
           |                    |  activate   |
           |                    | SCREEN and  |
           |                    |   WINDOW    |
           |                    |_____________|
           |                           |


@endnode

@node "pattern" "AmigaDos Patterns"
@next "hotkeys"
@prev "tooltypes"
@toc "main"

   @{b}AMIGADOS PATTERNS@{ub}

   AmigaDos patterns are used to include/exclude a list of named
   screens/windows for a particular feature.  These pattern specifications
   aid in compatibility with other programs you may use.

   Pattern matching is case-sensitive. "Amiga" is not the same as "AMIGA".
   The patterns are fairly extensive, and approximate some of the ability
   of Unix/grep "regular expression" patterns. Here are the available
   tokens:

    ?       Matches a single character.
    #       Matches the following expression 0 or more times.
    (ab|cd)	Matches any one of the items seperated by '|'.
    ~       Negates the following expression.  It matches all strings
            that do not match the expression (aka ~(foo) matches all
            strings that are not exactly "foo").
    [abc]   Character class: matches any of the characters in the class.
    [~bc]   Character class: matches any of the characters not in the
            class.
    a-z     Character range (only within character classes). 
    %       Matches 0 characters always (useful in "(foo|bar|%)").
    *       Synonym for "#?", not available by default in 2.0.  Available
            as an option that can be turned on.

	"Expression" in the above table means either a single character
	(ex: "#?"), or an alternation (ex: "#(ab|cd|ef)"), or a character
	class (ex: "#[a-zA-Z]").


   If you're not used to patterns, you may find all of that quite daunting.
   Consult your system manual for further details.

   @{b}Some examples:@{ub}

   1. My prefered windows are ShellWindows. The windowtitle looks like:
      "AmigaShell" or "WShell.2" - I use

        PREFEREDWINDOW=#?Shell#?

   2. I have a Clock on my WB-Screen, and I never want to activate this
      window - I use

        FORBIDDENWINDOW=Clock

@endnode


@node "hotkeys" "hotkeys"
@next "window"
@prev "tooltypes"
@toc "main"

   @{b}How to define a Hot Key@{ub}

   This chapter describes how to define a Hot Key as an Input Description
   String, which is then parsed by Commodities. Each time a Hot Key is activated
   Commodities generates an event which is used by Yass.
   A description string has the following syntax:

      [<class>] {[-][<qualifier>]} [-][upstroke] [<key code>]

     All keywords are case insensitive.

     @{b}class@{ub} describes the InputEvent class. This parameter is optional
     and if it is missing the default @{b}rawkey@{ub} is used. See @{"InputEvent classes" link "InputEventclasses" 0}.

   Qualifiers are "signals" that must be set or cleared by the time the Hot Key
   is activated; otherwise no event will be generated. For each qualifier that
   must be set you supply its keyword. All other qualifiers are expected to be
   cleared by default. If you want to ignore a qualifier, just set a @{b}-@{ub}
   before its keyword. See @{"Qualifiers" link "Qualifiers" 0}.

   Normally a Hot Key event is generated when a key is pressed. If the event
   should be generated when the key is released, supply the keyword @{b}upstroke@{ub}.
   When both press and release of the key should generate an event, use
   @{b}-upstroke@{ub}.

   The key code is depending on the InputEvent class. See @{"Key codes" link "Keycodes" 0}.

    @{" InputEvent classes " link "InputEventclasses" 0} 
    @{" Qualifiers         " link "Qualifiers" 0} 
    @{" Key codes          " link "Keycodes" 0} 
    @{" Hot Key examples   " link "HotKeyexamples" 0} 

   Note: Choose your hot keys @{i}carefully@{ui}, because Commodities has a high
   priority in the InputEvent handler chain (i.e. will override existing
   definitions).

@endnode

@node "InputEventclasses" "InputEvent classes"
@toc "hotkeys"
@next "Qualifiers"
@prev "hotkeys"

   @{b}InputEvent classes@{ub}

   Commodities supports most of the InputEvent classes that are generated by
   the input.device. This section describes those classes that are most useful
   for Yass Hot Keys.

   @{b}rawkey@{ub}
     This is the default class and covers all keyboard events. For
     example @{b}rawkey a@{ub} or @{b}a@{ub} creates an event every time when the key "a"
     is pressed. You must specify a key code for this class. See @{"rawkey" link "rawkeykeycodes" 0}.

   @{b}rawmouse@{ub}
     This class describes all mouse button events. You must specify a
     key code for this class. See @{"rawmouse" link "rawmousekeycodes" 0}.

   @{b}diskinserted@{ub}
     Events of this class are generated when a disk is inserted in a
     drive. This class has no key codes.

   @{b}diskremoved@{ub}
     Events of this class are generated when a disk is removed from a
     drive. This class has no key codes.

@endnode

@node "Qualifiers" "Qualifiers"
@toc "hotkeys"
@next "Keycodes"
@prev "InputEventclasses"

   @{b}Qualifiers@{ub}

   Some keyword synonyms were added to Commodities V38.
   These are marked with an@{b}*@{ub}.

   @{b}lshift@{ub}, @{b}left_shift@{ub} *
     Left shift key.

   @{b}rshift@{ub}, @{b}right_shift@{ub} *
     Right shift key.

   @{b}shift@{ub}
     Either shift key.

   @{b}capslock@{ub}, @{b}caps_lock@{ub} *
     Caps lock key.

   @{b}caps@{ub}
     Either shift key or caps lock key.

   @{b}control@{ub}, @{b}ctrl@{ub} *
     Control key.

   @{b}lalt@{ub}, @{b}left_alt@{ub} *
     Left alt key.

   @{b}ralt@{ub}, @{b}right_alt@{ub} *
     Right alt key.

   @{b}alt@{ub}
     Either alt key.

   @{b}lcommand@{ub}, @{b}lamiga@{ub} *, @{b}left_amiga@{ub} *, @{b}left_command@{ub} *
     Left Amiga/Command key.

   @{b}rcommand@{ub}, @{b}ramiga@{ub} *, @{b}right_amiga@{ub} *, @{b}right_command@{ub} *
     Right Amiga/Command key.

   @{b}numericpad@{ub}, @{b}numpad@{ub} *, @{b}num_pad@{ub} *, @{b}numeric_pad@{ub} *
     This keyword @{i}must@{ui} be used for any key on the numeric pad.

   @{b}leftbutton@{ub}, @{b}lbutton@{ub} *, @{b}left_button@{ub} *
     Left mouse button. See note below.

   @{b}midbutton@{ub}, @{b}mbutton@{ub} *, @{b}middlebutton@{ub} *, @{b}middle_button@{ub} *
     Middle mouse button. See note below.

   @{b}rbutton@{ub}, @{b}rightbutton@{ub} *, @{b}right_button@{ub} *
     Right mouse button. See note below.

   @{b}repeat@{ub}
     This qualifier is set when the keyboard repeat is active. Only
     useful for InputEvent class @{b}rawkey@{ub}.

   Note: Commodities V37 has a bug which prevents the use of @{b}leftbutton@{ub},
   @{b}midbutton@{ub} and @{b}rbutton@{ub} as qualifiers. This bug is fixed in V38.

@endnode

@node "Keycodes" "Key codes"
@toc "hotkeys"
@next "HotKeyexamples"
@prev "Qualifiers"

   @{b}Key codes@{ub}

   Each InputEvent class has its own key codes:

   @{" rawkey   " link "rawkeykeycodes" 0}                 
   @{" rawmouse " link "rawmousekeycodes" 0}

@endnode

@node "rawkeykeycodes" "rawkey key codes"
@toc "Keycodes"
@next "rawmousekeycodes"

   @{b}Key codes for InputEvent class `rawkey'@{ub}

   Some keywords and synonyms were added to Commodities V38.
   These are marked with an @{b}*@{ub}.

   @{b}a@{ub}-@{b}z@{ub}, @{b}0@{ub}-@{b}9@{ub}, ...
     ASCII characters.

   @{b}f1@{ub}, @{b}f2@{ub}, ..., @{b}f10@{ub}, @{b}f11@{ub} *, @{b}f12@{ub} *
     Function keys.

   @{b}up@{ub}, @{b}cursor_up@{ub} *, @{b}down@{ub}, @{b}cursor_down@{ub} * @{b}left@{ub}, @{b}cursor_left@{ub} *, @{b}right@{ub}, @{b}cursor_right@{ub} *
     Cursor keys.

   @{b}esc@{ub}, @{b}escape@{ub} *, @{b}backspace@{ub}, @{b}del@{ub}, @{b}help@{ub} @{b}tab@{ub}, @{b}comma@{ub}, @{b}return@{ub}, @{b}space@{ub}, @{b}spacebar@{ub} *
     Special keys.

   @{b}enter@{ub}, @{b}insert@{ub} *, @{b}delete@{ub} * @{b}page_up@{ub} *, @{b}page_down@{ub} *, @{b}home@{ub} *, @{b}end@{ub} *
     Numeric Pad keys. Each of these key codes @{i}must@{ui} be used with the
     @{b}numericpad@{ub} qualifier keyword!

@endnode

@node "rawmousekeycodes" "rawmouse key codes"
@toc "Keycodes"
@prev "rawkeykeycodes"

   @{b}Key codes for InputEvent class `rawmouse'@{ub}

   These keywords were added to Commodities V38. They are not available in V37.

   @{b}mouse_leftpress@{ub}
     Press left mouse button.

   @{b}mouse_middlepress@{ub}
     Press middle mouse button.

   @{b}mouse_rightpress@{ub}
     Press right mouse button.

   Note: To use one of these key codes, you must also set the corresponding
   qualifier keyword, e.g.

     rawmouse leftbutton mouse_leftpress
@endnode

@node "HotKeyexamples" "Hot Key examples"
@toc "hotkeys"
@prev "Keycodes"

   @{b}Examples for Hot Keys@{ub}

   @{b}ralt t@{ub}
     Hold right Alt key and press "t"

   @{b}ralt lalt t@{ub}
     Hold left @{i}and@{ui} right Alt key and press "t"

   @{b}alt t@{ub}
     Hold either Alt key and press "t"

   @{b}rcommand f2@{ub}
     Hold right Amiga key and press the second function key

   @{b}numericpad enter@{ub}
     Press the Enter key on the numeric pad

   @{b}rawmouse midbutton leftbutton mouse_leftpress@{ub}
     Hold middle mouse button and press the the left mouse button

   @{b}diskinserted@{ub}
     Insert a disk in any drive.

@endnode

@node "usage" "Usage"
@next "window"
@prev "tooltypes"
@toc "main"

   @{b}USAGE@{ub}

   When the @{"CX_POPUP" link "tooltypes" 18} Tooltype is set to 'YES' and Yass is being started
   or when the @{"mouse/keyboard-hotkey" link "tooltypes" 23} was pressed, the Screenlist-Window
   shows up.

   @{" ScreenList Window " link "window" 0}

   @{" Mouse Popup       " link "mousepopup" 0}

   @{" Menu Items        " link "menus" 0}

@endnode

@node "window" "Yass Window"
@toc "usage"
@next "mousepopup"
@prev "usage"

   @{b}SCREENLIST WINDOW (V39 style):@{ub}

   Gadgets can also be used via the keyboard, use the shown
   Command Keys.

        +-+------------------------+-+-+
        |o| Yass <Shift Esc>       |Q|H|
        +-+------------------------+-+-+
        |                              |
        | +--------------------------+ |
        | |  Screen / Window List    | |
        | +------------------------+-+ |
        | |Workbench               ||| |    Use mouse or [@{b}SHIFT@{ub}]+
        | |  -Work 77 % voll, 43 M ||| |    @{b}CURSOR-UP/DOWN/LEFT/RIGHT@{ub}
        | |  -AmigaShell           ||| |    to select window/screen. 
        | |@{fg fill}CygnusEdScreen1         @{fg text}||| |
        | |                        +-+ |
        | |                        |A| |
        | |                        |V| |
        | +------------------------+-+ |
        |                              |
        | +--------------------------+ |
        | |  Default @{fg shine}P@{fg text}ublicScreen    | |    CycleGadget:
        | +---+----------------------+ |    The value inside the
        | | G |      Workbench       | |    Cycle-Gadget is set to
        | +---+----------------------+ |    the @{i}current@{ui} default
        |                              |    Public screen.
        | +------+  +------+  +------+ |
        | |@{fg shine}S@{fg text}elect|  |@{fg shine}W@{fg text}indow|  |@{fg shine}C@{fg text}ancel| |
        | +------+  +------+  +------+ |    
        |                              |
        +----------------------------+-+
        |                            |/|
        +----------------------------+-+

   @{b}GADGET-KEYBOARD-CONTROL@{ub}

   o To select next/previous Screen/Window-List-Item use @{b}CURSOR-UP/DOWN@{ub}.

   o If ShowWindows-Option is enabled use @{b}CURSOR-LEFT/RIGHT@{ub} to
     select next/previous Screen.

   o Press 'p' to change the default Public screen.
     Use @{b}SHIFT@{ub} to alter the entry in the other direction.

   o Press 's' or @{b}<return>@{ub} to activate selected screen/window.

   o Press 'c' or @{b}<esc>@{ub} to close the window w/o action.

   o Press 'w' or @{b}<SPACE>@{ub} to show up windows of selected screen.

@endnode

@node "mousepopup" "Mouse-popup"
@toc "usage"
@next "menus"
@prev "window"

   @{b}MOUSE-POPUP@{ub}

   Since @{"V2.3" link "history" 49} it is possible to popup Yass' @{"ScreenList-Window" link "window" 0} by
   pressing the configured combination of mousebuttons. The default
   @{"mousebutton-popupkey" link "tooltypes" 28} is left+right-mousebutton. If you don't like
   this feature, you can turn it off as @{"described above" link "tooltypes" 28}. To cancel
   Yass' window after using the mousebutton-popup you can click the 
   @{b}"Cancel"@{ub} or @{b}closewindow-gadget@{ub}, press @{b}<Escape>@{ub} or @{b}"c"@{ub}-Key or
   @{b}click anywhere outside the window@{ub}.

@endnode

@node "menus" "Yass Menues"
@toc "usage"
@next "project"
@prev "usage"

   @{b}YASS MENUES@{ub}

   Menu items can also be used via the keyboard, use the shown
   Command Keys.

   @{"  Project      " link "project" 0}
   @{"  Preferences  " link "preferences" 0}

@endnode

@node "project" "Project"
@toc "usage"
@next "preferences"
@prev "menus"

   @{b}YASS MENUES@{ub}

   Menu items can also be used via the keyboard, use the shown
   Command Keys.

   @{"  Project      " link "usage" 0}
     +---------+ 
     |About   @{fg shine}?@{fg text}|  Shows up the @{"version" link "history" 0}, @{"Copyright" link "copyright" 0} and no. of @{"installed Hotkeys" link "tooltypes" 114}.
     |Hide    @{fg shine}H@{fg text}|  Close window.
     |---------|
     |Quit    @{fg shine}Q@{fg text}|  Exit Yass.
     +---------+      

   @{"  Preferences  " link "preferences" 0}

@endnode

@node "preferences" "Preferences"
@toc "usage"
@next "warnings"
@prev "menus"

   @{b}YASS MENUES@{ub}

   Menu items can also be used via the keyboard, use the shown
   Command Keys.

   @{"  Project      " link "project" 0}

   @{"  Preferences  " link "usage" 0}
     +-----------------+ 
     |Screenname      »|
     |            +------------+   
     |            |  Title    @{fg shine}T@{fg text}|  Show @{"Screentitle" link "tooltypes" 66}
     |            |/ Public   @{fg shine}P@{fg text}|  Show @{"Public screen name" link "tooltypes" 66}
     |            +------------+  
     |/ Ext. Popup    @{fg shine}E@{fg text}|          Enables @{"extended popup-mode" link "tooltypes" 53}.
     |  Show Windows  @{fg shine}W@{fg text}|          @{"Include windows" link "tooltypes" 60} in Screenlist.
     |/ Smartselector @{fg shine}M@{fg text}|          Use @{"smart selection" link "tooltypes" 106}.
     |/ Backpattern   @{fg shine}B@{fg text}|          Draw Window-@{"Backpattern" link "tooltypes" 87}.
     |Rendertype      »|
     |            +------------+
     |            |/ None     @{fg shine}N@{fg text}|  Don't draw @{"textboxes" link "tooltypes" 96}.
     |            |  Button   @{fg shine}U@{fg text}|  use @{"Buttonstyle" link "tooltypes" 96}
     |            |  Icon     @{fg shine}I@{fg text}|  use @{"Icondropboxstyle" link "tooltypes" 96}
     |            |  Ridge    @{fg shine}R@{fg text}|  use @{"Ridgestyle" link "tooltypes" 96}
     |            |------------|    
     |            |  Recessed @{fg shine}D@{fg text}|  draw in @{"recessed" link "tooltypes" 96} mode.
     |            +------------+
     |-----------------|
     |Save Settings   @{fg shine}S@{fg text}|          Save Settings as Icon-@{"ToolTypes" link "tooltypes" 0}.
     +-----------------+

@endnode

@node "warnings" "Warnings"
@next "testing"
@prev "mousepopup"
@toc "main"

   @{b}WARINGS@{ub}

   If you use the @{"EXTENDED POPUP-MODE" link "tooltypes" 53}, Yass will try to open its window
   on every Screen (even on non-public screens). This could cause problems
   if a program trys to close the screen while @{"Yass' window" link "window" 0} is open.
   It might be possible that situations emerge which confuze the OS and
   lead to a software failure. 

   In other words don't experiment with it when you haven't saved that
   file you are editing yet. Remember you use this at your own risk!

@endnode

@node "Local" "Local Support"
@next "todo"
@prev "warnings"
@toc "main"

   @{b}LOCAL SUPPORT@{ub}

   If your language is not supported by Yass, it is just because no one
   has translated it yet!

   How to write a language catalog for Yass

   1. Rename "Yass.ct" to your language, for example "español.ct".

   2. Change the X in the "## language X" line in the .ct to your language
      name, for example "## language español".

   3. For each block like the following add text for your language. In
      this case you would add the word for "select", with an underscore
      before the keyboard short cut key.  Make sure for each gadget/menu
      there are not duplicates for keyboard short cuts.

       GD_SELECT

       ; _Select;
       ;

      Menuitems look like the following, the AmigaKey is the first
      character with a "\0" after it.

       MENU_PROJECT_SAVE

       ; S\0Save Settings;
       ;

   4. Once all the strings are translated run CatComp to produce a catalog
      file.  The system can then be put in this language and Yass should 
      use the catalog.  Example for español would be:

      CatComp Yass.cd español.ct CATALOG español/Yass.catalog


   If you are available by e-mail, please send me your translated catalog
   file (.ct file), so I can compile it and include it with the next release
   of Yass.  Improved catalogs and translated documentations are also
   welcome.

   People who take the effort of translating the program, will be fully
   credited in the documentation as well as getting their name in Yass'
   About-requester.

   You can get in contact with @{"me" link "author" 0} via e-mail, if there are any questions.

@endnode

@node "testing" "testing"
@next "todo"
@prev "warnings"
@toc "main"

   @{b}TESTING@{ub}

   This program was developed on an A4000/040 and was tested on the 
   following configurations:

   o A1000, 120 MB IDE HD, Multivision FF, 512 KB Chip-RAM and
     2 MB Fast-RAM. (OS2.1 + OS3.1)

   o A2000, '030 25MHz, 200 MB SCSI HD, oMniBus-Gfx-System, 1 MB Chip-RAM
     and some MB 32Bit-Fast-RAM. (OS3.1)

   o A3000 25MHz, 1 GB SCSI HD, oMniBus-Gfx-System, 2 MB Chip-RAM and 
     some MB Fast-RAM. (OS3.1)

   o A4000/040, 430 MB+530 MB IDE HD, oMniBus-Gfx-System, 2 MB Chip-RAM 
     and 16 MB Fast-RAM. (OS3.1)

   On all these configuration the program seems to work fine, so I guess 
   you can run it on almost any machine (with a bit of spare memory).

@endnode

@node "todo" "Todo"
@next "credits"
@prev "testing"
@toc "main"

   @{b}TODO@{ub}

   o (external?) Preference-Editor for HotKeys and Settings (?) 
     (request-count: 0)

   o MUI-Version ?!
     (request-count: 1)

   o (App-)icons for screens
     (request-count: 1)

   o Smartpointer-Option for window-selection
     (request-count: 1)

   o ARexx port
     (request-count: 1)

   If you have any suggestions, let @{" me " link "author" 0} know!

@endnode

@node "credits" "Credits"
@next "bugs"
@prev "todo"
@toc "main"

   @{b}CREDITS@{ub}

   I would like to thank...


     @{i}for the french catalogs: @{ui}

        Emmanuel Marty (V2.3)
        Goncalves A. Georges (V2.3)
        Eric Totel (V2.1)


     @{i}for the finnish catalogs: @{ui}
 
        Jari Karjalainen (V2.1)


     @{i}my beta testers: @{ui}

        Oliver Bausch
        Martin Stengle
        Jürgen Mästling


     @{i}for letters and postcards: @{ui}

        Nigel Donaldson  - Australia
        Thomas Veber     - Denmark
        Jari Karjalainen - Finland
        Bryan Ewert      - Canada
        Jon B. Peterson  - USA
        Steve ?????????  - USA


     and all I forgot to mention...

                  _
               _ //
     Thanks to \\X/ Amiga for being the best computer ever!

@endnode

@node "bugs" "Bugs !! Bugs ???"
@next "history"
@prev "credits"
@toc "main"

   @{b}BUGS@{ub}

   Tell @{" me " link "author"} about any you find!

@endnode

@node "history" "The whole history of Yass..."
@prev "bugs"
@toc "main"

   @{b}HISTORY@{ub}

   V0.xß - Internal releases, for betatesters only. DON'T USE.

 + V1.0  - First Public release

   V1.1  - Fixed nasty resize-Bug
         - Some internal changes

   V1.2  - PREFEREDWINDOW-Option/ToolType added

   V1.3  - New GUI
         - Many internal changes
         - Fixed Enforcer-hit in PREFEREDWINDOW-Option

 + V1.4  - Background-pattern added                  (was) *** OS3.x only ***

   V1.5  - Improved backbround-pattern colorscheme   (was) *** OS3.x only ***
         - Added Save-Config feature.

   V1.6  - BACKPATTERN-Option/ToolType added         (was) *** OS3.x only ***
         - RENDERTYPE-Option/ToolType added                *** OS3.x only ***

   V1.7  - Fixed Listview-Render-Bug when backpattern was active.
         - Backgroundpattern / BACKPATTERN-Option now available for OS2.x

 + V2.0  - Fixed problems with public-screen-locking
         - Fixed bug in POPKEY-ToolType-parsing (was introduced in V1.5)
         - GUI completely rewritten
         - Many internal changes
         - New Feature: showing up windowlist for one screen
                        (use window-gadget or <SPACE>)
         - Added +/- and NONE switch to RENDERTYPE-option
         - Width and Height no longer font-sensitive
         - Locale-support (english + german)       *** OS2.1 + OS3.x only ***
         - Inproved 'Save Settings' (now appends ToolTypes)

   V2.1  - SMARTSELECTOR-Option/ToolType added (suggested by Martin Stengle)
         - français/suomi Locale-support added     *** OS2.1 + OS3.x only ***

   V2.2  - (tooltype-)configurable HOTKEYS for (pub)screens and windows added
         - AmigaDOS-Pattern for HOTKEY-Screen/Window-description added
         - Menu-structure changed
         - BACKPATTERN/RENDERTYPE-options now configurable via menu
           (settings will be saved by 'Save Settings')
         - français/suomi Locale-support removed
           (no longer uptodate, I need new translations !)

 + V2.3  - MouseButtonPopup-feature added (suggested by Oliver Bausch)
         - MBP now should support 3-button-mouse... (never tested :-)
         - Window opens with active listview-element under mousepointer
         - TOP/LEFT-Tooltype removed (no longer needed!)
         - MBP-Inactive-close-feature added (suggested by Oliver Bausch)
         - Information about installed hotkeys added (About-menue)
         - Yass' own window no longer appears in windowlist
         - NEXTWIN/PREVWIN added (suggested by M. Stengle and Oliver Bausch)
         - NEXTSRC/PREVSCR added

 + V2.4  - Documentation now as AmigaGuide(TM)
         - français Locale-support added           *** OS2.1 + OS3.x only ***
         - Minimal internal changes
         - FORBIDDENWINDOW-Option/ToolType added (suggested by Dan Barrett)

____________

 + Vx.x = AmiNet-Release

@endnode

@index Index
@node Index
@toc main

   @{b}INDEX@{ub}

   A

   @{" Author                 " link "author" 0}

   B

   @{" Backpattern            " link "tooltypes" 87}
   @{" Buttonstyle            " link "tooltypes" 96}
   @{" Bugs                   " link "bugs" 0}

   C

   @{" Copyright              " link "copyright" 0}
   @{" CX_POPUP               " link "tooltypes" 18}
   @{" Credits                " link "credits" 0}

   D

   @{" Description            " link "description" 0}

   E

   @{" extended popup-mode    " link "tooltypes" 53}

   H

   @{" History                " link "history" 0}
   @{" Hot Key examples       " link "HotKeyexamples" 0}
   @{" hotkey                 " link "hotkeys" 0}
   @{" Hotkey-Priority-Scheme " link "hotkey-prio" 0}

   I

   @{" Icondropboxstyle       " link "tooltypes" 96}
   @{" Include windows        " link "tooltypes" 60}
   @{" InputEvent classes     " link "InputEventclasses" 0}
   @{" installed Hotkeys      " link "tooltypes" 114}

   K

   @{" Key codes              " link "Keycodes" 0}

   L

   @{" Locale Support         " link "local" 0}

   M

   @{" me                     " link "author"}
   @{" Menu Items             " link "menus" 0}
   @{" Mouse Popup            " link "mousepopup" 0}
   @{" mouse/keyboard-hotkey  " link "tooltypes" 23}
   @{" mousebutton-popupkey   " link "tooltypes" 28}

   P

   @{" Patterns               " link "pattern" 0}
   @{" Preferences            " link "preferences" 0}
   @{" Project                " link "project" 0}
   @{" Public screen name     " link "tooltypes" 66}
   @{" POSTCARD               " link "author" 0}

   Q

   @{" Qualifiers             " link "Qualifiers" 0}

   R

   @{" Requirements           " link "requirements" 0}
   @{" rawkey                 " link "rawkeykeycodes" 0}
   @{" rawmouse               " link "rawmousekeycodes" 0}
   @{" recessed               " link "tooltypes" 96}
   @{" Ridgestyle             " link "tooltypes" 96}

   S

   @{" Starting               " link "starting" 0}
   @{" Save Settings          " link "preferences" 0}
   @{" Screenlist-Window      " link "window" 0}
   @{" Screentitle            " link "tooltypes" 66}
   @{" smart selection        " link "tooltypes" 106}

   T

   @{" textboxes              " link "tooltypes" 96}
   @{" ToolTypes              " link "tooltypes" 0}
   @{" Testing                " link "testing" 0}
   @{" Todo                   " link "todo" 0}

   U

   @{" Usage                  " link "usage" 0}

   V

   @{" V2.3                   " link "history" 49}
   @{" version                " link "history" 0}

   W

   @{" WARNINGS               " link "warnings" 0}

   Y

   @{" Yass' Window           " link "window" 0}

@endnode
[ RETURN TO DIRECTORY ]