- if (panel_autohide) {
- int diff = (panel_horizontal ? panel->area.height : panel->area.width) - panel_autohide_height;
- if (panel_horizontal) {
- panel->hidden_width = panel->area.width;
- panel->hidden_height = panel->area.height - diff;
- }
- else {
- panel->hidden_width = panel->area.width - diff;
- panel->hidden_height = panel->area.height;
- }
- }
- // printf("panel : posx %d, posy %d, width %d, height %d\n", panel->posx, panel->posy, panel->area.width, panel->area.height);
-}
-
-
-void cleanup_panel()
-{
- if (!panel1) return;
-
-printf("*** cleanup_panel()\n");
- task_active = 0;
- task_drag = 0;
-
- cleanup_taskbar();
-
- int i;
- Panel *p;
- for (i=0 ; i < nb_panel ; i++) {
- p = &panel1[i];
-
- free_area(&p->area);
-
- if (p->temp_pmap) {
- XFreePixmap(server.dsp, p->temp_pmap);
- p->temp_pmap = 0;
- }
- if (p->hidden_pixmap)
- XFreePixmap(server.dsp, p->hidden_pixmap);
- p->hidden_pixmap = 0;
- if (p->main_win) {
- XDestroyWindow(server.dsp, p->main_win);
- p->main_win = 0;
- }
- }
-
- if (panel1) {
- free(panel1);
- panel1 = 0;
- nb_panel = 0;
- }
-
- if (panel_config.g_task.font_desc) {
- pango_font_description_free(panel_config.g_task.font_desc);
- panel_config.g_task.font_desc = 0;
+ // autohide or strut_policy=minimum
+ int diff = (panel_horizontal ? panel->area.height : panel->area.width) - panel_autohide_height;
+ if (panel_horizontal) {
+ panel->hidden_width = panel->area.width;
+ panel->hidden_height = panel->area.height - diff;