diff options
| author | Anselm R. Garbe <arg@suckless.org> | 2007-02-19 14:57:32 +0100 | 
|---|---|---|
| committer | Anselm R. Garbe <arg@suckless.org> | 2007-02-19 14:57:32 +0100 | 
| commit | 64871a7045077bb2ec4cbcd62a74cabbe6b45096 (patch) | |
| tree | 7e9d0fbab49039b32bf99924546edbe41392842e | |
| parent | 2e95bc04135936ff8adc75e57e21f5edab56e0d6 (diff) | |
| download | dwm-64871a7045077bb2ec4cbcd62a74cabbe6b45096.tar.gz dwm-64871a7045077bb2ec4cbcd62a74cabbe6b45096.zip | |
renamed manage.c to view.c
Diffstat (limited to '')
| -rw-r--r-- | client.c | 96 | ||||
| -rw-r--r-- | dwm.h | 14 | ||||
| -rw-r--r-- | view.c (renamed from manage.c) | 74 | 
3 files changed, 92 insertions, 92 deletions
| @@ -46,6 +46,21 @@ grabbuttons(Client *c, Bool focused) {  				GrabModeAsync, GrabModeSync, None, None);  } +static Bool +isprotodel(Client *c) { +	int i, n; +	Atom *protocols; +	Bool ret = False; + +	if(XGetWMProtocols(dpy, c->win, &protocols, &n)) { +		for(i = 0; !ret && i < n; i++) +			if(protocols[i] == wmatom[WMDelete]) +				ret = True; +		XFree(protocols); +	} +	return ret; +} +  static void  setclientstate(Client *c, long state) {  	long data[] = {state, None}; @@ -61,6 +76,20 @@ xerrordummy(Display *dsply, XErrorEvent *ee) {  /* extern */  void +attach(Client *c) { +	if(clients) +		clients->prev = c; +	c->next = clients; +	clients = c; +} + +void +attachstack(Client *c) { +	c->snext = stack; +	stack = c; +} + +void  configure(Client *c) {  	XConfigureEvent ce; @@ -79,6 +108,24 @@ configure(Client *c) {  }  void +detach(Client *c) { +	if(c->prev) +		c->prev->next = c->next; +	if(c->next) +		c->next->prev = c->prev; +	if(c == clients) +		clients = c->next; +	c->next = c->prev = NULL; +} + +void +detachstack(Client *c) { +	Client **tc; +	for(tc=&stack; *tc && *tc != c; tc=&(*tc)->snext); +	*tc = c->snext; +} + +void  focus(Client *c) {  	if(c && !isvisible(c))  		return; @@ -103,19 +150,46 @@ focus(Client *c) {  		XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);  } -Bool -isprotodel(Client *c) { -	int i, n; -	Atom *protocols; -	Bool ret = False; +void +focusnext(Arg *arg) { +	Client *c; +    +	if(!sel) +		return; +	for(c = sel->next; c && !isvisible(c); c = c->next); +	if(!c) +		for(c = clients; c && !isvisible(c); c = c->next); +	if(c) { +		focus(c); +		restack(); +	} +} -	if(XGetWMProtocols(dpy, c->win, &protocols, &n)) { -		for(i = 0; !ret && i < n; i++) -			if(protocols[i] == wmatom[WMDelete]) -				ret = True; -		XFree(protocols); +void +focusprev(Arg *arg) { +	Client *c; + +	if(!sel) +		return; +	for(c = sel->prev; c && !isvisible(c); c = c->prev); +	if(!c) { +		for(c = clients; c && c->next; c = c->next); +		for(; c && !isvisible(c); c = c->prev);  	} -	return ret; +	if(c) { +		focus(c); +		restack(); +	} +} + +Client * +getclient(Window w) { +	Client *c; + +	for(c = clients; c; c = c->next) +		if(c->win == w) +			return c; +	return NULL;  }  void @@ -99,8 +99,15 @@ extern Display *dpy;  extern Window root, barwin;  /* client.c */ +extern void attach(Client *c);			/* attaches c to global client list */ +extern void attachstack(Client *c);		/* attaches client to stack */  extern void configure(Client *c);		/* send synthetic configure event */ +extern void detach(Client *c);			/* detaches c from global client list */ +extern void detachstack(Client *c);		/* detaches client from stack */  extern void focus(Client *c);			/* focus c, c may be NULL */ +extern void focusnext(Arg *arg);		/* focuses next visible client, arg is ignored  */ +extern void focusprev(Arg *arg);		/* focuses previous visible client, arg is ignored */ +extern Client *getclient(Window w);		/* return client of w */  extern void killclient(Arg *arg);		/* kill c nicely */  extern void manage(Window w, XWindowAttributes *wa);	/* manage new client */  extern void resize(Client *c, int x, int y, @@ -125,16 +132,9 @@ extern void sendevent(Window w, Atom a, long value);	/* send synthetic event to  extern int xerror(Display *dsply, XErrorEvent *ee);	/* dwm's X error handler */  /* manage.c */ -extern void attach(Client *c);			/* attaches c to global client list */ -extern void attachstack(Client *c);		/* attaches client to stack */  extern void compileregexps(void);		/* initialize regexps of rules defined in config.h */ -extern void detach(Client *c);			/* detaches c from global client list */ -extern void detachstack(Client *c);		/* detaches client from stack */  extern void dofloat(void);			/* arranges all windows floating */  extern void dotile(void);			/* arranges all windows tiled */ -extern void focusnext(Arg *arg);		/* focuses next visible client, arg is ignored  */ -extern void focusprev(Arg *arg);		/* focuses previous visible client, arg is ignored */ -extern Client *getclient(Window w);		/* return client of w */  extern void incnmaster(Arg *arg);		/* increments nmaster with arg's index value */  extern Bool isvisible(Client *c);		/* returns True if client is visible */  extern void resizemaster(Arg *arg);		/* resizes the master percent with arg's index value */ @@ -59,20 +59,6 @@ togglemax(Client *c) {  /* extern */  void -attach(Client *c) { -	if(clients) -		clients->prev = c; -	c->next = clients; -	clients = c; -} - -void -attachstack(Client *c) { -	c->snext = stack; -	stack = c; -} - -void  compileregexps(void) {  	unsigned int i;  	regex_t *reg; @@ -100,24 +86,6 @@ compileregexps(void) {  }  void -detach(Client *c) { -	if(c->prev) -		c->prev->next = c->next; -	if(c->next) -		c->next->prev = c->prev; -	if(c == clients) -		clients = c->next; -	c->next = c->prev = NULL; -} - -void -detachstack(Client *c) { -	Client **tc; -	for(tc=&stack; *tc && *tc != c; tc=&(*tc)->snext); -	*tc = c->snext; -} - -void  dofloat(void) {  	Client *c; @@ -192,48 +160,6 @@ dotile(void) {  }  void -focusnext(Arg *arg) { -	Client *c; -    -	if(!sel) -		return; -	for(c = sel->next; c && !isvisible(c); c = c->next); -	if(!c) -		for(c = clients; c && !isvisible(c); c = c->next); -	if(c) { -		focus(c); -		restack(); -	} -} - -void -focusprev(Arg *arg) { -	Client *c; - -	if(!sel) -		return; -	for(c = sel->prev; c && !isvisible(c); c = c->prev); -	if(!c) { -		for(c = clients; c && c->next; c = c->next); -		for(; c && !isvisible(c); c = c->prev); -	} -	if(c) { -		focus(c); -		restack(); -	} -} - -Client * -getclient(Window w) { -	Client *c; - -	for(c = clients; c; c = c->next) -		if(c->win == w) -			return c; -	return NULL; -} - -void  incnmaster(Arg *arg) {  	if((arrange == dofloat) || (nmaster + arg->i < 1)  	|| (wah / (nmaster + arg->i) <= 2 * BORDERPX)) | 
