+ WRegion *reg;
+ WRegionAttachData data;
+ WGroupAttachParams par;
+ WGroupWS *ws;
+
+ ws=create_groupws(parent, fp);
+
+ if(ws==NULL)
+ return NULL;
+
+ region_set_name((WRegion*)ws, SPWS_NAME);
+
+ data.type=REGION_ATTACH_NEW;
+ data.u.n.fn=create_frame_scratchpad;
+ data.u.n.param=NULL;
+
+ par.szplcy_set=TRUE;
+ par.szplcy=SIZEPOLICY_FREE_GLUE;
+
+ par.geom_set=TRUE;
+ par.geom.w=minof(fp->g.w, CF_SCRATCHPAD_DEFAULT_W);
+ par.geom.h=minof(fp->g.h, CF_SCRATCHPAD_DEFAULT_H);
+ par.geom.x=(fp->g.w-par.geom.w)/2;
+ par.geom.y=(fp->g.h-par.geom.h)/2;
+
+ par.level_set=TRUE;
+ par.level=STACKING_LEVEL_MODAL1;
+
+ par.bottom=TRUE;
+
+ reg=group_do_attach(&ws->grp, &par, &data);
+
+ if(reg==NULL){
+ destroy_obj((Obj*)ws);
+ return NULL;
+ }
+
+ region_set_name((WRegion*)reg, SP_NAME);
+
+ return (WRegion*)ws;
+}
+
+
+static WRegion *create(WMPlex *mplex, int flags)
+{
+ WRegion *sp;