SIMBL

Last updated
SIMBL
Developer(s) Mike Solomon
Preview release
0.9.9 / January 27, 2011;13 years ago (2011-01-27)
Operating system Mac OS X
Type Loader
Website github.com/msolo/simbl

SIMBL (short for SIMple Bundle Loader, formerly Smart InputManager Bundle Loader, and pronounced like symbol or cymbal), is a discontinued application enhancement (InputManager bundle) loader for Mac OS X developed by Mike Solomon. It helps third-party developers modify and add functionality to applications developed with the Cocoa environment without access to the source code. SIMBL loads code via the InputManager system, which was developed to support foreign input methods. Plugins using SIMBL have advantages over normal InputManager modifications such as targeted code loading into specific applications. Designed for Solomon's PithHelmet, SIMBL is now used by other developers. The most popular use of SIMBL is to add functionality to the Apple Safari web browser which did not have an Apple-authorized plugin system until version 5 in 2010.

Contents

SIMBL was developed in response to the restrictive licensing and costs of Application Enhancer and the drawbacks of loading code blindly through the InputManager mechanism. [1]

Installation

SIMBL is installed like any other InputManager.[ clarification needed ] As such, it is restricted to certain locations depending on the version of Mac OS X installed. In default installations, it is located in /Library/InputManagers. In versions of Mac OS X prior to Leopard, SIMBL could be installed per-user. [2] In plugin installations, the SIMBL package is automatically installed. Since SIMBL injects code into running processes, buggy plugins can cause process- or even systemwide problems. [3] [4]

Plugins

Plugins for SIMBL are Cocoa bundles that add various functionality to Cocoa applications. They can be placed by the user manually through Finder or by an installer to /Library/Application Support/SIMBL/Plugins. It may also be placed in the user-specific home directories. [1]

Advantages over InputManager Plugins

SIMBL bundles may be disabled by removing the plugin and restarting the application. With normal InputManager hacks, the user must log out and log in. Also, the normal InputManager mechanism is loaded for all Cocoa applications, providing the possibility of incompatibility and unexpected application behavior. SIMBL only loads bundles for specific and identified applications. [1]

Leopard restrictions on InputManager plugins mean their installation can only be done system-wide. SIMBL plugins may be installed per-user if SIMBL is installed system-wide.

Update Compatibility

SIMBL plugins must specify which versions of the application that they will run with; running a more recent version of the application with the plugin activated will cause an error dialog to appear. [5] Like all unsupported hacks, the amount of work required to update a plugin depends on the size of the update. [6]

Development

Development of SIMBL plugins require knowledge of Cocoa reverse-engineering. SIMBL works only with Cocoa applications, not Carbon or other kinds of applications. [7]

No licensing payment is required to use SIMBL, unlike APE, although a donation is suggested. The source to SIMBL is also freely available. [1]

Alternatives

Related Research Articles

macOS Operating system for Apple computers

macOS, originally Mac OS X, previously shortened as OS X, is an operating system developed and marketed by Apple since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and laptop computers, it is the second most widely used desktop OS, after Microsoft Windows and ahead of all Linux distributions, including ChromeOS.

<span class="mw-page-title-main">Mac OS X Server</span> Server software for macOS

Mac OS X Server is a series of discontinued Unix-like server operating systems developed by Apple Inc. based on macOS. It provided server functionality and system administration tools, and tools to manage both macOS-based computers and iOS-based devices, network services such as a mail transfer agent, AFP and SMB servers, an LDAP server, and a domain name server, as well as server applications including a Web server, database, and calendar server.

Darwin is the core Unix-like operating system of macOS, iOS, watchOS, tvOS, iPadOS, audioOS, visionOS, and bridgeOS. It previously existed as an independent open-source operating system, first released by Apple Inc. in 2000. It is composed of code derived from NeXTSTEP, FreeBSD, other BSD operating systems, Mach, and other free software projects' code, as well as code developed by Apple.

<span class="mw-page-title-main">Safari (web browser)</span> Web browser by Apple

