tsst
[skippy-xd] / wm.h
1 /* Skippy - Seduces Kids Into Perversion
2  *
3  * Copyright (C) 2004 Hyriand <hyriand@thegraveyard.org>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18  */
19
20 #ifndef SKIPPY_WM_H
21 #define SKIPPY_WM_H
22
23 Atom
24         /* Generic atoms */
25         XA_WM_STATE,
26         WM_CLIENT_LEADER,
27         XA_UTF8_STRING,
28         
29         /* Root pixmap / wallpaper atoms */
30         _XROOTPMAP_ID,
31         ESETROOT_PMAP_ID,
32         
33         /* NetWM atoms */
34         _NET_SUPPORTING_WM_CHECK,
35         _NET_SUPPORTED,
36         _NET_NUMBER_OF_DESKTOPS,
37         _NET_CLIENT_LIST,
38         _NET_CLIENT_LIST_STACKING,
39         _NET_CURRENT_DESKTOP,
40         _NET_WM_DESKTOP,
41         _NET_WM_STATE,
42         _NET_WM_STATE_HIDDEN,
43         _NET_WM_STATE_SKIP_TASKBAR,
44         _NET_WM_STATE_SKIP_PAGER,
45         _NET_WM_STATE_FULLSCREEN,
46         _NET_WM_STATE_SHADED,
47         _NET_WM_STATE_ABOVE,
48         _NET_WM_STATE_STICKY,
49         _NET_WM_WINDOW_TYPE,
50         _NET_WM_WINDOW_TYPE_DESKTOP,
51         _NET_WM_WINDOW_TYPE_DOCK,
52         _NET_WM_VISIBLE_NAME,
53         _NET_WM_NAME,
54         
55         /* Old gnome atoms */
56         _WIN_SUPPORTING_WM_CHECK,
57         _WIN_WORKSPACE,
58         _WIN_WORKSPACE_COUNT,
59         _WIN_PROTOCOLS,
60         _WIN_CLIENT_LIST,
61         _WIN_STATE,
62         _WIN_HINTS;
63
64 void wm_get_atoms(Display *dpy);
65 char wm_check(Display *dpy);
66 void wm_use_netwm_fullscreen(Bool b);
67 dlist *wm_get_stack(Display *dpy);
68 Pixmap wm_get_root_pmap(Display *dpy);
69 CARD32 wm_get_current_desktop(Display *dpy);
70 FcChar8 *wm_get_window_title(Display *dpy, Window window, int *length_return);
71 Window wm_get_group_leader(Display *dpy, Window window);
72 void wm_set_fullscreen(Display *dpy, Window window, int x, int y, unsigned int width, unsigned int height);
73 int wm_validate_window(Display *dpy, Window win);
74 CARD32 wm_get_window_desktop(Display *dpy, Window win);
75 Window wm_get_focused(Display *dpy);
76 void wm_ignore_skip_taskbar(Bool b);
77
78 #endif /* SKIPPY_WM_H */