From a5572a6547873c1296066496e2c7346245ac2a18 Mon Sep 17 00:00:00 2001 From: Jason Woofenden Date: Sat, 18 Apr 2015 03:47:23 -0400 Subject: [PATCH 1/1] floating rules trigger centering too --- dwm.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/dwm.c b/dwm.c index 7b017cb..3196192 100644 --- a/dwm.c +++ b/dwm.c @@ -364,6 +364,9 @@ applyrules(Client *c) { && (!r->instance || strstr(instance, r->instance))) { c->isfloating = r->isfloating; + if(r->isfloating) { + c->x = -1; c->y = -2; // secret code for centered + } c->tags |= r->tags; c->screen_hog = r->screen_hog; for(m = mons; m && m->num != r->monitor; m = m->next); @@ -1201,8 +1204,13 @@ manage(Window w, XWindowAttributes *wa) { applyrules(c); } /* geometry */ - c->x = c->oldx = wa->x; - c->y = c->oldy = wa->y; + if(c->x == -1 && c->y == -2) { // secret code for centered + c->x = c->oldx = (c->mon->ww - wa->width) / 2; + c->y = c->oldy = (c->mon->wh - wa->height) / 2; + } else { + c->x = c->oldx = wa->x; + c->y = c->oldy = wa->y; + } c->w = c->oldw = wa->width; c->h = c->oldh = wa->height; c->oldbw = wa->border_width; -- 1.7.10.4