mirror of
https://github.com/amiwm/amiwm.git
synced 2026-03-23 17:19:14 +00:00
58 lines
1.4 KiB
C
58 lines
1.4 KiB
C
#ifndef CLIENT_H
|
|
#define CLIENT_H
|
|
|
|
#include <X11/Xlib.h>
|
|
#include <X11/Xutil.h>
|
|
|
|
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 *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
|