git-gui i18n: internationalize use of colon punctuation
[gitweb.git] / lib / shortcut.tcl
index 38c3151b05c732d919943e44629bfc0a8c9fb617..39d23f96dfcab14e5f921450522d332e39e70abe 100644 (file)
@@ -2,6 +2,7 @@
 # Copyright (C) 2006, 2007 Shawn Pearce
 
 proc do_windows_shortcut {} {
+       global _gitworktree
        set fn [tk_getSaveFile \
                -parent . \
                -title [append "[appname] ([reponame]): " [mc "Create Desktop Icon"]] \
@@ -10,12 +11,15 @@ proc do_windows_shortcut {} {
                if {[file extension $fn] ne {.lnk}} {
                        set fn ${fn}.lnk
                }
+               # Use git-gui.exe if available (ie: git-for-windows)
+               set cmdLine [auto_execok git-gui.exe]
+               if {$cmdLine eq {}} {
+                       set cmdLine [list [info nameofexecutable] \
+                                                        [file normalize $::argv0]]
+               }
                if {[catch {
-                               win32_create_lnk $fn [list \
-                                       [info nameofexecutable] \
-                                       [file normalize $::argv0] \
-                                       ] \
-                                       [file dirname [file normalize [gitdir]]]
+                               win32_create_lnk $fn $cmdLine \
+                                       [file normalize $_gitworktree]
                        } err]} {
                        error_popup [strcat [mc "Cannot write shortcut:"] "\n\n$err"]
                }
@@ -23,7 +27,7 @@ proc do_windows_shortcut {} {
 }
 
 proc do_cygwin_shortcut {} {
-       global argv0
+       global argv0 _gitworktree
 
        if {[catch {
                set desktop [exec cygpath \
@@ -54,9 +58,9 @@ proc do_cygwin_shortcut {} {
                                        $argv0]
                                win32_create_lnk $fn [list \
                                        $sh -c \
-                                       "CHERE_INVOKING=1 source /etc/profile;[sq $me]" \
+                                       "CHERE_INVOKING=1 source /etc/profile;[sq $me] &" \
                                        ] \
-                                       [file dirname [file normalize [gitdir]]]
+                                       [file normalize $_gitworktree]
                        } err]} {
                        error_popup [strcat [mc "Cannot write shortcut:"] "\n\n$err"]
                }