Subject: Re: [PATCH v2 1/2] gitk: fix the position of the main main window on initialize

From: Mark Levedahl <[email-masked]>
Date: Mon, 22 Sep 2025 06:16:09 -0400

No longer relevant. Cygwin up until 2011 used an unsupportable port of the Windows Tcl/Tk
permanently stuck at 8.4.1. 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).

On 9/22/25 2:00 AM, Johannes Sixt wrote:
> Am 20.09.25 um 20:40 schrieb Michael Rappazzo:
>> The main window geometry was only restoring size but not position.
>> Use after idle to ensure proper timing on OS's where that is necessary.
>>
>> Signed-off-by: Michael Rappazzo <[email-masked]>
>> ---
>>  gitk | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/gitk b/gitk
>> index 6e4d71d585..95469a8fae 100755
>> --- a/gitk
>> +++ b/gitk
>> @@ -2775,6 +2775,8 @@ proc makewindow {} {
>>              }
>>              wm geometry . "${w}x$h"
>>          }
>> +        # Restore full geometry including position after window is mapped
>> +        after idle [list wm geometry . $geometry(main)]
>>      }
>>  
>>      if {[info exists geometry(state)] && $geometry(state) eq "zoomed"} {
> I have been carrying 22d37f865268 ("Revert "gitk: Only restore window
> size from ~/.gitk, not position"", 2008-05-26) since, like, 17 years in
> my branch j6t-testing. Perhaps Mark can tell us why b9bee11526ec ("gitk:
> Only restore window size from ~/.gitk, not position", 2008-03-10) was
> needed...
>
> -- Hannes
>