dwm.c
changeset 1199 94ecece0f25d
parent 1198 0c051f7b88e6
child 1200 d59c0861bd2c
equal deleted inserted replaced
1198:0c051f7b88e6 1199:94ecece0f25d
   163 void resizemouse(Client *c);
   163 void resizemouse(Client *c);
   164 void restack(void);
   164 void restack(void);
   165 void run(void);
   165 void run(void);
   166 void scan(void);
   166 void scan(void);
   167 void setclientstate(Client *c, long state);
   167 void setclientstate(Client *c, long state);
   168 void setlayout(const char *arg);
       
   169 void setmfact(const char *arg);
   168 void setmfact(const char *arg);
   170 void setup(void);
   169 void setup(void);
   171 void spawn(const char *arg);
   170 void spawn(const char *arg);
   172 void tag(const char *arg);
   171 void tag(const char *arg);
   173 unsigned int textnw(const char *text, unsigned int len);
   172 unsigned int textnw(const char *text, unsigned int len);
   177 Client *tilemaster(unsigned int n);
   176 Client *tilemaster(unsigned int n);
   178 void tileresize(Client *c, int x, int y, int w, int h);
   177 void tileresize(Client *c, int x, int y, int w, int h);
   179 void tilev(void);
   178 void tilev(void);
   180 void tilevstack(unsigned int n);
   179 void tilevstack(unsigned int n);
   181 void togglefloating(const char *arg);
   180 void togglefloating(const char *arg);
       
   181 void togglelayout(const char *arg);
   182 void toggletag(const char *arg);
   182 void toggletag(const char *arg);
   183 void toggleview(const char *arg);
   183 void toggleview(const char *arg);
   184 void unban(Client *c);
   184 void unban(Client *c);
   185 void unmanage(Client *c);
   185 void unmanage(Client *c);
   186 void unmapnotify(XEvent *e);
   186 void unmapnotify(XEvent *e);
   333 				}
   333 				}
   334 				return;
   334 				return;
   335 			}
   335 			}
   336 		}
   336 		}
   337 		if((ev->x < x + blw) && ev->button == Button1) 
   337 		if((ev->x < x + blw) && ev->button == Button1) 
   338 			setlayout(NULL);
   338 			togglelayout(NULL);
   339 	}
   339 	}
   340 	else if((c = getclient(ev->window))) {
   340 	else if((c = getclient(ev->window))) {
   341 		focus(c);
   341 		focus(c);
   342 		if(CLEANMASK(ev->state) != MODKEY)
   342 		if(CLEANMASK(ev->state) != MODKEY)
   343 			return;
   343 			return;
  1374 	XChangeProperty(dpy, c->win, wmatom[WMState], wmatom[WMState], 32,
  1374 	XChangeProperty(dpy, c->win, wmatom[WMState], wmatom[WMState], 32,
  1375 			PropModeReplace, (unsigned char *)data, 2);
  1375 			PropModeReplace, (unsigned char *)data, 2);
  1376 }
  1376 }
  1377 
  1377 
  1378 void
  1378 void
  1379 setlayout(const char *arg) {
       
  1380 	unsigned int i;
       
  1381 
       
  1382 	if(!arg) {
       
  1383 		if(++lt == &layouts[LENGTH(layouts)])
       
  1384 			lt = &layouts[0];
       
  1385 	}
       
  1386 	else {
       
  1387 		for(i = 0; i < LENGTH(layouts); i++)
       
  1388 			if(!strcmp(arg, layouts[i].symbol))
       
  1389 				break;
       
  1390 		if(i == LENGTH(layouts))
       
  1391 			return;
       
  1392 		lt = &layouts[i];
       
  1393 	}
       
  1394 	if(sel)
       
  1395 		arrange();
       
  1396 	else
       
  1397 		drawbar();
       
  1398 }
       
  1399 
       
  1400 void
       
  1401 setmfact(const char *arg) {
  1379 setmfact(const char *arg) {
  1402 	double d;
  1380 	double d;
  1403 
  1381 
  1404 	if(lt->isfloating)
  1382 	if(lt->isfloating)
  1405 		return;
  1383 		return;
  1631 		return;
  1609 		return;
  1632 	sel->isfloating = !sel->isfloating;
  1610 	sel->isfloating = !sel->isfloating;
  1633 	if(sel->isfloating)
  1611 	if(sel->isfloating)
  1634 		resize(sel, sel->x, sel->y, sel->w, sel->h, True);
  1612 		resize(sel, sel->x, sel->y, sel->w, sel->h, True);
  1635 	arrange();
  1613 	arrange();
       
  1614 }
       
  1615 
       
  1616 void
       
  1617 togglelayout(const char *arg) {
       
  1618 	unsigned int i;
       
  1619 
       
  1620 	if(!arg) {
       
  1621 		if(++lt == &layouts[LENGTH(layouts)])
       
  1622 			lt = &layouts[0];
       
  1623 	}
       
  1624 	else {
       
  1625 		for(i = 0; i < LENGTH(layouts); i++)
       
  1626 			if(!strcmp(arg, layouts[i].symbol))
       
  1627 				break;
       
  1628 		if(i == LENGTH(layouts))
       
  1629 			return;
       
  1630 		lt = &layouts[i];
       
  1631 	}
       
  1632 	if(sel)
       
  1633 		arrange();
       
  1634 	else
       
  1635 		drawbar();
  1636 }
  1636 }
  1637 
  1637 
  1638 void
  1638 void
  1639 toggletag(const char *arg) {
  1639 toggletag(const char *arg) {
  1640 	unsigned int i, j;
  1640 	unsigned int i, j;