A propane-like campfire notification for Linux
Switch branches/tags
Nothing to show
Pull request Compare This branch is 1 commit ahead, 2 commits behind ricktessner:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



A nod to the Propane for mac which monitors Campfire rooms. This is for Linux users. It has been tested on Ubuntu 8.10 and should work on Debian based systems just fine.

It should be noted that butane is monitor only. Propane allows you to reply to in addition to monitoring campfire rooms.


  • Ruby 1.9.2 – Strongly recommend using RVM. See beginrescueend.com/ for details. Really, it's worth it!

  • Ubuntu 8.04 (or later, I'd assume)

  • bundler gem

I use the Gnome desktop and I'm not sure about the requirements for libnotify-bin above.


  • Ability to reply. The tinder gem does provide that but butane does not yet make use of it.


Install rvm. See beginrescueend.com

Install ruby 1.9.2

rvm install ruby-1.9.2

Grab the butane source from github

git clone git://github.com/ricktessner/butane.git
cd butane

Create the butane gemset with rvm. A .rvmrc is part of the butane repo.

rvm gemset create butane

Install the bundler gem. This is needed to install all the other required gems as listed in Gemfile.lock

gem install bundler

Install the required gems for butane

bundle install

Configuration of the .butanerc

Either login + password or a Campfire token can be used for authentication.

Create a .butanerc in your home directory. It's in yaml format and here's what it looks like:

  :login: rick@email.com
  :password: mypassword
  :image: some_small_32x32_image
  :ssl: true
    First Room: 
      :sticky: rick
    Git Commits: 
      :sticky: models|specs

  :token: 012394219adfe10239
    Light is Nice:
      :sticky: rick
      :image: nice_light_32x32_image
      :ignore: has\s+(left|entered)

Fixed keywords in the above:

  • :login:

  • :password:

  • :token:

  • :image:

  • :ssl:

  • :rooms:

  • :sticky:

  • :ignore:

  • :self_name:

The rest of the items, “mycampfire”, “otheraccount”, “First Room” and “Git Commits”, “Light is Nice” are the names of your accounts and rooms in those accounts.

The :ignore: is used, on a per-room basis, to just flat out ignore messages that match that regexp.

For campfire accounts that are ssl-enabled, you'll need to use the :ssl: configuration to specify true for such an account. The default is false.

The :self_name: attribute is a per-account setting that should be your full name in the account - your own messages will be filtered out.

The :image: is used for a small 32x32 (or so) image that is used in the notification. This can be done at the account level and/or the room level as well. Any :image: defined for a room is used instead of the account image.

As you've guessed by now, it does work with multiple campfire accounts.

There is the “First Room”. Any activity that regexp matches /rick/i will pop up a sticky notification that needs to be clicked away. Ditto for the “Light is Nice” room.

In the “Git Commits” room, any activity that matches the regexp /models|specs/i will again cause a sticky notification to appear.

Run it

Starting butane as a daemon

butane start

Run butane attached to the console. This is useful for debugging purposes. Exceptions will appear on the console and give hints as to what's going wrong.

butane run

Restart the butane daemon

butane restart

Stop the butane daemon

butane stop

Status of the butane daemon

butane status