Contextual Menu Plugins in Mac OS 10.6 (Snow Leopard) and 10.7 (Lion)
| Snow Leopard and Lion do not support contextual
menu plug-ins in 64 bit applications
Apple removed native support for contextual menu plug-ins in Mac OS 10.6 and higher in 64 bit mode
and replaced it with services items.
Even if the contextual menu plug-in is 64 bit, the applications will not load it.
Almost all, if not all Apple applications shipping with Snow Leopard or newer run 64 bit by default,
including Finder, so your contextual menu plugins will not work.
Not happy about it? Let Apple know:
Mac OS X Feedback
Abracode Shortcuts is currently the only way to load and execute
today's contextual menu plug-ins in Mac OS 10.6 and 10.7 (in 64 bit apps).
Shortcuts 2.0 allows you to assign hot key combination for showing the contextual menu.
You can assign it under new "Menu" tab in Shortcuts:
The menu is handled and shown by ShortcutObserver, not the host application as in case or regular contextual menu invocation. Because of that there might be some differences in how it looks or works. It does not display items added by the host application, just items added by contextual menu
plug-ins. In Finder, the menu is not displayed under "More" submenu!
The menu shows up right under your mouse regardless of where the actual selection in front application is.
There are 2 flavors of Shortcuts application: 32 bit and 64 bit. The separate 64 bit Intel-only version loads only 64-bit contextual menu plug-ins. Currently there are no 64-bit contextual menu plug-ins out there but some Abracode plug-ins will be updated to 64 bit for best performance. You should use Shortcuts32.app for all other plug-ins.
Shortcuts32 shows a services item called "More Items (32 bit)..." and Shortcuts (64 bit) shows "More
Items (64 bit)...":
When you choose "More Items", the contextual menu is shown right under your mouse, as if triggered by a hot key. One difference is that in case of services, the context information is obtained from host application through services mechanism (in pasteboard) as opposed to Shortcuts itself trying to get the context data through its scripts and AppleEvents. Services method should work in cases when Shortcuts fail to obtain context information from front app.
More technical discussion:
In Mac OS 10.6 Apple replaced contextual menu plug-ins with enhanced services, which will show up as contextual menu items. The problem is that the services are static (each item is described in application or service plist) so developers cannot create a service that will dynamically add its own menu items. Also, CM plug-ins analyze the context information to display appropriate menu items or not display at all. With services, it is Mac OS X that makes the decision whether to show the service item or not based on the data types that the given service advertises it can handle.
You can expect some simpler contextual menu plug-ins to migrate to services mechanism for Snow Leopard in the near future. The more complex plug-ins are unfortunately out of luck. It is a big loss for people who learned to rely on existing CMs in their workflow. It will take time for alternative solutions to be developed.
We expect that the majority of today's contextual menu plug-ins will never be ported to 64 bit so you will need to use Shortcuts32 to continue to use them in Mac OS 10.6.
The idea is that you keep both Shortcuts (64 bit) and Shortcuts32 in 10.6 and use 64-bit for those plug-ins upgraded to 64-bit and Shortcuts32 for the rest.