I'm running Xubuntu, (actually linux mint with xfce on top, but I suppose it's essentially the same thing)

I set my appearance theme to (a modified version of) MurrinaStormCloud, but if I run gitk, it uses ugly font rendering, ugly colors, ugly widgets.

I think tcl is the thing to blame here, but can I fix it?

Here's a picture for comparison between what firefox looks like under the current theme and what gitk looks like:

gitk ugly theme

link|improve this question

74% accept rate
1  
nice that we have gitg, but I still vote this question up to see if anyone can solve tcl/tk ugliness. gitk is still more compact than gitg. – user7304 Aug 27 '09 at 20:07
feedback

6 Answers

up vote 17 down vote accepted

gitk is implemented in tcl/tk. I've searched around but there doesn't seem to be much you can do; it is scolded as ugly on Linux everywhere. And apart from using a hideous toolkit, gitk has been growing worse for me as they put in more functions (mostly not used) the UI becomes even more confusing.

So I instead of a solution I recommend gitg, which is a similar tool, less mature, using GTK+.

link|improve this answer
3  
+1 gitg didn't know about thatone – Joakim Elofsson Aug 26 '09 at 20:43
I've heard about gitg. Sounds promising. Though, the thing is, gitk looked OK on windows, if I remember correctly. – hasen j Aug 27 '09 at 0:14
gitg is much nicer. +1 for that! – crazy2be May 14 '11 at 17:58
All tcl/tk apps look hideous, unfortunately. – jpaugh Dec 3 '11 at 19:07
feedback

Take a look at changing the default tk version.

link|improve this answer
2  
Great, better font rendering. But it still doesn't follow the GTK theme – hasen j Aug 29 '09 at 19:01
feedback

To fix this the Debian (Ubuntu) way:

$ sudo apt-get install tk8.5
$ sudo update-alternatives --config wish

And then pick the wish8.5 alternative.

link|improve this answer
That's much nicer looking, although it still doesn't follow the Gtk+ or Qt theme. +1 – crazy2be May 14 '11 at 17:54
Thank you, I didn't expect perfect desktop integration but 8.5 does look much much better that the ones in 8.4. – Lucian Adrian Grijincu May 20 '11 at 20:36
feedback

tcl/tk 8.5 is actually themeable and looks rather native on Windows 7 and apparently on Mac. Less care seems to have been given to write theme engine bridges for it under linux, but you can do two things:

To have it persist between reboots add the line *TkTheme: clam to ~/.Xresources, but I'm not sure if that's read whether you launch your desktop environment with startx or not.

  • To get tk to use qt themes, you'll need to checkout and build tile-qt from: git://tktable.git.sourceforge.net/gitroot/tktable/tile-qt

Under Ubuntu 11.04 it was pretty easy:

$./configure --with-tcl=/usr/lib/tcl8.5/ --with-tk=/usr/lib/tk8.5/

$make

$sudo checkinstall

checkinstall being for creating a quick .deb instead of installing directly, keeps the system tidy.

Then afterwards as above, get tk to use your qt themes:

$echo '*TkTheme: tileqt' | xrdb -merge -
  • There's also a tile-gtk in the same sourceforge repo as tile-qt, but it's thouroughly out-of date. I did manage to build it and install it after much fiddling but the visual results were messy - not recommended.
link|improve this answer
feedback

as kaizer.se said gitk (and also git gui) is implemented using tcl/tk, tk is the widget toolkit and do not care about gtk-based themes (or any at all afaik). And no this is not something you can fix (well rewriting gitk to use gtk widget's is ofc not impossible but hardly a 'fix') other than replacing it with something else.

You can change the font's in the preferences to make it slightly better, I use:
Main font: Helvetica 9
Diff display font: Courier 9
User interface font: Helvetica 9

This looks a little better and not as broken as the default's, well for me.

link|improve this answer
feedback

Gabriel Morin's post is good, but tile-qt doesn't build anymore with those instructions and, though the blog post he linked to (mine, by the way) still works, it's no longer the best solution I know.

For people who want something better than the "clam" theme, PySolFC includes a Clearlooks theme for Ttk and I wrote another blog post which explains how to install it.

Here are the relevant parts of it, adapted for a Lubuntu user (which I now am):

# Get the theme
sudo apt-get install pysolfc

# Copy it into your user profile to not rely on PySolFC's presence
mkdir -p ~/.local/share/tkthemes
cp -r /usr/share/games/pysolfc/themes/clearlooks ~/.local/share/tkthemes/

# (optional) Remove PySolFC now
sudo apt-get remove pysolfc
sudo apt-get autoremove

# Add it to Ttk's search path
echo "export TCLLIBPATH=~/.local/share/tkthemes" >> ~/.xsessionrc

# Set the theme
echo "*TkTheme: clearlooks" >> ~/.Xresources

# Test it in this specific terminal window
export TCLLIBPATH=~/.local/share/tkthemes
xrdb -merge ~/.Xresources
git gui     # gitk's "this isn't a repo" dialog is always ugly

# ...and then log out and back in to apply .xsessionrc for the whole desktop

There are some widgets which are still ugly (the menu bar and what I assume is some sort of monospaced text widget) but I don't know enough Tcl/Tk to patch the theme.

(And I've heard rumors that the menu bar wasn't made themable because it's delegated to the OS to draw on Windows and MacOS)

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.