]> Dogcows Code - chaz/tint2/blob - src/server.h
improve multi_monitor mode
[chaz/tint2] / src / server.h
1 /**************************************************************************
2 * server :
3 * -
4 *
5 * Check COPYING file for Copyright
6 *
7 **************************************************************************/
8
9 #ifndef SERVER_H
10 #define SERVER_H
11
12 #include <X11/Xlib.h>
13 #include <X11/Xatom.h>
14 #include <X11/extensions/Xrandr.h>
15 #include <X11/extensions/Xinerama.h>
16
17
18 typedef struct Global_atom
19 {
20 Atom _XROOTPMAP_ID;
21 Atom _NET_CURRENT_DESKTOP;
22 Atom _NET_NUMBER_OF_DESKTOPS;
23 Atom _NET_DESKTOP_GEOMETRY;
24 Atom _NET_DESKTOP_VIEWPORT;
25 Atom _NET_ACTIVE_WINDOW;
26 Atom _NET_WM_WINDOW_TYPE;
27 Atom _NET_WM_STATE_SKIP_PAGER;
28 Atom _NET_WM_STATE_SKIP_TASKBAR;
29 Atom _NET_WM_STATE_STICKY;
30 Atom _NET_WM_WINDOW_TYPE_DOCK;
31 Atom _NET_WM_WINDOW_TYPE_DESKTOP;
32 Atom _NET_WM_WINDOW_TYPE_TOOLBAR;
33 Atom _NET_WM_WINDOW_TYPE_MENU;
34 Atom _NET_WM_WINDOW_TYPE_SPLASH;
35 Atom _NET_WM_WINDOW_TYPE_DIALOG;
36 Atom _NET_WM_WINDOW_TYPE_NORMAL;
37 Atom _NET_WM_DESKTOP;
38 Atom WM_STATE;
39 Atom _NET_WM_STATE;
40 Atom _NET_WM_STATE_SHADED;
41 Atom _NET_WM_STATE_BELOW;
42 Atom _NET_WM_STATE_MODAL;
43 Atom _NET_CLIENT_LIST;
44 Atom _NET_WM_NAME;
45 Atom _NET_WM_VISIBLE_NAME;
46 Atom _NET_WM_STRUT;
47 Atom _NET_WM_ICON;
48 Atom _NET_CLOSE_WINDOW;
49 Atom UTF8_STRING;
50 Atom _NET_SUPPORTING_WM_CHECK;
51 Atom _WIN_LAYER;
52 Atom _NET_WM_STRUT_PARTIAL;
53 Atom WM_NAME;
54 Atom __SWM_VROOT;
55 Atom _MOTIF_WM_HINTS;
56 } Global_atom;
57
58
59
60 typedef struct Monitor
61 {
62 int x;
63 int y;
64 int width;
65 int height;
66 } Monitor;
67
68
69 typedef struct
70 {
71 Display *dsp;
72 Window root_win;
73 int desktop;
74 int screen;
75 int depth;
76 int nb_desktop;
77 Monitor *monitor;
78 int nb_monitor;
79 int got_root_win;
80 Visual *visual;
81 int posx, posy;
82 Pixmap pmap;
83 GC gc;
84 GC gc_root;
85 Global_atom atom;
86 } Server_global;
87
88
89 Server_global server;
90
91
92 void send_event32 (Window win, Atom at, long data1, long data2);
93 int get_property32 (Window win, Atom at, Atom type);
94 void *server_get_property (Window win, Atom at, Atom type, int *num_results);
95 Atom server_get_atom (char *atom_name);
96 void server_refresh_root_pixmap ();
97 void server_refresh_main_pixmap ();
98 void server_catch_error (Display *d, XErrorEvent *ev);
99 void server_init_atoms ();
100 void get_monitors();
101
102
103 #endif
This page took 0.038793 seconds and 5 git commands to generate.