Re: [PATCH v3 1/2] Revert "gitk: Only restore window size from ~/.gitk, not position"
- From
Mike Rappazzo <rappazzo@gmail.com>
- Date
- Sep 28, 2025, 15:01 UTC
- Message-ID
- <CANoM8SWT4atDtFDgMvx5ivun9-sXZCsmT6gUG07byYOB0+2DFw@mail.gmail.com>
- In-Reply-To
- <be1e6cba-c94d-4c2f-ab68-e368ffe9daa5@gmail.com>
On Sun, Sep 28, 2025 at 10:17 AM Mark Levedahl <mlevedahl@gmail.com> wrote:
Show 53 quoted lines
>
> On 9/28/25 9:54 AM, Michael Rappazzo wrote:
> > From: Johannes Sixt <johannes.sixt@telecom.at>
> >
> > 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 <mlevedahl@gmail.com>
> > Signed-off-by: Johannes Sixt <j6t@kdbg.org>
> > ---
> > 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