rem: panel->fprefix = wstrconcat(wusergnusteppath(), "/Library/WindowMaker/WPrefs");
add: panel->fprefix = wstrconcat(wusergnusteppath(), "/Library/WindowMaker");
context: createPanel(Panel *p){    _Panel *panel = (_Panel*)p;    WMFont *font;    WMScreen *scr = WMWidgetScreen(panel->parent);    WMTabViewItem *item;    int i;    char *tmp;    Bool ok = True;    panel->fprefix = wstrconcat(wusergnusteppath(), "/Library/WindowMaker/WPrefs");    if (access(panel->fprefix, F_OK)!=0) {        if (mkdir(panel->fprefix, 0755) < 0) {            wsyserror(panel->fprefix);            ok = False;        }    }    if (ok) {        tmp = wstrconcat(panel->fprefix, "/WPrefs/");        wfree(panel->fprefix);        panel->fprefix = tmp;        if (access(panel->fprefix, F_OK)!=0) {            if (mkdir(panel->fprefix, 0755) < 0) {                wsyserror(panel->fprefix);            }        }    }    panel->smallFont = WMSystemFontOfSize(scr, 10);    panel->normalFont = WMSystemFontOfSize(scr, 12);    panel->boldFont = WMBoldSystemFontOfSize(scr, 12);    panel->onLed = WMCreatePixmapFromXPMData(scr, blueled_xpm);    panel->offLed = WMCreatePixmapFromXPMData(scr, blueled2_xpm);    panel->hand = WMCreatePixmapFromXPMData(scr, hand_xpm);    panel->box = WMCreateBox(panel->parent);    WMSetViewExpandsToParent(WMWidgetView(panel->box), 2, 2, 2, 2);    /* preview box */    panel->prevL = WMCreateLabel(panel->box);    WMResizeWidget(panel->prevL, 240, FRAME_HEIGHT - 20);    WMMoveWidget(panel->prevL, 15, 10);    WMSetLabelRelief(panel->prevL, WRSunken);    WMSetLabelImagePosition(panel->prevL, WIPImageOnly);    WMCreateEventHandler(WMWidgetView(panel->prevL), ButtonPressMask,                         previewClick, panel);    /* tabview */    tabviewDelegate.data = panel;    panel->tabv = WMCreateTabView(panel->box);    WMResizeWidget(panel->tabv, 245, FRAME_HEIGHT - 20);    WMMoveWidget(panel->tabv, 265, 10);    WMSetTabViewDelegate(panel->tabv, &tabviewDelegate);    /*** texture list ***/    panel->texF = WMCreateFrame(panel->box);    WMSetFrameRelief(panel->texF, WRFlat);    item = WMCreateTabViewItemWithIdentifier(0);    WMSetTabViewItemView(item, WMWidgetView(panel->texF));    WMSetTabViewItemLabel(item, _("Texture"));    WMAddItemInTabView(panel->tabv, item);    panel->secP = WMCreatePopUpButton(panel->texF);    WMResizeWidget(panel->secP, 228, 20);    WMMoveWidget(panel->secP, 7, 7);    WMAddPopUpButtonItem(panel->secP, _("Titlebar of Focused Window"));    WMAddPopUpButtonItem(panel->secP, _("Titlebar of Unfocused Windows"));    WMAddPopUpButtonItem(panel->secP, _("Titlebar of Focused Window's Owner"));    WMAddPopUpButtonItem(panel->secP, _("Window Resizebar"));    WMAddPopUpButtonItem(panel->secP, _("Titlebar of Menus"));    WMAddPopUpButtonItem(panel->secP, _("Menu Items"));    WMAddPopUpButtonItem(panel->secP, _("Icon Background"));    /*    WMAddPopUpButtonItem(panel->secP, _("Workspace Backgrounds"));     */    WMSetPopUpButtonSelectedItem(panel->secP, 0);    WMSetPopUpButtonAction(panel->secP, changePage, panel);    panel->texLs = WMCreateList(panel->texF);    WMResizeWidget(panel->texLs, 165, 155);    WMMoveWidget(panel->texLs, 70, 33);    WMSetListUserDrawItemHeight(panel->texLs, 35);    WMSetListUserDrawProc(panel->texLs, paintListItem);    WMHangData(panel->texLs, panel);    WMSetListAction(panel->texLs, textureClick, panel);    WMSetListDoubleAction(panel->texLs, textureDoubleClick, panel);    WMSetBalloonTextForView(_("Double click in the texture you want to use\n"                              "for the selected item."),                            WMWidgetView(panel->texLs));    /* command buttons */    font = WMSystemFontOfSize(scr, 10);    panel->newB = WMCreateCommandButton(panel->texF);    WMResizeWidget(panel->newB, 57, 39);    WMMoveWidget(panel->newB, 7, 33);    WMSetButtonFont(panel->newB, font);    WMSetButtonImagePosition(panel->newB, WIPAbove);    WMSetButtonText(panel->newB, _("New"));    WMSetButtonAction(panel->newB, newTexture, panel);    SetButtonAlphaImage(scr, panel->newB, TNEW_FILE, NULL, NULL);    WMSetBalloonTextForView(_("Create a new texture."),                            WMWidgetView(panel->newB));    panel->ripB = WMCreateCommandButton(panel->texF);    WMResizeWidget(panel->ripB, 57, 39);    WMMoveWidget(panel->ripB, 7, 72);    WMSetButtonFont(panel->ripB, font);    WMSetButtonImagePosition(panel->ripB, WIPAbove);    WMSetButtonText(panel->ripB, _("Extract..."));    WMSetButtonAction(panel->ripB, extractTexture, panel);    SetButtonAlphaImage(scr, panel->ripB, TEXTR_FILE, NULL, NULL);    WMSetBalloonTextForView(_("Extract texture(s) from a theme or a style file."),                            WMWidgetView(panel->ripB));    WMSetButtonEnabled(panel->ripB, False);    panel->editB = WMCreateCommandButton(panel->texF);    WMResizeWidget(panel->editB, 57, 39);    WMMoveWidget(panel->editB, 7, 111);    WMSetButtonFont(panel->editB, font);    WMSetButtonImagePosition(panel->editB, WIPAbove);    WMSetButtonText(panel->editB, _("Edit"));    SetButtonAlphaImage(scr, panel->editB, TEDIT_FILE, NULL, NULL);    WMSetButtonAction(panel->editB, editTexture, panel);    WMSetBalloonTextForView(_("Edit the highlighted texture."),                            WMWidgetView(panel->editB));    panel->delB = WMCreateCommandButton(panel->texF);    WMResizeWidget(panel->delB, 57, 38);    WMMoveWidget(panel->delB, 7, 150);    WMSetButtonFont(panel->delB, font);    WMSetButtonImagePosition(panel->delB, WIPAbove);    WMSetButtonText(panel->delB, _("Delete"));    SetButtonAlphaImage(scr, panel->delB, TDEL_FILE, NULL, NULL);    WMSetButtonEnabled(panel->delB, False);    WMSetButtonAction(panel->delB, deleteTexture, panel);    WMSetBalloonTextForView(_("Delete the highlighted texture."),                            WMWidgetView(panel->delB));    WMReleaseFont(font);    WMMapSubwidgets(panel->texF);    /*** colors ***/    panel->colF = WMCreateFrame(panel->box);    WMSetFrameRelief(panel->colF, WRFlat);    item = WMCreateTabViewItemWithIdentifier(1);    WMSetTabViewItemView(item, WMWidgetView(panel->colF));    WMSetTabViewItemLabel(item, _("Color"));    WMAddItemInTabView(panel->tabv, item);    panel->colP = WMCreatePopUpButton(panel->colF);    WMResizeWidget(panel->colP, 228, 20);    WMMoveWidget(panel->colP, 7, 7);    WMAddPopUpButtonItem(panel->colP, _("Focused Window Title"));    WMAddPopUpButtonItem(panel->colP, _("Unfocused Window Title"));    WMAddPopUpButtonItem(panel->colP, _("Owner of Focused Window Title"));    WMAddPopUpButtonItem(panel->colP, _("Menu Title"));    WMAddPopUpButtonItem(panel->colP, _("Menu Item Text"));    WMAddPopUpButtonItem(panel->colP, _("Disabled Menu Item Text"));    WMAddPopUpButtonItem(panel->colP, _("Menu Highlight Color"));    WMAddPopUpButtonItem(panel->colP, _("Highlighted Menu Text Color"));    /*     WMAddPopUpButtonItem(panel->colP, _("Miniwindow Title"));     WMAddPopUpButtonItem(panel->colP, _("Miniwindow Title Back"));     WMAddPopUpButtonItem(panel->colP, _("Clip Title"));     WMAddPopUpButtonItem(panel->colP, _("Collapsed Clip Title"));     */    WMSetPopUpButtonSelectedItem(panel->colP, 0);    WMSetPopUpButtonAction(panel->colP, changeColorPage, panel);    panel->colW = WMCreateColorWell(panel->colF);    WMResizeWidget(panel->colW, 65, 50);    WMMoveWidget(panel->colW, 30, 75);    WMAddNotificationObserver(colorWellObserver, panel,                              WMColorWellDidChangeNotification, panel->colW);    for (i = 0; i < 4; i++) {        int j;        for (j = 0; j < 6; j++) {            panel->sampW[i+j*4] = WMCreateColorWell(panel->colF);            WMResizeWidget(panel->sampW[i+j*4], 22, 22);            WMMoveWidget(panel->sampW[i+j*4], 130 + i*22, 40 + j*22);            WSetColorWellBordered(panel->sampW[i+j*4], False);        }    }    WMMapSubwidgets(panel->colF);#ifdef unfinished    /*** root bg ***/    panel->bgF = WMCreateFrame(panel->box);    WMSetFrameRelief(panel->bgF, WRFlat);    item = WMCreateTabViewItemWithIdentifier(2);    WMSetTabViewItemView(item, WMWidgetView(panel->bgF));    WMSetTabViewItemLabel(item, _("Background"));    WMAddItemInTabView(panel->tabv, item);    panel->bgprevL = WMCreateLabel(panel->bgF);    WMResizeWidget(panel->bgprevL, 230, 155);    WMMoveWidget(panel->bgprevL, 5, 5);    WMSetLabelRelief(panel->bgprevL, WRSunken);    panel->selbgB = WMCreateCommandButton(panel->bgF);    WMMoveWidget(panel->selbgB, 5, 165);    WMResizeWidget(panel->selbgB, 100, 24);    WMSetButtonText(panel->selbgB, _("Browse..."));    WMMapSubwidgets(panel->bgF);#endif /* unfinished */    /*** options ***/    panel->optF = WMCreateFrame(panel->box);    WMSetFrameRelief(panel->optF, WRFlat);    item = WMCreateTabViewItemWithIdentifier(3);    WMSetTabViewItemView(item, WMWidgetView(panel->optF));    WMSetTabViewItemLabel(item, _("Options"));    WMAddItemInTabView(panel->tabv, item);    panel->mstyF = WMCreateFrame(panel->optF);    WMResizeWidget(panel->mstyF, 215, 85);    WMMoveWidget(panel->mstyF, 15, 10);    WMSetFrameTitle(panel->mstyF, _("Menu Style"));    for (i = 0; i < 3; i++) {        WMPixmap *icon;        char *path;        panel->mstyB[i] = WMCreateButton(panel->mstyF, WBTOnOff);        WMResizeWidget(panel->mstyB[i], 54, 54);        WMMoveWidget(panel->mstyB[i], 15 + i*65, 20);        WMSetButtonImagePosition(panel->mstyB[i], WIPImageOnly);        WMSetButtonAction(panel->mstyB[i], menuStyleCallback, panel);        switch (i) {        case 0:            path = LocateImage(MSTYLE1_FILE);            break;        case 1:            path = LocateImage(MSTYLE2_FILE);            break;        case 2:            path = LocateImage(MSTYLE3_FILE);            break;        }        if (path) {            icon = WMCreatePixmapFromFile(scr, path);            if (icon) {                WMSetButtonImage(panel->mstyB[i], icon);                WMReleasePixmap(icon);            } else {                wwarning(_("could not load icon file %s"), path);            }            wfree(path);        }    }    WMGroupButtons(panel->mstyB[0], panel->mstyB[1]);    WMGroupButtons(panel->mstyB[0], panel->mstyB[2]);    WMMapSubwidgets(panel->mstyF);    panel->taliF = WMCreateFrame(panel->optF);    WMResizeWidget(panel->taliF, 110, 80);    WMMoveWidget(panel->taliF, 15, 100);    WMSetFrameTitle(panel->taliF, _("Title Alignment"));    for (i = 0; i < 3; i++) {        panel->taliB[i] = WMCreateRadioButton(panel->taliF);        WMSetButtonAction(panel->taliB[i], titleAlignCallback, panel);        switch (i) {        case 0:            WMSetButtonText(panel->taliB[i], _("Left"));            break;        case 1:            WMSetButtonText(panel->taliB[i], _("Center"));            break;        case 2:            WMSetButtonText(panel->taliB[i], _("Right"));            break;        }        WMResizeWidget(panel->taliB[i], 90, 18);        WMMoveWidget(panel->taliB[i], 10, 15 + 20*i);    }    WMGroupButtons(panel->taliB[0], panel->taliB[1]);    WMGroupButtons(panel->taliB[0], panel->taliB[2]);    WMMapSubwidgets(panel->taliF);    WMMapSubwidgets(panel->optF);    /**/    WMRealizeWidget(panel->box);    WMMapSubwidgets(panel->box);    WMSetPopUpButtonSelectedItem(panel->secP, 0);    showData(panel);    changePage(panel->secP, panel);    fillTextureList(panel->texLs);    fillColorList(panel);    panel->texturePanel = CreateTexturePanel(panel->parent);}