add: value = PLGetDictionaryEntry(clip_state, dPasteCommand); if (value && PLIsString(value)) icon->paste_command = wstrdup(PLGetString(value));
context: wClipRestoreState(WScreen *scr, proplist_t clip_state){    WAppIcon *icon;    proplist_t value;    icon = mainIconCreate(scr, WM_CLIP);    if (!clip_state)	return icon;    else        PLRetain(clip_state);    /* restore position */    value = PLGetDictionaryEntry(clip_state, dPosition);    if (value) {	if (!PLIsString(value))	    COMPLAIN("Position");	else {	    if (sscanf(PLGetString(value), "%i,%i", &icon->x_pos,		       &icon->y_pos)!=2)		COMPLAIN("Position");	    /* check position sanity */	    if (icon->y_pos < 0)		icon->y_pos = 0;	    else if (icon->y_pos > scr->scr_height-ICON_SIZE)                icon->y_pos = scr->scr_height-ICON_SIZE;            if (icon->x_pos < 0)                icon->x_pos = 0;            else if (icon->x_pos > scr->scr_width-ICON_SIZE)                icon->x_pos = scr->scr_width-ICON_SIZE;	}    }#ifdef OFFIX_DND    value = PLGetDictionaryEntry(clip_state, dDropCommand);    if (value && PLIsString(value))	icon->dnd_command = wstrdup(PLGetString(value));#endif    PLRelease(clip_state);    return icon;}