X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=mod_tiling%2Ftiling.h;h=26737ab77fa9933d44cec53778c0264376e443f2;hb=ae4260bb64817c11f9a7140324cd3e3ba113e297;hp=5b7a8e7724f536b26c2220ccc3c39a21c24dea6d;hpb=8366314611bf30a0f31d25bf5f5023186fa87692;p=ion3.git diff --git a/mod_tiling/tiling.h b/mod_tiling/tiling.h index 5b7a8e7..26737ab 100644 --- a/mod_tiling/tiling.h +++ b/mod_tiling/tiling.h @@ -1,12 +1,9 @@ /* * ion/mod_tiling/tiling.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_MOD_TILING_TILING_H @@ -20,6 +17,7 @@ #include #include #include +#include #include "split.h" @@ -31,6 +29,7 @@ DECLCLASS(WTiling){ PtrList *managed_list; WRegionSimpleCreateFn *create_frame_fn; Window dummywin; + bool batchop; }; @@ -41,6 +40,8 @@ extern WTiling *create_tiling(WWindow *parent, const WFitParams *fp, extern WTiling *create_tiling_simple(WWindow *parent, const WFitParams *fp); extern void tiling_deinit(WTiling *ws); +extern bool tiling_do_attach_initial(WTiling *tiling, WRegion *reg); + extern ExtlTab tiling_resize_tree(WTiling *ws, WSplit *node, ExtlTab g); extern WRegion *tiling_current(WTiling *ws); @@ -51,7 +52,7 @@ extern WRegion *tiling_region_at(WTiling *ws, int x, int y); extern WFrame *tiling_split_top(WTiling *ws, const char *dirstr); extern WFrame *tiling_split_at(WTiling *ws, WFrame *frame, const char *dirstr, bool attach_current); -extern bool tiling_unsplit_at(WTiling *ws, WFrame *frame); +extern void tiling_unsplit_at(WTiling *ws, WRegion *reg); extern WSplitSplit *tiling_set_floating(WTiling *ws, WSplitSplit *split, int sp); @@ -85,12 +86,11 @@ extern void tiling_managed_rqgeom(WTiling *ws, WRegion *reg, WRectangle *geomret); extern void tiling_managed_remove(WTiling *ws, WRegion *reg); extern void tiling_managed_activated(WTiling *ws, WRegion *reg); -extern bool tiling_rescue_clientwins(WTiling *ws, WPHolder *ph); +extern bool tiling_rescue_clientwins(WTiling *ws, WRescueInfo *ph); extern WPHolder *tiling_get_rescue_pholder_for(WTiling *ws, WRegion *mgd); extern void tiling_do_set_focus(WTiling *ws, bool warp); extern bool tiling_managed_prepare_focus(WTiling *ws, WRegion *reg, int flags, WPrepareFocusResult *res); -extern bool tiling_managed_may_destroy(WTiling *ws, WRegion *reg); extern void tiling_manage_stdisp(WTiling *ws, WRegion *stdisp, const WMPlexSTDispInfo *di); extern void tiling_unmanage_stdisp(WTiling *ws, bool permanent, bool nofocus); @@ -123,5 +123,10 @@ typedef PtrListIterTmp WTilingIterTmp; #define FOR_ALL_MANAGED_BY_TILING_UNSAFE(VAR, WS) \ FOR_ALL_ON_PTRLIST_UNSAFE(WRegion*, VAR, (WS)->managed_list) +/* Misc. */ + +#define TILING_STDISP_OF(WS) \ + ((WS)->stdispnode!=NULL ? (WS)->stdispnode->regnode.reg : NULL) + #endif /* ION_MOD_TILING_TILING_H */