From: Paul Mackerras Date: Mon, 10 Mar 2008 05:50:34 +0000 (+1100) Subject: gitk: Only restore window size from ~/.gitk, not position X-Git-Url: http://privyetmir.co.uk/gitweb.cgi?a=commitdiff_plain;h=b9bee11526ec23541ddbbd75716bfd1acc241463;p=gitk gitk: Only restore window size from ~/.gitk, not position This also limits the window size to the screen size. That is better than nothing, but it isn't perfect, since ideally we would take into account window decorations, and things such as gnome panels or the Mac OS X dock and menu bar, but I don't know how to do that. On Cygwin this is as good as restoring the whole geometry (size and position) at working around the Cygwin Tk bugs, according to Mark Levedahl. Tested-by: Mark Levedahl Signed-off-by: Paul Mackerras --- diff --git a/gitk b/gitk index f1f21e9..f8f006f 100755 --- a/gitk +++ b/gitk @@ -930,9 +930,17 @@ proc makewindow {} { .pwbottom add .bright .ctop add .pwbottom - # restore window position if known + # restore window width & height if known if {[info exists geometry(main)]} { - wm geometry . "$geometry(main)" + if {[scan $geometry(main) "%dx%d" w h] >= 2} { + if {$w > [winfo screenwidth .]} { + set w [winfo screenwidth .] + } + if {$h > [winfo screenheight .]} { + set h [winfo screenheight .] + } + wm geometry . "${w}x$h" + } } if {[tk windowingsystem] eq {aqua}} {