dwm

my fork of dwm
Index Commits Files Refs README LICENSE
commit a20b10d01fab9e844ba7cd2cf694b45f61b89f7c
parent 4cc0551948074c82c5b66231f407fd9c142b12cc
Author: Anselm R.Garbe <arg@10ksloc.org>
Date:   Wed, 16 Aug 2006 15:57:36 +0200

added general centralization rule for new clients (works around various borken apps)

Diffstat:
Mclient.c | 11++++++++++-
Mtag.c | 5++++-
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/client.c b/client.c
@@ -187,7 +187,7 @@ killclient(Arg *arg)
 void
 manage(Window w, XWindowAttributes *wa)
 {
-    Client *c;
+    Client *c, *tc;
     Window trans;
     XSetWindowAttributes twa;
 
@@ -258,6 +258,15 @@ manage(Window w, XWindowAttributes *wa)
                 c->maxw == c->minw && c->maxh == c->minh);
     settitle(c);
 
+    if(trans && (tc = getclient(trans))) {
+        c->x = (tc->x + tc->w / 2) - (c->w / 2);
+        c->y = (tc->y + tc->h / 2) - (c->h / 2);
+    }
+    else {
+        c->x = (sw / 2) - (c->w / 2);
+        c->y = ((sh - bh) / 2) - (c->h / 2) + bh;
+    }
+
     if(isvisible(c))
         sel = c;
     arrange(NULL);
diff --git a/tag.c b/tag.c
@@ -281,7 +281,10 @@ void
 togglemode(Arg *arg)
 {
     arrange = arrange == dofloat ? dotile : dofloat;
-    arrange(NULL);
+    if(sel)
+        arrange(NULL);
+    else
+        drawstatus();
 }
 
 void