From: Richard L. <rl...@wi...> - 2005-03-31 22:44:50
|
On Thu, 2005-03-31 at 16:40 -0500, Paul Kierstead wrote: > As a regular user of both Adium and GAIM (I use both every day), I > will say that Adiums method is kinda broken. What happens is the > smilies are not bound to an IM service which indeed results in you > sending the wrong smilies to the wrong service Yeah, to more or less solve this, I think the right approach is to confine most smileys to a single protocol. Full Proposal: I was thinking that I'd just add a checkbox and up and down buttons to the smiley theme window. Each theme could have smileys that were applied to one or more protocols and/or all protocols. Most themes (especially the default one) would define protocol-specific smilies. Themes would be checked from top to bottom. The first match for a smiley would be used. Then, you could have something like this: [X] Exhaustive AIM Theme [X] Default Theme The exhaustive theme (which I'm just using for an example...) wouldn't be a superset of the default theme any more. It'd only contain the extra smileys and they would only apply to AIM. If someone wanted to use a third-party theme, they could simply add it, make sure it was above the Default Theme and make sure the box was checked. Themes that were dragged and dropped would be added to the top and enabled by default. New themes that were picked up off disk on Gaim startup would be added to the top of the list but not enabled. In this way, things shouldn't be much more complex than they are now, for the common use cases. To display the smiley toolbox in the chat window, Gaim would go through the smiley themes from top to bottom. Any smiley that we hadn't already added to the toolbox that matched the protocol (or was for all protocols) would be displayed. In other words, if we found two images for ":-)" that applied to this protocol, we'd display the first. If someone defines a custom smiley theme with a new smiley, for example "(gaim)" which displays the Gaim dude, there's nothing you can do about that. If you don't have that theme, you'll just see the text. It'd be no different than if someone just typed (gaim) and expected you to know what that was. This wouldn't be any worse than what we have now. Frankly, I don't see a way to solve this problem. I'm not even sure it's a problem, per se. For consistency with other files in Gaim, I'd probably define a new smiley theme format in XML (as compact as possible). This would allow for the 0..* protocols idea I've described above as well as the smiley description for which I started this thread. Thoughts everyone? Richard Laager |