progman.exe^H^H^H^H
1/*
2 * Copyright 1998-2007 Decklin Foster <decklin@red-bean.com>.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy
5 * of this software and associated documentation files (the "Software"), to
6 * deal in the Software without restriction, including without limitation the
7 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
8 * sell copies of the Software, and to permit persons to whom the Software is
9 * furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
18 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
19 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef PROGMAN_ATOM_H
23#define PROGMAN_ATOM_H
24
25#include <X11/Xlib.h>
26#include <X11/Xatom.h>
27
28struct strut {
29 long left;
30 long right;
31 long top;
32 long bottom;
33};
34
35typedef struct strut strut_t;
36
37extern Atom kde_net_wm_window_type_override;
38extern Atom net_active_window;
39extern Atom net_client_list;
40extern Atom net_client_stack;
41extern Atom net_close_window;
42extern Atom net_cur_desk;
43extern Atom net_num_desks;
44extern Atom net_supported;
45extern Atom net_supporting_wm;
46extern Atom net_wm_desk;
47extern Atom net_wm_icon;
48extern Atom net_wm_icon_name;
49extern Atom net_wm_name;
50extern Atom net_wm_state;
51extern Atom net_wm_state_above;
52extern Atom net_wm_state_add;
53extern Atom net_wm_state_below;
54extern Atom net_wm_state_fs;
55extern Atom net_wm_state_mh;
56extern Atom net_wm_state_mv;
57extern Atom net_wm_state_rm;
58extern Atom net_wm_state_shaded;
59extern Atom net_wm_state_skipp;
60extern Atom net_wm_state_skipt;
61extern Atom net_wm_state_toggle;
62extern Atom net_wm_strut;
63extern Atom net_wm_strut_partial;
64extern Atom net_wm_type_desk;
65extern Atom net_wm_type_dock;
66extern Atom net_wm_type_menu;
67extern Atom net_wm_type_notif;
68extern Atom net_wm_type_splash;
69extern Atom net_wm_type_utility;
70extern Atom net_wm_wintype;
71extern Atom utf8_string;
72extern Atom wm_change_state;
73extern Atom wm_delete;
74extern Atom wm_protos;
75extern Atom wm_state;
76extern Atom xrootpmap_id;
77
78extern void find_supported_atoms(void);
79extern unsigned long get_atoms(Window, Atom, Atom, unsigned long,
80 unsigned long *, unsigned long, unsigned long *);
81extern unsigned long set_atoms(Window, Atom, Atom, unsigned long *,
82 unsigned long);
83extern unsigned long append_atoms(Window, Atom, Atom, unsigned long *,
84 unsigned long);
85extern void remove_atom(Window, Atom, Atom, unsigned long);
86extern char *get_wm_name(Window);
87extern char *get_wm_icon_name(Window);
88extern void set_string_atom(Window, Atom, unsigned char *, unsigned long);
89extern int get_strut(Window, strut_t *);
90extern unsigned long get_wm_state(Window);
91
92#endif /* PROGMAN_ATOM_H */