Compare commits
1 Commits
oskariraut
...
spacer
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e4e1ceec38 |
10
src/panel.c
10
src/panel.c
@@ -505,6 +505,16 @@ void set_panel_items_order(Panel *p)
|
|||||||
}
|
}
|
||||||
if (panel_items_order[k] == 'C')
|
if (panel_items_order[k] == 'C')
|
||||||
p->area.list = g_slist_append(p->area.list, &p->clock);
|
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);
|
init_rendering(&p->area, 0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -277,6 +277,7 @@ int resize_by_layout(void *obj, int maximum_size)
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// detect free size for SIZE_BY_LAYOUT's Area
|
// 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));
|
size = a->height - (2 * (a->paddingxlr + a->bg->border.width));
|
||||||
GSList *l;
|
GSList *l;
|
||||||
for (l = a->list ; l ; l = l->next) {
|
for (l = a->list ; l ; l = l->next) {
|
||||||
@@ -471,6 +472,8 @@ void free_area (Area *a)
|
|||||||
XFreePixmap (server.dsp, a->pix);
|
XFreePixmap (server.dsp, a->pix);
|
||||||
a->pix = 0;
|
a->pix = 0;
|
||||||
}
|
}
|
||||||
|
if (a->gc)
|
||||||
|
free(a);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ typedef struct {
|
|||||||
int resize;
|
int resize;
|
||||||
// need redraw Pixmap
|
// need redraw Pixmap
|
||||||
int redraw;
|
int redraw;
|
||||||
|
int gc;
|
||||||
// paddingxlr = horizontal padding left/right
|
// paddingxlr = horizontal padding left/right
|
||||||
// paddingx = horizontal padding between childs
|
// paddingx = horizontal padding between childs
|
||||||
int paddingxlr, paddingx, paddingy;
|
int paddingxlr, paddingx, paddingy;
|
||||||
|
|||||||
Reference in New Issue
Block a user