话说,用了awn-extra-applet之后,腰不疼了,腿不酸了,吃饭也香了,身体也有劲儿了……还能做两个半俯卧撑了……

不过有点不爽的就是,awn applets里面的notification area(用来代替panel上的notification area的东东)显示图标有问题。当某程序的status icon使用的是高像素图标(比如128x128)时,整个notification area就被撑满了,高度也撑破了。

如下图:

于是好好的一个awn的美观就被破坏殆尽。

最近对代码有点犯怵,不过还是去看了看notification area的代码,发现只有三个文件。

在applet.c中,找到这么一段代码:

1
2
3
4
5
6
7
height = awn_applet_get_height (applet);
gtk_widget_set_size_request (GTK_WIDGET (applet), -1, height* 2 );
 
table = gtk_table_new (1, 1, FALSE);
app->table = table;
gtk_table_set_col_spacings (GTK_TABLE (table), 2);
gtk_table_set_row_spacings (GTK_TABLE (table), 1);

第一行说明notification area中显示的图标高度是由applet的实际高度决定的。applet的实际高度可以很高,比如128的那个更新图标之类的。

于是修改起来也很简单,把第一行注释掉,再在开头height声明时初始化为24即可。

声明部分:

1
2
3
4
5
static GQuark new_quark = 0;
static GQuark del_quark = 0;
static gint   n_rows    = 0;
static int   height    = 24;  //原来这里是0
static int   icon_size = 24;

改完后重新编译,重新使用awn后,图标果然正常了。

欢迎光临Caspar Ant,如果您喜欢本站的内容,欢迎订阅我的RSS;如果您需要出于非商业性质的转载,请先阅读版权声明页面。

日志标签

相关日志

日志信息

本文的Trackback地址为:http://www.casparant.com/a-hack-of-notification-area-in-awn-applet.html/trackback,转载本站文章前请仔细阅读本站的版权声明页。您也可以选择点击下列按钮收藏本文到网络书签中:

Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网

2 Responses to “对awn-applet的notification area的一个小改动”

Leave a Reply


Powered by Wordpress © 2008 - Caspar Ant | iKon Theme by TextNData | Admin | 京ICP备09031755号