X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=ioncore%2Fgroup-cw.c;h=544cd15bfe3d126896c0768a8cf66c473afcb906;hb=d8785f8f53b68c5a6eb86d42a0710de902ded0ff;hp=dc5cc69e6b43aca6dadc2e8cbc9e05a73aae8e47;hpb=8366314611bf30a0f31d25bf5f5023186fa87692;p=ion3.git diff --git a/ioncore/group-cw.c b/ioncore/group-cw.c index dc5cc69..544cd15 100644 --- a/ioncore/group-cw.c +++ b/ioncore/group-cw.c @@ -1,12 +1,9 @@ /* * ion/ioncore/group-cw.c * - * Copyright (c) Tuomo Valkonen 1999-2006. + * Copyright (c) Tuomo Valkonen 1999-2007. * - * Ion is free software; you can redistribute it and/or modify it under - * the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or - * (at your option) any later version. + * See the included file LICENSE for details. */ #include @@ -33,13 +30,6 @@ /*{{{ Add/remove managed */ -WRegion *create_transient_frame(WWindow *par, - const WFitParams *fp) -{ - return (WRegion*)create_frame(par, fp, FRAME_MODE_TRANSIENT); -} - - static WPHolder *groupcw_transient_pholder(WGroupCW *cwg, const WClientWin *cwin, const WManageParams *mp) @@ -69,7 +59,7 @@ static WPHolder *groupcw_transient_pholder(WGroupCW *cwg, fp.inner_geom_gravity_set=1; fp.inner_geom=mp->geom; fp.gravity=ForgetGravity; - fp.mkframe=create_transient_frame; + fp.mode=FRAME_MODE_TRANSIENT; ph=(WPHolder*)create_grouppholder(&cwg->grp, NULL, ¶m); @@ -79,9 +69,9 @@ static WPHolder *groupcw_transient_pholder(WGroupCW *cwg, WPHolder *groupcw_prepare_manage(WGroupCW *cwg, const WClientWin *cwin, - const WManageParams *param, int redir) + const WManageParams *param, int priority) { - if(redir==MANAGE_REDIR_STRICT_YES) + if(!MANAGE_PRIORITY_OK(priority, MANAGE_PRIORITY_GROUP)) return NULL; /* Only catch windows with transient mode set to current here. */ @@ -181,13 +171,14 @@ const char *groupcw_displayname(WGroupCW *cwg) } -void groupcw_managed_notify(WGroupCW *cwg, WRegion *reg, const char *how) +void groupcw_managed_notify(WGroupCW *cwg, WRegion *reg, WRegionNotify how) { - if(group_bottom(&cwg->grp)==reg - && strcmp(how, "name")==0){ + if(group_bottom(&cwg->grp)==reg && how==ioncore_g.notifies.name){ /* Title has changed */ region_notify_change((WRegion*)cwg, how); } + + group_managed_notify(&cwg->grp, reg, how); } @@ -200,13 +191,10 @@ void groupcw_managed_notify(WGroupCW *cwg, WRegion *reg, const char *how) bool groupcw_init(WGroupCW *cwg, WWindow *parent, const WFitParams *fp) { cwg->transient_szplcy=DFLT_SZPLCY; - /*cwg->fs_pholder=NULL;*/ if(!group_init(&(cwg->grp), parent, fp)) return FALSE; - cwg->grp.bottom_last_close=TRUE; - region_add_bindmap((WRegion*)cwg, ioncore_groupcw_bindmap); return TRUE;