打印

通知区域图标不透明的问题

通知区域图标不透明的问题

这是一个很老很的问题了,自从 gnome-panel 支持透明以来,我就希望通知区域能够透明,但是这个问题直到现在还没有完美解决。

gnome-panel 支持透明以后,panel 上的小程序通过获取父窗口的图像 gdk_pixbuf_get_from_drawable(...),并用它做为自己的背景,以此实现假透明。

通知区域里的图标则要特殊些,它不是直接被包含在通知区域里的,而是通过 gtk_socket 连接起来的。

要实现透明,需要对 gnome-panel 打补丁,还需要对各程序中的 eggtrayicon.[ch] 打补丁,因为这两个文件都是直接从 libegg 中自制到自己代码中的。


单个图标需要解决的:
http://bugzilla.gnome.org/show_bug.cgi?id=150726

patch: http://bugzilla.gnome.org/attachment.cgi?id=59957&action=view

通知区域本身需要解决的:
http://bugzilla.gnome.org/show_bug.cgi?id=100600

patch: http://bugzilla.gnome.org/attachment.cgi?id=60779&action=view
Ubuntu dapper 中的 gnome-panel 2.14.1 已经收录了这个 patch.

参考地址:
gnome-panel 的通知区域: http://cvs.gnome.org/viewcvs/gnome-panel/applets/notification_area/

通知区域基础 libegg: http://cvs.gnome.org/viewcvs/libegg/libegg/tray/ (所有要想有通知区域图标的程序都得从这里取得 eggtrayicon.[ch] 放到自己的代码中,并调用其中的 egg_tray_icon_new(...),在 gtk+-2.10 中将收入这部分代码,相应通知区域 eggtraymanager 部分则会直接放到 gnome-panel 中)

把你的程序加入到系统托盘里: http://www.gnome-cn.org/documents/tutorial/system-tray-icon-application/

----

注意看下图中的蓝色 "CN" 部分,已经是透明的了。
附件: 您所在的用户组无法下载或查看附件

TOP

再贴个图。

unbuntu 下,分别给 scim, stardict 打了补丁。
附件: 您所在的用户组无法下载或查看附件

TOP

GCN左边那个分隔条applet不是太舒服,也缝缝补补?

TOP

历史遗留问题,这么多努力,只换来一个假透明
X的协议里如果支持透明度的话,那就好多了
我说LZ啊,做个正常人就那么难吗?

TOP

好看多了不 :-)  这个补丁会不会被收录?

TOP

ubuntu 里收录了:)

最理想的还是高效的还是依靠 composite 来实现透明!

TOP