home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / mcx172.lha / MultiCX.doc < prev    next >
Encoding:
Text File  |  1995-05-25  |  20.5 KB  |  573 lines

  1. ------------------------------------------------------------------------
  2.                          MultiCX 1.72 (25.5.95)
  3. ------------------------------------------------------------------------
  4.  
  5. MultiCX  is the smallest Multi-Function-Commodity for the Amiga, thought
  6. as  a  replacement  for  many  larger  and  sometimes  badly  programmed
  7. programs.  It is a 100% pure commodity, which means that it does not use
  8. any  patches (SetFunction), no interrupts and no special input handlers.
  9. So it can safely be disabled or removed at any time.
  10.  
  11. ------------------------------------------------------------------------
  12.                                 Features
  13. ------------------------------------------------------------------------
  14.  
  15. - Notification
  16.  
  17.   MultiCX  recognizes  any  changes  of  the ToolTypes while running, so
  18.   there's no real need for a GUI.
  19.  
  20. - Screen Blanker
  21.  
  22.   MultiCX  includes  a  simple but compatible screen blanker.  It always
  23.   uses  the  display  mode  which  fits best to the actual front screen,
  24.   while taking the lowest resolution with only one plane.
  25.  
  26.   ToolTypes:
  27.  
  28.   SCRBLANK=n            sets number of seconds until screen blanks,
  29.                         0 means OFF
  30.   HOTBLANK=Qual&Key     sets hotkey for immediate blanking
  31.   CDNOBLANK             do not blank screen if Carrier is detected
  32.                         (currently only supports internal serial port)
  33.   AVOIDTASK=Pattern     do not blank screen if OwnerTask of active
  34.                         screen matches pattern
  35.   AVOIDSCREEN=Pattern   do not blank screen if Title of active screen
  36.                         matches pattern
  37.   LIKEWB                forces cloning the WB's display mode
  38.   SCRMODE=ModeName      selects a display mode by name
  39.  
  40.   AVOIDTASK  and AVOIDSCREEN fully support AmigaDOS pattern matching and
  41.   work case insensitive.
  42.   If  LIKEWB  and  SCRMODE  are  set,  SCRMODE is only used if WB is not
  43.   available for some reason.  But this should never happen...
  44.  
  45. - Moire Blanker
  46.  
  47.   MultiCX has a really nice screen blanker, too!  It steals no processor
  48.   time  from other tasks, and if it couldn't draw a line for longer than
  49.   10  seconds  it  falls  back to a simple black screen.  There are some
  50.   parameters to play with...
  51.  
  52.   ToolTypes:
  53.  
  54.   MOIRE                 selects Moire blanker
  55.   LINES=n               number of lines, default is 2
  56.   TRAIL=n               length of trail, default is 64
  57.   XSPEED=n              x offset for next line, default is 4
  58.   YSPEED=n              y offset for next line, default is 6
  59.   CSPEED=n              color cycling delay, default is 16
  60.   COLOR=n               drawing color, range is 1-4095
  61.                         0 means Random, -1 means Color Cycling
  62.  
  63. - Mouse Accelerator
  64.  
  65.   MultiCX  lets  you  set Acceleration and Theshold (minimum movement to
  66.   activate Acceleration) for smooth mouse handling.
  67.  
  68.   ToolTypes:
  69.  
  70.   ACCELERATION=n        sets Acceleration factor, 0 means OFF
  71.   THRESHOLD=n           sets Threshold value, 0 means no Threshold
  72.  
  73. - Mouse Blanker
  74.  
  75.   MultiCX blanks the mouse pointer on keypress and/or after approx.  30
  76.   seconds when no mouse movement has occured.
  77.  
  78.   ToolTypes:
  79.  
  80.   KEYBLANK              activates MouseBlanking on keypress
  81.   TIMEBLANK             activates MouseBlanking after timeout
  82.  
  83. - Screen Cycle
  84.  
  85.   MultiCX  allows you to cycle screens using either MiddleMouseButton or
  86.   BothMouseButtons,  this  is  equivalent to LCOMMAND M.  Additionally a
  87.   hotkey for backward cycling may be defined.
  88.  
  89.   If  MOUSESHIFT  and  SCRCYCLE  are both set to MMB, then ScreenCycling
  90.   will occur on a Double-MMB-Click.
  91.  
  92.   ToolTypes:
  93.  
  94.   SCRCYCLE=MMB|BMB      sets Screen Cycle to MMB or BMB
  95.   BACKCYCLE=Qual&Key    sets Qualifier and Key for BackCycle,
  96.                         none means OFF
  97.  
  98. - Mouse Shift
  99.  
  100.   MultiCX  lets  you  use the RightMouseButton or MiddleMouseButton as a
  101.   Shift-Key for extended selection.
  102.  
  103.   And this is how it works with RightMouseButton:
  104.  
  105.   1. Press LeftButton to select first icon and hold it.
  106.   2. Press RightButton and hold it.
  107.   3. Release LeftButton and keep RightButton pressed.
  108.   4. Now select some more icons with LeftButton.
  109.   5. To deselect an icon, click on it with LeftButton and keep it
  110.      pressed, then release RightButton and press it again.
  111.  
  112.   Sounds much more complicated than it is...
  113.  
  114.   ToolTypes:
  115.  
  116.   MOUSESHIFT=RMB|MMB    sets MouseShift to RMB or MMB
  117.  
  118. - Window Cycle
  119.  
  120.   MultiCX  lets  you put a window to front/back by a configurable number
  121.   of  LeftButton  clicks.  Qualifiers can be defined for both functions.
  122.   Additionally  there  are two hotkeys available for TopWindowToBack and
  123.   BottomWindowToTop.  But only windows with a Depth Gadget  are affected
  124.   by Window Cycling.
  125.  
  126.   ToolTypes:
  127.  
  128.   WINCYCLE=n            sets number of mouse clicks for WindowCycle,
  129.                         0 means OFF
  130.   WINFRONTQUAL=Qual     sets Qualifier for WindowToFront
  131.   WINBACKQUAL=Qual      sets Qualifier for WindowToBack
  132.   FRONT2BACK=Qual&Key   sets hotkey for TopWindowToBack
  133.   BACK2FRONT=Qual&Key   sets hotkey for BottomWindowToTop
  134.  
  135. - SUN-alike Window Activation
  136.  
  137.   MultiCX has three different options to activate windows automatically.
  138.   All  of  them activate the window under the mouse pointer, SunKey does
  139.   it  on  every  keypress,  SunMouse  does  it after mouse movement, and
  140.   SunRMB  does  it after pressing the right mouse button.  So SunKey and
  141.   SunMouse together seem to be rather useless.
  142.   Windows  with  active Gadgets  (like FileRequesters etc) will never be
  143.   deactivated by one of these functions.
  144.  
  145.   ToolTypes:
  146.  
  147.   SUNKEY                activates SunKey
  148.   SUNMOUSE              activates SunMouse
  149.   SUNRMB                activates SunRMB
  150.  
  151. - HoldX and HoldY
  152.  
  153.   MultiCX  allows you to lock a specific mouse dimension while holding a
  154.   defined Qualifier. If both Qualifiers are set to the same it locks all
  155.   mouse movements. So you are responsible for useful settings...
  156.  
  157.   ToolTypes:
  158.  
  159.   HOLDXQUAL=Qual        sets Qualifier for HoldX, none means OFF
  160.   HOLDYQUAL=Qual        sets Qualifier for HoldY, none means OFF
  161.  
  162. - Enter ASCII
  163.  
  164.   MultiCX  allows you to enter ASCII codes directly by pressing the RALT
  165.   key  and the  numbers in the numeric block, for example: <ALT> 65 = A.
  166.   Maximum 3 digits, value must not be greater than 255.
  167.  
  168.   ToolTypes:
  169.  
  170.   ENTERASCII            activates EnterASCII
  171.  
  172. - Map Umlauts
  173.  
  174.   This  option  might be of use for german users or other people writing
  175.   german  texts.   It  will  convert  the german umlauts into the normal
  176.   character pendants.
  177.  
  178.   ToolTypes:
  179.  
  180.   MAPUMLAUTS            activates MapUmlauts
  181.  
  182. - CapShift
  183.  
  184.   This  option  changes  the  way  CapsLock  works.  Just try activating
  185.   CapsLock,  and  then  press some shifted letters to get an idea of it.
  186.   Hotkeys etc. are no longer affected by CapsLock.
  187.   CapShift is ignored if NoCapsLock is active.
  188.  
  189.   ToolTypes:
  190.  
  191.   CAPSHIFT              activates CapShift
  192.  
  193. - NoCapsLock
  194.  
  195.   ... simply switches off CAPSLOCK completely.
  196.  
  197.   ToolTypes:
  198.  
  199.   NOCAPSLOCK            activates NoCapsLock
  200.  
  201. - Window Close/Zoom
  202.  
  203.   MultiCX  allows you to close/zoom windows using pre-defined Qualifiers
  204.   and Keys.
  205.  
  206.   ToolTypes:
  207.  
  208.   WINCLOSE=Qual&Key     sets Qualifier and Key for CloseWindow,
  209.                         none means OFF
  210.   WINZOOM=Qual&Key      sets Qualifier and Key for ZoomWindow,
  211.                         none means OFF
  212.  
  213. - Window Remember
  214.  
  215.   MultiCX remembers the last active window on every screen, and the next
  216.   time  you  go  to  that  screen,  this  window  will  be  re-activated
  217.   automatically.
  218.  
  219.   ToolTypes:
  220.  
  221.   WINREMEMBER           activates WindowRemember
  222.  
  223. - CenterScreen
  224.  
  225.   The active screen is centered when this hotkey is pressed.
  226.  
  227.   ToolTypes:
  228.  
  229.   CENTERSCR=Qual&Key    sets Qualifier and Key for CenterScreen,
  230.                         none means OFF
  231.  
  232. - HotFlush
  233.  
  234.   MultiCX frees all unneeded memory when pressing this hotkey, just like
  235.   "Avail flush" does.
  236.  
  237.   ToolTypes:
  238.  
  239.   HOTFLUSH=Qual&Key     sets Qualifier and Key for HotFlush,
  240.                         none means OFF
  241.  
  242. - PopCLI
  243.  
  244.   MultiCX  spawns  a  UserShell  using  the  given  command  string when
  245.   pressing  the  PopCLI  key.
  246.  
  247.   ToolTypes:
  248.  
  249.   POPCLI=Qual&Key       sets Qualifier & Key for PopCLI, none means OFF
  250.   POPCLICMD=Command     sets command string for PopCLI, none means OFF
  251.   POPCLISTACK=n         sets stacksize for PopCLI (Default: 4096)
  252.  
  253. - FrontPubScreen
  254.  
  255.   If  this option is activated the FrontScreen automatically will become
  256.   the actual DefaultPubScreen, as long as it is public and not private.
  257.  
  258.   ToolTypes:
  259.  
  260.   FRONTPUBSCR           activates FrontPubScreen
  261.  
  262. - System Flags
  263.  
  264.   MultiCX lets you set/change some of the internal AmigaOS flags.  These
  265.   may  be  set,  unset  or  left unchanged, where a parameter of 0 means
  266.   deactivate, 1 or any value >0 means activate, and putting the ToolType
  267.   in brackets (the same as removing it) means no change.  Old values are
  268.   NOT  restored when quitting/disabling MultiCX, but Notification may be
  269.   used at any time.
  270.  
  271.   ToolTypes:
  272.  
  273.   BLACKBORDER=n         changes BlackBorder flag, ECS Denise needed
  274.   NOCLICK=n             changes NoClick flag for all drives,
  275.                         may not work with very old drives
  276.   WILDSTAR=n            changes flag for extended WildCarding,
  277.                         if ON "*" may be used instead of "#?"
  278.   SNDFILTER=n           switch Sound filter ON/OFF
  279.  
  280. - Trackdisk Parameters
  281.  
  282.   This  option  is  used to set some parameters of trackdisk.device.  If
  283.   used  with  care these settings could make your drives faster and less
  284.   noisy.   Old  values are NOT restored when quitting/disabling MultiCX,
  285.   but default values are set when disabling these Tooltypes.
  286.  
  287.   ONLY USE THEM IF YOU KNOW EXACTLY WHAT YOU ARE DOING!
  288.  
  289.   ToolTypes:
  290.  
  291.   TDRETRY=n             change TDU_RETRYCNT              (Default is 10)
  292.   TDSTEP=n              change TDU_STEPDELAY           (Default is 3000)
  293.   TDSETTLE=n            change TDU_SETTLEDELAY        (Default is 15000)
  294.   TDCALIBRATE=n         change TDU_CALIBRATEDELAY      (Default is 4000)
  295.  
  296. - Public Screen Flags
  297.  
  298.   MultiCX  also lets you set/change the global Public Screen flags. These
  299.   may  be locked, so that other tasks cannot change them.  The values are
  300.   the same as for the System flags (see above).
  301.  
  302.   ToolTypes:
  303.  
  304.   POPPUBSCR=n           changes PopPubScreen flag
  305.   SHANGHAI=n            changes Shanghai flag
  306.   LOCKPUBFLAGS          locks Public Screen flags
  307.  
  308. - Internal and External Preferences
  309.  
  310.   Normally  MultiCX opens a WBInfo Requester on CX_POPUP (OS 3.x only!),
  311.   but  this  may be replaced by an external program like MultiCXPrefs by
  312.   Michael Barsoom. BTW: Thanks for the great work, Michael!
  313.  
  314.   ToolTypes:
  315.  
  316.   CX_POPUP=Qual&Key     sets Qualifier and Key for WBInfo or ext. Prefs
  317.   EXTPREFS=Command      sets Command to execute for external Preferences
  318.  
  319.  
  320. ------------------------------------------------------------------------
  321.                             Notes and Hints
  322. ------------------------------------------------------------------------
  323.  
  324. - MultiCX must be started from WB, CLI/Shell is not supported.
  325.  
  326. - MultiCX  is  100%  compatible to Commodore's  specifications, so don't
  327.   complain if some bad-behaving software does not work with it.
  328.   For  example:   Some bad filesystems do not support Notification, some
  329.   bad gfx-board drivers do not support MouseBlanking etc...
  330.  
  331. - MultiCX's  Screen  Blanker  uses  BestModeID to find  the best display
  332.   mode.   Because  this is impossible under AmigaOS 2.x,  MultiCX uses a
  333.   special masking algorythm to find the display mode. But this relies on
  334.   the fact, that a DisplayID with all ModeKeys set to 0 exists.
  335.   Anyway you should use AmigaOS 3.x for best results.
  336.  
  337. - BlackBorder is not fully supported by AmigaOS 2.x, but should work.
  338.  
  339. - Some very old drives do not like NoClick,  so switch it off at once if
  340.   your drive makes funny noises...
  341.  
  342. - If  you  like to toggle some of MultiCX's features using  hotkeys, you
  343.   should try ToolManager 2.1 (by Stefan Becker) together with DoIcon (by
  344.   Lars Eilebrecht).
  345.  
  346. - MultiCX  may  be  enabled, disabled or removed  from within scripts by
  347.   using HandleCX (included in this archive).  Should always be done when
  348.   starting nasty games...
  349.  
  350. - External Preferences programs must not use more than  4096 byte stack,
  351.   and  should  use  ReadArgs  to  get  needed arguments.  The program is
  352.   responsible  for  things  like protecting itself against being started
  353.   twice, popping it's screen to front etc.
  354.  
  355.   In  order  to  get  the  path and name of MultiCX's active icon file a
  356.   Public Semaphore has been implemented.  Programs can use FindSemaphore
  357.   to get the base of the following structure:
  358.  
  359.   struct MCXSemaphore
  360.   {
  361.         struct  SignalSemaphore mcx_Sem;
  362.         BPTR    mcx_Lock;                     /* Copy of my wa_Lock */
  363.         CHAR    *mcx_Name;                    /* Ptr to Icon Filename */
  364.   }
  365.  
  366.   The  name  of  the  Semaphore is "MultiCX.Semaphore".  Don't forget to
  367.   protect  all  accesses  by a Forbid/Permit pair, because the Semaphore
  368.   will be removed if MultiCX ends.
  369.  
  370.  
  371. ------------------------------------------------------------------------
  372.                                 History
  373. ------------------------------------------------------------------------
  374.  
  375. 1.00 - 1.20     internal Beta releases
  376.  
  377.        1.21     first public release
  378.  
  379.        1.22     - Keyboard Mouse works with SUNKEY now
  380.                 - SCRBLANK uses Standard Monitor now if BestModeID could
  381.                   not find a valid ScreenMode
  382.  
  383.        1.23     - improved MOUSESHIFT and MMBCYCLE, see details above
  384.  
  385.        1.24     - removed little bug in new MMBCYCLE
  386.  
  387.        1.25     - improved SCRBLANK under AmigaOS 2.x
  388.  
  389.        1.30     - Signal/Message system completely rewritten to prevent
  390.                   deadlock situations
  391.                 - improved WINREMEMBER
  392.                 - created seperate version for OS 3.x only with reduced
  393.                   code overhead
  394.  
  395.        1.31     - improved WINCYCLE and SUN-functions
  396.  
  397.        1.32     - improved Signal/Message system and asynchronous design
  398.                 - improved documentation
  399.                   (Special thanks go to John C. Davis for his help)
  400.  
  401.        1.33     - removed some more deadlock candidates
  402.  
  403.        1.34     - removed a small message handling bug
  404.  
  405.        1.35     - fixed stupid bug in WINCYCLE (I hate those typos...)
  406.  
  407.        1.36     - fixed problem in WINREMEMBER which could cause
  408.                   Enforcer hits under some very special conditions
  409.  
  410.        1.37     - improved AutoRepeat behaviour
  411.  
  412.        1.40     - Exchange's "Show Interface" or HandleCX's "POPUP"
  413.                   will open WB Icons/Information now (OS 3.x only!)
  414.                 - fixed bug in SCRBLANK
  415.  
  416.        1.41     - implemented CX_POPKEY feature (OS 3.x only!)
  417.                 - MultiCX opens WBInfo now if it is already running
  418.                   and started again (OS 3.x only!)
  419.  
  420.        1.42     - POPCLI Shell gets full path now (what a bad hack...;-)
  421.                 - SCRBLANK, WINCYCLE, ACCELERATION and THRESHOLD no
  422.                   longer accept negative values
  423.  
  424.        1.45     - improved handling of windows with active menu
  425.                 - implemented timeout for re-blanking of screen
  426.                 - screen will be unblanked when disk is inserted
  427.                 - Mouse Blanker is more compatible to (bad) graphics
  428.                   boards now
  429.                 - implemented POPCLISTACK ToolType
  430.                 - MMBCYCLE changed to SCRCYCLE, see details above
  431.                 - improved MOUSESHIFT, see details above
  432.  
  433.        1.46     - deselecting an icon now works with MOUSESHIFT=MMB,
  434.                   just keep LButton pressed while releasing MButton
  435.                   for a short while
  436.  
  437.        1.47     - Mouse Blanker changed back to old routine, because
  438.                   some gfx board drivers seem to have even more problems
  439.                   with ss_height > 0
  440.                 - implemented HOTBLANK and LIKEWB features
  441.  
  442.        1.48     - improved ENTERASCII slightly
  443.  
  444.        1.49     - improved SCRCYCLE, MOUSESHIFT and ENTERASCII
  445.                 - some code optimizations
  446.  
  447.        1.50     - some very small bugs fixed
  448.                 - overall code improvements
  449.  
  450.        1.51     - implemented MOIRE Screen Blanker and some ToolTypes,
  451.                   see details above
  452.  
  453.        1.52     - implemented Color Cycling for MOIRE Blanker
  454.                 - implemented SCRMODE ToolType
  455.                 - HOTBLANK works always now, even if SCRBLANK is 0
  456.  
  457.        1.53     - implemented CSPEED ToolType for Moire Blanker
  458.  
  459.        1.54     - Blanker timer was not cleared on Enable/Disable
  460.  
  461.        1.55     - LINES=1 or TRAIL=1 waked up the guru...
  462.                 - improved Amiga-is-busy blanking
  463.                 - improved CAPSHIFT to handle foreign characters (ALT)
  464.                 - ENTERASCII now uses RALT only, this should prevent
  465.                   problems with other software using ALT-NUMKEYs
  466.  
  467.        1.56     - CX_POPKEY now brings Workbench screen to front before
  468.                   opening WBInfo
  469.                 - implemented Window Cycling via hotkeys, new ToolTypes
  470.                   are FRONT2BACK and BACK2FRONT
  471.  
  472.        1.57     - Mouse was not always blanked with HOTBLANK
  473.  
  474.        1.58     - Arghhhh...
  475.                   Mouse blanking still was not 100% ok, but now it is!
  476.                 - some code optimizations
  477.  
  478.        1.59     - fixed some problems with BMB ScreenCycling
  479.  
  480.        1.60     - implemented NOCAPSLOCK
  481.                 - included new version of HandleCX
  482.  
  483.        1.61     - implemented FRONTPUBSCR, POPPUBSCR and SHANGHAI
  484.                 - removed WBTOFRONT because it's no longer needed
  485.  
  486.        1.62     - implemented CDNOBLANK for ScreenBlanker
  487.  
  488.        1.63     - implemented CENTERSCR and SNDFILTER ToolTypes
  489.  
  490.        1.64     - implemented MAPUMLAUTS
  491.                 - implemented TDRETRY, TDSTEP, TDSETTLE and TDCALIBRATE
  492.  
  493.        1.65     - fixed a potential deadlock problem
  494.  
  495.        1.66     - OS3-only version did not work with Kickstart v39
  496.                   because keymap.library was v37 in these OS versions
  497.  
  498.        1.67     - improved unblanking of Moire Blanker
  499.  
  500.        1.68     - overall code improvements
  501.                 - implemented AVOIDTASK and AVOIDSCREEN
  502.  
  503.        1.69     - improved BMB ScreenCycling again
  504.                 - if SCRCYCLE and MOUSESHIFT are both set to MMB, then
  505.                   SCRCYCLE will use a Double-MMB-Click
  506.                 - implemented Semaphore for MultiCXPrefs by M.Barsoom
  507.  
  508.        1.70     - fixed small bug in new MMB handling code
  509.                 - implemented HOTFLUSH
  510.                 - implemented EXTPREFS ToolType to support external
  511.                   Preferences programs for MultiCX
  512.  
  513.        1.71     - fixed possible deadlock situation in ScreenBlanker
  514.                 - implemented BACKCYCLE
  515.                 - included nice new icons made by Mario Cattaneo
  516.  
  517.        1.72     - implemented LOCKPUBFLAGS
  518.                 - improved multitasking behaviour
  519.  
  520.  
  521. ------------------------------------------------------------------------
  522.                                  Author
  523. ------------------------------------------------------------------------
  524.  
  525.  
  526.                              Martin Berndt
  527.  
  528.                           Fr.-Alfred-Str. 115
  529.                              47226 Duisburg
  530.  
  531.                                 Germany
  532.  
  533.                E-Mail Germany: m_berndt@wanderer.dssd.sub.org
  534.          E-Mail International: m_berndt@wanderer.gun.de
  535.  
  536.                   Support BBS: WANDERER +49-211-463875
  537.               Login: GAST    Area: WANDERER/BIN/MB-SUPPORT
  538.  
  539.  
  540. ------------------------------------------------------------------------
  541.                               Legal Stuff
  542. ------------------------------------------------------------------------
  543.  
  544. MultiCX  is  GIFTWARE,  so simply send me anything you like.
  545. Gold bars, Ferraris and programming jobs in the US are prefered...   ;-)
  546.  
  547. If you have no idea of what to send me, just put $10 in an envelope.
  548.  
  549. BTW: Only 12 (in words: TWELVE) users have sent a gift, yet. So it seems
  550.      that  it's not worth the effort,  because nobody is using  MultiCX.
  551.      Is that true?
  552.  
  553. Copyright
  554. ---------
  555. MultiCX is written and copyright © 1994-1995 by Martin Berndt.  No parts
  556. of  this  program  may  be  altered by any means (this includes editing,
  557. reprogramming, crunching, resourceing etc.), except archiving.
  558.  
  559. Disclaimer
  560. ----------
  561. The  author  is in no way liable for any changes made to any part of the
  562. program,  or  consequences thereof as he is in no way liable for damages
  563. or loss of data directly or indirectly caused by this software.
  564.  
  565. Distribution
  566. ------------
  567. Neither fees may be charged nor profits may be made by distributing this
  568. piece  of  software.  Only a nominal fee for costs of magnetic media may
  569. be  accepted,  the  amount  of  US  $5  shouldn't be exceeded for a disk
  570. containing  MultiCX.  CD Manufactures are specifically granted the right
  571. to  include  this program on CD collections, as long as they are for the
  572. Public Domain.
  573.