Ê AutoAssassinª 1.1 by Bill Monk © 1992 Ziff-Davis Publishing Co. © 1992 MonkWorks Welcome to AutoAssassin! Instead of running a special application (such as Alias Assassin) to find problem aliases, AutoAssassin lets you fix or trash faulty aliases on the fly, as they show up. It also simplifies locating and Getting Info on the items your aliases point to, whether they're in Finder windows or in the Apple menu. Whenever you open an alias which turns out to be bad, the Finder normally shows the message "The alias could not be opened because the original could not be found". Sure, this is a lot of fun the first thousand times, but the Finder really could be a bit more helpful here. Instead, AutoAssassin gives you this: Ê Installation ---------------------------------------------------------------------------- Place AutoAssassin in the Extensions folder (just drag it to the System Folder is the easiest way) and restart your Mac. System 7.0 or better is required. For the paranoid/careful user, a better procedure is to try a test run with ONLY AutoAssassin, then add back your other extensions. An extension manager of some sort is very helpful. To deinstall, remove AutoAssassin and restart the computer. Usage ---------------------------------------------------------------------------- Let's say a bad alias interrupts your work flow. AutoAssassin steps in. Your choices are: 1) Connect... lets you select a new target from a Standard File dialog. The alias is updated (along with its icon, if needed) and things proceed exactly as you intended when you first clicked the alias. The target is opened and away you go. 2) Move Alias to Trash does exactly that. After all, it's just an alias. There are plenty more where that one came from. 3) Cancel leaves the alias untouched. Remember, some "bad" aliases actually point to a network object which is currently unavailable (server is down, wrong AppleShare privileges, etc.). Note if you open a network alias but the network is down, AppleTalk is off, or there is some other reason the network entity isn't available, the alias can't work. Instead of the same old uninformative Finder alert that always comes up, AutoAssassin also tells you there may be a network problem, rather than an alias problem per se. Check AppleTalk, FileSharing, Network cdev, cabling, etc. before blaming the alias. Then try again. There's Balloon Help here, for what it's worth. Modifier Keys ---------------------------------------------------------------------------- Besides helping out with faulty aliases, AutoAssassin makes it easier to work with the ones that don't have problems. There are shortcuts for displaying an alias's target and for Getting Info on a target. Command Key ------------ To display the item an alias points to, double click the alias while holding down the Command key. Keep the Command key down until you see a momentary message "Showing ". An AppleEvent is then sent to the Finder, asking it to open the window containing the original item. After a brief moment, the window opens and the item is selected. Control Key ---------- To Get Info for the item an alias points to, double click the alias while holding down the Control key. Keep the Control key down until you see a momentary message "Getting Info on ". Again, an AppleEvent is sent to the Finder requesting it to show the target's Get Info window. And again, it takes a moment for the Finder to respond to our request. You can also Cmd- or Control Click the "Find Original" button in Get Info windows. If you don't like my choice of modifier keys, see "Keyboard Notes" below. The Finder uses some modifier-click combinations in its own way, limiting our choices here. Apple Menu Usage ---------------------------------------------------------------------------- Nifty-keen! Simply select any alias from the Apple menu while holding down the Command or Control key. This makes it very simple to get to stuff you've aliased into the Apple menu. Keyboard Notes: ---------------------------------------------------------------------------- When double-clicking, the Option key works as it always does in the Finder: Option clicking an object opens the object and closes the window containing the object. So an Option-Command-double-click on an alias closes the window the alias is in, and displays the alias's target. (Of course, if the alias is on the Desktop, that doesn't close.) - The Shift key also works as usual in the Finder: It is used to add or remove icons from a selection. As you may have noticed, the Finder does not allow a Shift-double-click to do anything. This remains true regardless of whether AutoAssassin is installed or not. - If you have more than one item selected and you want AutoAssassin to do modifier processing on them all (say, show the original of each one), then hold down the cmd key until they are all handled. A momentary dialog appears as each alias is processed, to give you a clue how long to keep the key down. For example, if 5 items are selected but you release the modifier key after the third item is processed, the remaining items in the selection are handled normally by the Finder - i.e. they will be opened as usual, not processed by AutoAssassin. AutoAssassin must process each alias one by one, because the Finder provides NO approved way to determine how many icons are selected in a Finder window. There are some hacks around to get that info; I have some idea but if anyone wants to help out and clue me in on the big secret I'd be happy to add it to the program. Hacker's Note: ---------------------------------------------------------------------------- If you get sick of the momentary dialogs that appear during command key processing, you can reduce the amount of time they are on screen using Resorcerer or ResEdit. Sorry there's no user interface for this - I think the standard value (45 ticks) is fine for most people. Working on a copy, open the AutoAssassin file and locate the 'DTiM' ID 128 resource. Open it; there's a TMPL included. Change the value to the number of Ticks (60th's of a second) you'd like the dialogs to appear on screen. If this value is zero (or the resource is completely missing) the dialogs display the minimum possible time. They still appear briefly, since you need some sort of feedback with multiple selections. Testing ---------------------------------------------------------------------------- The program has been tested on a PowerBook 140, an LC, an si, a ci, and a Quadra 700, under 32-bit addressing where possible or necessary, and with Virtual Memory in some cases. A variety of software quality assurance tools have been used. Known bugs, quirks, and problems ---------------------------------------------------------------------------- No known bugs. That doesn't mean there aren't any. All programs have bugs. See Caveats and disclaimer below. AppleEvent Quirks: ---------------- Remember: the System 7 Finder was finalized before the AppleEvent spec was. It does some weird things at times, especially with events that make a selection. When the Finder receives an AppleEvent asking it to show an object, it highlights it. But it fails to unhighlight any previous selection. So now TWO things are selected. Opening or dragging one drags them both! This means a Cmd-double click on an alias will result in the alias AND its target being selected in the Finder, even if they are in different windows. The alias is selected because you clicked it, and the target is selected because the Finder selected it for you. This is an annoyance, and affects any program that sends these kind of AppleEvents to the Finder. I've noticed it with Frontier, for example, and several other AE apps. Also, sometimes after the Finder selects an item in response to an AppleEvent, the selection is hard to get rid of. You have to Shift-click, or first select some other item, then click in the desktop or window. If you have a multiple selection and one of the aliases points to a network volume, you will get the network logon dialog. While this dialog is on the screen, the Finder seems to lose any AppleEvents sent to it. The Finder is, after all trying to open aliases at the same time we are sending it AppleEvents. There's a limit to how many things it can do at once. HAM 1.0 problems: ---------------- AutoAssassin 1.0 is presently incompatible with HAM 1.0 from Microseeds. If you cancel from AutoAssassin's main dialog, what appears to be a latent bug in HAM 1.0 is exposed. HAM 1.0 drops into the debugger with a DebugStr() and posts a message "HAM: NIL pendingMenus list". If (like most people) you don't have a debugger installed, HAM crashes your machine instead. Also, every time you move a file, HAM opens it and tries to locate an alias resource inside. If the alias is bad, this tends to trigger AutoAssassin at unexpected times. I have no workarounds for these problems. If you use HAM 1.0, don't use AutoAssassin. If you use AutoAssassin, use one of the other hierarchical Apple Menu programs. AutoAssassin has been tested and is compatible with NowMenus 3.2 & 4.0, Kiwi PowerMenus, and another freeware H-menu init (whose name I can't remember right now). Another possibility is to contact Microseeds and ask them to make a version which doesn't use DebugStr for error handling. HAM 1.0 calls DebugStr in 3 different places. I suspect this was an oversight, but it is very uncomfortable for people without debuggers. Kiwi PowerWindows ------------------ AutoAssassin must load -after- KPM. TO do that, put AutoAssassin into the Control Panels folder rather than Extensions folder, then rename AutoAssassin to "lAutoAssassin", or use one of the excellent init managers to change the loading order. General Caveats ----------------------------------------------------------------------------- Let me point out that AutoAssassin is an extension (init). It patches the Alias Manager, and what it does is not particularly easy to pull off, for several reasons. It's been carefully written and tested with a variety of other software, but the possibility of incompatibilities or bugs always exists. As always, I will address any problems promptly, but you must first agree to hold both the author and Ziff-Davis Publishing blameless in the case of such problems. There is no warranty or guarantee. Remember: the safest way to run your Mac is with NO non-Apple extensions (but few people have this kind of willpower). It would be much easier if something like AutoAssassin were part of the System software. After you've tried it, bug Apple to build these ideas in. Then people like me won't need to patch them in. You can reach me via email with questions or problems. Bug reports are particularly welcomed. I'll get back to you quickly. Enjoy. Bill Monk CIS 72511,301 or 72267,2124 AppleLink: MONK Internet: use 72511.301@compuserve.com ---------------------------------------------------------------------------- AutoAssassin was written in C and assembly using these excellent tools: Think C 5.0.3, CMaster, Resorcerer, MemCheck, Macsbug, Jasik Debugger, and PatchWorks++ (an object oriented framework for trap patches, released at MacHack '92 thanks to Patrick Beard and Mouse Herrell) . The nifty color and B&W icons are thanks to the artistry of Mark J. L. Simmons. ============================================================================== © 1992 Ziff-Davis Publishing Co., © 1992 Bill Monk/MonkWorks., All Rights Reserved. This utility can be copied but is copyrighted. You may make copies for others as long as no charge is involved and this document is included, but making copies for any commercial purpose is prohibited. It is available exclusively through Ziff Communications on-line services and electronic publishing projects. ============================================================================== AutoAssassin was written by Bill Monk for Ziff-Davis Publishing Company. Though provided free of charge, it is copyrighted software. Copies may be made as long as this document is included and you do not charge for the copies or for the disks. ============================================================================== Though built and tested carefully on a range of Macintosh models and various storage devices, this software may contain errors or omissions, or may interact in strange ways with other software. All responsibility for use/misuse of this software remains with you, the user. Use at your own risk. No warranty, guarantee, or remedy of any kind is provided, which if you think about it is very similar to what you get with those business productivity packages costing three figures. ============================================================================== AutoAssassin is Copyright © 1992 Ziff-Davis Publishing Co. Copyright © 1992 Bill Monk/MonkWorks All Rights Reserved. ==============================================================================