rem: strcat(buffer, _("\nSound enabled"));
add: strbuf = wstrappend(strbuf, _("\nSound enabled"));
context: wShowInfoPanel(WScreen *scr){    InfoPanel *panel;    WMPixmap *logo;    WMSize size;    WMFont *font;    char version[32];    char buffer[512];    Window parent;    WWindow *wwin;    RColor color1, color2;    char **strl;    int i;    char *visuals[] = {	"StaticGray",	    "GrayScale",	    "StaticColor",	    "PseudoColor",	    "TrueColor",	    "DirectColor"    };    if (thePanel) {	if (thePanel->scr == scr) {	    wRaiseFrame(thePanel->wwin->frame->core);	    wSetFocusTo(scr, thePanel->wwin);	}	return;    }    panel = wmalloc(sizeof(InfoPanel));    memset(panel, 0, sizeof(InfoPanel));    panel->scr = scr;    panel->win = WMCreateWindow(scr->wmscreen, "info");    WMResizeWidget(panel->win, 382, 230);    logo = WMCreateApplicationIconBlendedPixmap(scr->wmscreen, (RColor*)NULL);    if (!logo) {        logo = WMRetainPixmap(WMGetApplicationIconPixmap(scr->wmscreen));    }    if (logo) {	size = WMGetPixmapSize(logo);	panel->logoL = WMCreateLabel(panel->win);	WMResizeWidget(panel->logoL, 64, 64);	WMMoveWidget(panel->logoL, 30, 20);	WMSetLabelImagePosition(panel->logoL, WIPImageOnly);	WMSetLabelImage(panel->logoL, logo);#ifdef SILLYNESS	WMCreateEventHandler(WMWidgetView(panel->logoL), ButtonPressMask,			     handleLogoPush, panel);#endif        WMReleasePixmap(logo);    }    panel->name1L = WMCreateLabel(panel->win);    WMResizeWidget(panel->name1L, 240, 30);    WMMoveWidget(panel->name1L, 100, 30);    color1.red = 0;    color1.green = 0;    color1.blue = 0;    color2.red = 0x50;    color2.green = 0x50;    color2.blue = 0x70;    logo = renderText(scr->wmscreen, "GNU Window Maker",		      "-*-utopia-*-r-*-*-25-*", &color1, &color2);    if (logo) {	WMSetLabelImagePosition(panel->name1L, WIPImageOnly);	WMSetLabelImage(panel->name1L, logo);	WMReleasePixmap(logo);    } else {	font = WMBoldSystemFontOfSize(scr->wmscreen, 20);	if (font) {	    WMSetLabelFont(panel->name1L, font);	    WMReleaseFont(font);	}	WMSetLabelTextAlignment(panel->name1L, WACenter);	WMSetLabelText(panel->name1L, "GNU Window Maker");    }    panel->name2L = WMCreateLabel(panel->win);    WMResizeWidget(panel->name2L, 240, 24);    WMMoveWidget(panel->name2L, 100, 60);    font = WMBoldSystemFontOfSize(scr->wmscreen, 18);    if (font) {	WMSetLabelFont(panel->name2L, font);	WMReleaseFont(font);	font = NULL;    }    WMSetLabelTextAlignment(panel->name2L, WACenter);    WMSetLabelText(panel->name2L, _("Window Manager for X"));    sprintf(version, _("Version %s"), VERSION);    panel->versionL = WMCreateLabel(panel->win);    WMResizeWidget(panel->versionL, 310, 16);    WMMoveWidget(panel->versionL, 30, 95);    WMSetLabelTextAlignment(panel->versionL, WARight);    WMSetLabelText(panel->versionL, version);    WMSetLabelWraps(panel->versionL, False);    panel->copyrL = WMCreateLabel(panel->win);    WMResizeWidget(panel->copyrL, 340, 40);    WMMoveWidget(panel->copyrL, 15, 185);    WMSetLabelTextAlignment(panel->copyrL, WALeft);    WMSetLabelText(panel->copyrL, COPYRIGHT_TEXT);    /* we want the (c) character in the helvetica font */    font = WMCreateNormalFont(scr->wmscreen, HELVETICA10_FONT);    if (font) {	WMSetLabelFont(panel->copyrL, font);    }    switch (scr->w_depth) {     case 15:	strcpy(version, _("32 thousand"));	break;     case 16:	strcpy(version, _("64 thousand"));	break;     case 24:     case 32:	strcpy(version, _("16 million"));	break;     default:	sprintf(version, "%d", 1<<scr->w_depth);	break;    }    sprintf(buffer, _("Using visual 0x%x: %s %ibpp (%s colors)\n"),	    (unsigned)scr->w_visual->visualid,	    visuals[scr->w_visual->class], scr->w_depth, version);#if defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO)    {	struct mallinfo ma = mallinfo();	sprintf(buffer+strlen(buffer),		_("Total allocated memory: %i kB. Total memory in use: %i kB.\n"),		(ma.arena+ma.hblkhd)/1024, (ma.uordblks+ma.hblkhd)/1024);    }#endif    strcat(buffer, _("Supported image formats: "));    strl = RSupportedFileFormats();    for (i=0; strl[i]!=NULL; i++) {	strcat(buffer, strl[i]);	strcat(buffer, " ");    }    strcat(buffer, _("\nAdditional support for: "));    {	char *list[8];	char buf[80];	int j = 0;#ifdef MWM_HINTS	list[j++] = "MWM";#endif#ifdef KWM_HINTS	list[j++] = "KDE";#endif#ifdef GNOME_STUFF	list[j++] = "GNOME";#endif#ifdef OLWM_HINTS	list[j++] = "OLWM";#endif	buf[0] = 0;	for (i = 0; i < j; i++) {	    if (i > 0) {		if (i == j - 1)		    strcat(buf, _(" and "));		else		    strcat(buf, ", ");	    }	    strcat(buf, list[i]);	}	strcat(buffer, buf);    }    if (wPreferences.no_sound) {        strcat(buffer, _("\nSound disabled"));    } else {        strcat(buffer, _("\nSound enabled"));    }    panel->infoL = WMCreateLabel(panel->win);    WMResizeWidget(panel->infoL, 350, 75);    WMMoveWidget(panel->infoL, 15, 115);    WMSetLabelText(panel->infoL, buffer);    if (font) {	WMSetLabelFont(panel->infoL, font);	WMReleaseFont(font);    }    WMRealizeWidget(panel->win);    WMMapSubwidgets(panel->win);    parent = XCreateSimpleWindow(dpy, scr->root_win, 0, 0, 382, 230, 0, 0, 0);    XReparentWindow(dpy, WMWidgetXID(panel->win), parent, 0, 0);    WMMapWidget(panel->win);    wwin = wManageInternalWindow(scr, parent, None, _("Info"),				 (scr->scr_width - 382)/2,				 (scr->scr_height - 230)/2, 382, 230);    WSETUFLAG(wwin, no_closable, 0);    WSETUFLAG(wwin, no_close_button, 0);#ifdef XKB_BUTTON_HINT    wFrameWindowHideButton(wwin->frame, WFF_LANGUAGE_BUTTON);#endif    wWindowUpdateButtonImages(wwin);    wFrameWindowShowButton(wwin->frame, WFF_RIGHT_BUTTON);    wwin->frame->on_click_right = destroyInfoPanel;    wWindowMap(wwin);    panel->wwin = wwin;    thePanel = panel;#ifdef SILLYNESS    if (InitXThing(panel->scr)) {	panel->timer = WMAddTimerHandler(100, logoPushCallback, panel);	panel->cycle = 0;	panel->x = 1;	panel->str = _("Merry X'mas!");	panel->oldPix = WMRetainPixmap(WMGetLabelImage(panel->logoL));    }#endif}