当前位置--> 首 页 --> 文 章 -->Linux Develop

※阅读文章※

GTK+ FAQ--3. GTK+的发展


作者:不祥 [文章出自: www.fanqiang.com]

--------------------------------------------------------------------------------

3. GTK+的发展
3.1 CVS是什麽玩意儿, 怎麽大家都在谈论它, 我要怎样取得? 
CVS是协同版本系统(Concurent Version System), 是个很普遍的方法来做软体计画版本控制. 它设计为允许许多作者在相同的source tree下来同时进行开发. source tree是集中控制的, 但每个发展者都有local mirror来储存改变. 

GTK+发展者用CVS repository来储存主要发展的版本. 如此, 想要贡献GTK+的产生不同於CVS版本. 一般人应该要使用包装好的版本. 

CVS工具集可在RedHat网站取得. 最後的版本可在以下位置取得  

任何人都可以下载最後版本的CVS版的GTK+, 可用以下步骤取得: 

在bourne shell(bash)下: 
export CVSROOT=':pserver:anonymous@anoncvs.gimp.org:/debian/home/gnomecvs'

接下来, 第一次source tree要送出来, 需要cvs login. 
cvs login

它会问您一个密码. cvs.gimp.org没有密码, 所以按enter就好. 
取得该tree, 并到您的子目录下. 输入 
cvs -z3 get gtk+

在GTK+ 1.1 tree, glib已经移到另一个CVS module, 所以如果您没有glib安装在您的系统, 您需要安装它, 可在此取得: 
cvs -z3 get glib

3.2 我要如何贡献GTK+? 
很简单. 如果程式不太正确的执行, 看看文件您是否有所遗漏之处. 如果真是个bug或漏掉的功能, 请追踪GTK+原始码, 并修正, 然後用diff产生patch. 可用diff -ru  . 然後上载到: 

ftp://ftp.gtk.org/incoming

并带README档案. 请确定您的档名, 否则将会遭到删除, 档名必须是以下形式: 
gtk--.patch.gz
gtk--.patch.README

"n"要是个唯一个号码(从0开始). 它必须是0, 除非您今天上载超过一个patch. 
范例: 

gtk-gale-982701-0.patch.gz
gtk-gale-982701-0.patch.README

一旦您送了些什麽东西上去, 将README送到ftp-admin@gtk.org 

3.3 我要如何知道我的patch被接受了, 如果没有, 为什麽?
上载的patches会被移到ftp://ftp.gtk.org/pub/gtk/patches 然後GTK+开发群会去拣一拣. 如果可以了, 它会被移到/pub/gtk/patches/old. 

Patches不被接受的, 不论任何理由, 会被移到 /pub/gtk/patches/unapplied或/pub/gtk/patches/outdated. 在此您可以用gtk-list mailing list问看看是什麽理由. 会有很多可能的理由, 从patch不完整到不正确都有. 别就此放下, 把它看成是玩玩就好. 


3.4 新增物件的政策为何? 
这要看作者脸色了, 所以当您完成新的物件, 您要问一问作者看看了. 一般来说, 物件有用, 能用, 而不会搞得丢脸的物件大多会被接受. 


3.5 有没有除了C以外的语言? 
哈, 有. 

C++的包装为gtk--. 可在此找到: http://www.cs.tut.fi/~p150650/gtk/gtk--.html. FTP site ftp://ftp.gtk.org/pub/gtk/gtk--. 


有两个Objective-c正在发展: 
The GNOME project's package of choice is obgtk. Objgtk is based on the Object class and is maintained by Elliot Lee. Apparently, objgtk is being accepted as the `standard' Objective-C binding for GTK+. 
If you are more inclined towards the GNUstep project, you may want to check out GTKKit by Helge Heß. The intention is to setup a GTK+ binding using the FoundationKit. GTKKit includes nicities like writing a XML-type template file to construct a GTK+ interface. 

Perl bindings ftp://ftp.gtk.org/pub/gtk/perl 

Guile bindings. 网址 http://www.ping.de/sites/zagadka/guile-gtk. By the way, Guile is the GNU Project's implemention of R4RS Scheme (the standard). If you like Scheme, you may want to take a look at this. 


David Monniaux reports: 
I've started a gtk-O'Caml binding system. The basics of the system, including callbacks, work fine. The current development is in http://www.ens-lyon.fr/~dmonniau/arcs
好几个python bindings已经完成了: 

pygtk is at http://www.daa.com.au/~james/pygtk and ftp://ftp.gtk.org/pub/gtk/python 
python-gtk is at http://www.ucalgary.ca/~nascheme/python-gtk 

GTK+有OpenGL/Mesa物件. 赶快到这里抓 http://www.sakuranet.or.jp/~aozasa/shige/doc/comp/gtk/gtkGL/files-en.html 


--------------------------------------------------------------------------------

文章加入时间: 2004-11-17 14:56:30 责任编辑: w9   (2627 人次查阅)
 
Copyright © 1998-2004 中国PHP联盟 All rights reserved.