home *** CD-ROM | disk | FTP | other *** search
- ------------------------------------------------------------------------
- MultiCX 1.70 (19.5.95)
- ------------------------------------------------------------------------
-
- MultiCX is the smallest Multi-Function-Commodity for the Amiga, thought
- as a replacement for many larger and sometimes badly programmed
- programs. It is a 100% pure commodity, which means that it does not use
- any patches (SetFunction), no interrupts and no special input handlers.
- So it can safely be disabled or removed at any time.
-
- ------------------------------------------------------------------------
- Features
- ------------------------------------------------------------------------
-
- - Notification
-
- MultiCX recognizes any changes of the ToolTypes while running, so
- there's no real need for a GUI.
-
- - Screen Blanker
-
- MultiCX includes a simple but compatible screen blanker. It always
- uses the display mode which fits best to the actual front screen,
- while taking the lowest resolution with only one plane.
-
- ToolTypes:
-
- SCRBLANK=n sets number of seconds until screen blanks,
- 0 means OFF
- HOTBLANK=Qual&Key sets hotkey for immediate blanking
- CDNOBLANK do not blank screen if Carrier is detected
- (currently only supports internal serial port)
- AVOIDTASK=Pattern do not blank screen if OwnerTask of active
- screen matches pattern
- AVOIDSCREEN=Pattern do not blank screen if Title of active screen
- matches pattern
- LIKEWB forces cloning the WB's display mode
- SCRMODE=ModeName selects a display mode by name
-
- AVOIDTASK and AVOIDSCREEN fully support AmigaDOS pattern matching and
- work case insensitive.
- If LIKEWB and SCRMODE are set, SCRMODE is only used if WB is not
- available for some reason. But this should never happen...
-
- - Moire Blanker
-
- MultiCX has a really nice screen blanker, too! It steals no processor
- time from other tasks, and if it couldn't draw a line for longer than
- 10 seconds it falls back to a simple black screen. There are some
- parameters to play with...
-
- ToolTypes:
-
- MOIRE selects Moire blanker
- LINES=n number of lines, default is 2
- TRAIL=n length of trail, default is 64
- XSPEED=n x offset for next line, default is 4
- YSPEED=n y offset for next line, default is 6
- CSPEED=n color cycling delay, default is 16
- COLOR=n drawing color, range is 1-4095
- 0 means Random, -1 means Color Cycling
-
- - Mouse Accelerator
-
- MultiCX lets you set Acceleration and Theshold (minimum movement to
- activate Acceleration) for smooth mouse handling.
-
- ToolTypes:
-
- ACCELERATION=n sets Acceleration factor, 0 means OFF
- THRESHOLD=n sets Threshold value, 0 means no Threshold
-
- - Mouse Blanker
-
- MultiCX blanks the mouse pointer on keypress and/or after approx. 30
- seconds when no mouse movement has occured.
-
- ToolTypes:
-
- KEYBLANK activates MouseBlanking on keypress
- TIMEBLANK activates MouseBlanking after timeout
-
- - Screen Cycle
-
- MultiCX allows you to cycle screens using either MiddleMouseButton or
- BothMouseButtons, this is equivalent to LCOMMAND M.
-
- If MOUSESHIFT and SCRCYCLE are both set to MMB, then ScreenCycling
- will occur on a Double-MMB-Click.
-
- ToolTypes:
-
- SCRCYCLE=MMB|BMB sets Screen Cycle to MMB or BMB
-
- - Mouse Shift
-
- MultiCX lets you use the RightMouseButton or MiddleMouseButton as a
- Shift-Key for extended selection.
-
- And this is how it works with RightMouseButton:
-
- 1. Press LeftButton to select first icon and hold it.
- 2. Press RightButton and hold it.
- 3. Release LeftButton and keep RightButton pressed.
- 4. Now select some more icons with LeftButton.
- 5. To deselect an icon, click on it with LeftButton and keep it
- pressed, then release RightButton and press it again.
-
- Sounds much more complicated than it is...
-
- ToolTypes:
-
- MOUSESHIFT=RMB|MMB sets MouseShift to RMB or MMB
-
- - Window Cycle
-
- MultiCX lets you put a window to front/back by a configurable number
- of LeftButton clicks. Qualifiers can be defined for both functions.
- Additionally there are two hotkeys available for TopWindowToBack and
- BottomWindowToTop. But only windows with a Depth Gadget are affected
- by Window Cycling.
-
- ToolTypes:
-
- WINCYCLE=n sets number of mouse clicks for WindowCycle,
- 0 means OFF
- WINFRONTQUAL=Qual sets Qualifier for WindowToFront
- WINBACKQUAL=Qual sets Qualifier for WindowToBack
- FRONT2BACK=Qual&Key sets hotkey for TopWindowToBack
- BACK2FRONT=Qual&Key sets hotkey for BottomWindowToTop
-
- - SUN-alike Window Activation
-
- MultiCX has three different options to activate windows automatically.
- All of them activate the window under the mouse pointer, SunKey does
- it on every keypress, SunMouse does it after mouse movement, and
- SunRMB does it after pressing the right mouse button. So SunKey and
- SunMouse together seem to be rather useless.
- Windows with active Gadgets (like FileRequesters etc) will never be
- deactivated by one of these functions.
-
- ToolTypes:
-
- SUNKEY activates SunKey
- SUNMOUSE activates SunMouse
- SUNRMB activates SunRMB
-
- - HoldX and HoldY
-
- MultiCX allows you to lock a specific mouse dimension while holding a
- defined Qualifier. If both Qualifiers are set to the same it locks all
- mouse movements. So you are responsible for useful settings...
-
- ToolTypes:
-
- HOLDXQUAL=Qual sets Qualifier for HoldX, none means OFF
- HOLDYQUAL=Qual sets Qualifier for HoldY, none means OFF
-
- - Enter ASCII
-
- MultiCX allows you to enter ASCII codes directly by pressing the RALT
- key and the numbers in the numeric block, for example: <ALT> 65 = A.
- Maximum 3 digits, value must not be greater than 255.
-
- ToolTypes:
-
- ENTERASCII activates EnterASCII
-
- - Map Umlauts
-
- This option might be of use for german users or other people writing
- german texts. It will convert the german umlauts into the normal
- character pendants.
-
- ToolTypes:
-
- MAPUMLAUTS activates MapUmlauts
-
- - CapShift
-
- This option changes the way CapsLock works. Just try activating
- CapsLock, and then press some shifted letters to get an idea of it.
- Hotkeys etc. are no longer affected by CapsLock.
- CapShift is ignored if NoCapsLock is active.
-
- ToolTypes:
-
- CAPSHIFT activates CapShift
-
- - NoCapsLock
-
- ... simply switches off CAPSLOCK completely.
-
- ToolTypes:
-
- NOCAPSLOCK activates NoCapsLock
-
- - Window Close/Zoom
-
- MultiCX allows you to close/zoom windows using pre-defined Qualifiers
- and Keys.
-
- ToolTypes:
-
- WINCLOSE=Qual&Key sets Qualifier and Key for CloseWindow,
- none means OFF
- WINZOOM=Qual&Key sets Qualifier and Key for ZoomWindow,
- none means OFF
-
- - Window Remember
-
- MultiCX remembers the last active window on every screen, and the next
- time you go to that screen, this window will be re-activated
- automatically.
-
- ToolTypes:
-
- WINREMEMBER activates WindowRemember
-
- - CenterScreen
-
- The active screen is centered when this hotkey is pressed.
-
- ToolTypes:
-
- CENTERSCR=Qual&Key sets Qualifier and Key for CenterScreen,
- none means OFF
-
- - HotFlush
-
- MultiCX frees all unneeded memory when pressing this hotkey, just like
- "Avail flush" does.
-
- ToolTypes:
-
- HOTFLUSH=Qual&Key sets Qualifier and Key for HotFlush,
- none means OFF
-
- - PopCLI
-
- MultiCX spawns a UserShell using the given command string when
- pressing the PopCLI key.
-
- ToolTypes:
-
- POPCLI=Qual&Key sets Qualifier & Key for PopCLI, none means OFF
- POPCLICMD=Command sets command string for PopCLI, none means OFF
- POPCLISTACK=n sets stacksize for PopCLI (Default: 4096)
-
- - FrontPubScreen
-
- If this option is activated the FrontScreen automatically will become
- the actual DefaultPubScreen, as long as it is public and not private.
-
- ToolTypes:
-
- FRONTPUBSCR activates FrontPubScreen
-
- - System Flags
-
- MultiCX lets you set/change some of the internal AmigaOS flags. These
- may be set, unset or left unchanged, where a parameter of 0 means
- deactivate, 1 or any value >0 means activate, and putting the ToolType
- in brackets (the same as removing it) means no change. Old values are
- NOT restored when quitting/disabling MultiCX, but Notification may be
- used at any time.
-
- ToolTypes:
-
- BLACKBORDER=n changes BlackBorder flag, ECS Denise needed
- NOCLICK=n changes NoClick flag for all drives,
- may not work with very old drives
- WILDSTAR=n changes flag for extended WildCarding,
- if ON "*" may be used instead of "#?"
- SNDFILTER=n switch Sound filter ON/OFF
-
- - Trackdisk Parameters
-
- This option is used to set some parameters of trackdisk.device. If
- used with care these settings could make your drives faster and less
- noisy. Old values are NOT restored when quitting/disabling MultiCX,
- but default values are set when disabling these Tooltypes.
-
- ONLY USE THEM IF YOU KNOW EXACTLY WHAT YOU ARE DOING!
-
- ToolTypes:
-
- TDRETRY=n change TDU_RETRYCNT (Default is 10)
- TDSTEP=n change TDU_STEPDELAY (Default is 3000)
- TDSETTLE=n change TDU_SETTLEDELAY (Default is 15000)
- TDCALIBRATE=n change TDU_CALIBRATEDELAY (Default is 4000)
-
- - Public Screen Flags
-
- MultiCX also lets you set/change the global Public Screen flags. The
- values are the same as for the System flags (see above).
-
- ToolTypes:
-
- POPPUBSCR=n changes PopPubScreen flag
- SHANGHAI=n changes Shanghai flag
-
- - Internal and External Preferences
-
- Normally MultiCX opens a WBInfo Requester on CX_POPUP (OS 3.x only!),
- but this may be replaced by an external program like MultiCXPrefs by
- Michael Barsoom. BTW: Thanks for the great work, Michael!
-
- ToolTypes:
-
- CX_POPUP=Qual&Key sets Qualifier and Key for WBInfo or ext. Prefs
- EXTPREFS=Command sets Command to execute for external Preferences
-
-
- ------------------------------------------------------------------------
- Notes and Hints
- ------------------------------------------------------------------------
-
- - MultiCX must be started from WB, CLI/Shell is not supported.
-
- - MultiCX is 100% compatible to Commodore's specifications, so don't
- complain if some bad-behaving software does not work with it.
- For example: Some bad filesystems do not support Notification, some
- bad gfx-board drivers do not support MouseBlanking etc...
-
- - MultiCX's Screen Blanker uses BestModeID to find the best display
- mode. Because this is impossible under AmigaOS 2.x, MultiCX uses a
- special masking algorythm to find the display mode. But this relies on
- the fact, that a DisplayID with all ModeKeys set to 0 exists.
- Anyway you should use AmigaOS 3.x for best results.
-
- - BlackBorder is not fully supported by AmigaOS 2.x, but should work.
-
- - Some very old drives do not like NoClick, so switch it off at once if
- your drive makes funny noises...
-
- - If you like to toggle some of MultiCX's features using hotkeys, you
- should try ToolManager 2.1 (by Stefan Becker) together with DoIcon (by
- Lars Eilebrecht).
-
- - MultiCX may be enabled, disabled or removed from within scripts by
- using HandleCX (included in this archive). Should always be done when
- starting nasty games...
-
- - External Preferences programs must not use more than 4096 byte stack,
- and should use ReadArgs to get needed arguments. The program is
- responsible for things like protecting itself against being started
- twice, popping it's screen to front etc.
-
- In order to get the path and name of MultiCX's active icon file a
- Public Semaphore has been implemented. Programs can use FindSemaphore
- to get the base of the following structure:
-
- struct MCXSemaphore
- {
- struct SignalSemaphore mcx_Sem;
- BPTR mcx_Lock; /* Copy of my wa_Lock */
- CHAR *mcx_Name; /* Ptr to Icon Filename */
- }
-
- The name of the Semaphore is "MultiCX.Semaphore". Don't forget to
- protect all accesses by a Forbid/Permit pair, because the Semaphore
- will be removed if MultiCX ends.
-
-
- ------------------------------------------------------------------------
- History
- ------------------------------------------------------------------------
-
- 1.00 - 1.20 internal Beta releases
-
- 1.21 first public release
-
- 1.22 - Keyboard Mouse works with SUNKEY now
- - SCRBLANK uses Standard Monitor now if BestModeID could
- not find a valid ScreenMode
-
- 1.23 - improved MOUSESHIFT and MMBCYCLE, see details above
-
- 1.24 - removed little bug in new MMBCYCLE
-
- 1.25 - improved SCRBLANK under AmigaOS 2.x
-
- 1.30 - Signal/Message system completely rewritten to prevent
- deadlock situations
- - improved WINREMEMBER
- - created seperate version for OS 3.x only with reduced
- code overhead
-
- 1.31 - improved WINCYCLE and SUN-functions
-
- 1.32 - improved Signal/Message system and asynchronous design
- - improved documentation
- (Special thanks go to John C. Davis for his help)
-
- 1.33 - removed some more deadlock candidates
-
- 1.34 - removed a small message handling bug
-
- 1.35 - fixed stupid bug in WINCYCLE (I hate those typos...)
-
- 1.36 - fixed problem in WINREMEMBER which could cause
- Enforcer hits under some very special conditions
-
- 1.37 - improved AutoRepeat behaviour
-
- 1.40 - Exchange's "Show Interface" or HandleCX's "POPUP"
- will open WB Icons/Information now (OS 3.x only!)
- - fixed bug in SCRBLANK
-
- 1.41 - implemented CX_POPKEY feature (OS 3.x only!)
- - MultiCX opens WBInfo now if it is already running
- and started again (OS 3.x only!)
-
- 1.42 - POPCLI Shell gets full path now (what a bad hack...;-)
- - SCRBLANK, WINCYCLE, ACCELERATION and THRESHOLD no
- longer accept negative values
-
- 1.45 - improved handling of windows with active menu
- - implemented timeout for re-blanking of screen
- - screen will be unblanked when disk is inserted
- - Mouse Blanker is more compatible to (bad) graphics
- boards now
- - implemented POPCLISTACK ToolType
- - MMBCYCLE changed to SCRCYCLE, see details above
- - improved MOUSESHIFT, see details above
-
- 1.46 - deselecting an icon now works with MOUSESHIFT=MMB,
- just keep LButton pressed while releasing MButton
- for a short while
-
- 1.47 - Mouse Blanker changed back to old routine, because
- some gfx board drivers seem to have even more problems
- with ss_height > 0
- - implemented HOTBLANK and LIKEWB features
-
- 1.48 - improved ENTERASCII slightly
-
- 1.49 - improved SCRCYCLE, MOUSESHIFT and ENTERASCII
- - some code optimizations
-
- 1.50 - some very small bugs fixed
- - overall code improvements
-
- 1.51 - implemented MOIRE Screen Blanker and some ToolTypes,
- see details above
-
- 1.52 - implemented Color Cycling for MOIRE Blanker
- - implemented SCRMODE ToolType
- - HOTBLANK works always now, even if SCRBLANK is 0
-
- 1.53 - implemented CSPEED ToolType for Moire Blanker
-
- 1.54 - Blanker timer was not cleared on Enable/Disable
-
- 1.55 - LINES=1 or TRAIL=1 waked up the guru...
- - improved Amiga-is-busy blanking
- - improved CAPSHIFT to handle foreign characters (ALT)
- - ENTERASCII now uses RALT only, this should prevent
- problems with other software using ALT-NUMKEYs
-
- 1.56 - CX_POPKEY now brings Workbench screen to front before
- opening WBInfo
- - implemented Window Cycling via hotkeys, new ToolTypes
- are FRONT2BACK and BACK2FRONT
-
- 1.57 - Mouse was not always blanked with HOTBLANK
-
- 1.58 - Arghhhh...
- Mouse blanking still was not 100% ok, but now it is!
- - some code optimizations
-
- 1.59 - fixed some problems with BMB ScreenCycling
-
- 1.60 - implemented NOCAPSLOCK
- - included new version of HandleCX
-
- 1.61 - implemented FRONTPUBSCR, POPPUBSCR and SHANGHAI
- - removed WBTOFRONT because it's no longer needed
-
- 1.62 - implemented CDNOBLANK for ScreenBlanker
-
- 1.63 - implemented CENTERSCR and SNDFILTER ToolTypes
-
- 1.64 - implemented MAPUMLAUTS
- - implemented TDRETRY, TDSTEP, TDSETTLE and TDCALIBRATE
-
- 1.65 - fixed a potential deadlock problem
-
- 1.66 - OS3-only version did not work with Kickstart v39
- because keymap.library was v37 in these OS versions
-
- 1.67 - improved unblanking of Moire Blanker
-
- 1.68 - overall code improvements
- - implemented AVOIDTASK and AVOIDSCREEN
-
- 1.69 - improved BMB ScreenCycling again
- - if SCRCYCLE and MOUSESHIFT are both set to MMB, then
- SCRCYCLE will use a Double-MMB-Click
- - implemented Semaphore for MultiCXPrefs by M.Barsoom
-
- 1.70 - fixed small bug in new MMB handling code
- - implemented HOTFLUSH
- - implemented EXTPREFS ToolType to support external
- Preferences programs for MultiCX
-
-
- ------------------------------------------------------------------------
- Author
- ------------------------------------------------------------------------
-
-
- Martin Berndt
-
- Fr.-Alfred-Str. 115
- 47226 Duisburg
-
- Germany
-
- E-Mail Germany: m_berndt@wanderer.dssd.sub.org
- E-Mail International: m_berndt@wanderer.gun.de
-
-
- ------------------------------------------------------------------------
- Legal Stuff
- ------------------------------------------------------------------------
-
- MultiCX is GIFTWARE, so simply send me anything you like.
- Gold bars, Ferraris and programming jobs in the US are prefered... ;-)
-
- If you have no idea of what to send me, just put $10 in an envelope.
-
- BTW: Only 11 (in words: ELEVEN) users have sent a gift, yet. So it seems
- that it's not worth the effort, because nobody is using MultiCX.
- Is that true?
-
- Copyright
- ---------
- MultiCX is written and copyright © 1994-1995 by Martin Berndt. No parts
- of this program may be altered by any means (this includes editing,
- reprogramming, crunching, resourceing etc.), except archiving.
-
- Disclaimer
- ----------
- The author is in no way liable for any changes made to any part of the
- program, or consequences thereof as he is in no way liable for damages
- or loss of data directly or indirectly caused by this software.
-
- Distribution
- ------------
- Neither fees may be charged nor profits may be made by distributing this
- piece of software. Only a nominal fee for costs of magnetic media may
- be accepted, the amount of US $5 shouldn't be exceeded for a disk
- containing MultiCX. CD Manufactures are specifically granted the right
- to include this program on CD collections, as long as they are for the
- Public Domain.
-