git-gui
is a graphical interface to git
written in Tk that is particularly useful as a commit tool. However,
it doesn't look all that
native when used on Windows XP or Vista. So I have spent a few
hours applying ttk magic to the
application to bring it up to date for Tk 8.5/8.6. Mostly this just
means the usual selection of ttk widgets over the standard ones or
replacing tk_optionMenu with ttk::combobox. I left in some of the
coloured backgrounds that are being used as headers but did the
appropriate ttk::style stuff to make it work with the style engine. I
also added support for the 8.6 tk fontchooser which shows the
stock font selection dialog on MacOS and Windows. So now it looks like
this on Windows 7
I actually did most of this on linux testing out the tile-qt theme so on Ubuntu it looks pretty native too if that theme is available. Under X11 there is no 'native' theme to select but you can choose one by defining TkTheme in the X resource database. Something like echo '*TkTheme: tileqt' | xrdb -merge - will select the Qt theming engine. Another option is clam which is built in to Tk 8.5.
There are still some issues to deal with. The menus and tooltips ping a bit with Ubuntu's compiz window manager. I've done some work on this recently to get the correct extended window manager hints applied. We have patched 8.5.8+ already for the menu hint but Tk needs a generic way to let scripts specify the window type using EMWH attributes. At the moment I have a wm attributes \$win -type command option to do this and this works pretty well. At least the tooltips animate the right way with this and the combobox dropdown acts more normally.