Ratsch! V1.1
============

           --- Tear-off menus under MagiC.

Written by Manfred Lippert
Email: mani@mani.de
Web:   http://www.mani.de/


What is Ratsch!?
================

Ratsch! allows one to tear off menus from the menu bar and place them 
permanently open on the screen, so as to have easier access to the menu 
entries with the mouse.


Freeware
========

Ratsch! may be distributed freely - but only with this text and both 
unaltered. Those who like it may send me an E-mail.


Installation
============

Ratsch! only runs under MagiC and only works together with A-MAN.PRG or
alternatively MenuBar.prg in the AUTO folder.

Ratsch! itself can be started at any time (but not from the AUTO folder), 
and then one can tear off menus. It's best to put RATSCH.PRG together
with RATSCH.RAW into the START folder.


Configuration
=============

Ratsch! can be configured so that the menus are only torn off with the 
Control key pressed. For this one needs the "SETTER.PRG" program by 
Markus Kohm. With this program one can make the Control settings 
directly in RATSCH.PRG.


Notes
=====

- Ratsch! is best placed in the START folder, but can also be started 
  from the desktop.

- Ratsch! absolutely MUST have the possibility of establishing with 
  menu_bar(-2/-3) which menu is the current one. This is made possible 
  by A-MAN.PRG or MenuBar.prg.

- Menus can be "torn off" the menu bar with the (left or right) mouse 
  button held down. There is an option to configure Ratsch! so that 
  Control has to be pressed as well (requires SETTER.PRG).

- All torn-off menus are saved in RATSCH.INF together with their shading 
  and iconify status. This includes the menus that are not visible at 
  the time because their program is not running, for instance.
  The RATSCH.INF file will be saved to $HOME/DEFAULTS or $HOME, if 
  possible.

- Ratsch! passes on all keypresses via AV_SENDKEY to the app to which 
  the first window below the Ratsch! window belongs.

- Ratsch! menus can be topped with the right mouse button.

- Ratsch! can be terminated via AP_TERM (say via "Quit" in the AppLine 
  popup). But even if it is brutally "kicked out" (e.g. via the 
  MagiC Task-Manager) it attempts to unhook itself from the vectors.

- The sample RATSCH.RAW will be played when a menu is torn off, 
  provided this was found at the program start. The sample must be 
  available in 8-bit/Mono/25033Hz, pure data without a header.
  Sound output will only occur if the Falcon Xbios routines are 
  available.


Shortcomings
============

- Ratsch! is (on principle ;-)) a bit of a pig and (most likely) runs 
  only under MagiC. There are minor problems if, say, one runs the 
  cursor to a menu title, then to a menu entry and back to the title, 
  and then tries to tear off the menu... For reasons I can't explain 
  the first menu entry will be selected then in most cases.
  But normally this is not a problem.

- If MagiC could do evnt_multi(MU_M1) even for non-active applications 
  then Ratsch! would require less CPU time...

- Ratsch! windows should perhaps be included in window cycling 
  (Control+W) sometime.

- Submenus are not yet supported.


Outlook
=======

- If I am in the mood and there is a demand, then I will extend Ratsch!, 
  perhaps in a way that one can create self-defined menus to which one 
  can drag individual entries from other menus.


History
=======

Version 1.1
-----------

12.11.98:

- Option of tearing off menus only while pressing Control. (SETTER.PRG 
  required.)

Version 1.0
-----------

1.8.98:

- Menus are not put on the desktop if while tearing them off one places 
  them "back" in the menu bar.

- Conversion to new Libs.


9.7.98:

- Ratsch! should now get along with mouse accelerators. At least it 
  works now with the one from NVDI.

- Ratsch! looks for a 'MbAr' or 'AmAN' cookie to ensure that 
  menubar(-2/-3) is possible.


7.7.98:

- Inquiry whether G_SHORTCUT is present now via appl_getinfo (instead 
  of testing for MagiC 6).


6.7.98:

- Iconified icon incorporated.

- A few AES calls corrected (correct global field).


5.7.98:

- Ratsch! now works also with pulldown menus without one having to 
  flip open the menu beforehand.

- Menus can now also be torn off with the right mouse button.


3.7.98:

- Ratsch! menus are no longer put in the background directly during 
  tearing off. Now only if they open themselves.

- Positions of the Ratsch! menus are no longer "moved" occasionally.

- "MagiC-workaround" during the closing of windows incorporated (short 
  Backdrop). With this the next Ratsch! window does not top itself 
  immediately when another one closes, but the stack of windows 
  remains as it was.


2.7.98:

- Now one can also tear off the accessory menu, and accessories can be 
  activated via the Ratsch! menus.

- Test if a Falcon-Xbios is present.


1.7.98:

- G_SHORTCUT is only used from MagiC 6 onwards.

- If while opening a Ratsch! window the associated app is currently 
  active, then it is topped again immediately, i.e. the Ratsch! window 
  is opened in the bakground, so to speak.

- XBRA hooking in/out revised.


30.6.98:

- All Userdefs are replaced by my own Nicelines. This has cured the
  redraw problems. One could start by saying the Userdefs are always 
  Nicelines...

- All objects that start with "-" are also replaced by Nicelines. The 
  Ratsch! windows appear more uniform thanks to this.

- All G_STRING objects are converted during drawing to G_SHORTCUTS, 
  as MagiC does not draw them properly otherwise (only if the menu 
  for it is currently active).

- Real-time dragging incorporated. Translucent was unfortunately very 
  slow (menus are often relatively large), hence during movement the 
  object is completely opaque. Transparency does not make much sense 
  anyhow, since there is no "destination" that must remain visible.

- With mouse clicks in Ratsch! windows Ratsch! now waits until the 
  mouse button has been released again, and no longer sends thousands 
  of MN_SELECTED messages one after the other... :-}


29.6.98:

- Ratsch! menu windows and everything connected with this.

- Sound while tearing off.


25.6.98:

- Basic structure, a bit of a pig for the tearing off ;-)


Have a lot of fun with Ratsch!
Manfred Lippert

-----------------------------------
English translation Peter West, DDP
