rem: WMAddBoxSubviewAtEnd(vbox, WMWidgetView(panel->label), False, True, 20, 0, 0);
add: WMAddBoxSubviewAtEnd(vbox, WMWidgetView(panel->label), False, True, LABEL_HEIGHT, 0, 0);
context: WSwitchPanel *wInitSwitchPanel(WScreen *scr, WWindow *curwin, int workspace){    WWindow *wwin;    WSwitchPanel *panel= wmalloc(sizeof(WSwitchPanel));    int i;    int width;    int height;    int iconWidth = ICON_IDEAL_SIZE;    WMBox *vbox;    int fl;      memset(panel, 0, sizeof(WSwitchPanel));    panel->scr= scr;    panel->windows= WMCreateArray(10);        for (fl= 0; fl < 2; fl++) {        for (wwin= curwin; wwin; wwin= wwin->prev) {            if (((!fl && canReceiveFocus(wwin) > 0) || (fl && canReceiveFocus(wwin) < 0)) &&                (!WFLAGP(wwin, skip_window_list) || wwin->flags.internal_window)) {                WMInsertInArray(panel->windows, 0, wwin);            }        }        wwin = curwin;        /* start over from the beginning of the list */        while (wwin->next)          wwin = wwin->next;                for (wwin= curwin; wwin && wwin != curwin; wwin= wwin->prev) {            if (((!fl && canReceiveFocus(wwin) > 0) || (fl && canReceiveFocus(wwin) < 0)) &&                (!WFLAGP(wwin, skip_window_list) || wwin->flags.internal_window)) {                WMInsertInArray(panel->windows, 0, wwin);            }        }    }    width= (iconWidth + ICON_EXTRASPACE)*WMGetArrayItemCount(panel->windows);        if (width > WMScreenWidth(scr->wmscreen))    {        width= WMScreenWidth(scr->wmscreen) - 100;        iconWidth = width / WMGetArrayItemCount(panel->windows) - ICON_EXTRASPACE;    }        if (WMGetArrayItemCount(panel->windows) == 0) {        WMFreeArray(panel->windows);        wfree(panel);        return NULL;    }        if (iconWidth < 16) {        /* if there are too many windows, don't bother trying to show the panel */        return panel;     }        height= iconWidth + 20 + 10 + ICON_EXTRASPACE + 10;        panel->icons= WMCreateArray(WMGetArrayItemCount(panel->windows));    panel->images= WMCreateArray(WMGetArrayItemCount(panel->windows));        panel->win = WMCreateWindow(scr->wmscreen, "");    WMResizeWidget(panel->win, width + 10, height);        {        WMFrame *frame = WMCreateFrame(panel->win);        WMSetFrameRelief(frame, WRSimple);        WMSetViewExpandsToParent(WMWidgetView(frame), 0, 0, 0, 0);                vbox = WMCreateBox(panel->win);    }    WMSetViewExpandsToParent(WMWidgetView(vbox), 5, 5, 5, 5);    WMSetBoxHorizontal(vbox, False);    panel->label = WMCreateLabel(vbox);    WMAddBoxSubviewAtEnd(vbox, WMWidgetView(panel->label), False, True, 20, 0, 0);    if (scr->focused_window && scr->focused_window->frame->title)      WMSetLabelText(panel->label, scr->focused_window->frame->title);    else      WMSetLabelText(panel->label, "");    {        WMColor *color;        WMFont *boldFont= WMBoldSystemFontOfSize(scr->wmscreen, 12);                WMSetLabelRelief(panel->label, WRSimple);        WMSetLabelFont(panel->label, boldFont);        color = WMDarkGrayColor(scr->wmscreen);        WMSetWidgetBackgroundColor(panel->label, color);         WMReleaseColor(color);        color = WMWhiteColor(scr->wmscreen);        WMSetLabelTextColor(panel->label, color);        WMReleaseColor(color);                WMReleaseFont(boldFont);    }      {        RImage *tmp= NULL;        RColor bgColor;        char *path = FindImage(wPreferences.pixmap_path, "swtile.png");        if (path) {            tmp = RLoadImage(panel->scr->rcontext, path, 0);            wfree(path);        }                if (!tmp)          tmp= RGetImageFromXPMData(scr->rcontext, tile_xpm);                panel->tile = RScaleImage(tmp, iconWidth+ICON_EXTRASPACE, iconWidth+ICON_EXTRASPACE);                bgColor.alpha = 255;        bgColor.red = WMRedComponentOfColor(WMGrayColor(scr->wmscreen))>>8;        bgColor.green = WMGreenComponentOfColor(WMGrayColor(scr->wmscreen))>>8;        bgColor.blue = WMBlueComponentOfColor(WMGrayColor(scr->wmscreen))>>8;                RCombineImageWithColor(panel->tile, &bgColor);                RReleaseImage(tmp);    }      panel->hbox = WMCreateBox(vbox);    WMSetBoxHorizontal(panel->hbox, True);    WMAddBoxSubviewAtEnd(vbox, WMWidgetView(panel->hbox), True, True, 20, 0, 4);        WM_ITERATE_ARRAY(panel->windows, wwin, i) {        addIconForWindow(panel, wwin, iconWidth);        changeImage(panel, i, 0);    }        WMMapSubwidgets(panel->win);    WMRealizeWidget(panel->win);    {        WMPoint center;                center= wGetPointToCenterRectInHead(scr, wGetHeadForPointerLocation(scr),                                            width+10, height);        WMMoveWidget(panel->win, center.x, center.y);    }    panel->current= WMGetFirstInArray(panel->windows, curwin);    if (panel->current >= 0)        changeImage(panel, panel->current, 1);    WMMapWidget(panel->win);    return panel;}