|  | @@ -25,8 +25,6 @@
 | 
	
		
			
				|  |  |   *
 | 
	
		
			
				|  |  |   * To understand everything else, start reading main().
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  | -#include "dwm.h"
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  #include <errno.h>
 | 
	
		
			
				|  |  |  #include <locale.h>
 | 
	
		
			
				|  |  |  #include <stdarg.h>
 | 
	
	
		
			
				|  | @@ -41,73 +39,17 @@
 | 
	
		
			
				|  |  |  #include <X11/cursorfont.h>
 | 
	
		
			
				|  |  |  #include <X11/keysym.h>
 | 
	
		
			
				|  |  |  #include <X11/Xatom.h>
 | 
	
		
			
				|  |  | +#include <X11/Xlib.h>
 | 
	
		
			
				|  |  |  #include <X11/Xproto.h>
 | 
	
		
			
				|  |  |  #include <X11/Xutil.h>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +#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) {
 |