X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=ioncore%2Fgroup.c;h=5cff1d0ccd0baf06cc777ae00f0b81f7d7052dcb;hb=720e6978185b09f2b2f60a6b96018238085a7238;hp=e39b20241f3e3b45a4e643a92fcd8c2297944b6c;hpb=a6561c9679cd701b0d50c3cfd44e4664f7df2b2f;p=ion3.git diff --git a/ioncore/group.c b/ioncore/group.c index e39b202..5cff1d0 100644 --- a/ioncore/group.c +++ b/ioncore/group.c @@ -531,8 +531,7 @@ WStacking *group_do_add_managed_default(WGroup *ws, WRegion *reg, int level, frame=OBJ_CAST(reg, WFrame); if(frame!=NULL){ - WFrameMode m=frame_mode(frame); - if(m==FRAME_MODE_TILED || m==FRAME_MODE_TILED_ALT) + if(framemode_unalt(frame_mode(frame))==FRAME_MODE_TILED) frame_set_mode(frame, FRAME_MODE_FLOATING); } @@ -662,8 +661,10 @@ bool group_do_attach_final(WGroup *ws, region_set_focus(st->reg); else ws->current_managed=st; + }else if(region_is_fully_mapped(reg)){ + region_pointer_focus_hack(reg); } - + return TRUE; } @@ -897,6 +898,8 @@ void group_manage_stdisp(WGroup *ws, WRegion *stdisp, stdisp->flags|=REGION_SKIP_FOCUS; fp.g=REGION_GEOM(ws); + fp.mode=0; + sizepolicy(&ws->managed_stdisp->szplcy, stdisp, NULL, 0, &fp); region_fitrep(stdisp, NULL, &fp); @@ -935,6 +938,7 @@ void group_managed_rqgeom(WGroup *ws, WRegion *reg, fp.mode=REGION_FIT_EXACT; }else{ fp.g=REGION_GEOM(ws); + fp.mode=0; sizepolicy(&st->szplcy, reg, &rq->geom, rq->flags, &fp); }