Re: Trouble with gitk and ActiveState tcltk on OS X
- From
Shawn O. Pearce <spearce@spearce.org>
- Date
- Feb 11, 2008, 04:49 UTC
- Message-ID
- <20080211044941.GX24004@spearce.org>
- In-Reply-To
- <m2ve4wh5sx.fsf@ziti.evri.corp>
Seth Falcon <seth@userprimary.net> wrote:
Show 11 quoted lines
> I'm hoping that another OS X git user can point me in the right > direction... > > I installed the ActiveState tcltk and set the following in > git/config.mak: > > TCLTK_PATH=/usr/local/bin/wish8.5 > > With this, git gui works great (I get a real icon when switching apps > and the overall look is more consistent than when I was running with > X11 + MacPorts tcltk).
For what its worth I use the native Tcl/Tk that ships with Mac OS X, /usr/bin/wish, which is really in /Library/Frameworks/Tk.framework. I've never used the ActiveState Tcl/Tk package on Mac OS X.
git-gui builds against the Tk.framework I mentioned above when on Mac OS X. In particular the git-gui Makefile seems to ignore the setting of TCLTK_PATH when it sees the above mentioned Tk.framework is available in your filesystem.
The reason why you get nice icons for git-gui is because we use a feature of the Aqua port Tcl/Tk framework that allows us to create a full Mac OS X app by copying a tiny executable from the framework, and supplying our own resource bundle. The bundle configures the icon. Its the only way to get a custom icon on Mac OS X.
Launching gitk from within git-gui (Repository -> Visualize History) uses the same app and bundle, so gitk inherits the icon too. I'd also bet gitk works this way, because it isn't launching through the ActiveState Tcl/Tk port.
In short, why not just use the native Aqua Tcl/Tk that Apple ships? Why go through X11 and MacPorts?
-- Shawn.