Hi Mark, On Thu, 28 Aug 2025, Mark Levedahl wrote: > git-gui includes git-gui--yesno that relies upon Tk 8.5 constructs, and > this dialog box is not supported with Tk 9.0. Tk provides tk_messagebox > for this same purpose, fully supported in Tk 8.5+, so use tk_messagebox > instead. Thank you very much! Let's keep your patch separate, to give you full credit, and to keep Heiko's patch as close to the original that has survived in Git for Windows for so long. Ciao, Johannes > > Signed-off-by: Mark Levedahl <mlevedahl@xxxxxxxxx> > --- > git-gui--askyesno | 35 +++++++---------------------------- > 1 file changed, 7 insertions(+), 28 deletions(-) > > diff --git a/git-gui--askyesno b/git-gui--askyesno > index 142d1bc..cd986f2 100755 > --- a/git-gui--askyesno > +++ b/git-gui--askyesno > @@ -10,12 +10,6 @@ exec wish "$0" -- "$@" > # overridden via the optional `--title` command-line > # option. > > -set NS {} > -set use_ttk [package vsatisfies [package provide Tk] 8.5] > -if {$use_ttk} { > - set NS ttk > -} > - > set title "Question?" > if {$argc < 1} { > puts stderr "Usage: $argv0 <question>" > @@ -28,25 +22,7 @@ if {$argc < 1} { > set prompt [join $argv " "] > } > > -${NS}::frame .t > -${NS}::label .t.m -text $prompt -justify center -width 40 > -.t.m configure -wraplength 400 > -pack .t.m -side top -fill x -padx 20 -pady 20 -expand 1 > -pack .t -side top -fill x -ipadx 20 -ipady 20 -expand 1 > - > -${NS}::frame .b > -${NS}::frame .b.left -width 200 > -${NS}::button .b.yes -text Yes -command {exit 0} > -${NS}::button .b.no -text No -command {exit 1} > - > -pack .b.left -side left -expand 1 -fill x > -pack .b.yes -side left -expand 1 > -pack .b.no -side right -expand 1 -ipadx 5 > -pack .b -side bottom -fill x -ipadx 20 -ipady 15 > - > -bind . <Key-Return> {exit 0} > -bind . <Key-Escape> {exit 1} > - > +set dlgicon {question} > if {$::tcl_platform(platform) eq {windows}} { > set icopath [file dirname [file normalize $argv0]] > if {[file tail $icopath] eq {git-core}} { > @@ -55,9 +31,12 @@ if {$::tcl_platform(platform) eq {windows}} { > set icopath [file dirname $icopath] > set icopath [file join $icopath share git git-for-windows.ico] > if {[file exists $icopath]} { > - wm iconbitmap . -default $icopath > + set dlgicon $icopath > } > } > > -wm title . $title > -tk::PlaceWindow . > +wm withdraw . > + > +option add *Dialog.msg.font {Sans 10} > +set ans [tk_messageBox -icon $dlgicon -message $prompt -title $title -type yesno] > +exit [expr $ans eq {no}] > -- > 2.51.0.99.15 > > >