diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2006-11-11 19:32:24 -0500 |
---|---|---|
committer | Shawn O. Pearce <spearce@spearce.org> | 2006-11-12 00:16:02 -0500 |
commit | c4fe7728529fd9f3dc2c413ce889d359732cd3a4 (patch) | |
tree | d7ea106506099cbc9e0e55fff3dfaf832858ace7 | |
parent | 44be340e4d8d39475e86d3e00cec31fec0d0f6c1 (diff) | |
download | git-c4fe7728529fd9f3dc2c413ce889d359732cd3a4.tar.gz |
git-gui: Simplified format of geometry configuration.
The gui.geometry config value was starting to contain
the odd string \\{ as part of its value due to the
way the Tcl lists were being supplied to git repo-config.
Now we write out only three values: the overall window
geomtry, the y position of the horizontal sash, and
the x position of the vertical sash. All other data is
skipped, which makes the gui.geometry value simpler.
While debugging this I noticed that the save_my_config
procedure was being invoked multiple times during exit
due to do_quit getting invoked over and over again. So
now we set a flag in do_quit and don't perform any of our
"at exit" type of logic if we've already been through the
do_quit procedure once.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
-rwxr-xr-x | git-gui | 29 |
1 files changed, 19 insertions, 10 deletions
@@ -48,11 +48,9 @@ proc save_my_config {} { set repo_config(gui.trustmtime) [list $cfg_trust_mtime] } - set cfg_geometry [list \ - [wm geometry .] \ - [.vpane sash coord 0] \ - [.vpane.files sash coord 0] \ - ] + set cfg_geometry [wm geometry .] + append cfg_geometry " [lindex [.vpane sash coord 0] 1]" + append cfg_geometry " [lindex [.vpane.files sash coord 0] 0]" if {[catch {set rc_geometry $repo_config(gui.geometry)}]} { set rc_geometry [list [list]] } @@ -1422,8 +1420,13 @@ proc do_repack {} { console_exec $w $cmd } +set quitting 0 + proc do_quit {} { - global gitdir ui_comm + global gitdir ui_comm quitting + + if {$quitting} return + set quitting 1 set save [file join $gitdir GITGUI_MSG] set msg [string trim [$ui_comm get 0.0 end]] @@ -1837,10 +1840,16 @@ pack .status -anchor w -side bottom -fill x # -- Load geometry catch { -wm geometry . [lindex $repo_config(gui.geometry) 0 0] -eval .vpane sash place 0 [lindex $repo_config(gui.geometry) 0 1] -eval .vpane.files sash place 0 [lindex $repo_config(gui.geometry) 0 2] -} +set gm [lindex $repo_config(gui.geometry) 0] +wm geometry . [lindex $gm 0] +.vpane sash place 0 \ + [lindex [.vpane sash coord 0] 0] \ + [lindex $gm 1] +.vpane.files sash place 0 \ + [lindex $gm 2] \ + [lindex [.vpane.files sash coord 0] 1] +} +unset gm # -- Key Bindings bind $ui_comm <$M1B-Key-Return> {do_commit;break} |