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 --- config.mk | 4 ++-- dwm.c | 65 +++------------------------------------------------------------ dwm.h | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 63 insertions(+), 65 deletions(-) diff --git a/config.mk b/config.mk index 9944f2a..ce7cdc7 100644 --- a/config.mk +++ b/config.mk @@ -17,8 +17,8 @@ LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 # flags CFLAGS = -Os ${INCS} -DVERSION=\"${VERSION}\" LDFLAGS = -s ${LIBS} -#CFLAGS = -g -std=c99 -pedantic -Wall -O2 ${INCS} -DVERSION=\"${VERSION}\" -#LDFLAGS = -g ${LIBS} +CFLAGS = -g -std=c99 -pedantic -Wall -O2 ${INCS} -DVERSION=\"${VERSION}\" +LDFLAGS = -g ${LIBS} # Solaris #CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\" diff --git a/dwm.c b/dwm.c index ab9c11b..8f5ed6d 100644 --- a/dwm.c +++ b/dwm.c @@ -25,8 +25,6 @@ * * To understand everything else, start reading main(). */ -#include "dwm.h" - #include #include #include @@ -41,73 +39,17 @@ #include #include #include +#include #include #include +#include "dwm.h" + /* macros */ #define BUTTONMASK (ButtonPressMask | ButtonReleaseMask) #define CLEANMASK(mask) (mask & ~(numlockmask | LockMask)) #define MOUSEMASK (BUTTONMASK | PointerMotionMask) -/* local typedefs */ -typedef struct { - const char *prop; - const char *tags; - Bool isfloating; -} Rule; - -typedef struct { - regex_t *propregex; - regex_t *tagregex; -} Regs; - -/* 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}; - -/* functions*/ void applyrules(Client *c) { static char buf[512]; @@ -1032,7 +974,6 @@ quit(const char *arg) { void resize(Client *c, int x, int y, int w, int h, Bool sizehints) { - double dx, dy, max, min, ratio; XWindowChanges wc; if(sizehints) { 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