Skip navigation.

火与冰--alva's blog

胸有激雷,面如平湖

Posts tagged with "fvwm-crystal"

修改fvwm的源代码,实现完美的中文显示

,

这可能是fvwm的一个bug,有人在2.5.12版本里就提出来了,但是现在到2.5.16还没有改,今天收到了fvwm-crystal开发者的邮件,他说他也因为fvwm的utf-8码问题头痛呢,在多语言的环境中应用fvwm-crystal就会有问题。我个人觉得应用fvwm-crystal是最舒服,最省内存的构建桌面环境的方法,非常合适机器配置不高的机器使用,并且fvwm-crystal的效果很cool,现在可以做到不修改fvwm-crystal的任何设置达到完美显示各个地方中文的效果,窗体标题,图标提示等等,所有问题,还剩下的一个问题就是我翻译了fvwm-crystal的菜单,并且用gettext生成了对应的mo文件,但是fvwm-crystal的默认设置还是不行的,默认菜单的字体是tohoma,不能显示中文,不知道fvwm-crystal的作者是否愿意把字体显示的字体修改成支持国际化字体的字体,这样就不要做任何的修改了。或者我在这边提供设置的过程,使大家知道该去改哪一个文件。要想菜单支持中文,除了需要我这里提供的mo文件,还需要改个地方,就是components/styles/Menu
修改fvwm-2.5.16的源代码过程:
在libs/FlocaleCharset.c的525行
FLCXOMCharsetList[0]改成下面这个样子
FLCXOMCharsetList[FLCXOMCharsetList_num -1];
然后重新编译就可以了。bug提交的内容见这里:
http://www.fvwm.org/cgi-bin/fvwm-bug/incoming?id=1647;page=12
另外说明一下gentoo用户的具体操作方法:
gentoo用户如果不做任何修改用的只是fvwm-crystal的2.x版本,2.x版本个人认为没有3.x版本好,为了用fvwm-crystal3.x版本,你必需在/etc/portage/package.keywords加入它,这样才可以被emerge,同时你也要加上fvwm,fvwm-crystal需要2.5.13以上的fvwm版本。
这是package.keywords的内容中加入下面两行:
      x11-wm/fvwm ~x86
      x11-themes/fvwm-crystal ~x86

为了使用portage来帮你编译你修改过的源代码,你可以这样来操作:
emerge --fetchonly fvwm #取得fvwm的源代码

从distfiles中fvwm-2.5.16.tar.bz2解压之后按照上面的方法修改第525行,然后重新打包成fvwm-2.5.16.tar.bz2,放回到distfiles,现在需要重新取得修改后的包的md5码
运行:md5sum fvwm-2.5.16.tar.bz2
复制它的md5码,修改
/usr/portage/x11-wm/fvwm/files/digest-fvwm-2.5.16,把其中的md5码改成刚刚生成的md5
码,还要改一个字段,就是fvwm-2.5.16.tar.bz2的大小变化了,你需要改变digest-fvwm-2.5.16最后一个字段。
ls -l fvwm-2.5.16.tar.bz2 #这个可以得到这个包的字节数。

由于你现在改动了digest-fvwm-2.5.16,所以在/usr/portage/x11-wm/fvwm/Manifest要做相应的修改。用同样的方法得到digest-fvwm-2.5.16的md5码和字节数,改变Manifest中对象的行。
最后就可以emerge fvwm了,你可以直接emerge fvwm-crystal,由于依赖性的关系fvwm会直接被装上。
这样在.xinitrc中加上fvwm-crystal &
就可以直接应用fvwm-crystal了,保证你不会失望,fvwm-crystal很漂亮哦

fvwm-crystal的本地化

,

昨天晚上修改了fvwm的源代码,所以fvwm-crystal不用进行修改就可以很好的显示窗体标题,图标最小化后的提示都没有中文问题了,这确实是fvwm的问题,它默认的编码搞错了,不应该是iso8859-1,而应该是iso10646-1,里面有一行代码有问题,参照了fvwm的bug report,有时间就把详细过程写出来,虽然自定义的fvwm config可以显示没有问题,但是要指名了StringEncoding。如果想应用fvwm-crystal,就要对fvwm-crystal做大量的修改。用fvwm-crystal本来就是为了便于使用,而修改这么多又把它复杂化了,并且fvwm-crystal的配置文件很多,按一种方式组织了,很多初学者改起来会很迷茫。我的目标是要不改动fvwm-crystal来达到完满的中文显示。今天试着翻译了一个中文的locale文件,但是如果不对fvwm-crystal做修改,那么菜单显示的都是方块。还给fvwm-crystal的维护者发了一封邮件,希望来翻译fvwm-crystal中文,并且希望有一天能加入到官方的发行包,给中文用户提供完满的桌面环境,那个时候运用fvwm就一点也不成问题了。呵呵,努力中~~~
December 2009
S M T W T F S
November 2009January 2010
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31