jokerboy avatar jokerboy committed 72e80c6

revert xft migration

Comments (0)

Files changed (22)

01-dwm-6.0-pertag2.diff

 Homepage: http://hg.punctweb.ro
 
---- a/dwm.c	2012-11-02 13:17:50.000000000 +0200
-+++ b/dwm.c	2012-11-06 23:13:29.617844755 +0200
-@@ -128,8 +128,6 @@ typedef struct {
+--- a/dwm.c	2012-07-08 10:45:53.000000000 +0300
++++ b/dwm.c	2012-09-19 10:20:14.919714487 +0300
+@@ -127,8 +127,6 @@ typedef struct {
  
  struct Monitor {
  	char ltsymbol[16];
  	int num;
  	int by;               /* bar geometry */
  	int mx, my, mw, mh;   /* screen size */
-@@ -145,9 +143,21 @@ struct Monitor {
+@@ -144,9 +142,21 @@ struct Monitor {
  	Monitor *next;
  	Window barwin;
  	const Layout *lt[2];
  	const char *class;
  	const char *instance;
  	const char *title;
-@@ -254,6 +264,7 @@ static int xerror(Display *dpy, XErrorEv
+@@ -253,6 +263,7 @@ static int xerror(Display *dpy, XErrorEv
  static int xerrordummy(Display *dpy, XErrorEvent *ee);
  static int xerrorstart(Display *dpy, XErrorEvent *ee);
  static void zoom(const Arg *arg);
  
  /* variables */
  static const char broken[] = "broken";
-@@ -444,7 +455,7 @@ buttonpress(XEvent *e) {
+@@ -443,7 +454,7 @@ buttonpress(XEvent *e) {
  	if(ev->window == selmon->barwin) {
  		i = x = 0;
  		do
  		while(ev->x >= x && ++i < LENGTH(tags));
  		if(i < LENGTH(tags)) {
  			click = ClkTagBar;
-@@ -513,6 +524,9 @@ cleanupmon(Monitor *mon) {
+@@ -516,6 +527,9 @@ cleanupmon(Monitor *mon) {
  	}
  	XUnmapWindow(dpy, mon->barwin);
  	XDestroyWindow(dpy, mon->barwin);
  	free(mon);
  }
  
-@@ -532,6 +546,7 @@ void
+@@ -535,6 +549,7 @@ void
  clientmessage(XEvent *e) {
  	XClientMessageEvent *cme = &e->xclient;
  	Client *c = wintoclient(cme->window);
  
  	if(!c)
  		return;
-@@ -544,6 +559,10 @@ clientmessage(XEvent *e) {
+@@ -547,6 +562,10 @@ clientmessage(XEvent *e) {
  		if(!ISVISIBLE(c)) {
  			c->mon->seltags ^= 1;
  			c->mon->tagset[c->mon->seltags] = c->tags;
  		}
  		pop(c);
  	}
-@@ -647,17 +666,31 @@ configurerequest(XEvent *e) {
+@@ -650,17 +669,31 @@ configurerequest(XEvent *e) {
  Monitor *
  createmon(void) {
  	Monitor *m;
  	return m;
  }
  
-@@ -730,9 +763,9 @@ drawbar(Monitor *m) {
+@@ -733,9 +766,9 @@ drawbar(Monitor *m) {
  	}
  	dc.x = 0;
  	for(i = 0; i < LENGTH(tags); i++) {
  		drawsquare(m == selmon && selmon->sel && selmon->sel->tags & 1 << i,
  		           occ & 1 << i, urg & 1 << i, col);
  		dc.x += dc.w;
-@@ -1033,7 +1066,7 @@ grabkeys(void) {
+@@ -1035,7 +1068,7 @@ grabkeys(void) {
  
  void
  incnmaster(const Arg *arg) {
  	arrange(selmon);
  }
  
-@@ -1552,7 +1585,7 @@ setlayout(const Arg *arg) {
+@@ -1576,7 +1609,7 @@ setlayout(const Arg *arg) {
  	if(!arg || !arg->v || arg->v != selmon->lt[selmon->sellt])
  		selmon->sellt ^= 1;
  	if(arg && arg->v)
  	strncpy(selmon->ltsymbol, selmon->lt[selmon->sellt]->symbol, sizeof selmon->ltsymbol);
  	if(selmon->sel)
  		arrange(selmon);
-@@ -1567,10 +1600,10 @@ setmfact(const Arg *arg) {
+@@ -1591,10 +1624,10 @@ setmfact(const Arg *arg) {
  
  	if(!arg || !selmon->lt[selmon->sellt]->arrange)
  		return;
  	arrange(selmon);
  }
  
-@@ -1700,13 +1733,13 @@ tile(Monitor *m) {
+@@ -1730,13 +1763,13 @@ tile(Monitor *m) {
  	if(n == 0)
  		return;
  
  			resize(c, m->wx, m->wy + my, mw - (2*c->bw), h - (2*c->bw), False);
  			my += HEIGHT(c);
  		}
-@@ -1740,13 +1773,24 @@ togglefloating(const Arg *arg) {
+@@ -1770,13 +1803,24 @@ togglefloating(const Arg *arg) {
  
  void
  toggletag(const Arg *arg) {
  		focus(NULL);
  		arrange(selmon);
  	}
-@@ -2052,11 +2096,26 @@ updatewmhints(Client *c) {
+@@ -2082,11 +2126,26 @@ updatewmhints(Client *c) {
  
  void
  view(const Arg *arg) {
  	focus(NULL);
  	arrange(selmon);
  }
-@@ -2135,6 +2194,32 @@ zoom(const Arg *arg) {
+@@ -2165,6 +2224,32 @@ zoom(const Arg *arg) {
  	pop(c);
  }
  

02-dwm-6.0-push.diff

 Homepage: http://hg.punctweb.ro
 
---- a/dwm.c	2012-11-06 23:13:29.637844755 +0200
-+++ b/dwm.c	2012-11-06 23:13:29.637844755 +0200
-@@ -265,6 +265,9 @@ static int xerrordummy(Display *dpy, XEr
+--- a/dwm.c	2012-09-19 10:20:14.931714486 +0300
++++ b/dwm.c	2012-09-19 10:20:14.934714486 +0300
+@@ -264,6 +264,9 @@ static int xerrordummy(Display *dpy, XEr
  static int xerrorstart(Display *dpy, XErrorEvent *ee);
  static void zoom(const Arg *arg);
  static void bstack(Monitor *m);
  
  /* variables */
  static const char broken[] = "broken";
-@@ -2220,6 +2223,65 @@ bstack(Monitor *m) {
+@@ -2250,6 +2253,65 @@ bstack(Monitor *m) {
  		}
  }
  

03-dwm-6.0-cycle.diff

 Homepage: http://hg.punctweb.ro
 
---- a/dwm.c	2012-11-06 23:13:29.647844755 +0200
-+++ b/dwm.c	2012-11-06 23:13:29.647844755 +0200
-@@ -268,6 +268,9 @@ static void bstack(Monitor *m);
+--- a/dwm.c	2012-09-19 10:20:14.945714486 +0300
++++ b/dwm.c	2012-09-19 10:20:14.948714487 +0300
+@@ -267,6 +267,9 @@ static void bstack(Monitor *m);
  static Client *prevtiled(Client *c);
  static void pushup(const Arg *arg);
  static void pushdown(const Arg *arg);
  
  /* variables */
  static const char broken[] = "broken";
-@@ -2283,6 +2286,42 @@ pushdown(const Arg *arg) {
+@@ -2313,6 +2316,42 @@ pushdown(const Arg *arg) {
  }
  
  int

04-dwm-6.0-gaplessgrid.diff

 Homepage: http://hg.punctweb.ro
 
---- a/dwm.c	2012-11-06 23:13:29.667844755 +0200
-+++ b/dwm.c	2012-11-06 23:13:29.667844755 +0200
-@@ -271,6 +271,7 @@ static void pushdown(const Arg *arg);
+--- a/dwm.c	2012-09-19 10:20:14.960714487 +0300
++++ b/dwm.c	2012-09-19 10:20:14.963714488 +0300
+@@ -270,6 +270,7 @@ static void pushdown(const Arg *arg);
  static void cycle(const Arg *arg);
  static int shifttag(int dist);
  static void tagcycle(const Arg *arg);
  
  /* variables */
  static const char broken[] = "broken";
-@@ -2321,6 +2322,40 @@ tagcycle(const Arg *arg) {
+@@ -2351,6 +2352,40 @@ tagcycle(const Arg *arg) {
  	view(&a);
  }
  

05-dwm-6.0-pidgin.diff

 Homepage: http://hg.punctweb.ro
 
---- a/dwm.c	2012-11-06 23:13:29.677844755 +0200
-+++ b/dwm.c	2012-11-06 23:13:29.687844755 +0200
-@@ -272,6 +272,7 @@ static void cycle(const Arg *arg);
+--- a/dwm.c	2012-09-19 10:20:14.974714488 +0300
++++ b/dwm.c	2012-09-19 10:20:14.976714488 +0300
+@@ -271,6 +271,7 @@ static void cycle(const Arg *arg);
  static int shifttag(int dist);
  static void tagcycle(const Arg *arg);
  static void gaplessgrid(Monitor *m);
  
  /* variables */
  static const char broken[] = "broken";
-@@ -2355,6 +2356,56 @@ gaplessgrid(Monitor *m) {
+@@ -2385,6 +2386,56 @@ gaplessgrid(Monitor *m) {
  		}
  	}
  }

06-dwm-6.0-monocle_count.diff

 Homepage: http://hg.punctweb.ro
 
---- a/dwm.c	2012-11-06 23:13:29.697844755 +0200
-+++ b/dwm.c	2012-11-06 23:13:29.697844755 +0200
-@@ -762,6 +762,7 @@ drawbar(Monitor *m) {
+--- a/dwm.c	2012-09-19 10:20:14.988714489 +0300
++++ b/dwm.c	2012-09-19 10:20:14.991714489 +0300
+@@ -765,6 +765,7 @@ drawbar(Monitor *m) {
  	int x;
  	unsigned int i, occ = 0, urg = 0;
- 	XftColor *col;
+ 	unsigned long *col;
 +	unsigned int a = 0, s = 0;
  	Client *c;
  
  	for(c = m->clients; c; c = c->next) {
-@@ -778,6 +779,14 @@ drawbar(Monitor *m) {
+@@ -781,6 +782,14 @@ drawbar(Monitor *m) {
  		           occ & 1 << i, urg & 1 << i, col);
  		dc.x += dc.w;
  	}
  	dc.w = blw = TEXTW(m->ltsymbol);
  	drawtext(m->ltsymbol, dc.norm, False);
  	dc.x += dc.w;
-@@ -1217,14 +1226,8 @@ maprequest(XEvent *e) {
+@@ -1241,14 +1250,8 @@ maprequest(XEvent *e) {
  
  void
  monocle(Monitor *m) {

07-dwm-6.0-monocle_borderless.diff

 Homepage: http://hg.punctweb.ro
 
---- a/dwm.c	2012-11-06 23:13:29.707844755 +0200
-+++ b/dwm.c	2012-11-06 23:13:29.707844755 +0200
-@@ -1387,7 +1387,11 @@ resizeclient(Client *c, int x, int y, in
+--- a/dwm.c	2012-09-19 10:20:15.001714490 +0300
++++ b/dwm.c	2012-09-19 10:20:15.004714490 +0300
+@@ -1411,7 +1411,11 @@ resizeclient(Client *c, int x, int y, in
  	c->oldy = c->y; c->y = wc.y = y;
  	c->oldw = c->w; c->w = wc.width = w;
  	c->oldh = c->h; c->h = wc.height = h;

08-dwm-6.0-clicktofocus.diff

 Homepage: http://hg.punctweb.ro
 
---- a/dwm.c	2012-11-06 23:13:29.727844755 +0200
-+++ b/dwm.c	2012-11-06 23:13:29.727844755 +0200
-@@ -866,6 +866,8 @@ drawtext(const char *text, XftColor col[
+--- a/dwm.c	2012-09-19 10:20:15.015714491 +0300
++++ b/dwm.c	2012-09-19 10:20:15.018714491 +0300
+@@ -868,6 +868,8 @@ drawtext(const char *text, unsigned long
  
  void
  enternotify(XEvent *e) {
  	Client *c;
  	Monitor *m;
  	XCrossingEvent *ev = &e->xcrossing;
-@@ -1234,6 +1236,8 @@ monocle(Monitor *m) {
+@@ -1258,6 +1260,8 @@ monocle(Monitor *m) {
  
  void
  motionnotify(XEvent *e) {

09-dwm-6.0-viewontag.diff

 Homepage: http://hg.punctweb.ro
 
---- a/dwm.c	2012-11-06 23:13:29.737844755 +0200
-+++ b/dwm.c	2012-11-06 23:13:29.737844755 +0200
-@@ -1726,6 +1726,8 @@ tag(const Arg *arg) {
+--- a/dwm.c	2012-09-19 10:20:15.029714492 +0300
++++ b/dwm.c	2012-09-19 10:20:15.032714492 +0300
+@@ -1752,6 +1752,8 @@ tag(const Arg *arg) {
  		selmon->sel->tags = arg->ui & TAGMASK;
  		focus(NULL);
  		arrange(selmon);

10-dwm-6.0-scratchpad.diff

 Homepage: http://hg.punctweb.ro
 
---- a/dwm.c	2012-11-06 23:13:29.747844755 +0200
-+++ b/dwm.c	2012-11-06 23:13:29.757844755 +0200
-@@ -273,6 +273,7 @@ static int shifttag(int dist);
+--- a/dwm.c	2012-09-19 10:20:15.042714493 +0300
++++ b/dwm.c	2012-09-19 10:20:15.045714493 +0300
+@@ -272,6 +272,7 @@ static int shifttag(int dist);
  static void tagcycle(const Arg *arg);
  static void gaplessgrid(Monitor *m);
  static void pidgin(Monitor *m);
  
  /* variables */
  static const char broken[] = "broken";
-@@ -309,6 +310,8 @@ static Window root;
+@@ -308,6 +309,8 @@ static Window root;
  /* configuration, allows nested code to access above variables */
  #include "config.h"
  
  /* compile-time check if all tags fit into an unsigned int bit array. */
  struct NumTags { char limitexceeded[LENGTH(tags) > 31 ? -1 : 1]; };
  
-@@ -1177,6 +1180,14 @@ manage(Window w, XWindowAttributes *wa)
+@@ -1201,6 +1204,14 @@ manage(Window w, XWindowAttributes *wa)
  	           && (c->x + (c->w / 2) < c->mon->wx + c->mon->ww)) ? bh : c->mon->my);
  	c->bw = borderpx;
  
 +		c->tags &= TAGMASK;
  	wc.border_width = c->bw;
  	XConfigureWindow(dpy, w, CWBorderWidth, &wc);
- 	XSetWindowBorder(dpy, w, dc.norm[ColBorder].pixel);
-@@ -2420,6 +2431,28 @@ pidgin(Monitor *m) {
+ 	XSetWindowBorder(dpy, w, dc.norm[ColBorder]);
+@@ -2450,6 +2461,28 @@ pidgin(Monitor *m) {
  	}
  }
  

11-dwm-6.0-togglemax.diff

 Homepage: http://hg.punctweb.ro
 
---- a/dwm.c	2012-11-06 23:13:29.767844755 +0200
-+++ b/dwm.c	2012-11-06 23:13:29.767844755 +0200
-@@ -274,6 +274,7 @@ static void tagcycle(const Arg *arg);
+--- a/dwm.c	2012-09-19 10:20:15.056714493 +0300
++++ b/dwm.c	2012-09-19 10:20:15.059714494 +0300
+@@ -273,6 +273,7 @@ static void tagcycle(const Arg *arg);
  static void gaplessgrid(Monitor *m);
  static void pidgin(Monitor *m);
  static void togglescratch(const Arg *arg);
  
  /* variables */
  static const char broken[] = "broken";
-@@ -2453,6 +2454,38 @@ togglescratch(const Arg *arg) {
+@@ -2483,6 +2484,38 @@ togglescratch(const Arg *arg) {
  		spawn(arg);
  }
  

12-dwm-6.0-autoresize.diff

 Homepage: http://hg.punctweb.ro
 
---- a/dwm.c	2012-11-06 23:13:29.787844755 +0200
-+++ b/dwm.c	2012-11-06 23:13:29.787844755 +0200
-@@ -93,7 +93,7 @@ struct Client {
+--- a/dwm.c	2012-09-19 10:20:15.070714494 +0300
++++ b/dwm.c	2012-09-19 10:20:15.073714495 +0300
+@@ -91,7 +91,7 @@ struct Client {
  	int basew, baseh, incw, inch, maxw, maxh, minw, minh;
  	int bw, oldbw;
  	unsigned int tags;
  	Client *next;
  	Client *snext;
  	Monitor *mon;
-@@ -658,6 +658,8 @@ configurerequest(XEvent *e) {
+@@ -661,6 +661,8 @@ configurerequest(XEvent *e) {
  				configure(c);
  			if(ISVISIBLE(c))
  				XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h);
  		}
  		else
  			configure(c);
-@@ -1701,7 +1703,12 @@ showhide(Client *c) {
+@@ -1727,7 +1729,12 @@ showhide(Client *c) {
  	if(!c)
  		return;
  	if(ISVISIBLE(c)) { /* show clients top down */

13-dwm-6.0-increase_mfact_limit.diff

 Homepage: http://hg.punctweb.ro
 
---- a/dwm.c	2012-11-06 23:13:29.797844755 +0200
-+++ b/dwm.c	2012-11-06 23:13:29.797844755 +0200
-@@ -1634,7 +1634,7 @@ setmfact(const Arg *arg) {
+--- a/dwm.c	2012-09-19 10:20:15.084714495 +0300
++++ b/dwm.c	2012-09-19 10:20:15.087714495 +0300
+@@ -1658,7 +1658,7 @@ setmfact(const Arg *arg) {
  	if(!arg || !selmon->lt[selmon->sellt]->arrange)
  		return;
  	f = arg->f < 1.0 ? arg->f + selmon->mfacts[selmon->curtag] : arg->f - 1.0;

14-dwm-6.0-remember-tags.diff

 Homepage: http://hg.punctweb.ro
 
---- a/dwm.c	2012-11-06 23:13:29.807844755 +0200
-+++ b/dwm.c	2012-11-06 23:13:29.817844755 +0200
-@@ -65,6 +65,7 @@ enum { NetSupported, NetWMName, NetWMSta
+--- a/dwm.c	2012-09-19 10:20:15.098714496 +0300
++++ b/dwm.c	2012-09-19 10:20:15.101714496 +0300
+@@ -63,6 +63,7 @@ enum { NetSupported, NetWMName, NetWMSta
         NetWMFullscreen, NetActiveWindow, NetWMWindowType,
         NetWMWindowTypeDialog, NetClientList, NetLast };     /* EWMH atoms */
  enum { WMProtocols, WMDelete, WMState, WMTakeFocus, WMLast }; /* default atoms */
  enum { ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle,
         ClkClientWin, ClkRootWin, ClkLast };             /* clicks */
  
-@@ -275,6 +276,7 @@ static void gaplessgrid(Monitor *m);
+@@ -274,6 +275,7 @@ static void gaplessgrid(Monitor *m);
  static void pidgin(Monitor *m);
  static void togglescratch(const Arg *arg);
  static void togglemax(const Arg *arg);
  
  /* variables */
  static const char broken[] = "broken";
-@@ -300,7 +302,7 @@ static void (*handler[LASTEvent]) (XEven
+@@ -299,7 +301,7 @@ static void (*handler[LASTEvent]) (XEven
  	[PropertyNotify] = propertynotify,
  	[UnmapNotify] = unmapnotify
  };
  static Bool running = True;
  static Cursor cursor[CurLast];
  static Display *dpy;
-@@ -1153,6 +1155,10 @@ manage(Window w, XWindowAttributes *wa)
+@@ -1177,6 +1179,10 @@ manage(Window w, XWindowAttributes *wa)
  	Client *c, *t = NULL;
  	Window trans = None;
  	XWindowChanges wc;
  
  	if(!(c = calloc(1, sizeof(Client))))
  		die("fatal: could not malloc() %u bytes\n", sizeof(Client));
-@@ -1165,7 +1171,13 @@ manage(Window w, XWindowAttributes *wa)
+@@ -1189,7 +1195,13 @@ manage(Window w, XWindowAttributes *wa)
  	else {
  		c->mon = selmon;
  		applyrules(c);
  	/* geometry */
  	c->x = c->oldx = wa->x;
  	c->y = c->oldy = wa->y;
-@@ -1668,6 +1680,7 @@ setup(void) {
+@@ -1692,6 +1704,7 @@ setup(void) {
  	netatom[NetWMWindowType] = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE", False);
  	netatom[NetWMWindowTypeDialog] = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_DIALOG", False);
  	netatom[NetClientList] = XInternAtom(dpy, "_NET_CLIENT_LIST", False);
  	/* init cursors */
  	cursor[CurNormal] = XCreateFontCursor(dpy, XC_left_ptr);
  	cursor[CurResize] = XCreateFontCursor(dpy, XC_sizing);
-@@ -1743,6 +1756,7 @@ void
+@@ -1769,6 +1782,7 @@ void
  tag(const Arg *arg) {
  	if(selmon->sel && arg->ui & TAGMASK) {
  		selmon->sel->tags = arg->ui & TAGMASK;
  		focus(NULL);
  		arrange(selmon);
  		if(viewontag)
-@@ -1831,6 +1845,7 @@ toggletag(const Arg *arg) {
+@@ -1861,6 +1875,7 @@ toggletag(const Arg *arg) {
  		}
  		selmon->sel->tags = newtags;
  		selmon->lt[selmon->sellt] = selmon->lts[selmon->curtag];
  		focus(NULL);
  		arrange(selmon);
  	}
-@@ -2493,6 +2508,12 @@ togglemax(const Arg *arg) {
+@@ -2523,6 +2538,12 @@ togglemax(const Arg *arg) {
  	}
  }
  

15-dwm-6.0-centred-floating.diff

 Homepage: http://hg.punctweb.ro
 
---- a/dwm.c	2012-11-06 23:13:29.827844755 +0200
-+++ b/dwm.c	2012-11-06 23:13:29.827844755 +0200
-@@ -94,7 +94,7 @@ struct Client {
+--- a/dwm.c	2012-09-19 10:20:15.112714497 +0300
++++ b/dwm.c	2012-09-19 10:20:15.115714497 +0300
+@@ -92,7 +92,7 @@ struct Client {
  	int basew, baseh, incw, inch, maxw, maxh, minw, minh;
  	int bw, oldbw;
  	unsigned int tags;
  	Client *next;
  	Client *snext;
  	Monitor *mon;
-@@ -164,6 +164,7 @@ typedef struct {
+@@ -163,6 +163,7 @@ typedef struct {
  	const char *title;
  	unsigned int tags;
  	Bool isfloating;
  	int monitor;
  } Rule;
  
-@@ -329,6 +330,7 @@ applyrules(Client *c) {
+@@ -328,6 +329,7 @@ applyrules(Client *c) {
  
  	/* rule matching */
  	c->isfloating = c->tags = 0;
  	XGetClassHint(dpy, c->win, &ch);
  	class    = ch.res_class ? ch.res_class : broken;
  	instance = ch.res_name  ? ch.res_name  : broken;
-@@ -340,6 +342,7 @@ applyrules(Client *c) {
+@@ -339,6 +341,7 @@ applyrules(Client *c) {
  		&& (!r->instance || strstr(instance, r->instance)))
  		{
  			c->isfloating = r->isfloating;
  			c->tags |= r->tags;
  			for(m = mons; m && m->num != r->monitor; m = m->next);
  			if(m)
-@@ -1179,8 +1182,14 @@ manage(Window w, XWindowAttributes *wa)
+@@ -1203,8 +1206,14 @@ manage(Window w, XWindowAttributes *wa)
  	}
  	settagsatom(c->win, c->tags);
  	/* geometry */

16-dwm-6.0-focusurgent.diff

 Homepage: http://hg.punctweb.ro
 
---- a/dwm.c	2012-11-06 23:13:29.837844755 +0200
-+++ b/dwm.c	2012-11-06 23:13:29.847844755 +0200
-@@ -278,6 +278,7 @@ static void pidgin(Monitor *m);
+--- a/dwm.c	2012-09-19 10:20:15.126714498 +0300
++++ b/dwm.c	2012-09-19 10:20:15.129714498 +0300
+@@ -277,6 +277,7 @@ static void pidgin(Monitor *m);
  static void togglescratch(const Arg *arg);
  static void togglemax(const Arg *arg);
  static void settagsatom(Window w, unsigned int tags);
  
  /* variables */
  static const char broken[] = "broken";
-@@ -2523,6 +2524,32 @@ settagsatom(Window w, unsigned int tags)
+@@ -2553,6 +2554,32 @@ settagsatom(Window w, unsigned int tags)
  	                PropModeReplace, (unsigned char*)&tags, 1);
  }
  

17-dwm-6.0-statuscolors.diff

 Homepage: http://hg.punctweb.ro
 
---- a/dwm.c	2012-11-06 23:13:29.867844755 +0200
-+++ b/dwm.c	2012-11-06 23:13:29.867844755 +0200
-@@ -57,6 +57,7 @@
+--- a/dwm.c	2012-09-19 10:20:15.141714499 +0300
++++ b/dwm.c	2012-09-19 10:20:15.143714499 +0300
+@@ -55,6 +55,7 @@
  #define HEIGHT(X)               ((X)->h + 2 * (X)->bw)
  #define TAGMASK                 ((1 << LENGTH(tags)) - 1)
  #define TEXTW(X)                (textnw(X, strlen(X)) + dc.font.height)
  
  /* enums */
  enum { CurNormal, CurResize, CurMove, CurLast };        /* cursor */
-@@ -103,8 +104,7 @@ struct Client {
+@@ -101,8 +102,7 @@ struct Client {
  
  typedef struct {
  	int x, y, w, h;
--	XftColor norm[ColLast];
--	XftColor sel[ColLast];
-+	XftColor colors[MAXCOLORS][ColLast];
+-	unsigned long norm[ColLast];
+-	unsigned long sel[ColLast];
++	unsigned long colors[MAXCOLORS][ColLast];
  	Drawable drawable;
  	GC gc;
  	struct {
-@@ -192,8 +192,9 @@ static void die(const char *errstr, ...)
+@@ -191,8 +191,9 @@ static void die(const char *errstr, ...)
  static Monitor *dirtomon(int dir);
  static void drawbar(Monitor *m);
  static void drawbars(void);
--static void drawsquare(Bool filled, Bool empty, Bool invert, XftColor col[ColLast]);
--static void drawtext(const char *text, XftColor col[ColLast], Bool invert);
+-static void drawsquare(Bool filled, Bool empty, Bool invert, unsigned long col[ColLast]);
+-static void drawtext(const char *text, unsigned long col[ColLast], Bool invert);
 +static void drawcoloredtext(Monitor *m, char *text);
-+static void drawsquare(Bool filled, Bool empty, XftColor col[ColLast]);
-+static void drawtext(const char *text, XftColor col[ColLast], Bool pad);
++static void drawsquare(Bool filled, Bool empty, unsigned long col[ColLast]);
++static void drawtext(const char *text, unsigned long col[ColLast], Bool pad);
  static void enternotify(XEvent *e);
  static void expose(XEvent *e);
  static void focus(Client *c);
-@@ -785,10 +786,9 @@ drawbar(Monitor *m) {
+@@ -788,10 +789,9 @@ drawbar(Monitor *m) {
  	dc.x = 0;
  	for(i = 0; i < LENGTH(tags); i++) {
  		dc.w = TEXTW(tags[i].name);
  		dc.x += dc.w;
  	}
  	if(m->lt[m->sellt]->arrange == monocle) {
-@@ -799,30 +799,30 @@ drawbar(Monitor *m) {
+@@ -802,30 +802,30 @@ drawbar(Monitor *m) {
  			s = a;
  		snprintf(m->ltsymbol, sizeof m->ltsymbol, "[%d/%d]", s, a);
  	}
  	}
  	XCopyArea(dpy, dc.drawable, m->barwin, dc.gc, 0, 0, m->ww, bh, 0, 0);
  	XSync(dpy, False);
-@@ -837,10 +837,34 @@ drawbars(void) {
+@@ -840,10 +840,34 @@ drawbars(void) {
  }
  
  void
--drawsquare(Bool filled, Bool empty, Bool invert, XftColor col[ColLast]) {
+-drawsquare(Bool filled, Bool empty, Bool invert, unsigned long col[ColLast]) {
 +drawcoloredtext(Monitor *m, char *text) {
 +	char *buf = text, *ptr = buf, c = 1;
-+	XftColor *col = dc.colors[0];
++	unsigned long *col = dc.colors[0];
 +	int i, ox = dc.x;
 +
 +	while(*ptr) {
 +}
 +
 +void
-+drawsquare(Bool filled, Bool empty, XftColor col[ColLast]) {
++drawsquare(Bool filled, Bool empty, unsigned long col[ColLast]) {
  	int x;
  
--	XSetForeground(dpy, dc.gc, col[invert ? ColBG : ColFG].pixel);
-+	XSetForeground(dpy, dc.gc, col[ColFG].pixel);
+-	XSetForeground(dpy, dc.gc, col[invert ? ColBG : ColFG]);
++	XSetForeground(dpy, dc.gc, col[ColFG]);
  	x = (dc.font.ascent + dc.font.descent + 2) / 4;
  	if(filled)
  		XFillRectangle(dpy, dc.drawable, dc.gc, dc.x+1, dc.y+1, x+1, x+1);
-@@ -849,18 +873,18 @@ drawsquare(Bool filled, Bool empty, Bool
+@@ -852,17 +876,17 @@ drawsquare(Bool filled, Bool empty, Bool
  }
  
  void
--drawtext(const char *text, XftColor col[ColLast], Bool invert) {
-+drawtext(const char *text, XftColor col[ColLast], Bool pad) {
+-drawtext(const char *text, unsigned long col[ColLast], Bool invert) {
++drawtext(const char *text, unsigned long col[ColLast], Bool pad) {
  	char buf[256];
  	int i, x, y, h, len, olen;
- 	XftDraw *d;
  
--	XSetForeground(dpy, dc.gc, col[invert ? ColFG : ColBG].pixel);
-+	XSetForeground(dpy, dc.gc, col[ColBG].pixel);
+-	XSetForeground(dpy, dc.gc, col[invert ? ColFG : ColBG]);
++	XSetForeground(dpy, dc.gc, col[ColBG]);
  	XFillRectangle(dpy, dc.drawable, dc.gc, dc.x, dc.y, dc.w, dc.h);
  	if(!text)
  		return;
  	x = dc.x + (h / 2);
  	/* shorten text if necessary */
  	for(len = MIN(olen, sizeof buf); len && textnw(text, len) > dc.w - h; len--);
-@@ -872,7 +896,7 @@ drawtext(const char *text, XftColor col[
- 
- 	d = XftDrawCreate(dpy, dc.drawable, DefaultVisual(dpy, screen), DefaultColormap(dpy,screen));
- 
--	XftDrawStringUtf8(d, &col[invert ? ColBG : ColFG], dc.font.xfont, x, y, (XftChar8 *) buf, len);
-+	XftDrawStringUtf8(d, &col[ColFG], dc.font.xfont, x, y, (XftChar8 *) buf, len);
- 	XftDrawDestroy(d);
- }
- 
-@@ -921,7 +945,7 @@ focus(Client *c) {
+@@ -871,7 +895,7 @@ drawtext(const char *text, unsigned long
+ 	memcpy(buf, text, len);
+ 	if(len < olen)
+ 		for(i = len; i && i > len - 3; buf[--i] = '.');
+-	XSetForeground(dpy, dc.gc, col[invert ? ColBG : ColFG]);
++	XSetForeground(dpy, dc.gc, col[ColFG]);
+ 	if(dc.font.set)
+ 		XmbDrawString(dpy, dc.drawable, dc.font.set, dc.gc, x, y, buf, len);
+ 	else
+@@ -923,7 +947,7 @@ focus(Client *c) {
  		detachstack(c);
  		attachstack(c);
  		grabbuttons(c, True);
--		XSetWindowBorder(dpy, c->win, dc.sel[ColBorder].pixel);
-+		XSetWindowBorder(dpy, c->win, dc.colors[1][ColBorder].pixel);
+-		XSetWindowBorder(dpy, c->win, dc.sel[ColBorder]);
++		XSetWindowBorder(dpy, c->win, dc.colors[1][ColBorder]);
  		setfocus(c);
  	}
  	else {
-@@ -1215,7 +1239,7 @@ manage(Window w, XWindowAttributes *wa)
+@@ -1239,7 +1263,7 @@ manage(Window w, XWindowAttributes *wa)
  		c->tags &= TAGMASK;
  	wc.border_width = c->bw;
  	XConfigureWindow(dpy, w, CWBorderWidth, &wc);
--	XSetWindowBorder(dpy, w, dc.norm[ColBorder].pixel);
-+	XSetWindowBorder(dpy, w, dc.colors[0][ColBorder].pixel);
+-	XSetWindowBorder(dpy, w, dc.norm[ColBorder]);
++	XSetWindowBorder(dpy, w, dc.colors[0][ColBorder]);
  	configure(c); /* propagates border_width, if size doesn't change */
  	updatewindowtype(c);
  	updatesizehints(c);
-@@ -1696,12 +1720,11 @@ setup(void) {
+@@ -1720,12 +1744,11 @@ setup(void) {
  	cursor[CurResize] = XCreateFontCursor(dpy, XC_sizing);
  	cursor[CurMove] = XCreateFontCursor(dpy, XC_fleur);
  	/* init appearance */
  	dc.drawable = XCreatePixmap(dpy, root, DisplayWidth(dpy, screen), bh, DefaultDepth(dpy, screen));
  	dc.gc = XCreateGC(dpy, root, 0, NULL);
  	XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter);
-@@ -1783,8 +1806,21 @@ tagmon(const Arg *arg) {
+@@ -1809,13 +1832,25 @@ tagmon(const Arg *arg) {
  
  int
  textnw(const char *text, unsigned int len) {
 +	char *ptr = (char *)text, buf[len+1];
 +	unsigned int i, ibuf, lenbuf = len;
- 	XGlyphInfo ext;
--	XftTextExtentsUtf8(dpy, dc.font.xfont, (XftChar8 *) text, len, &ext);
-+	
+ 	XRectangle r;
+ 
 +	for(i = 0, ibuf = 0; *ptr && i < len; i++, ptr++) {
 +		if(*ptr <= MAXCOLORS && *ptr > 0) {
 +			if(i < len) { lenbuf--; }
 +	}
 +	buf[ibuf]=0;
 +
-+	XftTextExtentsUtf8(dpy, dc.font.xfont, (XftChar8 *) buf, lenbuf, &ext);
- 	return ext.xOff;
+ 	if(dc.font.set) {
+-		XmbTextExtents(dc.font.set, text, len, NULL, &r);
++		XmbTextExtents(dc.font.set, buf, lenbuf, NULL, &r);
+ 		return r.width;
+ 	}
+-	return XTextWidth(dc.font.xfont, text, len);
++	return XTextWidth(dc.font.xfont, buf, lenbuf);
  }
  
-@@ -1877,7 +1913,7 @@ unfocus(Client *c, Bool setfocus) {
+ void
+@@ -1907,7 +1942,7 @@ unfocus(Client *c, Bool setfocus) {
  	if(!c)
  		return;
  	grabbuttons(c, False);
--	XSetWindowBorder(dpy, c->win, dc.norm[ColBorder].pixel);
-+	XSetWindowBorder(dpy, c->win, dc.colors[0][ColBorder].pixel);
+-	XSetWindowBorder(dpy, c->win, dc.norm[ColBorder]);
++	XSetWindowBorder(dpy, c->win, dc.colors[0][ColBorder]);
  	if(setfocus) {
  		XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
  		XDeleteProperty(dpy, root, netatom[NetActiveWindow]);
+@@ -2179,8 +2214,11 @@ updatewmhints(Client *c) {
+ 			wmh->flags &= ~XUrgencyHint;
+ 			XSetWMHints(dpy, c->win, wmh);
+ 		}
+-		else
++		else {
+ 			c->isurgent = (wmh->flags & XUrgencyHint) ? True : False;
++			if(c->isurgent)
++				XSetWindowBorder(dpy, c->win, dc.colors[2][ColBorder]);
++		}
+ 		if(wmh->flags & InputHint)
+ 			c->neverfocus = !wmh->input;
+ 		else

18-dwm-6.0-save_floats.diff

 Homepage: http://hg.punctweb.ro
 
---- a/dwm.c	2012-11-06 23:13:29.877844755 +0200
-+++ b/dwm.c	2012-11-06 23:13:29.877844755 +0200
-@@ -92,6 +92,7 @@ struct Client {
+--- a/dwm.c	2012-09-19 10:20:15.155714500 +0300
++++ b/dwm.c	2012-09-19 10:20:15.158714500 +0300
+@@ -90,6 +90,7 @@ struct Client {
  	float mina, maxa;
  	int x, y, w, h;
  	int oldx, oldy, oldw, oldh;
  	int basew, baseh, incw, inch, maxw, maxh, minw, minh;
  	int bw, oldbw;
  	unsigned int tags;
-@@ -280,6 +281,7 @@ static void togglescratch(const Arg *arg
+@@ -279,6 +280,7 @@ static void togglescratch(const Arg *arg
  static void togglemax(const Arg *arg);
  static void settagsatom(Window w, unsigned int tags);
  static void focusurgent(const Arg *arg);
  
  /* variables */
  static const char broken[] = "broken";
-@@ -1244,6 +1246,7 @@ manage(Window w, XWindowAttributes *wa)
+@@ -1268,6 +1270,7 @@ manage(Window w, XWindowAttributes *wa)
  	updatewindowtype(c);
  	updatesizehints(c);
  	updatewmhints(c);
  	XSelectInput(dpy, w, EnterWindowMask|FocusChangeMask|PropertyChangeMask|StructureNotifyMask);
  	grabbuttons(c, False);
  	if(!c->isfloating)
-@@ -1661,10 +1664,18 @@ setfullscreen(Client *c, Bool fullscreen
+@@ -1685,10 +1688,18 @@ setfullscreen(Client *c, Bool fullscreen
  
  void
  setlayout(const Arg *arg) {
  	strncpy(selmon->ltsymbol, selmon->lt[selmon->sellt]->symbol, sizeof selmon->ltsymbol);
  	if(selmon->sel)
  		arrange(selmon);
-@@ -1866,8 +1877,10 @@ togglefloating(const Arg *arg) {
+@@ -1895,8 +1906,10 @@ togglefloating(const Arg *arg) {
  		return;
  	selmon->sel->isfloating = !selmon->sel->isfloating || selmon->sel->isfixed;
  	if(selmon->sel->isfloating)
  	arrange(selmon);
  }
  
-@@ -2586,6 +2599,14 @@ focusurgent(const Arg *arg) {
+@@ -2618,6 +2631,14 @@ focusurgent(const Arg *arg) {
  	}
  }
  

19-dwm-6.0-systray.diff

 Homepage: http://hg.punctweb.ro
 
---- a/dwm.c	2012-11-06 23:13:29.897844755 +0200
-+++ b/dwm.c	2012-11-06 23:13:29.897844755 +0200
-@@ -59,12 +59,31 @@
+--- a/dwm.c	2012-09-19 10:20:15.170714501 +0300
++++ b/dwm.c	2012-09-19 10:20:15.173714501 +0300
+@@ -57,12 +57,31 @@
  #define TEXTW(X)                (textnw(X, strlen(X)) + dc.font.height)
  #define MAXCOLORS               8
  
  enum { WMProtocols, WMDelete, WMState, WMTakeFocus, WMLast }; /* default atoms */
  enum { DWMTags, DWMLast };                              /* DWM atoms */
  enum { ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle,
-@@ -169,6 +188,12 @@ typedef struct {
+@@ -168,6 +187,12 @@ typedef struct {
  	int monitor;
  } Rule;
  
  /* function declarations */
  static void applyrules(Client *c);
  static Bool applysizehints(Client *c, int *x, int *y, int *w, int *h, Bool interact);
-@@ -229,7 +254,7 @@ static void resizemouse(const Arg *arg);
+@@ -228,7 +253,7 @@ static void resizemouse(const Arg *arg);
  static void restack(Monitor *m);
  static void run(void);
  static void scan(void);
  static void sendmon(Client *c, Monitor *m);
  static void setclientstate(Client *c, long state);
  static void setfocus(Client *c);
-@@ -282,6 +307,15 @@ static void togglemax(const Arg *arg);
+@@ -281,6 +306,15 @@ static void togglemax(const Arg *arg);
  static void settagsatom(Window w, unsigned int tags);
  static void focusurgent(const Arg *arg);
  static void savefloat(Client *c);
  
  /* variables */
  static const char broken[] = "broken";
-@@ -305,15 +339,18 @@ static void (*handler[LASTEvent]) (XEven
+@@ -304,15 +338,18 @@ static void (*handler[LASTEvent]) (XEven
  	[MapRequest] = maprequest,
  	[MotionNotify] = motionnotify,
  	[PropertyNotify] = propertynotify,
  
  /* configuration, allows nested code to access above variables */
  #include "config.h"
-@@ -528,6 +565,11 @@ cleanup(void) {
+@@ -531,6 +568,11 @@ cleanup(void) {
  	XFreeCursor(dpy, cursor[CurMove]);
  	while(mons)
  		cleanupmon(mons);
  	XSync(dpy, False);
  	XSetInputFocus(dpy, PointerRoot, RevertToPointerRoot, CurrentTime);
  	XDeleteProperty(dpy, root, netatom[NetActiveWindow]);
-@@ -565,10 +607,49 @@ clearurgent(Client *c) {
+@@ -568,10 +610,49 @@ clearurgent(Client *c) {
  
  void
  clientmessage(XEvent *e) {
  	if(!c)
  		return;
  	if(cme->message_type == netatom[NetWMState]) {
-@@ -624,7 +705,7 @@ configurenotify(XEvent *e) {
+@@ -627,7 +708,7 @@ configurenotify(XEvent *e) {
  			dc.drawable = XCreatePixmap(dpy, root, sw, bh, DefaultDepth(dpy, screen));
  			updatebars();
  			for(m = mons; m; m = m->next)
  			focus(NULL);
  			arrange(NULL);
  		}
-@@ -724,6 +805,11 @@ destroynotify(XEvent *e) {
+@@ -727,6 +808,11 @@ destroynotify(XEvent *e) {
  
  	if((c = wintoclient(ev->window)))
  		unmanage(c, True);
  }
  
  void
-@@ -780,6 +866,7 @@ drawbar(Monitor *m) {
+@@ -783,6 +869,7 @@ drawbar(Monitor *m) {
  	unsigned int a = 0, s = 0;
  	Client *c;
  
  	for(c = m->clients; c; c = c->next) {
  		occ |= c->tags;
  		if(c->isurgent)
-@@ -808,6 +895,9 @@ drawbar(Monitor *m) {
+@@ -811,6 +898,9 @@ drawbar(Monitor *m) {
  	if(m == selmon) { /* status is only drawn on selected monitor */
  		dc.w = textnw(stext, strlen(stext));
  		dc.x = m->ww - dc.w;
  		if(dc.x < x) {
  			dc.x = x;
  			dc.w = m->ww - x;
-@@ -836,6 +926,7 @@ drawbars(void) {
+@@ -839,6 +929,7 @@ drawbars(void) {
  
  	for(m = mons; m; m = m->next)
  		drawbar(m);
  }
  
  void
-@@ -1012,10 +1103,17 @@ getatomprop(Client *c, Atom prop) {
+@@ -1014,10 +1105,17 @@ getatomprop(Client *c, Atom prop) {
  	unsigned long dl;
  	unsigned char *p = NULL;
  	Atom da, atom = None;
  		XFree(p);
  	}
  	return atom;
-@@ -1169,7 +1267,7 @@ void
+@@ -1193,7 +1291,7 @@ void
  killclient(const Arg *arg) {
  	if(!selmon->sel)
  		return;
  		XGrabServer(dpy);
  		XSetErrorHandler(xerrordummy);
  		XSetCloseDownMode(dpy, DestroyAll);
-@@ -1280,7 +1378,13 @@ void
+@@ -1304,7 +1402,13 @@ void
  maprequest(XEvent *e) {
  	static XWindowAttributes wa;
  	XMapRequestEvent *ev = &e->xmaprequest;
  	if(!XGetWindowAttributes(dpy, ev->window, &wa))
  		return;
  	if(wa.override_redirect)
-@@ -1392,6 +1496,16 @@ propertynotify(XEvent *e) {
+@@ -1416,6 +1520,16 @@ propertynotify(XEvent *e) {
  	Window trans;
  	XPropertyEvent *ev = &e->xproperty;
  
  	if((ev->window == root) && (ev->atom == XA_WM_NAME))
  		updatestatus();
  	else if(ev->state == PropertyDelete)
-@@ -1600,25 +1714,35 @@ setclientstate(Client *c, long state) {
+@@ -1624,25 +1738,35 @@ setclientstate(Client *c, long state) {
  }
  
  Bool
  	}
  	return exists;
  }
-@@ -1631,7 +1755,7 @@ setfocus(Client *c) {
+@@ -1655,7 +1779,7 @@ setfocus(Client *c) {
   		                XA_WINDOW, 32, PropModeReplace,
   		                (unsigned char *) &(c->win), 1);
  	}
  }
  
  void
-@@ -1726,6 +1850,12 @@ setup(void) {
+@@ -1750,6 +1874,12 @@ setup(void) {
  	netatom[NetWMWindowTypeDialog] = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_DIALOG", False);
  	netatom[NetClientList] = XInternAtom(dpy, "_NET_CLIENT_LIST", False);
  	dwmatom[DWMTags] = XInternAtom(dpy, "_DWM_TAGS", False);
  	/* init cursors */
  	cursor[CurNormal] = XCreateFontCursor(dpy, XC_left_ptr);
  	cursor[CurResize] = XCreateFontCursor(dpy, XC_sizing);
-@@ -1739,6 +1869,8 @@ setup(void) {
- 	dc.drawable = XCreatePixmap(dpy, root, DisplayWidth(dpy, screen), bh, DefaultDepth(dpy, screen));
- 	dc.gc = XCreateGC(dpy, root, 0, NULL);
+@@ -1765,6 +1895,8 @@ setup(void) {
  	XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter);
+ 	if(!dc.font.set)
+ 		XSetFont(dpy, dc.gc, dc.font.xfont->fid);
 +	/* init system tray */
 +	updatesystray();
  	/* init bars */
  	updatebars();
  	updatestatus();
-@@ -1865,7 +1997,18 @@ void
+@@ -1894,7 +2026,18 @@ void
  togglebar(const Arg *arg) {
  	selmon->showbar = !selmon->showbar;
  	updatebarpos(selmon);
  	arrange(selmon);
  }
  
-@@ -1969,10 +2112,16 @@ unmapnotify(XEvent *e) {
+@@ -1998,10 +2141,16 @@ unmapnotify(XEvent *e) {
  		else
  			unmanage(c, False);
  	}
  	Monitor *m;
  	XSetWindowAttributes wa = {
  		.override_redirect = True,
-@@ -1982,7 +2131,10 @@ updatebars(void) {
+@@ -2011,7 +2160,10 @@ updatebars(void) {
  	for(m = mons; m; m = m->next) {
  		if (m->barwin)
  			continue;
  		                          CopyFromParent, DefaultVisual(dpy, screen),
  		                          CWOverrideRedirect|CWBackPixmap|CWEventMask, &wa);
  		XDefineCursor(dpy, m->barwin, cursor[CurNormal]);
-@@ -2607,6 +2759,155 @@ savefloat(Client *c) {
+@@ -2639,6 +2791,155 @@ savefloat(Client *c) {
  	c->sfh = c->h;
  }
  
 +		/* init systray */
 +		if(!(systray = (Systray *)calloc(1, sizeof(Systray))))
 +			die("fatal: could not malloc() %u bytes\n", sizeof(Systray));
-+		systray->win = XCreateSimpleWindow(dpy, root, x, selmon->by, w, bh, 0, 0, dc.colors[1][ColBG].pixel);
++		systray->win = XCreateSimpleWindow(dpy, root, x, selmon->by, w, bh, 0, 0, dc.colors[1][ColBG]);
 +		wa.event_mask        = ButtonPressMask | ExposureMask;
 +		wa.override_redirect = True;
 +		wa.background_pixmap = ParentRelative;
-+		wa.background_pixel  = dc.colors[0][ColBG].pixel;
++		wa.background_pixel  = dc.colors[0][ColBG];
 +		XSelectInput(dpy, systray->win, SubstructureNotifyMask);
 +		XChangeProperty(dpy, systray->win, netatom[NetSystemTrayOrientation], XA_CARDINAL, 32,
 +				PropModeReplace, (unsigned char *)&systrayorientation, 1);

20-dwm-6.0-centerwindow.diff

 Homepage: http://hg.punctweb.ro
 
---- a/dwm.c	2012-11-06 23:13:29.907844755 +0200
-+++ b/dwm.c	2012-11-06 23:13:29.917844755 +0200
-@@ -316,6 +316,7 @@ static void updatesystray(void);
+--- a/dwm.c	2012-09-19 10:20:15.186714502 +0300
++++ b/dwm.c	2012-09-19 10:20:15.189714502 +0300
+@@ -315,6 +315,7 @@ static void updatesystray(void);
  static void updatesystrayicongeom(Client *i, int w, int h);
  static void updatesystrayiconstate(Client *i, XPropertyEvent *ev);
  static Client *wintosystrayicon(Window w);
  
  /* variables */
  static const char broken[] = "broken";
-@@ -2908,6 +2909,16 @@ wintosystrayicon(Window w) {
+@@ -2940,6 +2941,16 @@ wintosystrayicon(Window w) {
  	return i;
  }
  
         "18-${pkgname}-${pkgver}-save_floats.diff"
         "19-${pkgname}-${pkgver}-systray.diff"
         "20-${pkgname}-${pkgver}-centerwindow.diff")
-sha256sums=('e157ef9118c8c42baf446bbc7ed32c5640f7055e95f1f932aaf1c604fb89b394'
-            '2359fa90026b3bb9ccfcda3ca522c51ee108fbdb41d7c63caa9447419e9e949b'
-            '1993188e0dd723ebc553050ff6fe6441928c55fa9d4c08368f15a2ff49f2a8f1'
-            '5c6ae2ad93b9eb2a04a56d6c6bfc3da06f92ea8775508c50b33acf3863a85b1d'
-            'a568ae09c40e6e9da7c07be3e923565a285976fa42d3c433508716dbda99dcd0'
-            'e83c387a97688b3367d610238f8cab2be735f79532e0756c72d43d3f22901372'
-            'a59eee014cb2ad7c7004aed03447e23d3de29bc3a1ec2be7d565e7cf2c646d06'
-            '2ddd12f67bd29a4801ab3ce2ca74c4701cbe8aed6196e564579a1547e5efd4f9'
-            '1efd5c3a8d7d8dda153e8532466ec41c8bc426d46163919529dc8337fe4e5970'
-            '65ee88f45dd3379d68d12c09f1249aafa3033c22ef8cbf8f253564fc03afd3f1'
-            '56b89b157eddd1c6bd96498b691a22ec00cee2bc515d976bc65d4e556dd41e8a'
-            '2cf30ce1abbd9f076201808bcb14df31accd3beb7265d7e3d02327141e573c6e'
-            'f44e4ee4233ad38475eea4bf8415571c6017d02ed03dfd86fff37791c7b935f8'
-            '6efd33c0e867ca2c9b93137bc5a67f677a4cab01a3d0a80809824c6966ca26fe'
-            'e515ac0fa7ef6719dcc71f5fad30add43de25fe0540c277d11c45c4f7f2d15ab'
-            'e4f9526a51b8cb3c47a446d121661592a832b5c74e51fe40b1796ed1dea499e2'
-            '4e80287199f792dd2bda250c6723f3a1f30b1a3a8777e05a769fdb8d1e45ae19'
-            '928b10da6c20fb7e86d0b02b41c31d46cabae93109a39571d98827494067be00'
-            'b8c4489433a224ef23a1e9ee2fccd8f67f2e4960aa1ee97490e1e8554a6c5515'
-            'c70af4e9a871e143c7843473aab3e6e4d392170365ac07e7a0b55512b9039977'
-            '878a550d9fde9a58352b3a192fd9095019ebbeeae28ab24536ec3657c7be0311'
-            '01eb5386bbca23a3eff79d91bf050e0252f24a9f38a0d3eebdb4d7dc05a02dfe')
+sha256sums=('bb5c4bb7ba052a5498118eeb571165997f7dae62580c1be1a5cdf11e03bc8127'
+            'fa6f00dd8eeb8eb541debcd1e2d7d2ddb1fe893369a83d20752a62b5988ad684'
+            '9a24dd83b6dbf66807f4c5eaff5e308cdcfbdb19491bf5a9a3c5d968bbac856e'
+            '4b133507f4b477f7a294d070169c363baf9366779e33c6b1ea1dc33e61b14979'
+            '31adb170989315b20e820933a239f688331b931a242544c0650127fba926579e'
+            '60c13c3de317077e4c59889060fe980276bb29ee9923d9684d1ffb297b1fe7a5'
+            '825d7d81648c0151d9129e260ba6e5bd746be0aba66ad2d8682a0465269e05d0'
+            'dcf6898c1695410d2a513beebe94d034e45f7414362c46e53802c5152bb0839c'
+            '65fce4568887913c5af34e0dc22fca17b5eaac8075644748bfdef6dcf61937c4'
+            '42d2a1c8ffdecdecfd0185fd98da8096b5a417dfcdf4874bb4c50594fae9712c'
+            '5f2fa14cd829dd780341d33b695201a739969d0fe77866244c6bff6c55e11c9f'
+            '328578d3e53c1ec4110c1927b5d7dc3eb38d66d9b96f3aa22ca19f1203eaf4d0'
+            '1036125769ce44b2116e76f0cfae65cab921ca08b88521b15b37a280fd4cc666'
+            '69b4f62297860b7a2d5afe563e3d9eacdcb913f96cb97cc1ec920168de59150a'
+            'e7c0ea64be99c9f8dfadec13e1cacdb1fa5624477db18a2e670cd81ff4941fa1'
+            'f5b0f051897249abfadba43357385b2f880693a7b301871c2827a63b8f3f9cfe'
+            'ad3f6ca7d05922a463eeb6cc31772ae509d5624ecf738ba50219bd74ce4e7da8'
+            '77f494f11e1b1c6c7037a1a7385ee4c1fa0d1e8d689d57d7e196203bc9ff74e6'
+            '871e9d7113a5a63edae75762c351214dc6496347eb0c6bdaa1f76d3759b8e4c5'
+            '2d5de1197e20a4c12b06b38effa03a69c6022e2b6a4483c37ccb5b4430dfd36a'
+            'd8cf91eac06b51aef6c6343546378b4fd021290f529119455e6debe583aaea27'
+            'fb1dcef708397e1372e4a5e6733136189053d7b4dfc689accfd85246f314e704')
 
 build() {
   cd "${srcdir}" && cd "`find . -type d -name dwm-\*`"
 /* JokerBoy - http://hg.punctweb.ro */
 
 /* appearance */
-static const char font[]            = "DejaVu Sans Mono:Book:size=8:antialias=true:autohint=true";
+static const char font[]            = "-misc-fixed-medium-r-semicondensed--12-110-75-75-c-*-iso8859-2";
 static const char colors[MAXCOLORS][ColLast][8] = {
 	/* border     fg         bg       */
 	{ "#222222", "#666666", "#1A1A1A" }, /* 0 = normal */
 	{ "Pidgin",       NULL,        NULL,       1 << 3,       False,       False,      -1 },
 	{ "Pidgin",       NULL,        "Pidgin",   1 << 3,       True,        True,       -1 },
 	{ "Gyachi",       NULL,        NULL,       1 << 3,       False,       False,      -1 },
-	{ "Skype",        NULL,        NULL,       1 << 3,       False,       False,      -1 },
 };
 
 /* layout(s) */
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.