p->area.on_screen = 1;
p->area.resize = 1;
p->area.size_mode = SIZE_BY_LAYOUT;
- p->area._resize = resize_by_layout;
+ p->area._resize = resize_panel;
p->g_taskbar.area.parent = p;
p->g_taskbar.area.panel = p;
p->g_task.area.panel = p;
}
+int resize_panel(void *obj)
+{
+ int ret = resize_by_layout(obj);
+
+ if (panel_mode != MULTI_DESKTOP) {
+ // propagate width/height on hidden taskbar
+ int i, width, height;
+ Panel *panel = (Panel*)obj;
+ width = panel->taskbar[server.desktop].area.width;
+ height = panel->taskbar[server.desktop].area.height;
+ for (i=0 ; i < panel->nb_desktop ; i++) {
+ panel->taskbar[i].area.width = width;
+ panel->taskbar[i].area.height = height;
+ panel->taskbar[i].area.resize = 1;
+ }
+ }
+ return ret;
+}
+
+
void update_strut(Panel* p)
{
if (panel_strut_policy == STRUT_NONE) {
void init_panel();
void init_panel_size_and_position(Panel *panel);
+int resize_panel(void *obj);
void set_panel_items_order(Panel *p);
void set_panel_properties(Panel *p);