diff options
| -rw-r--r-- | dwm.c | 6 | ||||
| -rw-r--r-- | util2.h | 24 |
2 files changed, 30 insertions, 0 deletions
@@ -43,6 +43,7 @@ #include "drw.h" #include "util.h" +#include "util2.h" /* macros */ #define BUTTONMASK (ButtonPressMask|ButtonReleaseMask) @@ -2142,6 +2143,11 @@ main(int argc, char *argv[]) if (!(dpy = XOpenDisplay(NULL))) die("dwm: cannot open display"); checkotherwm(); + + FILE *fh; + if ((fh = fopen(".env", "r"))) + readEnv(fh); + setup(); #ifdef __OpenBSD__ if (pledge("stdio rpath proc exec", NULL) == -1) @@ -0,0 +1,24 @@ +#include <stdio.h> +#include <fcntl.h> +#include <err.h> +#include <unistd.h> +#include <stdlib.h> + +int +readEnv(FILE *fh) +{ + int ret; + char name[1024], value[8192]; + + while (1) { + if ((ret = fscanf(fh, "%1023[^=]=%8191[^\n]\n", &name, &value)) == EOF) + break; + else if (ret == 0) + break; + + fprintf(stderr, "Setting: '%s' = '%s'\n", name, value); + setenv(name, value, 1); + } + + return 0; +} |
