- * 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.
#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_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_LEVEL 0x0010 /* level field set */
#define MPLEX_ATTACH_GEOM 0x0020 /* geometry field is set */
#define MPLEX_ATTACH_SIZEPOLICY 0x0040 /* size policy field is set */
#define MPLEX_ATTACH_INDEX 0x0080 /* index field is set */
#define MPLEX_ATTACH_WHATEVER 0x0100 /* set REGION_FIT_WHATEVER */
#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 */
#define MPLEX_ATTACH_INDEX 0x0080 /* index field is set */
#define MPLEX_ATTACH_WHATEVER 0x0100 /* set REGION_FIT_WHATEVER */
extern WMPlex *create_mplex(WWindow *parent, const WFitParams *fp);
extern bool mplex_init(WMPlex *mplex, WWindow *parent,
const WFitParams *fp);
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 WRegion *mplex_attach_new(WMPlex *mplex, ExtlTab param);
extern WRegion *mplex_do_attach_pholder(WMPlex *mplex, WMPlexPHolder *ph,
extern WRegion *mplex_attach_new(WMPlex *mplex, ExtlTab param);
extern WRegion *mplex_do_attach_pholder(WMPlex *mplex, WMPlexPHolder *ph,
extern WRegion *mplex_do_attach_new(WMPlex *mplex, WMPlexAttachParams *param,
WRegionCreateFn *fn, void *fn_param);
extern WRegion *mplex_do_attach_new(WMPlex *mplex, WMPlexAttachParams *param,
WRegionCreateFn *fn, void *fn_param);
extern void mplex_managed_remove(WMPlex *mplex, WRegion *reg);
extern void mplex_child_removed(WMPlex *mplex, WRegion *sub);
extern void mplex_managed_remove(WMPlex *mplex, WRegion *reg);
extern void mplex_child_removed(WMPlex *mplex, WRegion *sub);
extern WPHolder *mplex_prepare_manage(WMPlex *mplex, const WClientWin *cwin,
const WManageParams *param, int redir);
extern WPHolder *mplex_prepare_manage(WMPlex *mplex, const WClientWin *cwin,
const WManageParams *param, int redir);
extern int mplex_mx_count(WMPlex *mplex);
extern WRegion *mplex_mx_nth(WMPlex *mplex, uint n);
extern int mplex_mx_count(WMPlex *mplex);
extern WRegion *mplex_mx_nth(WMPlex *mplex, uint n);
extern WRegion *mplex_mx_current(WMPlex *mplex);
extern void mplex_call_changed_hook(WMPlex *mplex, WHook *hook,
int mode, bool sw, WRegion *reg);
extern WRegion *mplex_mx_current(WMPlex *mplex);
extern void mplex_call_changed_hook(WMPlex *mplex, WHook *hook,
int mode, bool sw, WRegion *reg);
+/* Note: only the size policy field is changed; actual geometry is not
+ * yet changed.
+ */
+extern void mplex_set_szplcy(WMPlex *mplex, WRegion *sub, WSizePolicy szplcy);
+extern WSizePolicy mplex_get_szplcy(WMPlex *mplex, WRegion *sub);
+