

                                    ScreenSelect
                                    ~~~~~~~~~~~~


                            Version:        1.1a

                            Release date:   23-Sep-1992

                            Author:         Markus Aalto



*******************************************************************************
*                                                                             *
*   This program is freeware. You can freely distribute it as long as you     *
*   don't charge copying it more than nominal fee (max 3 US$) and no          *
*   additions/deletions/modifications is made to the original package. You    *
*   may include it to PD disks such as Fred Fish collection. This program     *
*   is distributed without warranty of any kind. So I take no responsibility  *
*   about this program, its documentation, functionality or damages it may    *
*   cause. The risk is entirely yours.                                        *
*                                                                             *
*******************************************************************************




1.  INTRODUCTION
~~~~~~~~~~~~~~~~

    ScreenSelect was programmed for users which commonly have more than two

or three screens open at the same time. It shows a list of screens and user

can then do double click selection to get wanted screen to front. It is

mainly designed to be used with public screens but it also works with normal

screens if wanted so. Only requirement is KS2.04 (V37) or greater. It is

implemented as a commodity and it also sports a font-independent interface.


2.  INSTALLATION
~~~~~~~~~~~~~~~~

    WB users could just put it to WBSTARTUP directory. 'DONOTWAIT'-tooltype

is already set in ScreenSelect's icon. So just drop it to WBStartup.


    CLI users could start it from S:User-Startup, so you first have to make

modifications to 'User-Startup'-file and then copy ScreenSelect somewhere

along the path (for example to 'C'-directory).


    I have also provided a program called SS_AutoUpdate which you can also drop

to the WBStartup directory or start it from 'User-Startup'. This file enables

automatic update of listview-gadget when new screen is opened or old one is

closed. If you want more info, please read SS_AutoAdjust.doc


3.  TOOLTYPES & CLI OPTIONS
~~~~~~~~~~~~~~~~~~~~~~~~~~~

    ScreenSelect has normal commodity tooltypes and few other options. WB

users can use following options.


    CX_POPUP                    -   This switch enables ScreenSelect to
                                    open its window when it's started.

    CX_PRIORITY=xxx             -   Default is 0. (xxx is decimal number ).

    CX_POPKEY=HOTKEY            -   Default is "shift esc". For example
                                    you could use 'CX_POPKEY=alt shift del' to
                                    change hotkey.

    ALLSCREENS                  -   This switch makes ScreenSelect to list
                                    all screens. Normally only Public Screens
                                    are shown.

    SMARTPOINTER                -   This switch makes ScreenSelect to
                                    automatically put mousepointer to the
                                    previous selection.

    QUICKKEYS=SCREENNAME_1=Hotkey_1|SCREENNAME_2=Hotkey_2|...

                                -   With QUICKKEYS you can bind a hotkey to
                                    public screen. Note that screen name
                                    must be exact copy of the public screen
                                    name.

    CLI users have quite similar options.

    CX_POPUP                    -   This is a switch.

    CX_PRIORITY=xxx             -   Same as WB option.

    CX_POPKEY="HOTKEY"          -   Same as WB option, but remember to put
                                    '"' marks around HOTKEY name.

    ALLSCREENS                  -   This is a switch.

    SMARTPOINTER                -   This is a switch.

    QUICKKEYS="SCREENNAME_1=Hotkey_1|SCREENNAME_2=Hotkey_2|..."

                                -   Same as WB option, but here you should
                                    put '"' marks around whole string.



    Here is a small example of the tooltypes for WB users.

    DONOTWAIT
    ALLSCREENS
    CX_POPKEY=numericpad (
    QUICKKEYS=Workbench=numericpad 1|MEMACS_01=numericpad 2


    These options enable ALLSCREENS option.
    Hotkey is bind to '(' key in numpad keys.
    'Workbench' screen is bind to '1' key in numpad keys.
    'MEMACS_01' screen is bind to '2' key in numpad keys.


4.  USE
~~~~~~~

    After you have started ScreenSelect it normally disappears to background.

You can activate it by making hotkey selection (default 'shift esc'). When

activated ScreenSelect opens a window with a names of screens currently open.

By double-clicking one of the names in listview-gadget you can quickly

deactivate ScreenSelect and let it switch your selected screen to frontmost.

However it won't activate it for you. You still have to click in one window

in that screen. If you have selected one of the names in listview-gadget,

but not double-clicked, then by pressing 'Activate"-gadget ScreenSelect makes

screen switching operation. By pressing 'Cancel' or 'windowclose'-gadget you

get back to the screen you were after you activated ScreenSelect with hotkey.

You can quit ScreenSelect either with 'Quit'-gadget or Commodity Exchange

program's 'Kill'-gadget.


    There is also a 'Update'-gadget which scans through screens in your

system and updates listview. You can also toggle ALLSCREENS-flag by pressing

cycle gadget you can found below 'Update'-gadget. There should be reading

'Public Screens' or 'All Screens'.


    There is also a menu attached to ScreenSelect's window. All selections

have own keyboard shortcut. Note that although 'Activate' and 'Cancel'

gadgets don't have respective menu items, you still have keyboard shortcuts.

By pressing 'A' from the keyboard you select 'Activate' gadget and with

'C' you can select 'Cancel' gadget.


    New SMARTPOINTER option makes bounching between two screens very easy

and fast. It moves system mousepointer to the place of previous screen's name

in a listview-gadget. You can simply double-click to get back to the

previous screen. For example you have three screens in you system. One is

Workbench, one is your editors screen and one is your communication program.

First you would be in Workbench screen and activating ScreenSelect. Select

editors screen and activate it. Then activate ScreenSelect again and now

mousepointer is placed over Workbench name. Now if you double-click you get

back to Workbench. Do same procedure again and now pointer is placed over

your editor screen's name.


    Even if SMARTPOINTER option isn't ON you still can have almost as easy

way to bounch between two screens. When you activate ScreenSelect's window,

previous screen name is automatically in a selection field of listview-gadget.

Now if you press 'A' or click 'Activate' gadget you can get back to previous

screen. Easy!


5.  MISC
~~~~~~~~

    This is a common procedure ScreenSelect makes when it hears about hotkey

selection.

    --------------------------------------------------------

    if hotkey pressed then
        if active screen is public screen then
            lock it and open ScreenSelect window into it.
        else
            lock default public screen and open window to it.

    --------------------------------------------------------

    So this means that ScreenSelect window is not opened to foreign

applications screen. It's opened only to public screens. This may annoy

some users but I made this decision to make ScreenSelect more system

friendly. Remember that if you select new frontmost screen then there really

isn't much harm done. And even if you just press 'Cancel'-gadget you get

always back to old frontmost screen.


    ScreenSelect also tries to make sure that all screen pointers passed

back to OS, are always valid. This is easy with public screens but requires

little more work with normal screens. I hope I got it right!


    Also there are programs which don't give any name to screen they open.

Screens like that are shown in listview as '( Nameless screen )'. I hope

that programmers would also specify a name for a screen, but I guess it just

isn't possible all the time.


    For suggestions, bug reports etc... You can reach me at

        Internet:   s37732v@vipunen.hut.fi

        or          Markus Aalto
                    Muurahaisentie 11a
                    01490 VANTAA
                    FINLAND


    ENJOY!



