summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 44be340)
raw | patch | inline | side by side (parent: 44be340)
author | Shawn O. Pearce <spearce@spearce.org> | |
Sun, 12 Nov 2006 00:32:24 +0000 (19:32 -0500) | ||
committer | Shawn O. Pearce <spearce@spearce.org> | |
Sun, 12 Nov 2006 05:16:02 +0000 (00:16 -0500) |
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>
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>
git-gui | patch | blob | history |
index 4449c7d67e092d2dbed82a21bfdc86f2b6dad2c4..ce49c38987e2eac9b438388ab3fd9038bbdaca5f 100755 (executable)
--- a/git-gui
+++ b/git-gui
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]]
}
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]]
# -- 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}