]> git.decadent.org.uk Git - ion3.git/blob - mod_panews/placement.h
[svn-inject] Installing original source of ion3
[ion3.git] / mod_panews / placement.h
1 /*
2  * ion/mod_panews/placement.h
3  *
4  * Copyright (c) Tuomo Valkonen 1999-2006. 
5  *
6  * Ion is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Lesser General Public License as published by
8  * the Free Software Foundation; either version 2.1 of the License, or
9  * (at your option) any later version.
10  */
11
12 #ifndef ION_MOD_PANEWS_PLACEMENT_H
13 #define ION_MOD_PANEWS_PLACEMENT_H
14
15 #include <libextl/extl.h>
16 #include <libmainloop/hooks.h>
17 #include <ioncore/common.h>
18 #include <ioncore/clientwin.h>
19 #include <ioncore/manage.h>
20 #include <mod_tiling/split.h>
21 #include "panews.h"
22 #include "splitext.h"
23
24
25 typedef struct{
26     WPaneWS *ws;
27     ExtlTab layout;
28 } WPaneWSInitParams;
29
30
31 typedef struct{
32     WPaneWS *ws;
33     WFrame *frame;
34     WRegion *reg;
35     WSplitUnused *specifier;
36     
37     WSplit *res_node;
38     ExtlTab res_config;
39     int res_w, res_h;
40 } WPaneWSPlacementParams;
41
42
43 /* Handlers of this hook should accept WPaneWSInitParams as parameter. */
44 extern WHook *panews_init_layout_alt;
45 /* Handlers of this hook should accept WPaneWSPlacementParams as parameter. */
46 extern WHook *panews_make_placement_alt;
47
48
49 extern WPHolder *panews_prepare_manage(WPaneWS *ws, const WClientWin *cwin,
50                                        const WManageParams *param,
51                                        int redir);
52 extern bool panews_handle_unused_drop(WPaneWS *ws, WSplitUnused *specifier, 
53                                       WRegion *reg);
54
55 #endif /* ION_MOD_PANEWS_PLACEMENT_H */