|  | @@ -25,8 +25,6 @@
 | 
											
												
													
														|  |   *
 |  |   *
 | 
											
												
													
														|  |   * To understand everything else, start reading main().
 |  |   * To understand everything else, start reading main().
 | 
											
												
													
														|  |   */
 |  |   */
 | 
											
												
													
														|  | -#include "dwm.h"
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  |  #include <errno.h>
 |  |  #include <errno.h>
 | 
											
												
													
														|  |  #include <locale.h>
 |  |  #include <locale.h>
 | 
											
												
													
														|  |  #include <stdarg.h>
 |  |  #include <stdarg.h>
 | 
											
										
											
												
													
														|  | @@ -41,73 +39,17 @@
 | 
											
												
													
														|  |  #include <X11/cursorfont.h>
 |  |  #include <X11/cursorfont.h>
 | 
											
												
													
														|  |  #include <X11/keysym.h>
 |  |  #include <X11/keysym.h>
 | 
											
												
													
														|  |  #include <X11/Xatom.h>
 |  |  #include <X11/Xatom.h>
 | 
											
												
													
														|  | 
 |  | +#include <X11/Xlib.h>
 | 
											
												
													
														|  |  #include <X11/Xproto.h>
 |  |  #include <X11/Xproto.h>
 | 
											
												
													
														|  |  #include <X11/Xutil.h>
 |  |  #include <X11/Xutil.h>
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +#include "dwm.h"
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  /* macros */
 |  |  /* macros */
 | 
											
												
													
														|  |  #define BUTTONMASK		(ButtonPressMask | ButtonReleaseMask)
 |  |  #define BUTTONMASK		(ButtonPressMask | ButtonReleaseMask)
 | 
											
												
													
														|  |  #define CLEANMASK(mask)		(mask & ~(numlockmask | LockMask))
 |  |  #define CLEANMASK(mask)		(mask & ~(numlockmask | LockMask))
 | 
											
												
													
														|  |  #define MOUSEMASK		(BUTTONMASK | PointerMotionMask)
 |  |  #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
 |  |  void
 | 
											
												
													
														|  |  applyrules(Client *c) {
 |  |  applyrules(Client *c) {
 | 
											
												
													
														|  |  	static char buf[512];
 |  |  	static char buf[512];
 | 
											
										
											
												
													
														|  | @@ -1032,7 +974,6 @@ quit(const char *arg) {
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  void
 |  |  void
 | 
											
												
													
														|  |  resize(Client *c, int x, int y, int w, int h, Bool sizehints) {
 |  |  resize(Client *c, int x, int y, int w, int h, Bool sizehints) {
 | 
											
												
													
														|  | -	double dx, dy, max, min, ratio;
 |  | 
 | 
											
												
													
														|  |  	XWindowChanges wc;
 |  |  	XWindowChanges wc;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  	if(sizehints) {
 |  |  	if(sizehints) {
 |