home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / MCX170.LHA / MultiCX.doc < prev    next >
Encoding:
Text File  |  1995-05-19  |  19.9 KB  |  558 lines

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