#ifndef CLIENT_H #define CLIENT_H #include #include struct _Icon; struct _Scrn; /* * struct _Client - application client information. * * @next: next client in list. * @scr: virtual desktop this client belongs to. * @colormap: current colormap. */ typedef struct _Client { struct _Client *leader; struct _Client *next; struct _Scrn *scr, *fsscr; struct _Icon *icon; struct module *module; int wflags; Window window, parent; Window close, drag, iconify, zoom, depth, resize; Window clicked; Colormap colormap; int x, y, pwidth, pheight, dragw, framewidth, frameheight; int zoomx, zoomy, zoomw, zoomh; int old_bw, proto, state, gravity, reparenting; int active, shaped, fullscreen; #ifdef USE_FONTSETS char *title; #else XTextProperty title; #endif /* This needs to be a pointer! */ XSizeHints *sizehints; struct _Style *style; } Client; extern Client *clients; extern Client *getclient(Window); extern Client *getclientbyicon(Window); extern Client *createclient(Window); extern void rmclient(Client *); extern void flushclients(void); extern void scrsendconfig(struct _Scrn *); extern void sendconfig(Client *); extern void getstate(Client *); extern void grav_map_frame_to_win(Client *, int, int, int *, int *); extern void grav_map_win_to_frame(Client *, int, int, int *, int *); extern void setclientstate(Client *, int); extern void reparent_client(struct _Scrn *s, Client *client); extern void fullscreen(Client *, int); #endif