Commit e4e1ceec authored by o9000's avatar o9000

Started work on spacer item

parent d2ee0a48
......@@ -505,6 +505,16 @@ void set_panel_items_order(Panel *p)
}
if (panel_items_order[k] == 'C')
p->area.list = g_slist_append(p->area.list, &p->clock);
if (panel_items_order[k] == 'F') {
Area *spacer = calloc(sizeof(Area), 1);
spacer->panel = p;
spacer->parent = p;
spacer->bg = &g_array_index(backgrounds, Background, 0);
spacer->on_screen = 1;
spacer->size_mode = SIZE_BY_LAYOUT;
spacer->gc = 1;
p->area.list = g_slist_append(p->area.list, spacer);
}
}
init_rendering(&p->area, 0);
}
......
......@@ -277,6 +277,7 @@ int resize_by_layout(void *obj, int maximum_size)
}
else {
// detect free size for SIZE_BY_LAYOUT's Area
// TODO the spacer should collapse when the other areas are overflowing
size = a->height - (2 * (a->paddingxlr + a->bg->border.width));
GSList *l;
for (l = a->list ; l ; l = l->next) {
......@@ -471,6 +472,8 @@ void free_area (Area *a)
XFreePixmap (server.dsp, a->pix);
a->pix = 0;
}
if (a->gc)
free(a);
}
......
......@@ -72,6 +72,7 @@ typedef struct {
int resize;
// need redraw Pixmap
int redraw;
int gc;
// paddingxlr = horizontal padding left/right
// paddingx = horizontal padding between childs
int paddingxlr, paddingx, paddingy;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment