From adfacf4e2e8562a67b9611b50c252d6cf239da7a Mon Sep 17 00:00:00 2001
From: Guido van Rossum <guido@python.org>
Date: Sun, 28 Dec 1997 03:42:50 +0000
Subject: Do a better job of keeping the dialog visible when the master window
 is near or beyond the edge of the screen.  Patch by Skip Montanaro.

---
 Lib/lib-tk/SimpleDialog.py | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/Lib/lib-tk/SimpleDialog.py b/Lib/lib-tk/SimpleDialog.py
index 7354779..950df2f 100644
--- a/Lib/lib-tk/SimpleDialog.py
+++ b/Lib/lib-tk/SimpleDialog.py
@@ -52,6 +52,14 @@ class SimpleDialog:
 	w_height = widget.winfo_reqheight()
 	x = m_x + (m_width - w_width) * relx
 	y = m_y + (m_height - w_height) * rely
+	if x+w_width > master.winfo_screenwidth():
+	    x = master.winfo_screenwidth() - w_width
+	elif x < 0:
+	    x = 0
+	if y+w_height > master.winfo_screenheight():
+	    y = master.winfo_screenheight() - w_height
+	elif y < 0:
+	    y = 0
 	widget.geometry("+%d+%d" % (x, y))
 	widget.deiconify() # Become visible at the desired location
 
-- 
cgit v0.12

