From 5988ee21b79aba43687f285d448b2db7931e0f7f Mon Sep 17 00:00:00 2001
From: Ivica Ico Bukvic <ico@vt.edu>
Date: Sat, 30 Mar 2013 00:55:27 -0400
Subject: [PATCH] improved window placement logic of new pd windows

---
 pd/src/pd.tk | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/pd/src/pd.tk b/pd/src/pd.tk
index a2ec545b3..e5c83c3bf 100644
--- a/pd/src/pd.tk
+++ b/pd/src/pd.tk
@@ -2253,6 +2253,9 @@ proc pdtk_canvas_new {name width height geometry editable} {
     # slide offscreen windows into view
     if {$tcl_version >= 8.4} {
         set geometry [split $geometry +]
+        if { $pd_nt == 0 && [lindex $geometry 2] == 0 } {
+			after idle center_window $name [expr int(-$width/3)] [expr int(-$height/3)]
+        }
         set i 1
         foreach geo {width height} {
             set screen($geo) [winfo screen$geo .]
@@ -2266,7 +2269,7 @@ proc pdtk_canvas_new {name width height geometry editable} {
         if { $pd_nt == 2 && [lindex $geometry 2] < 22 } {
             lset geometry 2 22
         }
-        set geometry [join $geometry +] 
+        set geometry [join $geometry +]
     }
 
 	#apply window properties
-- 
GitLab