X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=ioncore%2Fmplex.h;h=08289f0fda6fdde30f65f8b3e09dd7e9a05fc716;hb=ae4260bb64817c11f9a7140324cd3e3ba113e297;hp=889f387d298a53f1f11fdb151a1efeb49fef280d;hpb=8366314611bf30a0f31d25bf5f5023186fa87692;p=ion3.git diff --git a/ioncore/mplex.h b/ioncore/mplex.h index 889f387..08289f0 100644 --- a/ioncore/mplex.h +++ b/ioncore/mplex.h @@ -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 */