rem: if ((value = PLGetDictionaryEntry(win_state, sHidden))!=NULL) {
add: if ((value = PLGetDictionaryEntry(win_state, sShortcutMask))!=NULL) {
context: getWindowState(WScreen *scr, proplist_t win_state){    WSavedState *state = wmalloc(sizeof(WSavedState));    proplist_t value;    char *tmp;    unsigned mask;    int i;    memset(state, 0, sizeof(WSavedState));    state->workspace = -1;    value = PLGetDictionaryEntry(win_state, sWorkspace);    if (value && PLIsString(value)) {        tmp = PLGetString(value);        if (sscanf(tmp, "%i", &state->workspace)!=1) {            state->workspace = -1;            for (i=0; i < scr->workspace_count; i++) {                if (strcmp(scr->workspaces[i]->name, tmp)==0) {                    state->workspace = i;                    break;                }            }        } else {            state->workspace--;        }    }    if ((value = PLGetDictionaryEntry(win_state, sShaded))!=NULL)        state->shaded = getBool(value);    if ((value = PLGetDictionaryEntry(win_state, sMiniaturized))!=NULL)        state->miniaturized = getBool(value);    if ((value = PLGetDictionaryEntry(win_state, sHidden))!=NULL)        state->hidden = getBool(value);    if ((value = PLGetDictionaryEntry(win_state, sHidden))!=NULL) {        mask = getInt(value);	state->window_shortcuts = mask;    }    value = PLGetDictionaryEntry(win_state, sGeometry);    if (value && PLIsString(value)) {        if (sscanf(PLGetString(value), "%ix%i+%i+%i",                   &state->w, &state->h, &state->x, &state->y)==4 &&            (state->w>0 && state->h>0)) {            state->use_geometry = 1;        } else if (sscanf(PLGetString(value), "%i,%i,%i,%i",                   &state->x, &state->y, &state->w, &state->h)==4 &&            (state->w>0 && state->h>0)) { 	    /* TODO: remove redundant sscanf() in version 0.20.x */            state->use_geometry = 1;        }    }    return state;}