cleaned up dwm.c/dwm.h somewhat that it allows easier integration of patches
This commit is contained in:
		
							parent
							
								
									24c125cc8a
								
							
						
					
					
						commit
						5a04edecb1
					
				
							
								
								
									
										116
									
								
								dwm.c
									
									
									
									
									
								
							
							
						
						
									
										116
									
								
								dwm.c
									
									
									
									
									
								
							| @ -49,41 +49,7 @@ | ||||
| #define CLEANMASK(mask)		(mask & ~(numlockmask | LockMask)) | ||||
| #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 { | ||||
| 	const char *prop; | ||||
| 	const char *tags; | ||||
| @ -95,86 +61,6 @@ typedef struct { | ||||
| 	regex_t *tagregex; | ||||
| } 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 */ | ||||
| char stext[256]; | ||||
| double mwfact; | ||||
|  | ||||
							
								
								
									
										114
									
								
								dwm.h
									
									
									
									
									
								
							
							
						
						
									
										114
									
								
								dwm.h
									
									
									
									
									
								
							| @ -1,6 +1,13 @@ | ||||
| /* See LICENSE file for copyright and license details. */ | ||||
| #include <X11/Xlib.h> | ||||
| 
 | ||||
| /* 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 Client Client; | ||||
| struct Client { | ||||
| @ -18,3 +25,110 @@ struct Client { | ||||
| 	Client *snext; | ||||
| 	Window win; | ||||
| }; | ||||
| 
 | ||||
| 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; | ||||
| 
 | ||||
| /* functions */ | ||||
| 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); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user