1 
2 #include <X11/Xlib.h>
3 #include "atoms.h"
4 
5 /* window manager */
6 Atom WM_PROTOCOLS;
7 Atom WM_DELETE_WINDOW;
8 
9 Atom _NET_SUPPORTED;
10 Atom _NET_WM_STATE;
11 Atom _NET_WM_STATE_STAYS_ON_TOP;
12 Atom _NET_WM_STATE_ABOVE;
13 Atom _NET_WM_STATE_FULLSCREEN;
14 Atom _WIN_SUPPORTING_WM_CHECK;
15 Atom _WIN_PROTOCOLS;
16 Atom _WIN_LAYER;
17 
18 /* ipc: xawtv, xscreensaver */
19 Atom _XAWTV_STATION;
20 Atom _XAWTV_REMOTE;
21 
22 Atom XA_DEACTIVATE;
23 
24 /* selections / dnd */
25 Atom _MOTIF_CLIPBOARD_TARGETS;
26 Atom _MOTIF_DEFERRED_CLIPBOARD_TARGETS;
27 Atom _MOTIF_SNAPSHOT;
28 Atom _MOTIF_DROP;
29 Atom _MOTIF_EXPORT_TARGETS;
30 Atom _MOTIF_LOSE_SELECTION;
31 
32 Atom XA_TARGETS;
33 Atom XA_DONE;
34 Atom XA_CLIPBOARD;
35 Atom XA_UTF8_STRING;
36 Atom XA_FILE_NAME;
37 Atom XA_FILE;
38 Atom XA_PIXEL;
39 Atom XA_BACKGROUND;
40 Atom XA_FOREGROUND;
41 
42 Atom MIME_TEXT_ISO8859_1;
43 Atom MIME_TEXT_UTF_8;
44 
45 Atom MIME_IMAGE_PPM;
46 Atom MIME_IMAGE_JPEG;
47 
48 Atom MIME_TEXT_URI_LIST;
49 Atom _NETSCAPE_URL;
50 
51 /* Xvideo */
52 Atom XV_MUTE;
53 Atom XV_ENCODING;
54 Atom XV_FREQ;
55 Atom XV_COLORKEY;
56 
57 #define INIT_ATOM(dpy,atom) atom = XInternAtom(dpy,#atom,False)
58 
init_atoms(Display * dpy)59 void init_atoms(Display *dpy)
60 {
61     INIT_ATOM(dpy, WM_PROTOCOLS);
62     INIT_ATOM(dpy, WM_DELETE_WINDOW);
63     INIT_ATOM(dpy, _NET_SUPPORTED);
64     INIT_ATOM(dpy, _NET_WM_STATE);
65     INIT_ATOM(dpy, _NET_WM_STATE_STAYS_ON_TOP);
66     INIT_ATOM(dpy, _NET_WM_STATE_ABOVE);
67     INIT_ATOM(dpy, _NET_WM_STATE_FULLSCREEN);
68     INIT_ATOM(dpy, _WIN_SUPPORTING_WM_CHECK);
69     INIT_ATOM(dpy, _WIN_PROTOCOLS);
70     INIT_ATOM(dpy, _WIN_LAYER);
71 
72     INIT_ATOM(dpy, _NETSCAPE_URL);
73 
74     INIT_ATOM(dpy, _XAWTV_STATION);
75     INIT_ATOM(dpy, _XAWTV_REMOTE);
76 
77     INIT_ATOM(dpy, XV_MUTE);
78     INIT_ATOM(dpy, XV_ENCODING);
79     INIT_ATOM(dpy, XV_FREQ);
80     INIT_ATOM(dpy, XV_COLORKEY);
81 
82     INIT_ATOM(dpy, _MOTIF_CLIPBOARD_TARGETS);
83     INIT_ATOM(dpy, _MOTIF_DEFERRED_CLIPBOARD_TARGETS);
84     INIT_ATOM(dpy, _MOTIF_SNAPSHOT);
85     INIT_ATOM(dpy, _MOTIF_DROP);
86     INIT_ATOM(dpy, _MOTIF_EXPORT_TARGETS);
87     INIT_ATOM(dpy, _MOTIF_LOSE_SELECTION);
88 
89     XA_DEACTIVATE      = XInternAtom(dpy, "DEACTIVATE",       False);
90 
91     XA_TARGETS         = XInternAtom(dpy, "TARGETS",          False);
92     XA_DONE            = XInternAtom(dpy, "DONE",             False);
93     XA_CLIPBOARD       = XInternAtom(dpy, "CLIPBOARD",        False);
94     XA_UTF8_STRING     = XInternAtom(dpy, "UTF8_STRING",      False);
95     XA_FILE_NAME       = XInternAtom(dpy, "FILE_NAME",        False);
96     XA_FILE            = XInternAtom(dpy, "FILE",             False);
97     XA_BACKGROUND      = XInternAtom(dpy, "BACKGROUND",       False);
98     XA_FOREGROUND      = XInternAtom(dpy, "FOREGROUND",       False);
99     XA_PIXEL           = XInternAtom(dpy, "PIXEL",            False);
100 
101     MIME_TEXT_ISO8859_1 =
102 	XInternAtom(dpy, "text/plain;charset=ISO-8859-1", False);
103     MIME_TEXT_UTF_8 =
104 	XInternAtom(dpy, "text/plain;charset=UTF-8", False);
105 
106     MIME_IMAGE_PPM     = XInternAtom(dpy, "image/ppm",        False);
107     MIME_IMAGE_JPEG    = XInternAtom(dpy, "image/jpeg",       False);
108 
109     MIME_TEXT_URI_LIST = XInternAtom(dpy, "text/uri-list",    False);
110 }
111