]> git.decadent.org.uk Git - ion3.git/blob - mod_sm/sm_matchwin.h
5c90fb4a984c2632e1954ec84c1142d7d96a5daa
[ion3.git] / mod_sm / sm_matchwin.h
1 /*
2  * ion/mod_sm/sm_mathcwin.c
3  *
4  * Copyright (c) Tuomo Valkonen 2004-2008. 
5  * 
6  * Based on the code of the 'sm' module for Ion1 by an unknown contributor.
7  *
8  * This is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU Lesser General Public License as published by
10  * the Free Software Foundation; either version 2.1 of the License, or
11  * (at your option) any later version.
12  */
13
14 #ifndef ION_MOD_SM_MATCHWIN_H
15 #define ION_MOD_SM_MATCHWIN_H
16
17 #include <libtu/obj.h>
18 #include <ioncore/common.h>
19 #include <ioncore/pholder.h>
20
21 INTRSTRUCT(WWinMatch);
22
23 DECLSTRUCT(WWinMatch){
24     WPHolder *pholder;
25     
26     char *client_id;
27     char *window_role;
28     char *wclass;
29     char *winstance;
30     char *wm_name;
31     char *wm_cmd;
32     
33     WWinMatch *next, *prev;
34 };
35
36 extern WPHolder *mod_sm_match_cwin_to_saved(WClientWin *cwin);
37 extern void mod_sm_register_win_match(WWinMatch *match);
38 extern char *mod_sm_get_window_cmd(Window window);
39 extern char *mod_sm_get_client_id(Window window);
40 extern char *mod_sm_get_window_role(Window window);
41 extern bool mod_sm_have_match_list();
42 extern void mod_sm_start_purge_timer();
43
44 extern bool mod_sm_add_match(WPHolder *ph, ExtlTab tab);
45 extern void mod_sm_get_configuration(WClientWin *cwin, ExtlTab tab);
46
47 #endif /* ION_MOD_SM_MATCHWIN_H */