Renamed package to ion1, and made it conflict with package 'ion'.
[ion1.git] / src / clientwin.h
blob290a59734c160644675b1f4c275a4220d74ea39c
1 /*
2 * ion/clientwin.h
4 * Copyright (c) Tuomo Valkonen 1999-2001.
5 * See the included file LICENSE for details.
6 */
8 #ifndef INCLUDED_CLIENTWIN_H
9 #define INCLUDED_CLIENTWIN_H
11 #include "common.h"
13 INTROBJ(WClientWin)
15 #include "thing.h"
16 #include "clientwin.h"
17 #include "frame.h"
18 #include "screen.h"
21 #define CWIN_P_WM_DELETE 0x0001
22 #define CWIN_P_WM_TAKE_FOCUS 0x0002
23 #define CWIN_KLUDGE_ACROBATIC 0x0004
24 #define CWIN_PROP_MAXSIZE 0x0008
25 #define CWIN_PROP_ASPECT 0x0010
27 #define MANAGE_RESPECT_POS 0x0001
28 #define MANAGE_INITIAL 0x0002
30 #define CLIENTWIN_HAS_CLIENT(CWIN) WTHING_HAS_PARENT(CWIN, WClient)
31 #define CLIENTWIN_CLIENT(CWIN) WTHING_PARENT(CWIN, WClient)
34 DECLOBJ(WClientWin){
35 WThing thing;
37 int flags;
38 int state;
39 Window win;
40 WRectangle geom;
42 long event_mask;
43 int orig_bw;
45 Window transient_for;
46 Colormap cmap;
48 XSizeHints size_hints;
49 char *name;
53 extern WClientWin *manage_clientwin(Window win, int mflags);
54 extern void deinit_clientwin(WClientWin *cwin);
55 extern void unmap_clientwin(WClientWin *cwin);
56 extern void destroy_clientwin(WClientWin *cwin);
58 extern void kill_clientwin(WClientWin *cwin);
59 extern void close_clientwin(WClientWin *cwin);
61 extern void hide_clientwin(WClientWin *cwin);
62 extern void show_clientwin(WClientWin *cwin);
63 extern void focus_clientwin(WClientWin *cwin);
64 extern void iconify_clientwin(WClientWin *cwin);
66 extern void set_clientwin_size(WClientWin *cwin, int w, int h);
67 extern void clientwin_reconf_at(WClientWin *cwin, int rootx, int rooty);
69 extern void set_clientwin_name(WClientWin *cwin, char *p);
71 extern WClientWin *find_clientwin(Window win);
73 extern void reconf_clientwin(WClientWin *cwin, int rootx, int rooty);
74 extern void sendconfig_clientwin(WClientWin *cwin);
75 extern void reparent_clientwin(WClientWin *cwin, Window win, int x, int y);
76 extern void fit_clientwin_frame(WClientWin *cwin, WFrame *frame);
77 extern void reparent_fit_clientwin_frame(WClientWin *cwin, WFrame *frame);
78 extern void reconf_clientwin_frame(WClientWin *cwin, WFrame *frame);
79 extern void reparent_fit_clientwin(WClientWin *cwin, Window win,
80 WRectangle geom);
82 extern void get_protocols(WClientWin *cwin);
84 extern void refit(WClientWin *cwin, int w, int h);
86 #endif /* INCLUDED_CLIENTWIN_H */