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

Re: [msysGit] [PATCH] git-gui: use themed tk widgets with Tk 8.5

From
Pat Thoyts <patthoyts@googlemail.com>
Date
Dec 20, 2009, 15:23 UTC
Message-ID
<a5b261830912200723s131f0b93w2f5ab94f19faf86a@mail.gmail.com>
In-Reply-To
<alpine.DEB.1.00.0912201412420.4985@pacific.mpi-cbg.de>
2009/12/20 Johannes Schindelin <Johannes.Schindelin@gmx.de>:
Show 5 quoted lines
>>
>>  On Windows and MacOSX ttk defaults to the native look as much as possible.
>>  On X11 the user may select a theme using the TkTheme XRDB resource class.
>
> Maybe you could describe a quick way to set that resource?
echo '*TkTheme: clam' | xrdb -merge -
Or edit ~/.Xdefaults or maybe ~/.Xresources to add a line containing
 *TkTheme: clam
Used to be the X resource database was the way to customize X11. The
builtin themes are:
default: thin borders, kind of windows98ish
classic: motif style
alt: more windowsy still.
clam: based on some version of the XFCE look a few years ago.

On Windows you also get winnative, xpnative or vista but the intention is that Tk just makes everything look native by selecting the correct theme when it starts up. MacOSX gets an aqua theme. There is some work in progress to get the Qt or Gtk styling engines to draw the ttk elements so that it can pick up the current GNOME/KDE desktop - effectively making it look native on such systems there too. However, on Windows is where this stuff makes the most difference and works best.

You can of course just run git-gui in any git repository to see how it looks at the moment. However I put up another screenshot at http://www.patthoyts.tk/screenshots/git-gui-old.png which is the unmodified git-gui code with tcl8.5. The fonts look worse with 8.4 (even on windows).

Show 6 quoted lines
> As to the patch: it is huge.  I suspect that it would be easier to read
> and verify if it was done in two patches: the first one introducing helper
> procs that replace the existing repeated code, and a second patch that
> modifies only the helper procs to handle ttk if desired.  You did that
> with pad_label, but that proc is not defined in a central place, but
> limited to about.tcl.

I could split it up but it is quite hard to validate without switching themes to ensure you got everything. I toggle through some themes looking for unchanged widgets or rogue borders. I did find a bug in the choose_rev conversion when I rechecked with tcl 8.4 so I will reissue this.

Pat Thoyts
Previous: Johannes SchindelinNext: Junio C Hamano
Message 3 of 6 in “git-gui: use themed tk widgets with Tk 8.5”
  1. git-gui: use themed tk widgets with Tk 8.5Pat Thoyts, Dec 20, 2009
  2. Johannes SchindelinDec 20, 2009
  3. Pat ThoytsDec 20, 2009
  4. Junio C HamanoDec 20, 2009
  5. Pat ThoytsDec 20, 2009
  6. Junio C HamanoDec 20, 2009

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.