--- a/dwm.c 2012-12-06 20:11:18.000000000 -0600 +++ b/dwm.c 2012-12-06 20:11:18.000000000 -0600 @@ -152,6 +152,7 @@ unsigned int tags; Bool isfloating; int monitor; + void (*callback)(Client *c); } Rule; /* function declarations */ @@ -316,6 +317,8 @@ for(m = mons; m && m->num != r->monitor; m = m->next); if(m) c->mon = m; + if(r->callback) + (*r->callback)(c); } } if(ch.res_class)