home *** CD-ROM | disk | FTP | other *** search
- ScreenSelect
- ************
-
- Version: 2.1 , Release date: 03-Oct-93
-
- Copyright (C) 1992,1993 Markus Aalto (1)
-
- ---------- Footnotes ----------
-
- (1) This program is freeware. You may freely distribute it as long
- as you don't charge more than nominal fee for copying it (max 3 US$)
- and no deletions is made to the original package. You may also include
- it to freely distributable 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.
-
- Introduction
- ************
-
- In version 2 of Amiga operating system was introduced a concept of
- Public Screens. These screens can be shared by application programs
- just like Workbench screen has been in previous OS versions. Although
- they bring a great addition to Amiga they also introduce a problem to
- users which have Workbench, several Public and propably a few custom
- screens open at the same time. And the problem is - "How to get that xxx
- screen to front quickly without traversing through 5 other screens with
- left-amiga m?". Well, ScreenSelect is answer to that question
- because it opens a small window to the active screen after hotkey
- selection where you can select the new frontmost screen with just a
- click of the mouse. Also you can make hotkey bindings to any screens
- (not just Public ones as in older versions) and for example get
- Workbench screen frontmost with only one key press. And the only
- requirement is that you have Kickstart 2.04 (V37) or greater.
-
- Installation
- ************
-
- I have provided a script for Commodore's Installer program so if
- you have it then you should propably use it. Otherwise you can do
- following actions.
-
- * Move ScreenSelect to WBStartup directory.
-
- * Move ScreenSelectPrefs to Prefs directory.
-
- * Move one of the doc files anywhere you normally store document
- files.
-
- ToolTypes and CLI usage
- ***********************
-
- ScreenSelect recognizes normal commodity tooltypes and one of
- its own.
-
- CX_POPUP
- This switch enables ScreenSelect to open its window when it's
- started. Default is no popup.
-
- CX_PRIORITY=xxx
- This is ScreenSelect's priority as commodity. Here xxx is
- decimal number. Default is 0.
-
- CX_POPKEY=HOTKEY
- Default is shift esc. For example you could use CX_POPKEY=alt
- shift del to change hotkey. If you specify popkey here you
- override the settings you have made with ScreenSelectPrefs
- program.
-
- PREFSPROGRAM=PATH
- This is the path where preferences program is to be found. This
- name must include the name of the preferences program. Default
- PATH is SYS:Prefs/ScreenSelectPrefs. see Preferences.
-
- Main Window
- ***********
-
- You can see the main selection window for ScreenSelect by pressing
- the user configurable hotkey. This brings you a small window with few
- buttons and a listview with names of open screens. Public screens all
- have identifiable names but there are programs which use custom screens
- and doesn't specify any name for it. Screens like that are shown as
- (Nameless Screen).
-
- Quit
- By pressing button (or Q) you can remove ScreenSelect and any
- patches it has installed.
-
- About
- This gives you a small info about this program and its author
- (that's me :^).
-
- Prefs
- This one opens the separate preferences program you can use to
- modify ScreenSelect's behaviour. All changes come active
- instantly after you have exited preferences program with pressing
- either Save or Use buttons.
-
- Update
- This one updates the listview and default pubscreen texts to
- reflect current system state. This is only usefull if you haven't
- installed Auto Update patches. You can install the patches with
- ScreenSelectPrefs program. see Preferences.
-
- Listview gadget
- Click any of the names to get that screen to front. Single click
- just activates the name which you can then activate with
- Activate gadget. Double click makes an instant activation.
- You can also use cursor keys to move up and down in listview.
- Activation can be made from keyboard with a or return keys.
-
- Default PubScreen
- This one shows the name of the default pubscreen. If you have
- installed the Change Default PubScreen hotkey you can use it to
- select active public screen as your default public screen.
-
- Activate
- Activates the current listview selection and closes the window.
-
- Cancel
- Closes the window and returns back to the screen where hotkey
- selection was made.
-
- General Info
- ************
-
- There are few special options you can change with preferences
- program. Here are brief explanations about them. see Preferences
-
- Screen Types
- Currently ScreenSelect can show only Public screens or all
- screens.
-
- AutoUpdate Patches
- This patches 4 Intuition functions to achieve automatic update in
- listview and in Default PubScreen textgadget. Patched functions
- are: OpenScreen, OpenScreenTagList, CloseScreen and
- SetDefaultPubScreen.
-
- Window Position Modes
- You can control the position of ScreenSelect's main window with
- three possible options: Fixed, Relative and SmartPointer.
-
- Fixed mode forces window to always open to some predefined
- coordinates.
-
- Relative always tries to position the window so that pointer
- is over the Activate gadget.
-
- SmartPointer first tries to position the window so that
- pointer is over the last selected screen name. If this isn't
- possible it then forces pointer to move there.
-
- Window Autoactivation
- You can set few options to control ScreenSelect's behaviour with
- window activation.
-
- If you have Window AutoActivation mode ON, it tries to activate
- window from screen you are changing to. It doesn't work most of
- the times because it just examines the windows and tries to be
- smart when deciding which window to activate.
-
- If also InputHandler is ON, then ScreenSelect 'hears' all the
- changes with window actications. This helps you only with changes
- through ScreenSelect. If you change screen with left-amiga
- m ScreenSelect has no way of knowing that you have switched to
- new screen except if you have added LoadView patch.
-
- If LoadView patch is active then ScreenSelect can hear all the
- screen changes and can always change new active window. As this
- one says it installs a patch to LoadView function in
- graphics.library. It's a very time critical place and while I
- haven't confronted any problems, it might be a source of problem
- for users with heavy animation needs. If you encounter any
- problems with animations you should first try to take this off
- before starting to look problems elsewhere.
-
- So lets go all modes through one more time. Window
- AutoActivation activates autoactivation mode. InputHandler
- option enables ScreenSelect to remember all changes with screens
- active windows and LoadView Patch enables to hear all the
- frontmost screen changes. For best possible operation I suggest
- you to select them all.
-
- Preferences
- ***********
-
- Main Prefs
- ==========
-
- After you have started ScreenSelectPrefs you get a window very
- similar to the system preferences program. All the actions from menus
- and Save, Use and Cancel buttons are exactly the same as in
- system programs so they are not explained here. Please consult your
- AmigaDOS manual for more info.
-
- However there are two buttons labeled as Options and Hotkeys. These
- are the buttons you should press to get one of the real preferences
- change windows.
-
- Options
- =======
-
- In this window are all the options settings.
-
- Screen Types
- Selects one of the operation modes. In Public Only mode
- ScreenSelect uses only Public screens. In All mode all
- screens are used.
-
- Add AutoUpdate Patches
- Toggles the state of AutoUpdate patches.
-
- Window Position
- Changes window position mode. Possible modes are Fixed,
- Relative and SmartPointer. In Fixed mode you can set the
- coordinate values to Left and top numeric gadgets.
-
- Window AutoActive Options
- You can select which level of AutoActivation you want. If you
- specify all three of them you get complete automatic window
- activation in your system. If Window AutoActivation is OFF then
- you can't select either Add InputHandler or Add LoadView
- Patch.
-
- OK
- This ones confirms all the changes and returns back to Preferences
- main window. Note that these changes are not used yet. You have to
- make global confirm with Save or Use buttons.
-
- Cancel
- This one cancels all the changes.
-
- Hotkeys
- =======
-
- In this window are all the hotkey settings.
-
- PopUp Key
- Used as hotkey for ScreenSelect. You can override this setting
- with CX_POPKEY tooltype.
-
- Use Default PubScreen Key
- Use the CheckBox gadget to toggle whether you want to use Default
- PubScreen key. If you do then write the hotkey to string gadget in
- right.
-
- Add
- Used to add new Screen Quickkey.
-
- Delete
- Used to delete selected Screen QuickKey.
-
- Screen QuickKeys
- List of screens you have set a Screen QuickKey for. Names can
- contain AmigaDOS patterns. For example TERM? can mean TERM1 or
- possibly TERM2. All standard AmigaDOS patterns are accepted.
- This is great help when trying to make a QuickKey for some old
- programs using custom screens.
-
- QuickKey
- Hotkey for selected Screen QuickKey.
-
- OK
- Confirm changes.
-
- Cancel
- Cancel changes.
-
- StickySelect
- ************
-
- I have had several requests to enchange the interface to do some
- operations differently. Because some of these have been contradictory
- or in my opinion not something I like to add to ScreenSelect I have
- made it possible for external programs to use ScreenSelect's
- selection mechanism. Now everybody can write a replacement for
- ScreenSelect's interface.
-
- The first program to utilize this possiblity is StickySelect which
- opens a small window to any public screen with a list of selectable
- names - just like the one in ScreenSelect's interface. However this
- window doesn't go away when you make a selection. Instead it just sits
- there and wait's for new selection. You can open as many as you like to
- different public screens as long as ScreenSelect is started before
- StickySelect. Here are the parameters.
-
- PUBSCREEN=<>
- Name of the Public screen you want StickySelect to open.
-
- LEFT=<>
- Window left edge position.
-
- TOP=<>
- Window top edge position.
-
- WIDTH=<>
- Window width.
-
- HEIGHT=<>
- Window height.
-
- If you would like to implement your own interface to communicate with
- ScreenSelect you can contact me to obtain programming info and C
- source for StickySelect. see Contact address.
-
- 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 isn't opened to foreign
- applications screen. It's only opened 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 your 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!
-
- History
- *******
-
- Version 1.0
- ===========
-
- First release 07-Sep-1992.
-
- Version 1.1
- ===========
-
- This version was not released. Compilation date was 14-Sep-1992.
-
- * Changed Workbench tooltypes CX_POPUP and ALLSCREENS to
- simple switches. They are normally OFF, but if you specify one of
- them then that option comes ON.
-
- * Added SMARTPOINTER option. When this one is active
- ScreenSelect always tries to position mouse pointer over
- previous screen selection. This makes it very easy to bounch
- between two screens.
-
- [ Suggested by Sfefan Boberg ]
-
- * Added QUICKKEYS. Now you can bind own hotkey to every public
- screen. This should be used only with public screens. Although it
- might work with all screens I don't support it.
-
- [ Suggested by Stefan Boberg ]
-
- * Now if ScreenSelect's window is active (open) when hotkey is
- pressed then that window's screen is brought to front.
-
- * Added menus to ScreenSelect's window. Now most of the features
- are selectable with Menu command keys.
-
- * Added About window to show some information.
-
- * Now previous screen's name is shown in listview gadgets selection
- area automatically. This makes screen bounching very easy as
- SMARTPOINTER option does.
-
- * Now Activate and Cancel gadgets have keyboard shortcuts.
-
- [ Keyboard shortcuts were suggested by David Corn ]
-
- Version 1.1a
- ============
-
- Compilation date was 23-Sep-1992.
-
- * Fixed a bug which happened when SMARTPOINTER option was ON and
- screen font was too big to be used in ScreenSelect's window and
- we had to use topaz80. This caused pointer to be moved to wrong
- position.
-
- Version 1.1b
- ============
-
- Compilation date was 13-Oct-1992.
-
- * Just changed a initial window height from 94 pixels to 96. Now
- normal topaz80 font shouldn't cause window resizing when only
- Workbench (or screen names of similar lenght) is in a list.
-
- Version 1.2
- ===========
-
- Compilation date was 07-Dec-1992.
-
- * Previously ScreenSelect exited when it couldn't find screens.
- This made it impossible to put it in Startup-Sequence or
- User-Startup file before Workbench screen is opened.
-
- [ Reported by Andreas M. Kirchwitz ]
-
- * From now on, version number format should be Amiga Style Guide
- compliant.
-
- * Added AUTOACTIVATE option.
-
- * Added SCREENKEY option which allows easy default public screen
- selection with hotkey.
-
- * Added Default PubScreen text gadget.
-
- * First version compiled with SAS/C V6.1. Size reduced almost 2k
- compared to V1.1b.
-
- Version 1.3
- ===========
-
- Compilation date was 27-Jan-1993. Not a public release.
-
- * Now listview is opened as wide as widest screen name. This works
- correctly with proportional fonts too.
-
- Version 1.4
- ===========
-
- Compilation date was 02-Feb-1993. Not released.
-
- * Now gadget sizes are calculated before window is opened. So now
- ScreenSelect window opens to the correct size initially.
-
- * Added LEFT and TOP tooltypes and CLI-parameters.
-
- * Now if SMARTPOINTER option is ON then ScreenSelect tries to
- position window according to the mouse pointer. And only if it
- fails to properly do so it moves mouse pointer to the correct
- position.
-
- * Now ScreenSelect installs a input-handler to watch for
- WINDOWACTIVE messages, and we can properly activate right window
- when new screen is brought to front by ScreenSelect.
-
- Version 2.0
- ===========
-
- Compilation date was 08-Aug-1993. Major update.
-
- * Whole interface code rewritten.
-
- * Moved settings to separate preferences program.
-
- * Added support for AmigaDOS patterns in QuickKey screen names.
-
- * Added Relative Window Position mode.
-
- * Moved all the patches to main program. Now patches are removable.
-
- * Added LoadView patch.
-
- * Added support for StickySelect.
-
- * Possibly forgotten something, but changes were too big to describe
- them fully in here.
-
- Version 2.1
- ===========
-
- Compilation date was 03-Oct-1993. Mainly bugfixes.
-
- * Fixed an enforcer hit in AutoActivation checking code.
-
- * Screens with empty Title names (not NULL, but filled with spaces)
- made ScreenSelect to crash. Yes, I know, this sounds unbelievable!
-
- * If popup hotkey is pressed when ScreenSelect window is already open
- then ScreenSelect window is activated.
-
- * If LoadView patch was installed and hotkey was pressed in
- non-public screen, then ScreenSelect window didn't stay active
- after it was opened.
-
- * Added keyboard support for ScreenSelect's listview gadget. Return
- activates selection and cursor keys are used to change selection.
-
- * If QuickKey is pressed while ScreenSelect window is open, then
- screen name binded to that QuickKey is selected in listview.
-
- * If AutoUpdate patches are not active internal Screen list is
- updated everytime QuickKey is pressed. This fixes problems with
- QuickKeys and screens opened after last ScreenSelect activation.
-
- * Now ScreenSelect window is closed before we select new frontmost
- screen. This fixes a problem introduced by 4th fix (LoadView patch
- fix) in this release.
-
- * Fixed a bug with SMARTPOINTER option, which happened with similar
- screen names which contain characters out of range of ordinary
- alphabets. This bug was introduced because of AmigaDOS pattern
- matching routine not handling characters as '(C)' and didn't
- happen before version 2.0 of ScreenSelect.
-
- * Added changes to internal string handling. Now it will be very easy
- to add localization support.
-
- Contents of ScreenSelect distribution
- *************************************
-
- Here are listed all files and directories in current version 2.1
- distribution. These files should always be present when
- ScreenSelect is distributed.
-
- ScreenSelect (dir)
- Docs (dir)
- ScreenSelect.doc
-
- ScreenSelect.doc.info
-
- ScreenSelect.dvi
-
- ScreenSelect.dvi.info
-
- ScreenSelect.guide
-
- ScreenSelect.guide.info
- StickySelect (dir)
- StickySelect
-
- StickySelect.info
-
- Docs.info
-
- StickySelect.info
-
- ScreenSelect
-
- ScreenSelect.info
-
- ScreenSelectPrefs
-
- ScreenSelectPrefs.info
-
- Read_Me
-
- Read_Me.info
-
- Install.info
-
- ScreenSelect.Install
-
- ScreenSelect.info
-
- Contact address
- ***************
-
- If you really think that this program is great and you use it
- extensively then you can make me very happy by sending me something for
- a return. If you are for example a author of some software package
- (Commercial, Shareware, Giftware or anything) you could send me a free
- program as an exchange of this program. If you don't feel like it, it
- doesn't really matter. It would just make me more enthusiastic as I
- continue to implement new versions. Then again if you feel like sending
- a donation in US$, Deutch Marks or Finnish Marks I even might have
- afford to join Commodore's official developer program someday and you
- might get Localisation, Online-help support etc... implemented to
- ScreenSelect much faster that otherwise. Anyway, thank you for
- using this program!
-
- For suggestions, bug reports etc... You can reach me at
-
- * Internet
-
- s37732v@vipunen.hut.fi
-
- * SnailMail
-
- Markus Aalto, Muurahaisentie 11a, 01490 VANTAA, FINLAND
-
- Future
- ******
-
- I have noticed that several people asked me to implement a window
- selector to ScreenSelect. This is propably coming in next major
- release along with AmigaGuide online-help and localization.
-
- But if you need window selector now I suggest you take a look at
- Yass (Yet Another Screen Selector) from Albert Schweizer. It
- supports window selection as well as screen selection, but
- unfortunately it lacks the QuickKeys and automatic window activation.
-
- If you are willing to do the locale translation for future versions
- of ScreenSelect please contact me with EMail. There aren't many
- strings to translate. see Contact address. You are also welcome to
- translate the documentation for current and future versions. Again
- contact me with EMail to obtain the TeXinfo file.
-
-