X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=ioncore%2Fgroup-cw.c;h=5a2a32d3ceda3377fe3a19f95a057363f612335a;hb=b355f9832d094cdb9e700e01cbc063e3fdb4f58b;hp=544cd15bfe3d126896c0768a8cf66c473afcb906;hpb=ae4260bb64817c11f9a7140324cd3e3ba113e297;p=ion3.git diff --git a/ioncore/group-cw.c b/ioncore/group-cw.c index 544cd15..5a2a32d 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); +} + + /*}}}*/ @@ -182,6 +199,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 +294,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 };