Files
amiwm-neo/client.h
Adrian Chadd 631176c9a2 [amiwm] Implement a keyboard shortcut to move a client to a different screen
This allows a keyboard shortcut to move a client to a different amiwm
screen.  That way when you have things like Firefox restart every window
in a single screen, you can quickly move screens to where they should be.
2022-09-05 16:06:18 -07:00

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;
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;
#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);
#endif