先吐槽下,这次更新时绝对是这么多年来最差的一次,Ubuntu 11.04下N卡8400驱动居然用自带的闭源受限驱动无效,还有各种不爽不说了。
相信用emerald的TX都会发现按F2后emerald --replace会导致标题栏消失。这次还是emerald不兼容compiz9.X造成的。接下来说下解决方法:
第一步:准备一些编译的基础包,intltool貌似可以省略
sudo apt-get install git intltool libtool
sudo apt-get build-dep emerald
git clone git://anongit.compiz.org/fusion/decorators/emerald
cd emerald
git checkout -b compiz++ origin/compiz++
第二步:准备一个补丁文档:vi emeraldfix.txt
其内容可以参看最接下来论坛或者我搬来如下:
diff -ru emerald/src/main.c emerald-fixed/src/main.c
--- emerald/src/main.c2011-03-07 22:38:32.865582662 -0500
+++ emerald-fixed/src/main.c2011-03-07 22:41:16.000000000 -0500
@@ -505,7 +505,7 @@
maxextents = extents;
decor_quads_to_property(data, GDK_PIXMAP_XID(d->pixmap),
- &extents, &maxextents, 0, 0, quads, nQuad);
+ &extents, &extents, &maxextents, &maxextents, 0, 0, quads, nQuad);
gdk_error_trap_push();
XChangeProperty(xdisplay, d->prop_xid,
@@ -1937,7 +1937,7 @@
nQuad = set_switcher_quads(quads, d->width, d->height, ws);
decor_quads_to_property(data, GDK_PIXMAP_XID(d->pixmap),
- &extents, &extents, 0, 0, quads, nQuad);
+ &extents, &extents, &extents, &extents, 0, 0, quads, nQuad);
style = gtk_widget_get_style (style_window);
@@ -2364,7 +2364,7 @@
nQuad = set_shadow_quads(quads, width, height, ws);
decor_quads_to_property(data, GDK_PIXMAP_XID(ws->shadow_pixmap),
-&ws->shadow_extents, &ws->shadow_extents, 0, 0,
+&ws->shadow_extents, &ws->shadow_extents, &ws->shadow_extents, &ws->shadow_extents, 0, 0,quads, nQuad);
XChangeProperty(xdisplay, xroot,
@@ -2424,7 +2424,7 @@
(*d.draw) (&d);
decor_quads_to_property(data, GDK_PIXMAP_XID(d.p_inactive),
-&extents, &extents, 0, 0, quads, nQuad);
+&extents, &extents, &extents, &extents, 0, 0, quads, nQuad);
XChangeProperty(xdisplay, xroot,
normalAtom,
@@ -2433,7 +2433,7 @@
BASE_PROP_SIZE + QUAD_PROP_SIZE * nQuad);
decor_quads_to_property(data, GDK_PIXMAP_XID(d.p_active),
-&extents, &extents, 0, 0, quads, nQuad);
+&extents, &extents, &extents, &extents, 0, 0, quads, nQuad);
XChangeProperty(xdisplay, xroot,
activeAtom,
patch -p1 < emeraldfix.txt #打补丁,我的提示某些行出错,不过也无影响
第三步:编译阶段,前面弄好的话就不会出错了
./autogen.sh
./configure --prefix=/usr/local
make
sudo make install
sudo ldconfig
ok了,将compiz的窗口装饰——命令里改为emerald --replace,以后自动加载。