Fluid Scripts for Campfire

Chad Pytel

Growl when someone says your name, and better behavior in Fluid

At thoughtbot we’re a distributed team: 7 in Boston, 3 in New York City, 1 in Chicago, another in San Francisco, and myself in Philadelphia - we use Campfire constantly for team communication throughout the day. Almost all of us used Pyro to access Campfire, but after upgrading to Leopard things started going downhill – so we started experimenting with Fluid.

We’ve been toying with these scripts for a while with Greasekit, and now that Fluid has been upgraded with built in userscripting, I figure its time to get it out there.

The one feature that we all wanted was some notification when someone said your name in Campfire, so thats the first script I made - we call it Campfire Name Watcher. When the fluid application window doesn’t have focus, and someone says your name (or any word or phrase you provide) Fluid sends a Growl notification. I have mine set to make a sound as well. Just for fun, It’ll also highlight your name.

''

This works especially well when you enable tabbed browsing in your Fluid Campfire app, and open each Campfire room in a separate tab. Now, not only will you get notified when you’re not in the Fluid app itself, but you’ll get notified when someone in another chat room that you’re currently not paying attention to says your name.

The name watcher script uses cookies to persist your list of things to watch for, so that you don’t need to resupply it every time. The first time you go into Campfire with this script installed, it’ll ask you to provide a comma separated list of things to watch for:

''

To edit the list of names, right click on the campfire app dock icon and choose Name Watcher.

Opening each room in another window is really nice, as it allows you to quickly switch between rooms, and makes your Campfire Fluid app even more like Pyro. However, the UI gets messy because you have your Fluid tabs as well as the HTML Campfire tabs.

The second script is a bunch of stylesheet and behavior changes to make using Fluid tabs, and Fluid in general with Campfire more useable. Unfortunately, its not possible to script things to open in new tabs in Fluid, so you have to make sure to Apple-Click the links in the Lobby to get new tabs.

The script hides all the HTML tabs:

''

and moves their functionality into dock menu items:

''

It also makes other little changes to make it better to use Fluid with campfire, for example, it makes it so that if the input box doesn’t have focus and you begin to type, it’ll move focus to the input box, and it makes it so that search and other function open in new windows.

Get the scripts from:

https://svn.thoughtbot.com/hackfest/campfire/fluid/campfireFluid.user.js https://svn.thoughtbot.com/hackfest/campfire/fluid/campfireNameWatcher.user.js

Get Fluid from here:

http://fluidapp.com

Get a nice icon for it here:

http://www.37signals.com/svn/images/campfire-logo-for-fluid.png

Things in Fluid and userscripting are rough right now, consider it the wild west of campfire. Lots of us at thoughtbot are using these scripts and Fluid on a day to day basis now, but we’re definitely not quite there yet in where I’d want the actual functionality and usability of all of this to be. I’d definitely be interested in hearing your thoughts and even getting your patches.

Visit our Open Source page to learn more about our team’s contributions.