+++ /dev/null
-# git-gui desktop icon creators
-# Copyright (C) 2006, 2007 Shawn Pearce
-
-proc do_windows_shortcut {} {
- global argv0
-
- set fn [tk_getSaveFile \
- -parent . \
- -title [append "[appname] ([reponame]): " [mc "Create Desktop Icon"]] \
- -initialfile "Git [reponame].bat"]
- if {$fn != {}} {
- if {[file extension $fn] ne {.bat}} {
- set fn ${fn}.bat
- }
- 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
- } err]} {
- error_popup [strcat [mc "Cannot write script:"] "\n\n$err"]
- }
- }
-}
-
-proc do_cygwin_shortcut {} {
- global argv0
-
- if {[catch {
- set desktop [exec cygpath \
- --windows \
- --absolute \
- --long-name \
- --desktop]
- }]} {
- set desktop .
- }
- set fn [tk_getSaveFile \
- -parent . \
- -title [append "[appname] ([reponame]): " [mc "Create Desktop Icon"]] \
- -initialdir $desktop \
- -initialfile "Git [reponame].bat"]
- if {$fn != {}} {
- if {[file extension $fn] ne {.bat}} {
- set fn ${fn}.bat
- }
- if {[catch {
- set fd [open $fn w]
- set sh [exec cygpath \
- --windows \
- --absolute \
- /bin/sh.exe]
- set me [exec cygpath \
- --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
- } err]} {
- error_popup [strcat [mc "Cannot write script:"] "\n\n$err"]
- }
- }
-}
-
-proc do_macosx_app {} {
- global argv0 env
-
- set fn [tk_getSaveFile \
- -parent . \
- -title [append "[appname] ([reponame]): " [mc "Create Desktop Icon"]] \
- -initialdir [file join $env(HOME) Desktop] \
- -initialfile "Git [reponame].app"]
- if {$fn != {}} {
- if {[file extension $fn] ne {.app}} {
- set fn ${fn}.app
- }
- if {[catch {
- set Contents [file join $fn Contents]
- set MacOS [file join $Contents MacOS]
- set exe [file join $MacOS git-gui]
-
- file mkdir $MacOS
-
- set fd [open [file join $Contents Info.plist] w]
- puts $fd {<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>git-gui</string>
- <key>CFBundleIdentifier</key>
- <string>org.spearce.git-gui</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleVersion</key>
- <string>1.0</string>
- <key>NSPrincipalClass</key>
- <string>NSApplication</string>
-</dict>
-</plist>}
- close $fd
-
- set fd [open $exe w]
- puts $fd "#!/bin/sh"
- foreach name [lsort [array names env]] {
- set value $env($name)
- switch -- $name {
- GIT_DIR { set value [file normalize [gitdir]] }
- }
-
- switch -glob -- $name {
- SSH_* -
- GIT_* {
- puts $fd "if test \"z\$$name\" = z; then"
- puts $fd " export $name=[sq $value]"
- puts $fd "fi &&"
- }
- }
- }
- puts $fd "export PATH=[sq [file dirname $::_git]]:\$PATH &&"
- puts $fd "cd [sq [file normalize [pwd]]] &&"
- puts $fd "exec \\"
- puts $fd " [sq [info nameofexecutable]] \\"
- puts $fd " [sq [file normalize $argv0]]"
- close $fd
-
- file attributes $exe -permissions u+x,g+x,o+x
- } err]} {
- error_popup [strcat [mc "Cannot write icon:"] "\n\n$err"]
- }
- }
-}