]> git.decadent.org.uk Git - ion3.git/blobdiff - ioncore/mplex.h
[svn-upgrade] Integrating new upstream version, ion3 (20070506)
[ion3.git] / ioncore / mplex.h
index 889f387d298a53f1f11fdb151a1efeb49fef280d..08289f0fda6fdde30f65f8b3e09dd7e9a05fc716 100644 (file)
@@ -1,12 +1,9 @@
 /*
  * ion/ioncore/mplex.h
  *
- * 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.
  */
 
 #ifndef ION_IONCORE_MPLEX_H
@@ -33,7 +30,7 @@
 #define MPLEX_ATTACH_SWITCHTO     0x0001 /* switch to region */
 #define MPLEX_ATTACH_UNNUMBERED   0x0002 /* do not put on mut.ex list */
 #define MPLEX_ATTACH_HIDDEN       0x0004 /* should be hidden */
-#define MPLEX_ATTACH_MODAL        0x0008 /* shortcut.. */
+#define MPLEX_ATTACH_PSEUDOMODAL  0x0004 /* pseudomodal (if modal) */
 #define MPLEX_ATTACH_LEVEL        0x0010 /* level field set */
 #define MPLEX_ATTACH_GEOM         0x0020 /* geometry field is set */
 #define MPLEX_ATTACH_SIZEPOLICY   0x0040 /* size policy field is set */
@@ -108,8 +105,8 @@ DECLCLASS(WMPlex){
 extern WMPlex *create_mplex(WWindow *parent, const WFitParams *fp);
 extern bool mplex_init(WMPlex *mplex, WWindow *parent,
                        const WFitParams *fp);
-extern bool mplex_do_init(WMPlex *mplex, WWindow *parent, Window win,
-                          const WFitParams *fp, bool create);
+extern bool mplex_do_init(WMPlex *mplex, WWindow *parent, 
+                          const WFitParams *fp, Window win);
 extern void mplex_deinit(WMPlex *mplex);
 
 /* Resize and reparent */
@@ -129,6 +126,8 @@ extern WRegion *mplex_attach_simple(WMPlex *mplex, WRegion *reg,
                                     int flags);
 
 extern WRegion *mplex_attach(WMPlex *mplex, WRegion *reg, ExtlTab param);
+extern WRegion *mplex_attach_new_(WMPlex *mplex, WMPlexAttachParams *partmpl,
+                                  int mask, ExtlTab param);
 extern WRegion *mplex_attach_new(WMPlex *mplex, ExtlTab param);
 
 extern WRegion *mplex_do_attach_pholder(WMPlex *mplex, WMPlexPHolder *ph,
@@ -138,12 +137,10 @@ extern WRegion *mplex_do_attach(WMPlex *mplex, WMPlexAttachParams *param,
 extern WRegion *mplex_do_attach_new(WMPlex *mplex, WMPlexAttachParams *param,
                                     WRegionCreateFn *fn, void *fn_param);
 
-extern void mplex_attach_tagged(WMPlex *mplex);
-
 extern void mplex_managed_remove(WMPlex *mplex, WRegion *reg);
 extern void mplex_child_removed(WMPlex *mplex, WRegion *sub);
 
-extern bool mplex_rescue_clientwins(WMPlex *mplex, WPHolder *ph);
+extern bool mplex_rescue_clientwins(WMPlex *mplex, WRescueInfo *info);
 
 extern WPHolder *mplex_prepare_manage(WMPlex *mplex, const WClientWin *cwin,
                                       const WManageParams *param, int redir);
@@ -174,18 +171,17 @@ extern bool mplex_managed_rqorder(WMPlex *mplex, WRegion *sub,
 /* Misc */
 
 extern WRegion *mplex_current(WMPlex *mplex);
-extern bool mplex_may_destroy(WMPlex *mplex);
+
+extern bool mplex_managed_i(WMPlex *mplex, ExtlFn iterfn);
 
 extern int mplex_mx_count(WMPlex *mplex);
 extern WRegion *mplex_mx_nth(WMPlex *mplex, uint n);
-extern ExtlTab mplex_mx_list(WMPlex *mplex);
+extern bool mplex_mx_i(WMPlex *mplex, ExtlFn iterfn);
 extern WRegion *mplex_mx_current(WMPlex *mplex);
 
 extern void mplex_call_changed_hook(WMPlex *mplex, WHook *hook, 
                                     int mode, bool sw, WRegion *reg);
 
-extern WLListNode *mplex_find_node(WMPlex *mplex, WRegion *reg);
-
 extern void mplex_remanage_stdisp(WMPlex *mplex);
 
 /* Dynfuns */