Safari is a web browser developed by Apple. It is built into several of Apple's operating systems, including macOS, iOS, iPadOS and visionOS, and uses Apple's open-source browser engine WebKit, which was derived from KHTML.

<span class="mw-page-title-main">WebObjects</span> Java web application server and framework originally developed by NeXT Software

WebObjects is a discontinued Java web application server and a server-based web application framework originally developed by NeXT Software, Inc.

<span class="mw-page-title-main">Sherlock (software)</span> Defunct web search tool created by Apple

Sherlock, named after fictional detective Sherlock Holmes, was a file and web search tool created by Apple Inc. for the PowerPC-based "classic" Mac OS, introduced in 1998 with Mac OS 8.5 as an extension of the Mac OS Finder's file searching capabilities. Like its predecessor, Sherlock searched for local files and file contents on a Mac, using the same basic indexing code and search logic found in AppleSearch. Sherlock extended the system by enabling the user to search for items on the World Wide Web through a series of plug-ins, which employed existing web search engines. These plug-ins were written as plain text files, so that it was a simple task for a user to write a Sherlock plug-in.

<span class="mw-page-title-main">Xcode</span> IDE including tools for developing software for Apple platforms

Xcode is Apple's integrated development environment (IDE) for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, tvOS, and visionOS. It was initially released in late 2003; the latest stable release is version 16, released on September 16, 2024, and is available free of charge via the Mac App Store and the Apple Developer website. Registered developers can also download preview releases and prior versions of the suite through the Apple Developer website. Xcode includes command-line tools that enable UNIX-style development via the Terminal app in macOS. They can also be downloaded and installed without the GUI.

<span class="mw-page-title-main">XNU</span> Computer operating system kernel

XNU is the computer operating system (OS) kernel developed at Apple Inc. since December 1996 for use in the Mac OS X operating system and released as free and open-source software as part of the Darwin OS, which, in addition to being the basis for macOS, is also the basis for Apple TV Software, iOS, iPadOS, watchOS, visionOS, and tvOS.

<span class="mw-page-title-main">Mac OS X Tiger</span> Fifth major release of Mac OS X

Mac OS X Tiger is the 5th major release of macOS, Apple's desktop and server operating system for Mac computers. Tiger was released to the public on April 29, 2005 for US$129.95 as the successor to Mac OS X 10.3 Panther. Included features were a fast searching system called Spotlight, a new version of the Safari web browser, Dashboard, a new 'Unified' theme, and improved support for 64-bit addressing on Power Mac G5s. Mac OS X 10.4 Tiger also had a number of additional features that Microsoft had spent several years struggling to add to Windows with acceptable performance, such as fast file search and improved graphics processing.

This is a comparison of both historical and current web browsers based on developer, engine, platform(s), releases, license, and cost.

<span class="mw-page-title-main">Quicksilver (software)</span> Utility application for macOS

Quicksilver is a utility app for macOS. Originally developed as proprietary freeware by Nicholas Jitkoff of Blacktree, Inc., it is now an open-source project hosted on GitHub.

<span class="mw-page-title-main">Growl (software)</span>

Growl is a deprecated global notification system and pop-up notification implementation for the Mac OS X and Windows operating systems. Applications can use Growl to display small notifications about events which may be important to the user. This software allows users to fully control their notifications, while allowing application developers to spend less time creating notifications and Growl developers to concentrate on the usability of notifications. Growl can be used in conjunction with Apple's Notification Center that is included in Mac OS X 10.8 and higher.

This article provides basic comparisons for notable text editors. More feature details for text editors are available from the Category of text editor features and from the individual products' articles. This article may not be up-to-date or necessarily all-inclusive.

<span class="mw-page-title-main">Mac OS X Leopard</span> Sixth major release of Mac OS X

Mac OS X Leopard is the sixth major release of macOS, Apple's desktop and server operating system for Macintosh computers. Leopard was released on October 26, 2007 as the successor of Mac OS X Tiger, and is available in two editions: a desktop version suitable for personal computers, and a server version, Mac OS X Server. It retailed for $129 for the desktop version and $499 for Server. Leopard was superseded by Mac OS X Snow Leopard in 2009. Mac OS X Leopard is the last version of macOS that supports the PowerPC architecture as its successor, Mac OS X Snow Leopard, functions solely on Intel based Macs.

