JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
first step to a more flexible dotile() algorithm
[dwm.git] / dwm.h
diff --git a/dwm.h b/dwm.h
index c30f2b3..0d2ed3f 100644 (file)
--- a/dwm.h
+++ b/dwm.h
@@ -38,6 +38,8 @@
 /* mask shorthands, used in event.c and client.c */
 #define BUTTONMASK             (ButtonPressMask | ButtonReleaseMask)
 #define MOUSEMASK              (BUTTONMASK | PointerMotionMask)
+/* other stuff used in different places */
+#define BORDERPX               1
 #define PROTODELWIN            1
 
 enum { NetSupported, NetWMName, NetLast };             /* EWMH atoms */
@@ -46,6 +48,10 @@ enum { CurNormal, CurResize, CurMove, CurLast };     /* cursor */
 enum { ColFG, ColBG, ColLast };                                /* color */
 
 typedef enum {
+       StackLeft, StackBottom, StackRight
+} StackPos; /* stack position*/
+
+typedef enum {
        TopLeft, TopRight, BotLeft, BotRight
 } Corner; /* window corners */
 
@@ -95,20 +101,23 @@ struct Client {
 extern const char *tags[];                     /* all tags */
 extern char stext[1024];                       /* status text */
 extern int bx, by, bw, bh, bmw;                        /* bar geometry, bar mode label width */
-extern int mw, screen, sx, sy, sw, sh;         /* screen geometry, master width */
+extern int master, screen, sx, sy, sw, sh;     /* screen geometry, master width */
 extern unsigned int ntags, numlockmask;                /* number of tags, dynamic lock mask */
 extern void (*handler[LASTEvent])(XEvent *);   /* event handler */
 extern void (*arrange)(Arg *);                 /* arrange function, indicates mode  */
 extern Atom wmatom[WMLast], netatom[NetLast];
 extern Bool running, issel, *seltag;           /* seltag is array of Bool */
+extern Bool isvertical;                                /* stack direction */
 extern Client *clients, *sel, *stack;          /* global client list and stack */
 extern Cursor cursor[CurLast];
 extern DC dc;                                  /* global draw context */
 extern Display *dpy;
+extern StackPos stackpos;
 extern Window root, barwin;
 
 /* client.c */
 extern void ban(Client *c);                    /* ban c from screen */
+extern void configure(Client *c);              /* send synthetic configure event */
 extern void focus(Client *c);                  /* focus c, c may be NULL */
 extern Client *getclient(Window w);            /* return client of w */
 extern Client *getctitle(Window w);            /* return client of title window */
@@ -116,6 +125,7 @@ extern void gravitate(Client *c, Bool invert);      /* gravitate c */
 extern void killclient(Arg *arg);              /* kill c nicely */
 extern void manage(Window w, XWindowAttributes *wa);   /* manage new client */
 extern void resize(Client *c, Bool sizehints, Corner sticky); /* resize c*/
+extern void resizetitle(Client *c);            /* resizes c->twin correctly */
 extern void updatesize(Client *c);                     /* update the size structs of c */
 extern void updatetitle(Client *c);            /* update the name of c */
 extern void unmanage(Client *c);               /* destroy c */