SIMBL 0.8.1 reviewDownload
Problem: Some applications do about 90% of what I want.
Some applications do about 90% of what I want.
Develop my own applications.
Patch the application myself...
1. What It Does
SIMBL (Smart InputManager Bundle Loader) - pronounced like "symbol" or "cymbal" allows you to build hacks for Cocoa applications and apply the code selectively based on an application's unique identifier. It's not really all that smart, or even clever, but it's smarter than just blindly loading code into an application.
For example, Safari's application identifier is com.apple.Safari. You can use this to prevent bundles that link against application-specific frameworks from bombing on startup when they encounter another application that does not support those libraries. You can also use the application's bundle version to further specify when your plugin should load.
There are two parts to SIMBL, the bundle itself, which is packaged as an InputManager, and the plugins.
Due to the limitations of Apple's Installer.app, these packages install to /Library/InputManagers, though they work equally well in the user domain as well (~/Library/InputManagers). I wish Apple would provide the option for a user-specific install option, since plugins can really sneak up on an unsuspecting user.
3. How To
Once you've installed SIMBL, you need to drop some bundles into the Plugins folder. (/Library/Application Support/SIMBL/Plugins) SIMBL scans this folder for bundles each time an application launches. It will check both the Local and User domain for this special folder.
This means that it will check ~/Library/Application Support/SIMBL/Plugins before looking in /Library/Application Support/SIMBL/Plugins. Additionally, SIMBL detects if you have two conflicting plugins and prevents potentially undesirable behavior by only loading one.
SIMBL plugins are nothing more than standard Cocoa bundles created by XCode, with the addition of one key in the Info.plist. For further information, you can read the SIMBL section in my brief tutorial on Cocoa hacking.
SIMBL was originally created when I was working on PithHelmet, but here are now a bunch of SIMBL plugins available. If you don't see yours listed, feel free to edit the list on the wiki.
SIMBL 0.8.1 search tags