76 struct Client { |
76 struct Client { |
77 char name[256]; |
77 char name[256]; |
78 int proto; |
78 int proto; |
79 int x, y, w, h; |
79 int x, y, w, h; |
80 int tx, ty, tw, th; /* title window geometry */ |
80 int tx, ty, tw, th; /* title window geometry */ |
|
81 int rx, ry, rw, rh; /* revert geometry */ |
81 int basew, baseh, incw, inch, maxw, maxh, minw, minh; |
82 int basew, baseh, incw, inch, maxw, maxh, minw, minh; |
82 int grav; |
83 int grav; |
83 long flags; |
84 long flags; |
84 unsigned int border, weight; |
85 unsigned int border, weight; |
85 Bool isfloat; |
86 Bool isfloat; |
97 extern int mw, screen, sx, sy, sw, sh; /* screen geometry, master width */ |
98 extern int mw, screen, sx, sy, sw, sh; /* screen geometry, master width */ |
98 extern unsigned int ntags, numlockmask; /* number of tags, dynamic lock mask */ |
99 extern unsigned int ntags, numlockmask; /* number of tags, dynamic lock mask */ |
99 extern void (*handler[LASTEvent])(XEvent *); /* event handler */ |
100 extern void (*handler[LASTEvent])(XEvent *); /* event handler */ |
100 extern void (*arrange)(Arg *); /* arrange function, indicates mode */ |
101 extern void (*arrange)(Arg *); /* arrange function, indicates mode */ |
101 extern Atom wmatom[WMLast], netatom[NetLast]; |
102 extern Atom wmatom[WMLast], netatom[NetLast]; |
102 extern Bool running, issel, maximized, *seltag; /* seltag is array of Bool */ |
103 extern Bool running, issel, *seltag; /* seltag is array of Bool */ |
103 extern Client *clients, *sel, *stack; /* global cleint list and stack */ |
104 extern Client *clients, *sel, *stack; /* global cleint list and stack */ |
104 extern Cursor cursor[CurLast]; |
105 extern Cursor cursor[CurLast]; |
105 extern DC dc; /* global draw context */ |
106 extern DC dc; /* global draw context */ |
106 extern Display *dpy; |
107 extern Display *dpy; |
107 extern Window root, barwin; |
108 extern Window root, barwin; |
115 extern void killclient(Arg *arg); /* kill c nicely */ |
116 extern void killclient(Arg *arg); /* kill c nicely */ |
116 extern void manage(Window w, XWindowAttributes *wa); /* manage new client */ |
117 extern void manage(Window w, XWindowAttributes *wa); /* manage new client */ |
117 extern void resize(Client *c, Bool sizehints, Corner sticky); /* resize c*/ |
118 extern void resize(Client *c, Bool sizehints, Corner sticky); /* resize c*/ |
118 extern void updatesize(Client *c); /* update the size structs of c */ |
119 extern void updatesize(Client *c); /* update the size structs of c */ |
119 extern void updatetitle(Client *c); /* update the name of c */ |
120 extern void updatetitle(Client *c); /* update the name of c */ |
120 extern void togglemax(Arg *arg); /* (un)maximize c */ |
|
121 extern void unmanage(Client *c); /* destroy c */ |
121 extern void unmanage(Client *c); /* destroy c */ |
122 |
122 |
123 /* draw.c */ |
123 /* draw.c */ |
124 extern void drawall(); /* draw all visible client titles and the bar */ |
124 extern void drawall(); /* draw all visible client titles and the bar */ |
125 extern void drawstatus(); /* draw the bar */ |
125 extern void drawstatus(); /* draw the bar */ |