git/list[1] front-page[2] threads[3] people[4] search[5] about
 

gitk: "lime" color incompatible with older Tk versions

From
Andrew Janke <floss@apjanke.net>
Date
May 1, 2016, 17:03 UTC
Message-ID
<03babaa1-9011-0010-c4b3-6cad8109d3ab@apjanke.net>
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
Next: Stefan Beller
Message 1 of 11 in “gitk: "lime" color incompatible with older Tk versions”
  1. Andrew JankeMay 1, 2016
  2. Stefan BellerMay 2, 2016
  3. David AguilarJan 13, 2017
  4. gitk pull request // was: Re: gitk: "lime" color incompatible with older Tk versionsDavid Aguilar, Jan 14, 2017
  5. Junio C HamanoJan 15, 2017
  6. Paul MackerrasJan 16, 2017
  7. Junio C HamanoJan 16, 2017
  8. Junio C HamanoJan 17, 2017
  9. gitk: remove translated message from commentsDavid Aguilar, Jan 18, 2017
  10. Paul MackerrasJan 18, 2017
  11. Junio C HamanoJan 18, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.