2004年12月22日星期三

考虑是否要结束cygnome2项目

今日给cygnome2的群组发了个邮件,说我正在考虑是否要宣判cygnome-2的死刑。

为我一直没有时间来更新它;而同时因为gnome2包在cygwin官方版本的引入,原来的包又不能成功地运行,老有人报告这样那样的问题。所以现在的是
等整个gnome2桌面在cygwin官方版本中出现,但问题是进度似乎太慢了一点,最近一个月已经几乎停滞了——难道他们不打算引入桌面部分的包?

Hi, all

key point (if you're not patient enough):
- The co-existence of the some packages (such as gtk, ORBit) in this project and in cygwin net release could cause a lot of compatibility problems
- There's no need any longer to keep this project
- I'm considering freezing this project.

Recently, I got some issue report such as
"Can't find gdk_threads_lock in cyggdk DLL"
"cyggdk_pixbuf-2.0-0.dll error"
"Gnome2 cyglinc-1.dll missing"
etc.

Most of these problems are caused by the fact that you installed some base Gnome2 packages from cygwin net release and other stuff from our project.

Our packages are based on Gnome 2.4, and because of short of hands, we couldn't keep these packages up-to-date. And with Gerrit P. Haase's and Yaakov Selkowitz's efforts, Gnome2 packages are getting into cygwin net release. Surely, their work are based on the recent releases, i.e. starting from Gnome 2.6, and some of they have been updated to Gnome 2.8.

For example, in Gnome 2.4, linc is a standalone package, thus we have cyglinc-1.dll in our project, and it is used by some other packages. But in Gnome 2.6, the source code of linc is included in ORBit, and linc is no longer a standalone library. Now cygwin net release got latest release of ORBit included (with cygwin's setup.exe, you'll upgrade to that version automatically). If now you want to use our gnome-session, you know, you're doomed to encounter the problem such as "cyglinc-1.dll missing".

And there're a lot problems like this.

But I think putting Gnome2 packages into cygwin net release is in right direction, as it would attact more people to get into this porting work, which would improve the patches. And when these patches getting into upstream release, perhaps cygwin would become an official platform that Gnome would support, just like that kde would do.

Thus I think there is no need to maintain this project (If there's some, that must be that s the progress that Gnome2 packages getting into cygwin net release is too slow, that some of you are not patient enough to wait, thus you want to use our gnome-desktop on new glib/gtk/ORBit packages from cygwin net release, which is not easy:-( screen.width/2)this.width=screen.width/2
}" vspace="2" border="0" />

Another reason is that, even some of you think there's worthiness for this project, I don't have enough time to do maintain about 60 packages. The patches done on Gnome 2.4 are far from stable (GConf would cause application hangs, the UI would hang there even if the application quitted, and so on, and so on)

OK, now I would freeze this project. The setup.ini would be removed.ini, i.e. it won't be available for cygwin setup.exe any longer. But you can download binary packages manually.

Sorry for the inconvenience brought to you.

CyGNOME-2 project administrator
Yang Guilong

Powered by ScribeFire.

2004年12月17日星期五

html2rtf.pl的超级链接支持

终于忍受不了html2rtf.pl,改了一下,添加了对URL的支持,在Word/Word和AbiWord都可以正确显示成超级链接(hyperlink),但wordpad似乎有自己的显示方式: 显示成了: text ,保存后超级链接会丢失

line: 257 处添加如下代码:

# now href
urlobj_data1 = "{field{*fldinst {fs24insrsid13071880 hichaf1dbchaf13lochf1 hichaf1dbchaf13lochf1n HYPERLINK";
urlobj_data2 = "hichaf1dbchaf13lochf1 }{fs24insrsid13071880charrsid13071880 {*datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b5a0000";
# urlobj_data3 is the URL(unicode) in hex code. e.g. http://www.zope.org/Members/Brian/PythonNet/
urlobj_data3 = "0068007400740070003a002f002f007700770077002e007a006f00700065002e006f00720067002f004d0065006d0062006500720073002f0042007200690061006e002f0050007900740068006f006e004e00650074002f";
urlobj_data4 = "000000}}}{fldrslt {cs15fs24ulcf2insrsid13071880charrsid13071880 hichaf1dbchaf13lochf1 ";
instream =~ s/]*>/urlobj_data1 "1" urlobj_data2&url_str2hex(1)urlobj_data4/ig;
instream =~ s//}}}/ig

其中url_str2hex的实现如下,随便放在什么地方

# input: http://
# output: 0068007400740070003a002f002f
sub url_str2hex {
local(s);
s = _[0];

out = "";
i=0;
while(i
ch = substr(s, i, 1);
#printf "%04xn", ord(ch);
out = out.sprintf("%04x", ord(ch));
i ++;
}
printf out;
return out;
}


html2rtf.pl的网址: http://fresh.t-systems-sfr.com/unix/src/www/.warix/html2rtf.pl.html