[hackers] [dwm] macros which have been defined in config.h can only be used at function level, however you can nest code into config.h now for implementing a different layout (just for example), eg. #include "supertile.c"

From: Anselm R. Garbe <garbeam_AT_gmail.com>
Date: Sun Sep 16 10:27:28 2007

changeset: 994:201550f99b8e
user: Anselm R. Garbe <garbeam_AT_gmail.com>
date: Sun Sep 16 10:23:53 2007 +0200
summary: macros which have been defined in config.h can only be used at function level, however you can nest code into config.h now for implementing a different layout (just for example), eg. #include "supertile.c"

diff -r eab3406cff0c -r 201550f99b8e dwm.c
--- a/dwm.c Sat Sep 15 22:45:18 2007 +0200
+++ b/dwm.c Sun Sep 16 10:23:53 2007 +0200
@@ -194,20 +194,16 @@ static int xerrorstart(Display *dsply, X
 static int xerrorstart(Display *dsply, XErrorEvent *ee);
 static void zoom(const char *arg);
 
-#include "config.h"
-
 /* variables */
 static char stext[256];
-static double mwfact = MWFACT;
+static double mwfact;
 static int screen, sx, sy, sw, sh, wax, way, waw, wah;
 static int (*xerrorxlib)(Display *, XErrorEvent *);
-static unsigned int bh;
+static unsigned int bh, bpos, ntags;
 static unsigned int blw = 0;
-static unsigned int bpos = BARPOS;
 static unsigned int ltidx = 0; /* default */
 static unsigned int nlayouts = 0;
 static unsigned int nrules = 0;
-static unsigned int ntags;
 static unsigned int numlockmask = 0;
 static void (*handler[LASTEvent]) (XEvent *) = {
         [ButtonPress] = buttonpress,
@@ -237,6 +233,9 @@ static Window barwin, root;
 static Window barwin, root;
 static Regs *regs = NULL;
 
+/* configuration, allows nested code to work on above variables */
+#include "config.h"
+
 static void
 eprint(const char *errstr, ...) {
         va_list ap;
@@ -1806,6 +1805,11 @@ main(int argc, char *argv[]) {
                 eprint("dwm-"VERSION", © 2006-2007 A. R. Garbe, S. van Dijk, J. Salmi, P. Hruby, S. Nagy\n");
         else if(argc != 1)
                 eprint("usage: dwm [-v]\n");
+
+ /* macros from config.h can be used beginning within main() */
+ mwfact = MWFACT;
+ bpos = BARPOS;
+
         setlocale(LC_CTYPE, "");
         if(!(dpy = XOpenDisplay(0)))
                 eprint("dwm: cannot open display\n");
Received on Sun Sep 16 2007 - 10:27:28 UTC

This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 15:58:07 UTC