git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Mark LevedahlNext: Johannes Sixt
Message 4 of 12 in “gitk: make Tags and Heads window geometry sticky”
  1. 0/2 gitk: make Tags and Heads window geometry stickyMichael Rappazzo, Sep 28, 2025
  2. 1/2 Revert "gitk: Only restore window size from ~/.gitk, not position"Michael Rappazzo, Sep 28, 2025
  3. Mark LevedahlSep 28, 2025
  4. Mike RappazzoSep 28, 2025
  5. Johannes SixtOct 17, 2025
  6. Mark LevedahlOct 17, 2025
  7. Junio C HamanoSep 28, 2025
  8. 2/2 gitk: make Tags and Heads window geometry stickyMichael Rappazzo, Sep 28, 2025
  9. Junio C HamanoSep 28, 2025
  10. Johannes SixtOct 4, 2025
  11. gitk: persist position and size of the Tags and Heads windowJohannes Sixt, Oct 4, 2025
  12. gitk: persist position and size of the Tags and Heads windowJohannes Sixt, Oct 6, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.