QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3293|回复: 5

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

[复制链接]
发表于 2006-5-10 22:04:50 | 显示全部楼层 |阅读模式
这是一个很老很的问题了,自从 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" 部分,已经是透明的了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2006-5-11 14:19:01 | 显示全部楼层
再贴个图。

unbuntu 下,分别给 scim, stardict 打了补丁。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2006-5-11 15:55:55 | 显示全部楼层
GCN左边那个分隔条applet不是太舒服,也缝缝补补?
回复

使用道具 举报

发表于 2006-5-14 03:00:45 | 显示全部楼层
历史遗留问题,这么多努力,只换来一个假透明
X的协议里如果支持透明度的话,那就好多了
回复

使用道具 举报

发表于 2006-5-14 19:01:21 | 显示全部楼层
好看多了不 :-)  这个补丁会不会被收录?
回复

使用道具 举报

 楼主| 发表于 2006-5-14 23:04:10 | 显示全部楼层
ubuntu 里收录了:)

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

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-3-29 03:29 , Processed in 0.057217 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表