*
* 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
#include <ioncore/rectangle.h>
#include <ioncore/pholder.h>
#include <ioncore/navi.h>
+#include <ioncore/manage.h>
#include "split.h"
PtrList *managed_list;
WRegionSimpleCreateFn *create_frame_fn;
Window dummywin;
+ bool batchop;
};
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);
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);
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);
#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 */