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.