client.c
changeset 630 264f02dd2ad0
parent 629 58851a8806b9
child 631 d6fbb669fef2
equal deleted inserted replaced
629:58851a8806b9 630:264f02dd2ad0
   127 
   127 
   128 	for(c = clients; c; c = c->next)
   128 	for(c = clients; c; c = c->next)
   129 		if(c->twin == w)
   129 		if(c->twin == w)
   130 			return c;
   130 			return c;
   131 	return NULL;
   131 	return NULL;
   132 }
       
   133 
       
   134 void
       
   135 gravitate(Client *c, Bool invert) {
       
   136 	int dx = 0, dy = 0;
       
   137 
       
   138 	return;
       
   139 	switch(c->grav) {
       
   140 	default:
       
   141 		break;
       
   142 	case StaticGravity:
       
   143 	case NorthWestGravity:
       
   144 	case NorthGravity:
       
   145 	case NorthEastGravity:
       
   146 		dy = c->border;
       
   147 		break;
       
   148 	case EastGravity:
       
   149 	case CenterGravity:
       
   150 	case WestGravity:
       
   151 		dy = -(c->h / 2) + c->border;
       
   152 		break;
       
   153 	case SouthEastGravity:
       
   154 	case SouthGravity:
       
   155 	case SouthWestGravity:
       
   156 		dy = -(c->h);
       
   157 		break;
       
   158 	}
       
   159 	switch (c->grav) {
       
   160 	default:
       
   161 		break;
       
   162 	case StaticGravity:
       
   163 	case NorthWestGravity:
       
   164 	case WestGravity:
       
   165 	case SouthWestGravity:
       
   166 		dx = c->border;
       
   167 		break;
       
   168 	case NorthGravity:
       
   169 	case CenterGravity:
       
   170 	case SouthGravity:
       
   171 		dx = -(c->w / 2) + c->border;
       
   172 		break;
       
   173 	case NorthEastGravity:
       
   174 	case EastGravity:
       
   175 	case SouthEastGravity:
       
   176 		dx = -(c->w + c->border);
       
   177 		break;
       
   178 	}
       
   179 	if(invert) {
       
   180 		dx = -dx;
       
   181 		dy = -dy;
       
   182 	}
       
   183 	c->x += dx;
       
   184 	c->y += dy;
       
   185 }
   132 }
   186 
   133 
   187 void
   134 void
   188 killclient(Arg *arg) {
   135 killclient(Arg *arg) {
   189 	if(!sel)
   136 	if(!sel)
   289 	if(c->w == sw && c->h == sh)
   236 	if(c->w == sw && c->h == sh)
   290 		wc.border_width = 0;
   237 		wc.border_width = 0;
   291 	else
   238 	else
   292 		wc.border_width = BORDERPX;
   239 		wc.border_width = BORDERPX;
   293 	XConfigureWindow(dpy, c->win, CWX | CWY | CWWidth | CWHeight | CWBorderWidth, &wc);
   240 	XConfigureWindow(dpy, c->win, CWX | CWY | CWWidth | CWHeight | CWBorderWidth, &wc);
   294 	/*configure(c);*/
   241 	configure(c);
   295 	XSync(dpy, False);
   242 	XSync(dpy, False);
   296 }
   243 }
   297 
   244 
   298 void
   245 void
   299 resizetitle(Client *c) {
   246 resizetitle(Client *c) {