当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 3 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 关于Gaim的编译和openq一点Hack
帖子发表于 : 2005-12-25 13:16 
头像

注册: 2005-04-08 18:08
帖子: 339
地址: Chongqing
送出感谢: 0 次
接收感谢: 0 次
openq有时候会崩溃大家都知道,可是昨天我的openq崩溃得特别平凡,于是干脆从新编译了gaim和openq,现在一次也没崩溃过。

编译 Gaim(1.5.0) 需要注意的是,它需要一些开发包才能支持声音或者以X环境为基础的磕睡功能等,这里我给出一个相关的软件包列表(当然对应的 dev 包安装了才能正常编译):
代码:
ii  libao2                    0.8.5-1        Cross Platform Audio Output Librar
ii  libaspell15               0.50.5-3       The GNU Aspell spell-checker runti
ii  libatk1.0-0               1.6.1-3        The ATK accessibility toolkit
ii  libaudiofile0             0.2.6-4        Open-source version of SGI's audio
ii  libc6                     2.3.2.ds1-16   GNU C Library: Shared libraries an
ii  libgcrypt11               1.2.0-4        LGPL Crypto library - runtime libr
ii  libglib2.0-0              2.4.6-2        The GLib library of C routines
ii  libgnutls11               1.0.16-7       GNU TLS library - runtime library
ii  libgtk2.0-0               2.4.9-1        The GTK+ graphical user interface
ii  libgtkspell0              2.0.7-1        a spell-checking addon for GTK's T
ii  libice6                   4.3.0.dfsg.1-4 Inter-Client Exchange library
ii  libpango1.0-0             1.4.1-2        Layout and rendering of internatio
ii  libperl5.8                5.8.4-2        Shared Perl library.
ii  libsm6                    4.3.0.dfsg.1-4 X Window System Session Management
ii  libstartup-notification0  0.7-1          library for program launch feedbac
ii  libx11-6                  4.3.0.dfsg.1-4 X Window System protocol client li
ii  libxext6                  4.3.0.dfsg.1-4 X Window System miscellaneous exte
ii  perl                      5.8.4-2        Larry Wall's Practical Extraction
ii  perl-base [perlapi-5.8.4] 5.8.4-2        The Pathologically Eclectic Rubbis
ii  xlibs                     4.3.0.dfsg.1-4 X Window System client libraries m
ii  libxss                    6.8.2


安装完以上包后编译出的 Gaim 信息:
代码:
Gaim was compiled with the following:
Arguments to ./configure: 
Print debugging messages:  No
Binary relocation:  Enabled
Plugins:  Enabled
SSL:  Gaim was compiled with SSL support
GNUTLS:  Enabled
NSS:  Enabled
Tcl: Yes
Tk:  No
External libzephyr:  No
Zephyr uses Kerberos: No
AO:  Yes   #libao-dev 是必须的,如果没有   AO: No   没有声音
NAS Audio:  No
GtkSpell:  Enabled
XScreenSaver support:  Yes
X SM support:  Yes


这里可能你觉得 1.5.0 版本的声音文件 与 图标太老了,你可以下载 2.0 beta 把声音与图标等文件 copy 到1.5.0 ,不过注意别把 Makefile.* 这些文件也 copy 过去了, 也许也需要对拷贝过去的个别新文件从新明明才能把文件全部替换完,这里就不叙述了。

关于 openq 的 hack

想了一下,openq的崩溃应该与文件传输有关系,所以就去掉源代码中的文件传输功能,这里其实只需要小小的更改 src 目录中 im.c 的代码就可以了:


代码:
[..................]
// a debug function
void _qq_show_packet(gchar * desc, gchar * buf, gint len);

enum
{
        QQ_NORMAL_IM_TEXT = 0x000b,
         /*****
            QQ_NORMAL_IM_FILE_REQUEST = 0x0035,
   QQ_NORMAL_IM_FILE_APPROVE_UDP = 0x0037,
   QQ_NORMAL_IM_FILE_APPROVE_TCP = 0x0003,
   QQ_NORMAL_IM_FILE_REJECT_UDP = 0x0039,
   QQ_NORMAL_IM_FILE_REJECT_TCP = 0x0005,
   QQ_NORMAL_IM_FILE_NOTIFY = 0x003b,
   QQ_NORMAL_IM_FILE_CANCEL = 0x0049,
   QQ_NORMAL_IM_FILE_PASV = 0x003f,
         *****/
};

[...............]

   case QQ_NORMAL_IM_TEXT:
      gaim_debug (GAIM_DEBUG_INFO,
             "QQ",
             "Normal IM, text type:\n [%d] => [%d], src: %s\n",
             common->sender_uid, common->receiver_uid,
             qq_get_source_str (common->sender_ver));
      _qq_process_recv_normal_im_text (data, cursor, len, common,
                   gc);
      break;
      /********
      case QQ_NORMAL_IM_FILE_REJECT_UDP:
      qq_process_recv_file_reject (data, cursor, len,
                    common->sender_uid, gc);
      break;
   case QQ_NORMAL_IM_FILE_APPROVE_UDP:
      qq_process_recv_file_accept (data, cursor, len,
                    common->sender_uid, gc);
      break;
   case QQ_NORMAL_IM_FILE_REQUEST:
      qq_process_recv_file_request (data, cursor, len,
                     common->sender_uid, gc);
      break;
      case QQ_NORMAL_IM_FILE_CANCEL:
      qq_process_recv_file_cancel (data, cursor, len,
                    common->sender_uid, gc);
      break;
      case QQ_NORMAL_IM_FILE_NOTIFY:
      qq_process_recv_file_notify (data, cursor, len,
            common->sender_uid, gc);
      break;
      **********/
   default:
      im_unprocessed = g_newa (qq_recv_normal_im_unprocessed, 1);
      im_unprocessed->common = common;
      im_unprocessed->unknown = *cursor;
      im_unprocessed->length = data + len - *cursor;

[................]


可以看出只是注释掉与文件传输相关的代码就很容易做到了,然后编译 openq 并安装,搞定了。

最后可能需要改动你的 笑脸 主题,应该openq中的 QQ , MSN ,Yahoo的都太老了,还没有jabber的主题,这个改动是很容易,可以到这里下载自己喜欢的主题,然后改动theme文件就可以了。

若有问题,请回贴

贴个图:


附件:
gaim.png
gaim.png [ 332.82 KiB | 被浏览 755 次 ]



_________________
目前是 tinkpad r400 上的 debian 用户
my blog Trust Dating
页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2005-12-27 15:12 
头像

注册: 2005-04-08 18:08
帖子: 339
地址: Chongqing
送出感谢: 0 次
接收感谢: 0 次
重新制作的 qq2005 默认头像,openq使用,复制 qq_*.png 到

/usr/local/share/pixmaps/gaim/status/default/

或者

/usr/share/pixmaps/gaim/status/default/

即可


附件:
qq2005.png
qq2005.png [ 122.22 KiB | 被浏览 737 次 ]

default.tar.gz [778.44 KiB]
被下载 29 次


_________________
目前是 tinkpad r400 上的 debian 用户
my blog Trust Dating
页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2005-12-29 11:59 
头像

注册: 2005-10-16 23:26
帖子: 532
地址: 泉州
送出感谢: 0 次
接收感谢: 3
自己动手,丰衣足食啊,老兄的精神值得嘉奖
我的openq没法显示群组啊,遗憾 :lol:


_________________
You make it fun
It will make you fun


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 3 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译