add: */
context: wUnshadeWindow(WWindow  *wwin){    time_t time0 = time(NULL);#ifdef ANIMATIONS    int y, s, w, h;    #endif /* ANIMATIONS */    if (!wwin->flags.shaded)	return;        wwin->flags.shaded=0;    wwin->flags.mapped=1;    XMapWindow(dpy, wwin->client_win);#ifdef WMSOUND    wSoundPlay(WMSOUND_UNSHADE);#endif#ifdef ANIMATIONS    if (!wPreferences.no_animations && !wwin->flags.skip_next_animation) {	/* do the shading animation */	h = wwin->frame->top_width + wwin->frame->bottom_width;	y = wwin->frame->top_width - wwin->client.height;        s = abs(y)/SHADE_STEPS;        if (s<1) s=1;	w = wwin->frame->core->width;	XMoveWindow(dpy, wwin->client_win, 0, y);	if (s>0) {	    while (h < wwin->client.height + wwin->frame->top_width		   + wwin->frame->bottom_width) {		XResizeWindow(dpy, wwin->frame->core->window, w, h);		XMoveWindow(dpy, wwin->client_win, 0, y);		XSync(dpy, 0);                if (SHADE_DELAY > 0)                    wusleep(SHADE_DELAY*2000L/3);		h+=s;		y+=s;				if (time(NULL)-time0 > MAX_ANIMATION_TIME)		    break;	    }	}	XMoveWindow(dpy, wwin->client_win, 0, wwin->frame->top_width);    }#endif /* ANIMATIONS */    wwin->flags.skip_next_animation = 0;    wFrameWindowResize(wwin->frame, wwin->frame->core->width, 		       wwin->frame->top_width + wwin->client.height		       + wwin->frame->bottom_width);        wClientSetState(wwin, NormalState, None);    /* if the window is focused, set the focus again as it was disabled during     * shading */    if (wwin->flags.focused)      wSetFocusTo(wwin->screen_ptr, wwin);    /* update window list to reflect unshaded state */    UpdateSwitchMenu(wwin->screen_ptr, wwin, ACTION_CHANGE_STATE);}