rem: if (scr->flags.startup2 || scr->flags.startup) return;
context: handleClipChangeWorkspace(WScreen *scr, XEvent *event){    XEvent ev;    int done, direction, new_ws;    int new_dir;    WDock *clip = scr->clip_icon->dock;    /* if this is reached during startup (before the 1st wWorkspaceForceChange)     * we will get undesired effects, like having all windows unmapped and     * don't having them back if the clip buttons are clicked.     */    if (scr->flags.startup2 || scr->flags.startup)	return;        direction = getClipButton(event->xbutton.x, event->xbutton.y);    clip->lclip_button_pushed = direction==CLIP_REWIND;    clip->rclip_button_pushed = direction==CLIP_FORWARD;    wClipIconPaint(scr->clip_icon);    done = 0;    while(!done) {	WMMaskEvent(dpy, ExposureMask|ButtonMotionMask|ButtonReleaseMask		    |ButtonPressMask, &ev);        switch (ev.type) {        case Expose:            WMHandleEvent(&ev);            break;        case MotionNotify:            new_dir = getClipButton(ev.xmotion.x, ev.xmotion.y);            if (new_dir != direction) {		direction = new_dir;		clip->lclip_button_pushed = direction==CLIP_REWIND;		clip->rclip_button_pushed = direction==CLIP_FORWARD;                wClipIconPaint(scr->clip_icon);            }            break;	case ButtonPress:	    break;        case ButtonRelease:	    if (ev.xbutton.button == event->xbutton.button)		done = 1;        }    }        clip->lclip_button_pushed = 0;    clip->rclip_button_pushed = 0;    new_ws = wPreferences.ws_advance || (event->xbutton.state & ControlMask);    if (direction == CLIP_FORWARD) {        if (scr->current_workspace < scr->workspace_count-1)            wWorkspaceChange(scr, scr->current_workspace+1);        else if (new_ws && scr->current_workspace < MAX_WORKSPACES-1)            wWorkspaceChange(scr, scr->current_workspace+1);        else if (wPreferences.ws_cycle)            wWorkspaceChange(scr, 0);    }    else if (direction == CLIP_REWIND) {        if (scr->current_workspace > 0)            wWorkspaceChange(scr, scr->current_workspace-1);        else if (scr->current_workspace==0 && wPreferences.ws_cycle)            wWorkspaceChange(scr, scr->workspace_count-1);    }    wClipIconPaint(scr->clip_icon);}