Ubuntu下将compiz fusion的MagicLamp效果改成MAC的


最近在Ubuntu下装了compiz fusion,3D效果真的是十分理想啊,感觉最好的要数窗口切换(Flip 和Cover了)和类似苹果的神灯效果了。但是对于神灯效果总是感觉过于花哨,不像苹果那般平滑,不免美中不足。通过compiz 的设置发现这主要是由其中的一个参数引起的。在CompizConfig->Effects->Animations->Effect Settings->Magic Lamp 中的Magic Lamp Max Waves 默认最小值只能到3,这就直接导致了神灯效果的花哨,现在需要对其进行修改,改到0 就成了苹果效果了。

这是由于其中神灯(Magic Lamp)效果与苹果MacOSX里的“Genie effect”太相似了,而且苹果公司已经获得了“Genie Effect”的专利,为了不因侵犯苹果的知识产权,Magic Lamp被开发人员人为的为这个设置加了一个限制以阻止用户使用Magic Lamp产生和Genie Effect“同样”的效果。那么我们怎么才能将magic lamp设置的跟苹果的效果一般呢?

因为linux 及各种GNU 软件的开放源代码,使得我们有机会对compiz fusion的magic lamp效果进行修改,使之效果更加平滑。在经过几个小时的研究后,终于将这个问题解决了。下面就是具体过程:

1.下载源码。需要修改的animation中的magic lamp效果在包compiz-fusion-plugins-main 中,我用的是0.5.2 的,需要先下载该包的源代码和spec 文件,可以在:http://devel.foss.org.my/~kagesenshi/repo/pub/ 中找到,下载 SPEC/ 中的compiz-fusion-plugins-main.spec 和compiz-fusion-plugins-main/ 中的compiz-fusion-plugins-main-0.5.2-0.2.fc7.src.rpm(直接下载相同版本的.tar.gz 或.tar.bz2 也行)。这个包需要进行修改并重新打包。以fc7 为例,可以将这两个文件分别放到 /usr/src/RedHat/ 中的 SPECS/ 和 SRPMS/ 中,源代码的可以放到 SOURCES/ 里。

2.修改。对于.src.rpm 的源码包需要先安装,源代码则不用。安装src.rpm:
        # rpm -ivh compiz-fusion-plugins-main-0.5.2-0.2.fc7.src.rpm
装好之后在 SOURCES/ 里生成了一个.tar.bz2 的源代码。解压缩之后对其中的 src/animation/ 中的文件 animation.c 进行修改。搜索 magic_lamp_max_waves ,将同行中的 <min>3</min> 的3改为0。改完保存并重新打包为原名称的.tar.bz2 文件。

3.将原系统中的该包删除,依赖关系会删除另外三个包:分别是compiz-all 和compiz-fusion...extra/unsupported 三个,直接一起删掉。等装完修改后的包再重新装上。

4.重新打包新的compiz-fusion-plugins-main。到SPECS/ 目录下运行
        # rpmbuild --ba compiz-fusion-plugins-main.spec
这时候就开始重新编译打包,完成之后在 RPMS/i386/ 中就生成了三个包,我们只用安装其中的rpm 包就行了,安装时提示需要什么包就用yum 装上,装好compiz-fusion-plugins-main 之后就可以继续将前面因为依赖关系而删除的三个包再用yum 装上了。

5.最后的设置。在装好之后就可以对配置文件进行修改了,直接在/usr/share/compiz/ 中对animation.xml 进行修改。搜索 magic_lamp_max_waves 将<min>3</min> 中的3 改为0 即可。

改完之后就可以感受苹果的“Genie effect”了。。。。。。

相关内容