[comp.sys.mac.programmer] Adding custom DA menus for hierDA

davidl@intelob.intel.com (David Levine) (10/01/88)

I just installed hierDA.  I love it!  But there are some DAs whose
menus do not show up (miniWRITER and Grep-wc 1.1 for two).  I would
like to overcome this by adding MENU resources as described in
hierDA's on-screen documentation.  To wit:
 
	"Not all DAs use the standard approach to menus, so some DAs
	which do use menus may not have submenus.  This is not a bug.

	...

	Hacker Info
	----------
	    hierDA takes its cues from a DA's MENU resources.  To
	customize a Desk Accessory's submenu menu, add a menu to the
	DA with sub-ID 31.  It will be used as the submenu instead
	of the DA's menu, without affecting the DA whatsoever.
	hierDA keys off menu item strings, not item numbers, so you
	can add/delete freely.  (You could use this to put a small
	font list onto Key Caps, for example, or to rip out
	everything in DiskTop's menu except ShutDown.)  Do not
	modify a DA's _existing_ MENU resource, as this tends to
	cause a LOT of problems!"

I'm an experienced ResEdit hacker but I'm unfamiliar with the rules
for calculating the ID for an owned resource.

I have three questions:

1. Given a DA whose menu does not appear in hierDA for whatever reason
("not a bug"), if I create a MENU resource that duplicates the DA's
menu, give it the appropriate ID, and install it, will that make the
menu appear in hierDA?

2. How do I calculate the MENU's ID number?

3. hierDA says to "add [the] menu to the DA."  Where do I install the
MENU resource?  In the System file?  In the DA's suitcase file (under
Suitcase[TM])?

If you can answer these questions, I'd greatly appreciate it.  (If you
can answer these questions, maybe you can tell me why McSink 3.0 is so
hostile to hierDA...)  (No, I haven't tried more recent versions of
McSink.  Yet.)

Thanks a bunch,

David D. Levine                        BBBBBBBBB  IIII IIII NNN  NNNN TM
Senior Technical Writer                BBBB  BBBB iiii iiii NNNN NNNN
BiiN - An Information Systems Company  BBBBBBBBB  IIII IIII NNNNNNNNN
                                       BBBB  BBBB IIII IIII NNNN NNNN
 ...tektronix!ogcvax!inteloa!davidl    BBBBBBBBB  IIII IIII NNNN  NNN

dtw@f.gp.cs.cmu.edu (Duane Williams) (10/03/88)

First of all, back up your System before you start editing it in
case something goes wrong.

Let's say you want to add a submenu to the miniWriter item in the 
Apple menu.  Use ResEdit under Finder to add a MENU to the System
file, as follows.  First look up the DRVR ID of miniWriter.  It's
24 in my System, but may be different in yours.  Create a new 
MENU and open the "Get Info" window for it.  Put the DA's ID (e.g.,
24) into the "Owner ID" field, select DRVR in the "Owner type" list,
and put 31 into the "Sub ID" field.  ResEdit will automatically 
calculate the MENU ID -- don't change it!  Close the "Get Info" 
window and open the MENU window and edit the MENU.  For miniWriter,
I created a MENU with just two items:  "New" and "Open...".  This
is easiest to do it you have ResMENU installed in ResEdit.  Now
close and save the System file.  Restart your Mac with hierDA in
your System Folder.  You will now have a new submenu for miniWriter.

I don't know anything about dealing with DAs in Suitcase files.
-- 
uucp: ...!seismo!cmucspt!me.ri.cmu.edu!dtw
arpa: dtw@cs.cmu.edu