From bae370b31d01991ee13b85cc9d17ce7e411e4d33 Mon Sep 17 00:00:00 2001 From: sebastid Date: Sun, 25 Sep 2005 16:43:34 +0000 Subject: [PATCH] New netwm icon api. SVN revision: 16934 --- src/bin/e_border.c | 16 ++++++++-------- src/bin/e_border.h | 8 ++------ 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/src/bin/e_border.c b/src/bin/e_border.c index 3aa4de09f..a6f9f2605 100644 --- a/src/bin/e_border.c +++ b/src/bin/e_border.c @@ -2097,12 +2097,13 @@ e_border_icon_add(E_Border *bd, Evas *evas) edje_object_file_set(o, a->path, "icon"); } } - else if (bd->client.netwm.icon.data) + else if (bd->client.netwm.icons) { + /* TODO: Use the right icon */ o = e_icon_add(evas); - e_icon_data_set(o, bd->client.netwm.icon.data, - bd->client.netwm.icon.width, - bd->client.netwm.icon.height); + e_icon_data_set(o, bd->client.netwm.icons[0].data, + bd->client.netwm.icons[0].width, + bd->client.netwm.icons[0].height); e_icon_alpha_set(o, 1); } return o; @@ -4200,10 +4201,9 @@ _e_border_eval(E_Border *bd) } if (bd->client.netwm.fetch.icon) { - if (bd->client.netwm.icon.data) free(bd->client.netwm.icon.data); - if (!ecore_x_netwm_icon_get(bd->client.win, - &bd->client.netwm.icon.width, &bd->client.netwm.icon.height, - &bd->client.netwm.icon.data, &bd->client.netwm.icon.size)) + E_FREE(bd->client.netwm.icons); + if (!ecore_x_netwm_icons_get(bd->client.win, + &bd->client.netwm.icons, &bd->client.netwm.num_icons)) printf("ERROR: Fetch icon from client\n"); else bd->changes.icon = 1; diff --git a/src/bin/e_border.h b/src/bin/e_border.h index 9bd990c8b..bbafb2d9d 100644 --- a/src/bin/e_border.h +++ b/src/bin/e_border.h @@ -196,12 +196,8 @@ struct _E_Border unsigned int desktop; char *name; char *icon_name; - struct { - unsigned int *data; - int width; - int height; - int size; - } icon; + Ecore_X_Icon *icons; + int num_icons; unsigned int user_time; struct { int left;