X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=ioncore%2Fgroup-cw.c;h=6bb9c2f9ea32073689436fc1e0a8fd08c39b794b;hb=20071130;hp=544cd15bfe3d126896c0768a8cf66c473afcb906;hpb=ae4260bb64817c11f9a7140324cd3e3ba113e297;p=ion3.git diff --git a/ioncore/group-cw.c b/ioncore/group-cw.c index 544cd15..6bb9c2f 100644 --- a/ioncore/group-cw.c +++ b/ioncore/group-cw.c @@ -116,6 +116,23 @@ WPHolder *groupcw_prepare_manage_transient(WGroupCW *cwg, } +static WRegion *groupcw_managed_disposeroot(WGroupCW *ws, WRegion *reg) +{ + WGroupIterTmp tmp; + WStacking *st; + WRegion *tmpr; + + FOR_ALL_NODES_IN_GROUP(&ws->grp, st, tmp){ + if(st!=ws->grp.managed_stdisp && st->reg!=reg){ + return reg; + } + } + + tmpr=region_disposeroot((WRegion*)ws); + return (tmpr!=NULL ? tmpr : reg); +} + + /*}}}*/ @@ -146,7 +163,8 @@ void groupcw_toggle_transients_pos(WGroupCW *cwg) if(st->reg!=NULL){ WFitParams fp; - + + fp.mode=0; fp.g=REGION_GEOM(cwg); sizepolicy(&st->szplcy, st->reg, NULL, @@ -182,6 +200,12 @@ void groupcw_managed_notify(WGroupCW *cwg, WRegion *reg, WRegionNotify how) } +void groupcw_bottom_set(WGroupCW *cwg) +{ + region_notify_change((WRegion*)cwg, ioncore_g.notifies.name); +} + + /*}}}*/ @@ -271,12 +295,18 @@ static DynFunTab groupcw_dynfuntab[]={ {(DynFun*)region_prepare_manage_transient, (DynFun*)groupcw_prepare_manage_transient}, + + {(DynFun*)region_managed_disposeroot, + (DynFun*)groupcw_managed_disposeroot}, {(DynFun*)region_displayname, (DynFun*)groupcw_displayname}, {region_managed_notify, groupcw_managed_notify}, + + {group_bottom_set, + groupcw_bottom_set}, END_DYNFUNTAB };