Personal tools
You are here: Home 资源中心 原始部落 Happy Hacking 时尚你的 Gaim
Log in


Forgot your password?
New user?
 
Document Actions

时尚你的 Gaim

by Xin Zhen posted on Dec 13, 2006 09:39 PM last modified Dec 13, 2006 09:39 PM —
让我们 Gaim 用户也来时尚一把。像 MSN Messenger 一样把正在听的歌名显示给好友看。

让我们 Gaim 用户也来时尚一把。随着动听的音乐播放,好友们在你的名字后面看见你正在欣赏的歌名。如下图所示。

userinfo

要实现这个效果,你必须使用 gaimrhythmbox ,并且安装一个叫 gaim-rythmbox 的插件。

这个插件的工作原理也十分简单,启动后它就连接 dbus,等待来自 rhythmbox 的播放事件。当收到播放开始事件后,它就通过 dbus 远程调用 rhythmbox 的一个方法,获取当前正在播放的歌曲的名字,然后用这个名字去替换 gaim 的状态信息。于是好友们就可以看见它了。

根据我的实验,能够支持这种动态的状态信息显示的协议有 AIM,Yahoo Messenger!,Jabber(gtalk);不支持的有 MSN Messenger,ICQ 和 QQ。

经过我的一番使用,我发现 gaim-rhythmbox 插件存在着一个 bug,即可见每次更新状态信息都是发生在一首歌开始播放的时候。如果在一首歌的播放中,有一个新的帐号注册上来,那么它的状态信息就得不到更新,直到下一首歌开始播放为止。不幸的是一个未经更新的帐号,在别人看来其状态信息是一个宏'%nb'。经过一番研究,我解决了这个问题。方法是再多挂接一个“帐号登录成功”事件,每当此事件发生,则更新所有帐号的状态信息。从而避免了新登录的帐号会泄露宏标记的问题。

附件是我的补丁,打在 2.0beta5 上。已经提交原作者,其表示将会收录入下一个版本,不过下个版本至今还未发布。

附件 ---- gaim-rb-signed-on.patch