On Thursday 02 November 2006 14:29, Matt Rogers wrote: > > Is it possible that e.g. : ) in MSN yields another image than in ICQ? > > People will want this, so that they can make their emoticons per protocol > look like the ones from the original clients.
Thinking about this more, in case of conflicting emoticons that even makes sense. Having this just to have 5 slightly different looking :) faces for the sake of being the same as the native client is silly IMNSHO. I fully expect people to want it though ;) (And it doesn't hurt to support it in any case.) > > Or is it just that the ascii devilish grin } : - > in MSN should be coded > > as ( 6 ) ? > > People will want this too, well, at least I do. :) Me too :) > IIUC, the patch on the tracker is just a proposal. While i'm sure that some > discussion on gaim-devel took place, I don't read gaim-devel (i'm on enough > MLs) so I am not aware of what they discussed Hmm, would be interesting to know though. > > Also, a long-standing wish that I eventually wanted to implement in > > Kopete back when I was still working on it was to allow the engine to do > > more sophisticated markup as well, like changing *bold* to <b>bold</b> > > and /italic/ to <i>italic</i>, or even to support '/me' again. > > > > If we make the icon spec a shared standard (yes please! :) ) we have to > > keep in mind any ideas like that. Either we decide to handle those > > outside the .xml, we decide to not implement them at all, or we need to > > provide the necessary hooks for extensibility. > > I like the idea of hooks better, personally. Ok, with that in mind, a stab at such hooks... I see two possible extension points here: 1. Replace text with markup rather than an image 2. Allow variable parts (regexp?) in the pattern, e.g. "_([^\s])+_" for underlining text. Examples (using regexp syntax): * "^-{5,}\$" --> "<hr />" to insert a horizontal line if more than 5 dashes are typed on an otherwise empty line This is an example of only #1. * "_([^\s])+_" --> "<ul>\1</ul>" to underline text. This is an example of #1 and #2. * "o O ( [^)])+ )" --> an image of a thought balloon with text inside This is (somewhat) an example of #1 and #2. I can't think of an example of just #2 (i.e. variable pattern, but only an image as result). Item #2, however, is more easy to implement by adding a new element <markup/> next to <emoticon/>. It's also easy to gracefully fail on implementations that don't support it by simply ignoring the element. So as long as clients don't try to do a DTD or schema validation on the unsupported element the .xml is even downwards compatible. Item #1 is harder, since it also affects existing elements. Instead of a file="" attribute we need another attribute or child element. Perhaps markup="" ? Graceful fallback is hard to achieve with this though. As I said, I can't think of a case where we want a variable pattern, but only an image as replacement. If we accept that we can limit the extension hook to just a new element <markup /> and implement it all there. More stuff that's needed in any case: - versioning on the root element <messaging-emoticon-map />, so old and new themes can be distinguished - consideration of KMail and possibly other apps who also use the themes - adding of variables in the replacement markup, ideally Adium style-compatible to lower learning curve. Otherwise "/me" cannot be implemented, since it needs the user's display name. Thoughts? If this is about it we can think about a formal syntax for <markup/>, otherwise it's back to the drawing board :) -- Martijn Abandon the search for truth: settle on a good fantasy. _______________________________________________ kopete-devel mailing list kopete-devel@kde.org https://mail.kde.org/mailman/listinfo/kopete-devel