
Nothing on Mac OS X supports this - at least for now - but we do have something similar, and the mechanism has its roots way back in System 7 (or maybe even further back?). It's called Apple Events, and it's the mechanism the window system uses to tell applications which files or URLs to open.
Now if only there were a way to tap into the stream of Apple Events flowing between applications. Unfortunately, no straightforward way exists - at least none that is documented - but Apple have included a nice debug facility that can be enabled on a per-application basis. It is activated by setting a number of environment variables prior to launching the application in question. In particular, UBB sets the AEDebugReceives environment variable, thus causing any app that receives an Apple Event to dump it to the console log. By continuously analyzing the output from the console log, UBB can infer which app caused a different app to open a file or link, and thus create a "back relation" to the app.
For instance, when I click a link in iChat, a "GURL" Apple Event is sent to my default web browser (Safari, FIrefox, etc.). UBB notices this, and when you click the universal back button in your menubar, UBB switches you right back to iChat.
Of course, the mechanism has some drawbacks. For instance, there is no association between different windows - the association only exists between different apps. So if you have several windows open in iChat, the UBB won't necessarily bring you back to the window that sent you to Safari in the first place. But, we have to start somewhere, and this is as good a starting point as any.
To make the mechanism permanent, and work for all the apps that you open, the environment variable has to be set for all applications that you launch. I fiddled with a few different options, notably trying to set the environment variables on both the Finder and the Dock (after restarting them) to avoid the "you have to log out for changes to take effect" drawback, but found that the best and simplest solution was to just set the environment variable in the Mac OS X sanctioned way: By adding an entry to the environment.plist file located in a directory called .MacOSX in your home directory.

System requirements:
Universal Back Button requires Mac OS X 10.6 or later (at least for now). In order to use it, you must first double-click the UBB item that appears in your menubar when you launch the application; then select Toggle Universal Back Button, let UBB do its thing and finally log out and back in again. Then relaunch UBB and you're all set. Clicking the UBB menu item once will now take you back to the application you last used to open a link, a file or similar.
New in version 1.0.1:
Fixed a bug in the state parsing code.
System requirements:
Mac OS X 10.6 or later
Intel-based Mac
Willingness to log out and back in again to test
Free
For more information, visit:
http://www.scsc.no/products/ubb/
Tags: Software Updates ď Software News ď Utilities ď

Other Sites