From 206eb344e2efcb29922b5b89f7b11f227d701240 Mon Sep 17 00:00:00 2001 From: "arg@suckless.org" Date: Wed, 17 Oct 2007 11:19:14 +0200 Subject: just making dwm.h saner --- dwm.h | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) (limited to 'dwm.h') diff --git a/dwm.h b/dwm.h index ff50d47..526653a 100644 --- a/dwm.h +++ b/dwm.h @@ -1,5 +1,4 @@ /* See LICENSE file for copyright and license details. */ -#include /* enums */ enum { BarTop, BarBot, BarOff }; /* bar position */ @@ -53,6 +52,17 @@ typedef struct { 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 xerror(Display *dpy, XErrorEvent *ee); 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}; + -- cgit v1.2.3