In NeXTSTEP, OPENSTEP, and their lineal descendants macOS, iOS, iPadOS, tvOS, and watchOS, and in GNUstep, a bundle is a file directory with a defined structure and file extension, allowing related files to be grouped together as a conceptually single item.

<span class="mw-page-title-main">Inquisitor (search software)</span>

Inquisitor is a Cocoa plug-in for Mac OS X developed by David Watanabe.

<span class="mw-page-title-main">Dashcode</span> Development environment for Mac OS Dashboard widgets

Dashcode was a software application created by Apple Inc. that was included with Mac OS X Leopard and facilitates the development of widgets for Dashboard. It was first included on new MacBooks shipping around the time of May 24, 2006, as part of the Xcode developer tools.

<span class="mw-page-title-main">Mac OS X Snow Leopard</span> Seventh major version of macOS, released in 2009

Mac OS X Snow Leopard is the seventh major release of macOS, Apple's desktop and server operating system for Macintosh computers.

<span class="mw-page-title-main">Sublime Text</span> Text editor

Sublime Text is a shareware text and source code editor available for Windows, macOS, and Linux. It natively supports many programming languages and markup languages. Users can customize it with themes and expand its functionality with plugins, typically community-built and maintained under free-software licenses. To facilitate plugins, Sublime Text features a Python API. The editor utilizes minimal interface and contains features for programmers including configurable syntax highlighting, code folding, search-and-replace supporting regular-expressions, terminal output window, and more. It is proprietary software, but a free evaluation version is available.

macOS Sierra Thirteenth major release of macOS

macOS Sierra is the thirteenth major release of macOS, Apple Inc.'s desktop and server operating system for Macintosh computers. The name "macOS" stems from the intention to unify the operating system's name with that of iOS, watchOS and tvOS. Sierra is named after the Sierra Nevada mountain range in California and Nevada. Specifically, Lone Pine Peak is the location for macOS Sierra's default wallpaper. Its major new features concern Continuity, iCloud, and windowing, as well as support for Apple Pay and Siri.

References

  1. 1 2 3 4 Solomon, Mike 2006. SIMBL, http://www.culater.net/software/SIMBL/SIMBL.php
  2. Oddgard, Allan, 2007, "InputManagers on Leopard" http://blog.macromates.com/2007/inputmanagers-on-leopard/
  3. Apple Inc, 2003 "Safari 1.1: Safari Quits Unexpectedly When PithHelmet Is Installed", http://support.apple.com/kb/TA21363?viewlocale=en_US
  4. Nevyn, 2006 "Fixing God's Problems" "Devnevyn: Fixing God's horrible mistake's fix". Archived from the original on 2009-12-23. Retrieved 2008-10-15.
  5. Bohon, Cory, 2008. "SIMBL Plug-in woes after 10.5.3" http://www.tuaw.com/2008/05/28/simbl-plug-in-woes-after-10-5-3/
  6. Solomon, Mike 2007. 14 Nov 2007, "TerminalColors in Leopard" http://www.culater.net/thc/index.php?entry=/Development/terminal_colors_leopard.txt Archived 2008-12-22 at the Wayback Machine
  7. Stødle, Daniel 14 Nov 2005, "Re: Loading code into an arbitrary Cocoa application" "Re: Loading code into an arbitrary Cocoa application". Archived from the original on 2011-05-24. Retrieved 2008-10-15.>
  8. Waldo, Brian, 2008. Say Goodbye to SIMBL, http://macapper.com/2008/04/28/plugsuit-say-goodbye-to-simbl/
  9. "GitHub - norio-nomura/EasySIMBL: EasySIMBL is modified "SIMBL" for OS X 10.7, 10.8, 10.9 or 10.10 supporting sandbox, resume. No installer". GitHub.
  10. "GitHub - w0lfschild/mySIMBL: Plugin manager for macOS". GitHub.