X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=lib%2Fshortcut.tcl;h=78878ef89d11210d614fc8b3d2957705611bdaa3;hb=9cb268c426ccb2bb836418caad669476b5dd1933;hp=d0e63a3d0e5be952fd07c77ababecf8c3a5b2aff;hpb=1ac17950e93a956d01b042db3de70010195eddcc;p=git.git diff --git a/lib/shortcut.tcl b/lib/shortcut.tcl index d0e63a3d0..78878ef89 100644 --- a/lib/shortcut.tcl +++ b/lib/shortcut.tcl @@ -2,34 +2,29 @@ # Copyright (C) 2006, 2007 Shawn Pearce proc do_windows_shortcut {} { - global argv0 - + global _gitworktree set fn [tk_getSaveFile \ -parent . \ -title [append "[appname] ([reponame]): " [mc "Create Desktop Icon"]] \ - -initialfile "Git [reponame].bat"] + -initialfile "Git [reponame].lnk"] if {$fn != {}} { - if {[file extension $fn] ne {.bat}} { - set fn ${fn}.bat + if {[file extension $fn] ne {.lnk}} { + set fn ${fn}.lnk } if {[catch { - set ge [file normalize [file dirname $::_git]] - set fd [open $fn w] - puts $fd "@ECHO Entering [reponame]" - puts $fd "@ECHO Starting git-gui... please wait..." - puts $fd "@SET PATH=$ge;%PATH%" - puts $fd "@SET GIT_DIR=[file normalize [gitdir]]" - puts -nonewline $fd "@\"[info nameofexecutable]\"" - puts $fd " \"[file normalize $argv0]\"" - close $fd + win32_create_lnk $fn [list \ + [info nameofexecutable] \ + [file normalize $::argv0] \ + ] \ + [file normalize $_gitworktree] } err]} { - error_popup [append [mc "Cannot write script:"] "\n\n$err"] + error_popup [strcat [mc "Cannot write shortcut:"] "\n\n$err"] } } } proc do_cygwin_shortcut {} { - global argv0 + global argv0 _gitworktree if {[catch { set desktop [exec cygpath \ @@ -44,13 +39,12 @@ proc do_cygwin_shortcut {} { -parent . \ -title [append "[appname] ([reponame]): " [mc "Create Desktop Icon"]] \ -initialdir $desktop \ - -initialfile "Git [reponame].bat"] + -initialfile "Git [reponame].lnk"] if {$fn != {}} { - if {[file extension $fn] ne {.bat}} { - set fn ${fn}.bat + if {[file extension $fn] ne {.lnk}} { + set fn ${fn}.lnk } if {[catch { - set fd [open $fn w] set sh [exec cygpath \ --windows \ --absolute \ @@ -59,19 +53,13 @@ proc do_cygwin_shortcut {} { --unix \ --absolute \ $argv0] - set gd [exec cygpath \ - --unix \ - --absolute \ - [gitdir]] - puts $fd "@ECHO Entering [reponame]" - puts $fd "@ECHO Starting git-gui... please wait..." - puts -nonewline $fd "@\"$sh\" --login -c \"" - puts -nonewline $fd "GIT_DIR=[sq $gd]" - puts -nonewline $fd " [sq $me]" - puts $fd " &\"" - close $fd + win32_create_lnk $fn [list \ + $sh -c \ + "CHERE_INVOKING=1 source /etc/profile;[sq $me] &" \ + ] \ + [file normalize $_gitworktree] } err]} { - error_popup [append [mc "Cannot write script:"] "\n\n$err"] + error_popup [strcat [mc "Cannot write shortcut:"] "\n\n$err"] } } } @@ -146,7 +134,7 @@ proc do_macosx_app {} { file attributes $exe -permissions u+x,g+x,o+x } err]} { - error_popup [append [mc "Cannot write icon:"] "\n\n$err"] + error_popup [strcat [mc "Cannot write icon:"] "\n\n$err"] } } }