xutil.h (2562B)
1 #include <X11/Xlib.h> 2 #include <X11/Xatom.h> 3 #include <X11/Xproto.h> 4 #include <X11/Xresource.h> 5 #include <X11/Xutil.h> 6 #include <X11/cursorfont.h> 7 #include <X11/xpm.h> 8 #include <X11/Xft/Xft.h> 9 10 /* atom names */ 11 #define ATOMS \ 12 X(UTF8_STRING) \ 13 X(WM_DELETE_WINDOW) \ 14 X(WM_WINDOW_ROLE) \ 15 X(WM_TAKE_FOCUS) \ 16 X(WM_PROTOCOLS) \ 17 X(WM_STATE) \ 18 X(WM_CLIENT_LEADER) \ 19 X(_NET_ACTIVE_WINDOW) \ 20 X(_NET_CLIENT_LIST) \ 21 X(_NET_CLIENT_LIST_STACKING) \ 22 X(_NET_CLOSE_WINDOW) \ 23 X(_NET_CURRENT_DESKTOP) \ 24 X(_NET_DESKTOP_NAMES) \ 25 X(_NET_FRAME_EXTENTS) \ 26 X(_NET_MOVERESIZE_WINDOW) \ 27 X(_NET_NUMBER_OF_DESKTOPS) \ 28 X(_NET_REQUEST_FRAME_EXTENTS) \ 29 X(_NET_SHOWING_DESKTOP) \ 30 X(_NET_SUPPORTED) \ 31 X(_NET_SUPPORTING_WM_CHECK) \ 32 X(_NET_WM_DESKTOP) \ 33 X(_NET_WM_FULL_PLACEMENT) \ 34 X(_NET_WM_MOVERESIZE) \ 35 X(_NET_WM_NAME) \ 36 X(_NET_WM_STATE) \ 37 X(_NET_WM_STATE_ABOVE) \ 38 X(_NET_WM_STATE_BELOW) \ 39 X(_NET_WM_STATE_DEMANDS_ATTENTION) \ 40 X(_NET_WM_STATE_FOCUSED) \ 41 X(_NET_WM_STATE_FULLSCREEN) \ 42 X(_NET_WM_STATE_HIDDEN) \ 43 X(_NET_WM_STATE_MAXIMIZED_HORZ) \ 44 X(_NET_WM_STATE_MAXIMIZED_VERT) \ 45 X(_NET_WM_STATE_SHADED) \ 46 X(_NET_WM_STATE_STICKY) \ 47 X(_NET_WM_STRUT) \ 48 X(_NET_WM_STRUT_PARTIAL) \ 49 X(_NET_WM_WINDOW_TYPE) \ 50 X(_NET_WM_WINDOW_TYPE_DESKTOP) \ 51 X(_NET_WM_WINDOW_TYPE_DIALOG) \ 52 X(_NET_WM_WINDOW_TYPE_DOCK) \ 53 X(_NET_WM_WINDOW_TYPE_MENU) \ 54 X(_NET_WM_WINDOW_TYPE_NOTIFICATION) \ 55 X(_NET_WM_WINDOW_TYPE_PROMPT) \ 56 X(_NET_WM_WINDOW_TYPE_SPLASH) \ 57 X(_NET_WM_WINDOW_TYPE_TOOLBAR) \ 58 X(_NET_WM_WINDOW_TYPE_UTILITY) \ 59 X(_MOTIF_WM_HINTS) \ 60 X(_GNUSTEP_WM_ATTR) \ 61 X(_SHOD_WM_STATE_STRETCHED) \ 62 X(_SHOD_CYCLE) \ 63 X(_SHOD_GROUP_TAB) \ 64 X(_SHOD_GROUP_CONTAINER) \ 65 X(_SHOD_CONTAINER_LIST) 66 67 enum Atom { 68 #define X(atom) atom, 69 ATOMS 70 NATOMS 71 #undef X 72 }; 73 74 extern Visual *visual; 75 extern Colormap colormap; 76 extern unsigned int depth; 77 extern XrmDatabase xdb; 78 extern Display *dpy; 79 extern Window root; 80 extern Atom atoms[NATOMS]; 81 extern int screen; 82 83 int max(int x, int y); 84 int min(int x, int y); 85 void *ecalloc(size_t nmemb, size_t size); 86 void *emalloc(size_t size); 87 char *estrndup(const char *s, size_t maxlen); 88 89 unsigned long getwinsprop(Window win, Atom prop, Window **wins); 90 unsigned long getcardsprop(Window win, Atom prop, unsigned long **array); 91 unsigned long getcardprop(Window win, Atom prop); 92 unsigned long getatomsprop(Window win, Atom prop, Atom **atoms); 93 Window getwinprop(Window win, Atom prop); 94 Atom getatomprop(Window win, Atom prop); 95 void initatoms(void); 96 void xinit(void); 97 void xinitvisual(void); 98 char *getresource(XrmDatabase xdb, XrmClass *class, XrmName *name);