I recently made the switch to Thinking Different, and while there are a lot of things to like here, Adium doesn’t support IRC, and Colloquy didn’t have any emots worth using.
That didn’t leave me many options, but I had the Something Awful emoticon pack for Adium, and the Adium emoticon pack for Colloquy, too much free time, and a minimal amount of skill with perl. I’ll cut to the chase and just toss a link in here if you’re in a hurry.
There’s a file, grep.pl, in that archive, that should be useful if you want to see how it works, but this post is mostly to lay out any issues, and put the link out there for download (It should be on the Colloquy extras site soon, unless they reject it because some of the icons aren’t work safe, and the official SA emoticons site, unless the maintainer there doesn’t feel like posting it). I was going to do a post about the inner workings and process, but it’s fairly boring, basically poking around the Adium Colloquy emoticon file layout and XML structure, and very light XML parsing. All told I spent around 2 hours on the whole thing, including testing.
By way of caveat, this still has some weirdness.
Because Colloquy uses CSS for it’s icon replacement, everything is classed something like “.emoticon.[emot_name]”, which was a problem because there was an emoticon called “emoticon” (which almost certainly does not do what you think it does), and that broke things.
It also caused problems because, based on a half-assed reading of the CSS spec, class names like “3″ or “10bux” don’t work, so I smashed an “e” (randomly-selected character) onto the beginning. I don’t know if that’s actually true, but I replaced the numbers with long names (eg, “nineoneone” instead of “911″) and it works now. I tried getting rid of the leading digit, so “3″ became “e3″, which worked, but “e10bux” still didn’t. I assume this is either a Colloquy thing or a CSS thing, but to be honest, as long as it works now, I’m not too particular about which it is.
Note that the above are resolved, only mentioned here for the edification of the curious, and neither affect the user-side - you still use :10bux: to get the thing to work, not :onezerobux: - the changes are invisible and automagic, far as you need to be concerned.
The other issue, and the one that remains unresolved, is that Colloquy seems to only parse out emoticon replacements on word boundaries. It’s a problem because giving :smith: little v arms is kind of amusing (this makes no sense if you haven’t seen the image in question, but basically v:smith:v is a shrugging sad dude). So, while :awesome::awesome: should be two awesome faces side by side, and in Pidgin it is, Adium is kind of wonky about it, and in Colloquy it doesn’t work at all. It displays literally, just as above. Well, other than the fact that the :: seems to make Colloquy think it’s a link, so it turns blue and you can mash your sad little one button mouse on it to go places on the internet.
Sorry, I’m still getting used to this Mac thing.