Page 1 of 3

emoticons specific to messenger

Posted: Thu Mar 16, 2006 6:45 am
by flyabusa
I did a search through the forums but didn;t find anything on this.

I know Adium uses libgaim, and there's one feature of GAIM I sorely miss in Adium.

And that feature, namely, is being prompted with the appropriate emoticons per the conversation window/tab for the messenger I am chatting in with a contact.

In GAIM if I'm chatting with a yahoo buddy and I click on the emoticon button all the yahoo emoticons come up. If I switch to an MSN window and click the same emoticon button all the MSN emoticons come up.

In Adium however it appears the emoticon sets have to be set globally. I can set multiple icon sets, but the messenger (for lack of a better word) isn't "smart" enough to recognize which one to use, all sets selected are brought up

is "smart emoticon" switching a feature planned to be implemented in a future release? I just compiled the 1.0 SVG but still have the same issue with emoticons. Maybe there a glaringly obvious setting I am missing?

any help or suggestions would be appreciated

Posted: Thu Mar 16, 2006 1:40 pm
by bgannin
Some things:

1) it has been requested and looked into IIRC
2) I believe it is planned at some point
3) GAIM is an application and libgaim is a library, a lot of the functionality is not in libgaim as it's just features in the application [this being one of them]. Just because GAIM supports a feature in their app doesn't mean we have the ability to do so, only the ability to recreate it.
4) it's SVN (Subversion) not SVG (Scalable Vector Graphics). SVG is a feature of the WebKit nightlies.

Posted: Thu Mar 16, 2006 2:50 pm
by evands
Not only planned, but already implemented and present in Adium 0.89. If you have multiple emoticon packs enabled, and one is appropriate for the protocol, it wil be preferred.

Preferences->Appearance->Emoticons: Customize. Turn on Yahoo, MSN, etc. Grab more packs from adiumxtras.com as appropriate, and turn those on. No step 3.

Posted: Thu Mar 16, 2006 3:17 pm
by memark
Unfortunately a lot of emoticon packs do not use this functionality. E.g. all of my MSN packs show up on every protocol. Perhaps that will improve once the feature becomes better known.

Posted: Thu Mar 16, 2006 3:55 pm
by bgannin
How is appropriateness determined?

Posted: Thu Mar 16, 2006 4:00 pm
by memark
As far as I can tell by setting a 'ServiceClass' entry in the emoticon pack's plist file.

Posted: Thu Mar 16, 2006 4:01 pm
by evands
1) The "Service Class" key is check in the emoticon pack's plist file. If it specifies a class, that class is used.
2) The name of the pack is then checked. If "AIM", "MSN", or "Yahoo" is in the name, AIEmoticonPack infers the appropriate service class (AIM-compatible, MSN, and Yahoo! respectively)

memark: Your MSN packs will show on every protocol if they are enabled, but they will be preferred on MSN chats while an AIM pack would be preferred on an AIM chat. (So if I type :) on AIM and MSN, it will look different on the two if you have both an AIM and an MSN pack enabled).

Relevant code is in AIEmoticonPack.m:261 if you want to make it better :)

(Service class is set there, and checked at AIEmoticonController.m:478).

Posted: Thu Mar 16, 2006 4:04 pm
by bgannin
It seems there's an implied desire for exclusivity to a degree, but I could be wrong. (i.e., only associated MSN packs with MSN, AIM with AIM, etc. instead of simply precedence)

thanks

Posted: Thu Mar 16, 2006 5:19 pm
by flyabusa
thanks for the quick reply bgannin. ANd sorry for my ignorance towards acronyms.

something I noticed today with emoticon set preferences today... When multiple emoticon sets are enabled in the "custom" settings for emoticons, problems start to arise when when these sets have common symbol representations for the same emoticon.

for explample in a yahoo chat I kept getting the ICQ icon set smile :) ... After mucking around in the "custom" settings for emoticons I noticed ICQ was the highest on the list. I dragged the yahoo set above the ICQ set in the "custome" seetngs area and that seemed to then give higher prioty to my yahoo smileys and fix the issue at least in my yahoo chat.

Interesting to read in this thread about what and how icons take precedence. Keep up the good work on the SVN (did I get the acronym right this time) 1.0 Adium trunk. I'l keep on posting things I notice and any crash logs should it crash on me

Posted: Thu Mar 16, 2006 5:30 pm
by yelly
to some it up, emoticons are really screwed up in Adium and need some work.

Posted: Thu Mar 16, 2006 6:04 pm
by evands
yelly wrote:to some it up, emoticons are really screwed up in Adium and need some work.
gee, fantastic summary. Emoticons work quite well in Adium; it is possible that a minor bug as described above exists in the current implementation.
flyabusa wrote:or explample in a yahoo chat I kept getting the ICQ icon set smile :) ... After mucking around in the "custom" settings for emoticons I noticed ICQ was the highest on the list. I dragged the yahoo set above the ICQ set in the "custome" seetngs area and that seemed to then give higher prioty to my yahoo smileys and fix the issue at least in my yahoo chat
In a Yahoo chat, the Yahoo emoticons should always have precedence over an ICQ set, regardless of their ordering. Please file a ticket on this specific case and we'll take a look.

