Re: [PATCH v3 1/2] Revert "gitk: Only restore window size from ~/.gitk, not position"
- From
Mark Levedahl <mlevedahl@gmail.com>
- Date
- Sep 28, 2025, 14:17 UTC
- Message-ID
- <be1e6cba-c94d-4c2f-ab68-e368ffe9daa5@gmail.com>
- In-Reply-To
- <20250928135435.59623-2-rappazzo@gmail.com>
On 9/28/25 9:54 AM, Michael Rappazzo wrote:
Show 41 quoted lines
> 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).
Mark