Desktop effects on fedora core 6

升级到Fedora Core 6最大的动力是compiz。一共试了3台电脑,ATI和Intel的显卡都可以,NVidia的显卡不行,配X Window一直是外行,所以也没有做更深入的尝试。

Xgl/compiz刚出来的时候我就看过那个著名的视频,还玩过一个支持该特效的LiveCD。立方桌面是个很有趣的想法,抖动的窗口也很好玩;而透明窗口和窗口平铺功能则非常有用。比如,按照一个窗口的内容往另一个窗口里输入有时候会很麻烦,总是想着怎样在有限的桌面上摆放两个窗口。有了透明窗口就方便多了,只需按住Alt键然后向下滚动鼠标滚轮,就可以看到下面一个窗口的内容!同样,按Pause键平铺桌面上所有窗口,有利于寻找特定窗口,这很像firefox的一个扩展——showcase。

想拥有这样的桌面特效很简单,只需安装compiz包就可以了:

$ su -c 'yum install compiz'

然后点击菜单“系统=>首选项=>Desktop Effects”,再点击弹出对话框上的按钮,如果足够幸运的话,立刻就可以玩了,甚至不需要重新登录。

像孩子一样去玩耍吧,至少我就是这样。:-)

Implicit Type Conversion in Perl

下面的程序把类型为Person的对象隐式转换为字符串和整数。

#!/usr/bin/perl

package Person;
use overload '0+' => &age, # convert type to integer
   '""' => &name,           # convert type to string
   fallback => 1;            # make ($p - $a) possible

sub new {
   my ($this, $name, $age) = @_;
   my $class = ref($this) || $this;
   my $self = { name => $name, age => $age };
   bless $self, $class;
   return $self;
}

sub name {
   my $self = shift;
   return $self->{name};
}

sub age {
   my $self = shift;
   return $self->{age};
}

package main;

$p = Person->new("Old Brother", 20);
print $p->name, " is ", $p->age, " years old.n";
$a = Person->new("Young Sister", 8);
print $a->name, " is ", $a->age, " years old.n";
print $p, " is ", $p - $a, " year older than ", $a, ".n";

overload的详细信息参见perldoc overload。