added some comments
This commit is contained in:
		
							parent
							
								
									6ff346bed9
								
							
						
					
					
						commit
						281f0981a6
					
				
							
								
								
									
										4
									
								
								client.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								client.c
									
									
									
									
									
								
							| @ -19,11 +19,11 @@ detachstack(Client *c) | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static void | static void | ||||||
| grabbuttons(Client *c, Bool focus) | grabbuttons(Client *c, Bool focused) | ||||||
| { | { | ||||||
| 	XUngrabButton(dpy, AnyButton, AnyModifier, c->win); | 	XUngrabButton(dpy, AnyButton, AnyModifier, c->win); | ||||||
| 
 | 
 | ||||||
| 	if(focus) { | 	if(focused) { | ||||||
| 		XGrabButton(dpy, Button1, MODKEY, c->win, False, BUTTONMASK, | 		XGrabButton(dpy, Button1, MODKEY, c->win, False, BUTTONMASK, | ||||||
| 				GrabModeAsync, GrabModeSync, None, None); | 				GrabModeAsync, GrabModeSync, None, None); | ||||||
| 		XGrabButton(dpy, Button1, MODKEY | LockMask, c->win, False, BUTTONMASK, | 		XGrabButton(dpy, Button1, MODKEY | LockMask, c->win, False, BUTTONMASK, | ||||||
|  | |||||||
							
								
								
									
										141
									
								
								dwm.h
									
									
									
									
									
								
							
							
						
						
									
										141
									
								
								dwm.h
									
									
									
									
									
								
							| @ -11,23 +11,19 @@ | |||||||
| #define MOUSEMASK		(BUTTONMASK | PointerMotionMask) | #define MOUSEMASK		(BUTTONMASK | PointerMotionMask) | ||||||
| #define PROTODELWIN		1 | #define PROTODELWIN		1 | ||||||
| 
 | 
 | ||||||
|  | enum { NetSupported, NetWMName, NetLast };		/* EWMH atoms */ | ||||||
|  | enum { WMProtocols, WMDelete, WMLast };			/* default atoms */ | ||||||
|  | enum { CurNormal, CurResize, CurMove, CurLast };	/* cursor */ | ||||||
|  | enum { ColFG, ColBG, ColLast };				/* color */ | ||||||
|  | 
 | ||||||
|  | typedef enum { | ||||||
|  | 	TopLeft, TopRight, BotLeft, BotRight | ||||||
|  | } Corner; /* window corners */ | ||||||
|  | 
 | ||||||
| typedef union { | typedef union { | ||||||
| 	const char *cmd; | 	const char *cmd; | ||||||
| 	int i; | 	int i; | ||||||
| } Arg; | } Arg; /* argument type */ | ||||||
| 
 |  | ||||||
| /* atoms */ |  | ||||||
| enum { NetSupported, NetWMName, NetLast }; |  | ||||||
| enum { WMProtocols, WMDelete, WMLast }; |  | ||||||
| 
 |  | ||||||
| /* cursor */ |  | ||||||
| enum { CurNormal, CurResize, CurMove, CurLast }; |  | ||||||
| 
 |  | ||||||
| /* color */ |  | ||||||
| enum { ColFG, ColBG, ColLast }; |  | ||||||
| 
 |  | ||||||
| /* window corners */ |  | ||||||
| typedef enum { TopLeft, TopRight, BotLeft, BotRight } Corner; |  | ||||||
| 
 | 
 | ||||||
| typedef struct { | typedef struct { | ||||||
| 	int ascent; | 	int ascent; | ||||||
| @ -37,7 +33,7 @@ typedef struct { | |||||||
| 	XFontStruct *xfont; | 	XFontStruct *xfont; | ||||||
| } Fnt; | } Fnt; | ||||||
| 
 | 
 | ||||||
| typedef struct { /* draw context */ | typedef struct { | ||||||
| 	int x, y, w, h; | 	int x, y, w, h; | ||||||
| 	unsigned long norm[ColLast]; | 	unsigned long norm[ColLast]; | ||||||
| 	unsigned long sel[ColLast]; | 	unsigned long sel[ColLast]; | ||||||
| @ -45,7 +41,7 @@ typedef struct { /* draw context */ | |||||||
| 	Drawable drawable; | 	Drawable drawable; | ||||||
| 	Fnt font; | 	Fnt font; | ||||||
| 	GC gc; | 	GC gc; | ||||||
| } DC; | } DC; /* draw context */ | ||||||
| 
 | 
 | ||||||
| typedef struct Client Client; | typedef struct Client Client; | ||||||
| struct Client { | struct Client { | ||||||
| @ -66,77 +62,78 @@ struct Client { | |||||||
| 	Window twin; | 	Window twin; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| extern const char *tags[]; | extern const char *tags[];			/* all tags */ | ||||||
| extern char stext[1024]; | extern char stext[1024];			/* status text */ | ||||||
| extern int bx, by, bw, bh, bmw, mw, screen, sx, sy, sw, sh; | extern int bx, by, bw, bh, bmw;			/* bar geometry, bar mode label width */ | ||||||
| extern unsigned int ntags, numlockmask; | extern int mw, screen, sx, sy, sw, sh;		/* screen geometry, master width */ | ||||||
| extern void (*handler[LASTEvent])(XEvent *); | extern unsigned int ntags, numlockmask;		/* number of tags, and dynamic lock mask */ | ||||||
| extern void (*arrange)(Arg *); | extern void (*handler[LASTEvent])(XEvent *);	/* event handler */ | ||||||
|  | extern void (*arrange)(Arg *);			/* arrange function, indicates mode  */ | ||||||
| extern Atom wmatom[WMLast], netatom[NetLast]; | extern Atom wmatom[WMLast], netatom[NetLast]; | ||||||
| extern Bool running, issel, maximized, *seltag; | extern Bool running, issel, maximized, *seltag;	/* seltag is array of Bool */ | ||||||
| extern Client *clients, *sel, *stack; | extern Client *clients, *sel, *stack;		/* Client containers */ | ||||||
| extern Cursor cursor[CurLast]; | extern Cursor cursor[CurLast]; | ||||||
| extern DC dc; | extern DC dc;					/* draw context for everything */ | ||||||
| extern Display *dpy; | extern Display *dpy; | ||||||
| extern Window root, barwin; | extern Window root, barwin; | ||||||
| 
 | 
 | ||||||
| /* client.c */ | /* client.c */ | ||||||
| extern void ban(Client *c); | extern void ban(Client *c);			/* ban client from screen */ | ||||||
| extern void focus(Client *c); | extern void focus(Client *c);			/* focus c, c may be NULL */ | ||||||
| extern Client *getclient(Window w); | extern Client *getclient(Window w);		/* return client of w */ | ||||||
| extern Client *getctitle(Window w); | extern Client *getctitle(Window w);		/* return client of title window */ | ||||||
| extern void gravitate(Client *c, Bool invert); | extern void gravitate(Client *c, Bool invert);	/* gravitate c */ | ||||||
| extern void killclient(Arg *arg); | extern void killclient(Arg *arg);		/* kill c nicely */ | ||||||
| extern void manage(Window w, XWindowAttributes *wa); | extern void manage(Window w, XWindowAttributes *wa);	/* manage new client */ | ||||||
| extern void resize(Client *c, Bool sizehints, Corner sticky); | extern void resize(Client *c, Bool sizehints, Corner sticky); /* resize c*/ | ||||||
| extern void setsize(Client *c); | extern void setsize(Client *c);			/* set the size structs of c */ | ||||||
| extern void settitle(Client *c); | extern void settitle(Client *c);		/* set the name of c */ | ||||||
| extern void togglemax(Arg *arg); | extern void togglemax(Arg *arg);		/* (un)maximize c */ | ||||||
| extern void unmanage(Client *c); | extern void unmanage(Client *c);		/* destroy c */ | ||||||
| 
 | 
 | ||||||
| /* draw.c */ | /* draw.c */ | ||||||
| extern void drawall(); | extern void drawall();				/* draw all visible client titles and the bar */ | ||||||
| extern void drawstatus(); | extern void drawstatus();			/* draw the bar */ | ||||||
| extern void drawtitle(Client *c); | extern void drawtitle(Client *c);		/* draw title of c */ | ||||||
| extern unsigned long getcolor(const char *colstr); | extern unsigned long getcolor(const char *colstr);	/* return color of colstr */ | ||||||
| extern void setfont(const char *fontstr); | extern void setfont(const char *fontstr);	/* set the font for DC */ | ||||||
| extern unsigned int textw(const char *text); | extern unsigned int textw(const char *text);	/* return the text width of text */ | ||||||
| 
 | 
 | ||||||
| /* event.c */ | /* event.c */ | ||||||
| extern void grabkeys(); | extern void grabkeys();				/* grab all keys defined in config.h */ | ||||||
| extern void procevent(); | extern void procevent();			/* process pending X events */ | ||||||
| 
 | 
 | ||||||
| /* main.c */ | /* main.c */ | ||||||
| extern int getproto(Window w); | extern int getproto(Window w);			/* return protocol mask of WMProtocols property of w */ | ||||||
| extern void quit(Arg *arg); | extern void quit(Arg *arg);			/* quit dwm nicely */ | ||||||
| extern void sendevent(Window w, Atom a, long value); | extern void sendevent(Window w, Atom a, long value);	/* send synthetic event to w */ | ||||||
| extern int xerror(Display *dsply, XErrorEvent *ee); | extern int xerror(Display *dsply, XErrorEvent *ee);	/* dwm's X error handler */ | ||||||
| 
 | 
 | ||||||
| /* tag.c */ | /* tag.c */ | ||||||
| extern void initrregs(); | extern void initrregs();			/* initialize regexps of rules defined in config.h */ | ||||||
| extern Client *getnext(Client *c); | extern Client *getnext(Client *c);		/* returns next visible client */ | ||||||
| extern Client *getprev(Client *c); | extern Client *getprev(Client *c);		/* returns previous visible client */ | ||||||
| extern void settags(Client *c, Client *trans); | extern void settags(Client *c, Client *trans);	/* updates tags of c */ | ||||||
| extern void tag(Arg *arg); | extern void tag(Arg *arg);			/* tags c accordingly to arg's index */ | ||||||
| extern void toggletag(Arg *arg); | extern void toggletag(Arg *arg);		/* toggles c tags accordingly to arg's index */ | ||||||
| 
 | 
 | ||||||
| /* util.c */ | /* util.c */ | ||||||
| extern void *emallocz(unsigned int size); | extern void *emallocz(unsigned int size);	/* allocates zero-initialized memory, exits on error */ | ||||||
| extern void eprint(const char *errstr, ...); | extern void eprint(const char *errstr, ...);	/* prints error string and exits with return code 1 */ | ||||||
| extern void *erealloc(void *ptr, unsigned int size); | extern void *erealloc(void *ptr, unsigned int size);	/* reallocates memory, exits on error */ | ||||||
| extern void spawn(Arg *arg); | extern void spawn(Arg *arg)			/* forks a new subprocess accordingly to arg's cmd */ | ||||||
| 
 | 
 | ||||||
| /* view.c */ | /* view.c */ | ||||||
| extern void detach(Client *c); | extern void detach(Client *c);			/* detaches c from global client list */ | ||||||
| extern void dofloat(Arg *arg); | extern void dofloat(Arg *arg);			/* arranges all windows in a floating way, arg is ignored */ | ||||||
| extern void dotile(Arg *arg); | extern void dotile(Arg *arg);			/* arranges all windows in a tiled way, arg is ignored */ | ||||||
| extern void focusnext(Arg *arg); | extern void focusnext(Arg *arg);		/* focuses next visible client, arg is ignored  */ | ||||||
| extern void focusprev(Arg *arg); | extern void focusprev(Arg *arg);		/* focuses previous visible client, arg is ignored */ | ||||||
| extern Bool isvisible(Client *c); | extern Bool isvisible(Client *c);		/* returns True if client is visible */ | ||||||
| extern void resizecol(Arg *arg); | extern void resizecol(Arg *arg);		/* resizes the master width accordingly to arg's index value */ | ||||||
| extern void restack(); | extern void restack();				/* restores z layers of all clients */ | ||||||
| extern void togglemode(Arg *arg); | extern void togglemode(Arg *arg);		/* toggles global arrange mode (between dotile and dofloat) */ | ||||||
| extern void toggleview(Arg *arg); | extern void toggleview(Arg *arg);		/* makes the tag accordingly to arg's index (in)visible */ | ||||||
| extern void view(Arg *arg); | extern void view(Arg *arg);			/* makes the tag accordingly to arg's index visible */ | ||||||
| extern void viewall(Arg *arg); | extern void viewall(Arg *arg);			/* makes all tags visible, arg is ignored */ | ||||||
| extern void zoom(Arg *arg); | extern void zoom(Arg *arg);			/* zooms the focused client to master column, arg is ignored */ | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user