Posted: Thu Mar 16, 2006 6:09 pm
by yelly
evands wrote:
yelly wrote:to some it up, emoticons are really screwed up in Adium and need some work.
gee, fantastic summary. Emoticons work quite well in Adium; it is possible that a minor bug as described above exists in the current implementation.
I beg to differ. Adium is a multi-protocol chat app, and it does not display a good solution for multi-protocol chat emoticons.
BTW, sorry for putting it so crudely the first time around :D

Posted: Thu Mar 16, 2006 6:14 pm
by evands
How is 'supporting any number of emoticon packs simultaneously, with automatic and seamless handling of per-service emoticon specificity' not a good implementation?

Posted: Thu Mar 16, 2006 6:26 pm
by yelly
evands wrote:How is 'supporting any number of emoticon packs simultaneously, with automatic and seamless handling of per-service emoticon specificity' not a good implementation?
there isn't 'seamless handling of per-service emoticons specifically' to the extent there should be, for one, I can send my contact emoticons he can't see.

Posted: Thu Mar 16, 2006 6:31 pm
by evands
yelly wrote:
evands wrote:How is 'supporting any number of emoticon packs simultaneously, with automatic and seamless handling of per-service emoticon specificity' not a good implementation?
there isn't 'seamless handling of per-service emoticons specifically' to the extent there should be, for one, I can send my contact emoticons he can't see.
1) That's always true in any medium, since 'emoticons' are just text.
2) That's always true on any service, since different clients (including different versions of the official client) have different built-in emoticons. There is no mechanism on any protocol to reliably determine what client and version the other side is using (an extension to Jabber makes this somewhat possible, but subuniversial adoption means it isn't fully dependable); even if there were, it would be both unwieldly and unrealistic for Adium to maintain a list of which emoticons are supported by each client and each version of that client and only display images for those specific emoticons.

ticket

Posted: Thu Mar 16, 2006 6:40 pm
by flyabusa
thanks for the advice. I opened Ticket #3470, and included a screenshot showing the ICQ icons taking precedent and the subsequent change to the default yahoo icons when I was in the settings area. Hope it helps

Posted: Thu Mar 16, 2006 7:00 pm
by yelly
evands wrote:
yelly wrote:
evands wrote:How is 'supporting any number of emoticon packs simultaneously, with automatic and seamless handling of per-service emoticon specificity' not a good implementation?
there isn't 'seamless handling of per-service emoticons specifically' to the extent there should be, for one, I can send my contact emoticons he can't see.
1) That's always true in any medium, since 'emoticons' are just text.
2) That's always true on any service, since different clients (including different versions of the official client) have different built-in emoticons. There is no mechanism on any protocol to reliably determine what client and version the other side is using (an extension to Jabber makes this somewhat possible, but subuniversial adoption means it isn't fully dependable); even if there were, it would be both unwieldly and unrealistic for Adium to maintain a list of which emoticons are supported by each client and each version of that client and only display images for those specific emoticons.
and that's why i stopped using emoticons all together, they suck, and when (I'm not saying if because it's bound to happen some time, I hope...) someone comes up with a better way to handle that kind of stuff, I hope Adium accepts it with open arms. (BTW, what about MSN's "costume emoticons" or whatever they call it that doesn't treat emoticons as text, but rather as images? (as far as I can remember, that is...))

Posted: Thu Mar 16, 2006 7:11 pm
by evands
We receive MSN custom emoticons in 1.0svn. Libgaim doesn't support sending them... and I'm open to suggestions as to what a good implementation would look like when it can, since I don't use MSN.

Posted: Thu Mar 16, 2006 8:55 pm
by memark
As long as you use one emoticon pack per service, and the pack has the ServiceClass set properly, most of the problems mentioned above will not be present.

Posted: Fri Mar 17, 2006 5:11 pm
by djmori
IMHO, As wrote in some ticket some months ago, the way adium handles emoticons should change for 1.0.
I belive that both sides of a chat should see exactlty the same emoticons, so it does'nt make any sence to change local emocitons, besides those checkboxes are not intuitive at all.
The "emoticons" pref should dissapear forever and instead, Adium should use default emoticons for each protocol every time.
I'm not saying "emoticon packs" should dissapear forever, those can be changed around as packs of custom emoticons to send (for the msn "sending custom emoticons" and AIM direct connect), instead of an appareance pref.

pd: BTW, adium should use This as default msn emoticons. It inculdes some default ones that are not in the current default pack.