X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fserver.h;h=07876c6a2d08d592f7eb58844fb18c1fcd1d3fd6;hb=HEAD;hp=ffd0831d5a336f14986f2f6c2896bc569028413a;hpb=bab0811f845cedb817a3c3a29dd91ade07d5a886;p=chaz%2Ftint2 diff --git a/src/server.h b/src/server.h index ffd0831..07876c6 100644 --- a/src/server.h +++ b/src/server.h @@ -13,12 +13,19 @@ #include #include -extern int real_transparency; +#ifdef HAVE_SN +#include +#include +#endif + + typedef struct Global_atom { Atom _XROOTPMAP_ID; + Atom _XROOTMAP_ID; Atom _NET_CURRENT_DESKTOP; Atom _NET_NUMBER_OF_DESKTOPS; + Atom _NET_DESKTOP_NAMES; Atom _NET_DESKTOP_GEOMETRY; Atom _NET_DESKTOP_VIEWPORT; Atom _NET_ACTIVE_WINDOW; @@ -40,6 +47,7 @@ typedef struct Global_atom 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; @@ -48,9 +56,11 @@ typedef struct Global_atom 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; @@ -63,9 +73,19 @@ typedef struct Global_atom Atom _NET_SYSTEM_TRAY_ORIENTATION; Atom _XEMBED; Atom _XEMBED_INFO; + Atom _XSETTINGS_SCREEN; + Atom _XSETTINGS_SETTINGS; Atom XdndAware; + Atom XdndEnter; Atom XdndPosition; Atom XdndStatus; + Atom XdndDrop; + Atom XdndLeave; + Atom XdndSelection; + Atom XdndTypeList; + Atom XdndActionCopy; + Atom XdndFinished; + Atom TARGETS; } Global_atom; @@ -76,6 +96,7 @@ typedef struct Monitor int y; int width; int height; + char** names; } Monitor; @@ -83,6 +104,8 @@ typedef struct { Display *dsp; Window root_win; + Window composite_manager; + int real_transparency; // current desktop int desktop; int screen; @@ -93,17 +116,26 @@ typedef struct Monitor *monitor; int got_root_win; Visual *visual; + Visual *visual32; // root background Pixmap root_pmap; GC gc; Colormap colormap; + Colormap colormap32; Global_atom atom; +#ifdef HAVE_SN + SnDisplay *sn_dsp; + GTree *pids; +#endif // HAVE_SN } 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); @@ -111,7 +143,6 @@ Atom server_get_atom (char *atom_name); void server_catch_error (Display *d, XErrorEvent *ev); void server_init_atoms (); void server_init_visual(); -void cleanup_server(); // detect root background void get_root_pixmap();