Turn your favorite websites into Mac desktop applications.

Version 0.9.6   |   3.6 MB

Mac OS X 10.5 or later

4.5 mice rating from Macworld

Most of the code behind Fluid SSBs is now open source (under the liberal Apache license) as the Fluidium project on github.

If building Fluidium from source isn't your thang, you can also download a recent build of Fluidium.


Fluid has several extension points that developers (and power users) can leverage.

  • Fluid Cocoa Plug-in API. Download the example Plug-in source code and get started! More detailed documentation coming very soon, but the example code is the best way to dig in.

  • Bookmarklets. Fluid SSBs feature a handy Bookmark Bar UI similar to Safari and other browsers. Not surprisingly, Bookmarklets can be placed in the Bookmark Bar for basic scripting features.

  • Userscripting. Fluid SSBs come with GreaseKit built-in. No SMBL Plug-ins (or any other type of Plug-in) are used or required. The GreaseKit source code has been directly integrated into Fluid itself. Each Fluid SSB stores its Userscripts in a separate directory located at: ~/Library/Application Support/Fluid/SSB/<your-ssb-name>/Userscripts. You can easily access this directory from a Fluid SSB Main Menu: Userscripts -> Open Userscripts Folder. Manage other Userscript features in the Userscripts menu.

    Visit the Fluid Userscripts Project on Google Code to contribute Userscripts or see the Userscript source code.

  • JavaScript Drag and Drop API for Local Files. WebKit includes a very capable JavaScript Drag and Drop API, and of course, Fluid benefits from this as well. Both webapp developers and Fluid users (via Userscripts) can utilize this API to accept drag and drop events from local files.

  • Fluid JavaScript API. Fluid SSBs automatically include some additional JavaScript APIs in all browser windows that can be accessed by either webapp developers via remote scripts or Fluid users via Userscripts. This API is very similar in nature to the window.widget API from Dashboard Widgets. The JS API available is listed below:

    • window.fluid.dockBadge = "10"

    • window.fluid.addDockMenuItem("mytitle", onclickHandler)

    • window.fluid.removeDockMenuItem("mytitle")

    • window.fluid.showGrowlNotification({
          title: "title", 
          description: "description", 
          priority: 1, 
          sticky: false,
          identifier: "foo",
          onclick: callbackFunc,
          icon: imgEl // or URL string
      })

    • window.fluid.hide() // Hide this SSB application. Available only to local Userscripts.

    • window.fluid.unhide() // Unhide this SSB application. Available only to local Userscripts.

    • window.fluid.activate() // Bring this SSB application to the front. Available only to local Userscripts.

    • window.fluid.terminate() // Quit this SSB application. Available only to local Userscripts.

    • window.fluid.include(pathStr) // Eval a local JavaScript file located at the given path. Available only to local Userscripts.

    • window.fluid.applicationPath // a string path to this SSB's .app bundle directory ("/path/to/MySSB.app/"). Available only to local Userscripts.

    • window.fluid.resourcePath // a string path to this SSB's Resources directory ("/path/to/MySSB.app/Contents/Resources/"). Available only to local Userscripts.

    • window.fluid.userscriptPath // a string path to this SSB's Userscripts ("/Users/Mandy/Library/Application\ Support/Fluid/SSB/Campfire/Userscripts") directory. Available only to local Userscripts.

    • window.fluid.beep() // sounds system beep

    • window.fluid.playSoundNamed("Basso") // plays system sound if name is valid

    • window.console.log(obj)

Plug-in Sample Code is available for developers.

Fluid is developed and maintained by Todd Ditchendorf, creator of Cruz, ParseKit, and HTTP Client.

Site hosted by Rackspace Cloud.

Copyright © 2009 Todd Ditchendorf. All rights reserved.