From: Mike Rappazzo Date: Sun, 28 Sep 2025 15:01:02 GMT Subject: Re: [PATCH v3 1/2] Revert "gitk: Only restore window size from ~/.gitk, not position" Message-ID: In-Reply-To: On Sun, Sep 28, 2025 at 10:17 AM Mark Levedahl wrote: > > On 9/28/25 9:54 AM, Michael Rappazzo wrote: > > From: Johannes Sixt > > > > This reverts commit b9bee11526ec23541ddbbd75716bfd1acc241463. > > > > The commit catered to an unsupportable port of the Windows Tcl/Tk > > stuck at 8.4.1 that was used by Cygwin. 8.4.1 has some bad bugs in its > > layout engine, and forced changes in Gitk to be compatible. All this > > became irrelevant around 2011 after Cygwin gained an X11 server and > > switched to a supportable port of the Unix/X11 Tcl/Tk (it is now on the > > current 8.6 code base). > > > > Helped-by: Mark Levedahl > > Signed-off-by: Johannes Sixt > > --- > > gitk | 12 ++---------- > > 1 file changed, 2 insertions(+), 10 deletions(-) > > > > diff --git a/gitk b/gitk > > index 6e4d71d585..275f353811 100755 > > --- a/gitk > > +++ b/gitk > > @@ -2764,17 +2764,9 @@ proc makewindow {} { > > .pwbottom add .bright > > .ctop add .pwbottom > > > > - # restore window width & height if known > > + # restore window position if known > > if {[info exists 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" > > - } > > + wm geometry . "$geometry(main)" > > } > > > > if {[info exists geometry(state)] && $geometry(state) eq "zoomed"} { > I mis-interpreted an earlier inquiry about the patch being reverted here. Patch e9937d2a03 > actually addressed the issues of Cygwin's 8.4.1 Tcl/Tk. Part of that was fixing the window > geometry being restored, as sometimes the window manager would size the main window in a > manner causing 8.4.1 to fail. But, this override of the main window manager on all > platforms raised complaints on the mailing list, and commit b9bee11526 was the response: > it was only the SIZE of the Window that mattered on Cygwin, not its location, so allowing > window managers to set the location was ok. > > Personally, I'm fine with gitk remembering / restoring the full window geometry (I wrote > it that way in e9937d2a03). In my v2 version there is a slight difference: + after idle [list wm geometry . $geometry(main)] This seems likely related to my second patch changes where I use `after idle` due to the timing concerns which I reported on in my latest email from that series[1]. [1] https://lore.kernel.org/git/CANoM8SXnxxF6UMSfQ06ANfEv7HFCEEMCVoGgod1-DuFeHp6tXg@mail.gmail.com/T/#e1fc2a76267e3077c0de40ad8902e2158c00164e1 > > Mark