]> git.decadent.org.uk Git - ion3.git/blobdiff - ioncore/group.h
Imported Upstream version 20090110
[ion3.git] / ioncore / group.h
index cfc1b600332d1b75f1c0f611a8f928ea22b4a938..1b3fd3c743063e985da64316a0f8fe37f616763c 100644 (file)
@@ -1,12 +1,9 @@
 /*
  * ion/ioncore/group.h
  *
- * Copyright (c) Tuomo Valkonen 1999-2007
+ * Copyright (c) Tuomo Valkonen 1999-2009
  *
- * 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.
  */
 
 #ifndef ION_IONCORE_GROUP_H
@@ -20,7 +17,6 @@
 #include <ioncore/rectangle.h>
 #include <ioncore/pholder.h>
 #include <ioncore/stacking.h>
-#include <ioncore/framedpholder.h>
 
 
 INTRSTRUCT(WGroupAttachParams);
@@ -37,6 +33,7 @@ DECLSTRUCT(WGroupAttachParams){
     
     uint switchto:1;
     uint bottom:1;
+    uint whatever:1;
     
     int geom_weak;
     WRectangle geom;
@@ -47,7 +44,7 @@ DECLSTRUCT(WGroupAttachParams){
 };
 
 #define GROUPATTACHPARAMS_INIT \
-    {0, 0, 0, 0, 0,  0, 0,   0, {0, 0, 0, 0},  0, 0, NULL}
+    {0, 0, 0, 0, 0,  0, 0, 0,  0, {0, 0, 0, 0},  0, 0, NULL}
 
 
 DECLCLASS(WGroup){
@@ -57,7 +54,7 @@ DECLCLASS(WGroup){
     WStacking *current_managed;
     WStacking *bottom;
     Window dummywin;
-    uint bottom_last_close:1;
+    WGroupPHolder *phs;
 };
 
 
@@ -76,6 +73,9 @@ DYNFUN WStacking *group_do_add_managed(WGroup *ws, WRegion *reg,
 extern WStacking *group_do_add_managed_default(WGroup *ws, WRegion *reg, 
                                                int level, WSizePolicy szplcy);
 
+extern void group_get_attach_params(WGroup *ws, ExtlTab tab, 
+                                    WGroupAttachParams *par);
+
 extern WRegion *group_do_attach(WGroup *ws, 
                                 WGroupAttachParams *param,
                                 WRegionAttachData *data);
@@ -91,9 +91,13 @@ extern void group_manage_stdisp(WGroup *ws, WRegion *stdisp,
 
 extern void group_managed_remove(WGroup *ws, WRegion *reg);
 
+extern void group_managed_notify(WGroup *ws, WRegion *reg, WRegionNotify how);
+
 extern WRegion *group_bottom(WGroup *ws);
+extern bool group_set_bottom(WGroup *ws, WRegion *reg);
+DYNFUN void group_bottom_set(WGroup *grp);
 
-extern bool group_rescue_clientwins(WGroup *ws, WPHolder *ph);
+extern bool group_rescue_clientwins(WGroup *ws, WRescueInfo *info);
 
 extern bool group_rqclose(WGroup *ws);
 extern bool group_rqclose_relocate(WGroup *ws);
@@ -104,7 +108,9 @@ extern bool group_managed_rqorder(WGroup *grp, WRegion *sub,
 extern WStacking *group_find_stacking(WGroup *ws, WRegion *r);
 extern WStacking *group_find_to_focus(WGroup *ws, WStacking *to_try);
 
-extern WRegion *region_group_if_bottom(WRegion *reg);
+extern WRegion *region_groupleader_of(WRegion *reg);
+/*extern WRegion *region_group_of(WRegion *reg);*/
+
 
 typedef WStackingFilter WGroupIterFilter;
 typedef WStackingIterTmp WGroupIterTmp;