Hi, git folks,
I'm having trouble running gitk on Mac OS X 10.9.5. The gitk program uses the color "lime", which is not present in older versions of Tk, apparently including the Tk 8.5 which ships with 10.9.
When I try to launch it, I get this error.
|$ gitk Error in startup script: unknown color name "lime" (processing "-fore" option) invoked from within "$ctext tag conf m2 -fore [lindex $mergecolors 2]" (procedure "makewindow" line 347) invoked from within "makewindow" (file "/usr/local/bin/gitk" line 12434)|
This compatibility problem was noted before back in 2012, in http://www.mail-archive.com/git%40vger.kernel.org/msg14496.html.
Would you consider switching from lime to a hex value color, for compatibility with users of older versions of Tk? A patch to do so is below; only the file gitk-git/gitk needs to be changed.
Cheers, Andrew Janke
diff --git a/gitk-git/gitk b/gitk-git/gitk index 805a1c7..db5560d 100755 --- a/gitk-git/gitk +++ b/gitk-git/gitk @@ -2265,7 +2265,7 @@ proc makewindow {} { set h [expr {[font metrics uifont -linespace] + 2}] set progresscanv .tf.bar.progress canvas $progresscanv -relief sunken -height $h -borderwidth 2 - set progressitem [$progresscanv create rect -1 0 0 $h -fill lime] + set progressitem [$progresscanv create rect -1 0 0 $h -fill "#99FF00"] set fprogitem [$progresscanv create rect -1 0 0 $h -fill yellow] set rprogitem [$progresscanv create rect -1 0 0 $h -fill red] } @@ -3397,7 +3397,7 @@ set rectmask { 0x00, 0x00, 0xfc, 0x0f, 0xfc, 0x0f, 0xfc, 0x0f, 0xfc, 0x0f, 0xfc, 0x0f, 0xfc, 0x0f, 0xfc, 0x0f, 0x00, 0x00}; } -image create bitmap reficon-H -background black -foreground lime \ +image create bitmap reficon-H -background black -foreground "#99FF00" \ -data $rectdata -maskdata $rectmask image create bitmap reficon-o -background black -foreground "#ddddff" \ -data $rectdata -maskdata $rectmask @@ -12188,7 +12188,7 @@ if {[tk windowingsystem] eq "aqua"} { set extdifftool "meld" } -set colors {lime red blue magenta darkgrey brown orange} +set colors {"#99FF00" red blue magenta darkgrey brown orange} if {[tk windowingsystem] eq "win32"} { set uicolor SystemButtonFace set uifgcolor SystemButtonText @@ -12206,12 +12206,12 @@ if {[tk windowingsystem] eq "win32"} { } set diffcolors {red "#00a000" blue} set diffcontext 3 -set mergecolors {red blue lime purple brown "#009090" magenta "#808000" "#009000" "#ff0080" cyan "#b07070" "#70b0f0" "#70f0b0" "#f0b070" "#ff70b0"} +set mergecolors {red blue "#99FF00" purple brown "#009090" magenta "#808000" "#009000" "#ff0080" cyan "#b07070" "#70b0f0" "#70f0b0" "#f0b070" "#ff70b0"} set ignorespace 0 set worddiff "" set markbgcolor "#e0e0ff" -set headbgcolor lime +set headbgcolor "#99FF00" set headfgcolor black set headoutlinecolor black set remotebgcolor #ffddaa @@ -12226,7 +12226,7 @@ set linehoverfgcolor black set linehoveroutlinecolor black set mainheadcirclecolor yellow set workingfilescirclecolor red -set indexcirclecolor lime +set indexcirclecolor "#99FF00" set circlecolors {white blue gray blue blue} set linkfgcolor blue set circleoutlinecolor $fgcolor