[client/tasklist] Reactivate icon drawing with client.icon_set()
Signed-off-by: Julien Danjou <julien@danjou.info>
This commit is contained in:
parent
67598ab859
commit
e25434fe25
13
client.c
13
client.c
|
@ -1112,6 +1112,18 @@ luaA_client_tostring(lua_State *L)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
luaA_client_icon_set(lua_State *L)
|
||||||
|
{
|
||||||
|
client_t **c = luaL_checkudata(L, 1, "client");
|
||||||
|
const char *icon = luaL_optstring(L, 2, NULL);
|
||||||
|
|
||||||
|
p_delete(&(*c)->icon_path);
|
||||||
|
(*c)->icon_path = a_strdup(icon);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
const struct luaL_reg awesome_client_methods[] =
|
const struct luaL_reg awesome_client_methods[] =
|
||||||
{
|
{
|
||||||
{ "get", luaA_client_get },
|
{ "get", luaA_client_get },
|
||||||
|
@ -1137,6 +1149,7 @@ const struct luaL_reg awesome_client_meta[] =
|
||||||
{ "redraw", luaA_client_redraw },
|
{ "redraw", luaA_client_redraw },
|
||||||
{ "floating_set", luaA_client_floating_set },
|
{ "floating_set", luaA_client_floating_set },
|
||||||
{ "floating_get", luaA_client_floating_get },
|
{ "floating_get", luaA_client_floating_get },
|
||||||
|
{ "icon_set", luaA_client_icon_set },
|
||||||
{ "__eq", luaA_client_eq },
|
{ "__eq", luaA_client_eq },
|
||||||
{ "__tostring", luaA_client_tostring },
|
{ "__tostring", luaA_client_tostring },
|
||||||
{ NULL, NULL }
|
{ NULL, NULL }
|
||||||
|
|
|
@ -268,6 +268,8 @@ struct client_t
|
||||||
position_t titlebar_oldposition;
|
position_t titlebar_oldposition;
|
||||||
/** Layer in the stacking order */
|
/** Layer in the stacking order */
|
||||||
layer_t layer, oldlayer;
|
layer_t layer, oldlayer;
|
||||||
|
/** Path to an icon */
|
||||||
|
char *icon_path;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct client_node_t client_node_t;
|
typedef struct client_node_t client_node_t;
|
||||||
|
|
|
@ -116,9 +116,9 @@ tasklist_draw(widget_node_t *w, statusbar_t *statusbar, int offset, int used)
|
||||||
draw_rectangle(statusbar->ctx, area, 1.0, true,
|
draw_rectangle(statusbar->ctx, area, 1.0, true,
|
||||||
statusbar->colors.bg);
|
statusbar->colors.bg);
|
||||||
|
|
||||||
if(0)
|
if(c->icon_path)
|
||||||
{
|
{
|
||||||
// area = draw_get_image_size(r->icon);
|
area = draw_get_image_size(c->icon_path);
|
||||||
if(area.width > 0 && area.height > 0)
|
if(area.width > 0 && area.height > 0)
|
||||||
{
|
{
|
||||||
icon_width = ((double) statusbar->height / (double) area.height) * area.width;
|
icon_width = ((double) statusbar->height / (double) area.height) * area.width;
|
||||||
|
@ -126,8 +126,7 @@ tasklist_draw(widget_node_t *w, statusbar_t *statusbar, int offset, int used)
|
||||||
w->area.x + box_width * i,
|
w->area.x + box_width * i,
|
||||||
w->area.y,
|
w->area.y,
|
||||||
statusbar->height,
|
statusbar->height,
|
||||||
NULL);
|
c->icon_path);
|
||||||
// r->icon);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue