Atom _NET_WM_STATE_MAXIMIZED_VERT;
Atom _NET_WM_STATE_MAXIMIZED_HORZ;
Atom _NET_WM_STATE_SHADED;
+ Atom _NET_WM_STATE_HIDDEN;
Atom _NET_WM_STATE_BELOW;
+ Atom _NET_WM_STATE_ABOVE;
Atom _NET_WM_STATE_MODAL;
Atom _NET_CLIENT_LIST;
Atom _NET_WM_NAME;
Atom _NET_WM_VISIBLE_NAME;
Atom _NET_WM_STRUT;
Atom _NET_WM_ICON;
+ Atom _NET_WM_ICON_GEOMETRY;
Atom _NET_CLOSE_WINDOW;
Atom UTF8_STRING;
Atom _NET_SUPPORTING_WM_CHECK;
+ Atom _NET_WM_CM_S0;
Atom _NET_WM_STRUT_PARTIAL;
Atom WM_NAME;
Atom __SWM_VROOT;
Atom XdndAware;
Atom XdndPosition;
Atom XdndStatus;
+ Atom XdndLeave;
} Global_atom;
int y;
int width;
int height;
+ char** names;
} Monitor;
{
Display *dsp;
Window root_win;
+ Window composite_manager;
+ int real_transparency;
// current desktop
int desktop;
int screen;
Monitor *monitor;
int got_root_win;
Visual *visual;
+ Visual *visual32;
// root background
Pixmap root_pmap;
GC gc;
+ Colormap colormap;
+ Colormap colormap32;
Global_atom atom;
} Server_global;
Server_global server;
+// freed memory
+void cleanup_server();
+
void send_event32 (Window win, Atom at, long data1, long data2, long data3);
int get_property32 (Window win, Atom at, Atom type);
void *server_get_property (Window win, Atom at, Atom type, int *num_results);
Atom server_get_atom (char *atom_name);
-void server_refresh_root_pixmap ();
-void server_refresh_main_pixmap ();
void server_catch_error (Display *d, XErrorEvent *ev);
void server_init_atoms ();
+void server_init_visual();
// detect root background
void get_root_pixmap();