/********** CUSTOMIZE **********/
typedef union Arg Arg;
-typedef struct DC DC;
typedef struct Client Client;
+typedef enum Corner Corner;
+typedef struct DC DC;
typedef struct Fnt Fnt;
typedef struct Key Key;
typedef struct Rule Rule;
/* cursor */
enum { CurNormal, CurResize, CurMove, CurLast };
+enum Corner { TopLeft, TopRight, BotLeft, BotRight };
+
struct Fnt {
int ascent;
int descent;
char name[256];
char *tags[TLast];
int proto;
- int x, y, w, h;
- int tx, ty, tw, th;
+ int *x, *y, *w, *h; /* current geom */
+ int bx, by, bw, bh; /* title bar */
+ int fx, fy, fw, fh; /* floating geom */
+ int tx, ty, tw, th; /* tiled geom */
int basew, baseh, incw, inch, maxw, maxh, minw, minh;
int grav;
unsigned int border;
extern void lower(Client *c);
extern void manage(Window w, XWindowAttributes *wa);
extern void maximize(Arg *arg);
-extern void resize(Client *c, Bool inc);
+extern void pop(Client *c);
+extern void resize(Client *c, Bool inc, Corner sticky);
+extern void setgeom(Client *c);
extern void setsize(Client *c);
extern void settitle(Client *c);
extern void unmanage(Client *c);