+ bind . <Destroy> {savestuff %W}
+}
+
+proc savestuff {w} {
+ global canv canv2 canv3 ctext cflist mainfont textfont
+ global stuffsaved
+ if {$stuffsaved} return
+ catch {
+ set f [open "~/.gitk-new" w]
+ puts $f "set mainfont {$mainfont}"
+ puts $f "set textfont {$textfont}"
+ puts $f "set geometry(width) [winfo width .ctop]"
+ puts $f "set geometry(height) [winfo height .ctop]"
+ puts $f "set geometry(canv1) [winfo width $canv]"
+ puts $f "set geometry(canv2) [winfo width $canv2]"
+ puts $f "set geometry(canv3) [winfo width $canv3]"
+ puts $f "set geometry(canvh) [winfo height $canv]"
+ puts $f "set geometry(cdeth) [winfo height .ctop.cdet]"
+ set wid [expr {([winfo width $ctext] - 8) \
+ / [font measure $textfont "0"]}]
+ set ht [expr {([winfo height $ctext] - 8) \
+ / [font metrics $textfont -linespace]}]
+ puts $f "set geometry(ctextw) $wid"
+ puts $f "set geometry(ctexth) $ht"
+ set wid [expr {([winfo width $cflist] - 11) \
+ / [font measure [$cflist cget -font] "0"]}]
+ puts $f "set geometry(cflistw) $wid"
+ close $f
+ file rename -force "~/.gitk-new" "~/.gitk"
+ }
+ set stuffsaved 1