unity.c (1312B)
1 /* See LICENSE file for copyright and license details. */ 2 #define _DEFAULT_SOURCE 3 #define _XOPEN_SOURCE (700L) 4 #define XINERAMA 5 6 #include <ctype.h> 7 #include <errno.h> 8 #include <locale.h> 9 #include <signal.h> 10 #include <stdarg.h> 11 #include <stddef.h> 12 #include <stdio.h> 13 #include <stdlib.h> 14 #include <string.h> 15 #include <sys/types.h> 16 #include <sys/wait.h> 17 #include <unistd.h> 18 19 #include <X11/Xatom.h> 20 #include <X11/Xft/Xft.h> 21 #include <X11/Xlib.h> 22 #include <X11/Xproto.h> 23 #include <X11/Xutil.h> 24 #include <X11/cursorfont.h> 25 #ifdef XINERAMA 26 #include <X11/extensions/Xinerama.h> 27 #endif /* XINERAMA */ 28 #include <X11/keysym.h> 29 30 #define MAX(A, B) ((A) > (B) ? (A) : (B)) 31 #define MIN(A, B) ((A) < (B) ? (A) : (B)) 32 #define BETWEEN(X, A, B) ((A) <= (X) && (X) <= (B)) 33 #define LENGTH(X) (sizeof (X) / sizeof (X)[0]) 34 35 static void 36 die(const char *fmt, ...) 37 { 38 va_list ap; 39 int saved_errno; 40 41 saved_errno = errno; 42 43 va_start(ap, fmt); 44 vfprintf(stderr, fmt, ap); 45 va_end(ap); 46 47 if (fmt[0] && fmt[strlen(fmt)-1] == ':') 48 fprintf(stderr, " %s", strerror(saved_errno)); 49 fputc('\n', stderr); 50 51 exit(1); 52 } 53 54 static void * 55 ecalloc(size_t nmemb, size_t size) 56 { 57 void *p; 58 59 if (!(p = calloc(nmemb, size))) 60 die("calloc:"); 61 return p; 62 } 63 64 #include "drw.h" 65 #include "drw.c" 66 #include "dwm.c"