|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果你学不好的话,你在linux中开发的机会就很少,或者说几乎没有,它的优势就消失了,然后随着时间的流逝,你就会全部忘记她;
amsn这一款在linux下的Msn就未几先容了,0.95版出来后到场了摄像头,在加上其文件传输功效,你还依恋于gaim么?
经由多天的搜刮和实验,终究在FedoraCore3里用上amsn了。实在安装amsn并run起来不难(不外我基础上从不克不及运转到能运转,不克不及输出任何字符到能输出英文,不克不及输出中文到能输出中文的成绩都碰到了,还碰到程序段毛病等等,也够衰的了),特别是中文输出的成绩是有点贫苦,由于开辟amsn的言语是Tcl/tk,对中文的撑持不是太好,加上amsn-0.95必要tcl/tk8.4以上撑持,故之前jserv兄的tcl/tk8.3XIMpatch不克不及用了,不外头几天他推出了一个diff,总算让偶找到了,活活。ok,闲话未几说了。
安装amsn的需要前提:
1.gcc之类编译工具必不成少,触及响应类库,假如你在编译时堕落,烦请本人上彀搜响应的包安装.
2.tcl8.5a3-src.tar.gz
3.tk8.5a3-src.tar.gz以上两个包都能够在tcl/tk的官方网站下载失掉
4.amsn-0.95.tar.gz这里必要申明一下,amsn.sourceforge.net上有良多amsn的版本诸如bin,rpm等,乃至有专为Fedora的rpm包,不外不才不保举利用那些,在列内外拔取“other”,下载amsn-0.95.tar.gz。
5.tk-cvs-xim-fixes.diff下载地点http://jserv.sayya.org/tcl-i18n/tk-cvs-xim-fixes.diff
当猎取这些文件后,我们将之放在/home目次下
为了形成不用要的困扰,先删除体系中自带的tcl和tk
CODE:[root@localhost~]#rpm-qa|greptcl
tcl8.4*****
[root@localhost~]#rpm-etcl
[root@localhost~]#rpm-qa|greptk
tk8.4*****
[root@localhost~]#rpm-etk
假如卸载tcl发明有其他安装包依附于tcl,假如那些包不主要,就先删那些包,固然你也能够rpm-e--nodepstcl卸载。
CODE:[root@localhosthome]#tarxvzftcl8.5a3-src.tar.gz
[root@localhosthome]#tarxvzftk8.5a3-src.tar.gz
在安装它们之前必要先辈行diff打patch,命令很复杂:patch-p0<tk-cvs-xim-fixes.diff
不外为人人剖析一下jserv年夜年夜的这个patch文件内容,如许了解起来人人更简单些,中文输出都是我说的话(针对Linux菜鸟,汗!实在偶也是菜鸟)
CODE:Index:generic/tkEvent.c
===================================================================
RCSfile:/home/tk8.5a3/generic/tkEvent.c,v//遭修正的文件tkEvent.c
retrievingrevision1.31
diff-u-p-r1.31tkEvent.c
---generic/tkEvent.c4Nov200511:52:50-00001.31
+++generic/tkEvent.c4Jan200606:31:19-0000
@@-449,8+449,10@@InvokeInputMethods(//也许在449行摆布的地位,在InvokeInputMethods办法里
XSetICFocus(winPtr->inputContext);
}
}
-if(XFilterEvent(eventPtr,None)){//删
-return1;//删
+if(eventPtr->type==KeyPress||eventPtr->type==KeyRelease){//增添的内容
+if(XFilterEvent(eventPtr,None)){//增添
+return1;//增添
+}//增添
}
}
return0;
Index:unix/tkUnixEvent.c
===================================================================
RCSfile:/home/tk8.5a3/unix/tkUnixEvent.c,v
retrievingrevision1.19
diff-u-p-r1.19tkUnixEvent.c
---unix/tkUnixEvent.c7Dec200517:32:52-00001.19
+++unix/tkUnixEvent.c4Jan200606:31:20-0000
@@-334,19+334,22@@staticvoid
TransferXEventsToTcl(
Display*display)
{
-intnumFound;
XEventevent;
-numFound=QLength(display);
-
/*
-*TransfereventsfromtheXeventqueuetotheTkeventqueue.
+*TransfereventsfromtheXeventqueuetotheTkeventqueue
+*afterXIMeventfiltering.KeyPressandKeyReleaseevents
+*arefilteredinTk_HandleEventinsteadofhere,sothatTks
+*focusmanagementcodecanredirectthem.
*/
-
-while(numFound>0){
+while(QLength(display)>0){
XNextEvent(display,&event);
+if(event.type!=KeyPress&&event.type!=KeyRelease){
+if(XFilterEvent(&event,None)){
+continue;
+}
+}
Tk_QueueWindowEvent(&event,TCL_QUEUE_TAIL);
-numFound--;
}
}
上面安装这些软件:
CODE:[root@localhosthome]#cdtcl8.5a3
[root@localhosthome]#cdunix
[root@localhosthome]#./configure--prefix=/usr
--enable-gcc
--disable-threads
--disable-shared
[root@localhosthome]#makeclean
[root@localhosthome]#make
[root@localhosthome]#makeinstall
CODE:[root@localhosthome]#cdtk8.5a3
[root@localhosthome]#cdunix
[root@localhosthome]#./configure--prefix=/usr
--enable-gcc
--disable-threads
--disable-shared
--enable-xft
--disable-symbols
[root@localhosthome]#makeclean
[root@localhosthome]#make
[root@localhosthome]#makeinstall
十分关头的两个link!!!
CODE:[root@localhosthome]#ln-s/usr/bin/wish8.5/usr/bin/wish
[root@localhosthome]#ln-s/usr/bin/tclsh8.5/usr/bin/tclsh
最初解压amsn-0.95.tar.gz
CODE:[root@localhosthome]#tarxvzfamsn-0.95.tar.gz
[root@localhosthome]#cdamsn-0.95
[root@localhosthome]#./configure--with-tcl=/usr/lib&&makeclean&&make
最初运转amsn,半途而废!
CODE:[root@localhosthome]#./amsn
</p>
对于linux命令,一定要学会用man和info去查他们的解释; |
|