rem: scr->workspace_name_timer = WMAddTimerHandler(30, hideWorkpaceName, scr);
add: scr->workspace_name_timer = WMAddTimerHandler(WORKSPACE_NAME_FADE_DELAY, hideWorkpaceName, scr);
context: hideWorkpaceName(void *data){    WScreen *scr = (WScreen*)data;    if (!scr->workspace_name_data || scr->workspace_name_data->count == 0) {	XUnmapWindow(dpy, scr->workspace_name);	if (scr->workspace_name_data) {	    RDestroyImage(scr->workspace_name_data->back);	    RDestroyImage(scr->workspace_name_data->text);	    free(scr->workspace_name_data);	    scr->workspace_name_data = NULL;	}	scr->workspace_name_timer = NULL;    } else {	RImage *img = RCloneImage(scr->workspace_name_data->back);	Pixmap pix;	scr->workspace_name_timer = WMAddTimerHandler(30, hideWorkpaceName,						      scr);	RCombineImagesWithOpaqueness(img, scr->workspace_name_data->text,				     scr->workspace_name_data->count*255/10);	RConvertImage(scr->rcontext, img, &pix);	RDestroyImage(img);	XSetWindowBackgroundPixmap(dpy, scr->workspace_name, pix);	XClearWindow(dpy, scr->workspace_name);	XFreePixmap(dpy, pix);	XFlush(dpy);	scr->workspace_name_data->count--;    }}