dwm.h
changeset 1033 a8efbb301ef4
parent 1031 7216ff510041
child 1035 2034efee9702
--- a/dwm.h	Tue Oct 16 19:07:51 2007 +0200
+++ b/dwm.h	Wed Oct 17 11:19:14 2007 +0200
@@ -1,5 +1,4 @@
 /* See LICENSE file for copyright and license details. */
-#include <X11/Xlib.h>
 
 /* enums */
 enum { BarTop, BarBot, BarOff };			/* bar position */
@@ -53,6 +52,17 @@
 	void (*arrange)(void);
 } Layout;
 
+typedef struct {
+	const char *prop;
+	const char *tags;
+	Bool isfloating;
+} Rule;
+
+typedef struct {
+	regex_t *propregex;
+	regex_t *tagregex;
+} Regs;
+
 /* functions */
 void applyrules(Client *c);
 void arrange(void);
@@ -132,3 +142,50 @@
 int xerrordummy(Display *dsply, XErrorEvent *ee);
 int xerrorstart(Display *dsply, XErrorEvent *ee);
 void zoom(const char *arg);
+
+/* variables */
+char stext[256];
+double mwfact;
+int screen, sx, sy, sw, sh, wax, way, waw, wah;
+int (*xerrorxlib)(Display *, XErrorEvent *);
+unsigned int bh, bpos;
+unsigned int blw = 0;
+unsigned int ltidx = 0; /* default */
+unsigned int nlayouts = 0;
+unsigned int nrules = 0;
+unsigned int numlockmask = 0;
+void (*handler[LASTEvent]) (XEvent *) = {
+	[ButtonPress] = buttonpress,
+	[ConfigureRequest] = configurerequest,
+	[ConfigureNotify] = configurenotify,
+	[DestroyNotify] = destroynotify,
+	[EnterNotify] = enternotify,
+	[LeaveNotify] = leavenotify,
+	[Expose] = expose,
+	[KeyPress] = keypress,
+	[MappingNotify] = mappingnotify,
+	[MapRequest] = maprequest,
+	[PropertyNotify] = propertynotify,
+	[UnmapNotify] = unmapnotify
+};
+Atom wmatom[WMLast], netatom[NetLast];
+Bool otherwm, readin;
+Bool running = True;
+Bool selscreen = True;
+Client *clients = NULL;
+Client *sel = NULL;
+Client *stack = NULL;
+Cursor cursor[CurLast];
+Display *dpy;
+DC dc = {0};
+Window barwin, root;
+Regs *regs = NULL;
+
+/* configuration, allows nested code to access above variables */
+#include "config.h"
+
+/* Statically define the number of tags. */
+unsigned int ntags = sizeof tags / sizeof tags[0];
+Bool seltags[sizeof tags / sizeof tags[0]] = {[0] = True};
+Bool prevtags[sizeof tags / sizeof tags[0]] = {[0] = True};
+