Bug 1018417 is going to make duration work for button toasts. I also proposed in there it would be neat if you could chain parameters with & or | operators. i.e. short|touch means hide it after a short delay or a touch on the screen long&touch means hide it after a long delay AND a touch happen
Hmm, come to think of it, would the & operator actually be used? Would we want someone to touch in order to remove the toast :wesj ?