| 
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -49,41 +49,7 @@ | 
															
														
														
													
														
															
																 | 
																 | 
																#define CLEANMASK(mask)		(mask & ~(numlockmask | LockMask)) | 
																 | 
																 | 
																#define CLEANMASK(mask)		(mask & ~(numlockmask | LockMask)) | 
															
														
														
													
														
															
																 | 
																 | 
																#define MOUSEMASK		(BUTTONMASK | PointerMotionMask) | 
																 | 
																 | 
																#define MOUSEMASK		(BUTTONMASK | PointerMotionMask) | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																/* enums */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																enum { BarTop, BarBot, BarOff };			/* bar position */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																enum { CurNormal, CurResize, CurMove, CurLast };	/* cursor */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																enum { ColBorder, ColFG, ColBG, ColLast };		/* color */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																enum { NetSupported, NetWMName, NetLast };		/* EWMH atoms */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																enum { WMProtocols, WMDelete, WMName, WMState, WMLast };/* default atoms */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																/* typedefs */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																typedef struct { | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	int x, y, w, h; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	unsigned long norm[ColLast]; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	unsigned long sel[ColLast]; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	Drawable drawable; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	GC gc; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	struct { | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																		int ascent; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																		int descent; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																		int height; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																		XFontSet set; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																		XFontStruct *xfont; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	} font; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																} DC; /* draw context */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																typedef struct { | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	unsigned long mod; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	KeySym keysym; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	void (*func)(const char *arg); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	const char *arg; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																} Key; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																typedef struct { | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	const char *symbol; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	void (*arrange)(void); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																} Layout; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																/* local typedefs */ | 
															
														
														
													
														
															
																 | 
																 | 
																typedef struct { | 
																 | 
																 | 
																typedef struct { | 
															
														
														
													
														
															
																 | 
																 | 
																	const char *prop; | 
																 | 
																 | 
																	const char *prop; | 
															
														
														
													
														
															
																 | 
																 | 
																	const char *tags; | 
																 | 
																 | 
																	const char *tags; | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -95,86 +61,6 @@ typedef struct { | 
															
														
														
													
														
															
																 | 
																 | 
																	regex_t *tagregex; | 
																 | 
																 | 
																	regex_t *tagregex; | 
															
														
														
													
														
															
																 | 
																 | 
																} Regs; | 
																 | 
																 | 
																} Regs; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																/* forward declarations */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void applyrules(Client *c); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void arrange(void); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void attach(Client *c); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void attachstack(Client *c); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void ban(Client *c); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void buttonpress(XEvent *e); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void checkotherwm(void); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void cleanup(void); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void compileregs(void); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void configure(Client *c); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void configurenotify(XEvent *e); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void configurerequest(XEvent *e); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void destroynotify(XEvent *e); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void detach(Client *c); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void detachstack(Client *c); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void drawbar(void); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void drawsquare(Bool filled, Bool empty, unsigned long col[ColLast]); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void drawtext(const char *text, unsigned long col[ColLast]); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void *emallocz(unsigned int size); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void enternotify(XEvent *e); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void eprint(const char *errstr, ...); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void expose(XEvent *e); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void floating(void); /* default floating layout */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void focus(Client *c); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void focusnext(const char *arg); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void focusprev(const char *arg); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																Client *getclient(Window w); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																unsigned long getcolor(const char *colstr); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																long getstate(Window w); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																Bool gettextprop(Window w, Atom atom, char *text, unsigned int size); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void grabbuttons(Client *c, Bool focused); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																unsigned int idxoftag(const char *tag); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void initfont(const char *fontstr); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																Bool isarrange(void (*func)()); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																Bool isoccupied(unsigned int t); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																Bool isprotodel(Client *c); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																Bool isvisible(Client *c); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void keypress(XEvent *e); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void killclient(const char *arg); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void leavenotify(XEvent *e); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void manage(Window w, XWindowAttributes *wa); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void mappingnotify(XEvent *e); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void maprequest(XEvent *e); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void movemouse(Client *c); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																Client *nexttiled(Client *c); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void propertynotify(XEvent *e); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void quit(const char *arg); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void resize(Client *c, int x, int y, int w, int h, Bool sizehints); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void resizemouse(Client *c); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void restack(void); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void run(void); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void scan(void); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void setclientstate(Client *c, long state); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void setlayout(const char *arg); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void setmwfact(const char *arg); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void setup(void); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void spawn(const char *arg); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void tag(const char *arg); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																unsigned int textnw(const char *text, unsigned int len); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																unsigned int textw(const char *text); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void tile(void); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void togglebar(const char *arg); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void togglefloating(const char *arg); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void togglemax(const char *arg); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void toggletag(const char *arg); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void toggleview(const char *arg); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void unban(Client *c); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void unmanage(Client *c); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void unmapnotify(XEvent *e); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void updatebarpos(void); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void updatesizehints(Client *c); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void updatetitle(Client *c); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void view(const char *arg); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void viewprevtag(const char *arg);	/* views previous selected tags */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																int xerror(Display *dpy, XErrorEvent *ee); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																int xerrordummy(Display *dsply, XErrorEvent *ee); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																int xerrorstart(Display *dsply, XErrorEvent *ee); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																void zoom(const char *arg); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																/* variables */ | 
																 | 
																 | 
																/* variables */ | 
															
														
														
													
														
															
																 | 
																 | 
																char stext[256]; | 
																 | 
																 | 
																char stext[256]; | 
															
														
														
													
														
															
																 | 
																 | 
																double mwfact; | 
																 | 
																 | 
																double mwfact; | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																	
																 | 
																
  |