Skip to content

Commit

Permalink
gitk: Match ttk fonts to gitk fonts
Browse files Browse the repository at this point in the history
The fonts set in setoptions aren't consistently picked up by ttk, which
uses its own predefined fonts. This is noticeable when switching
between using and not using ttk with custom fonts or in HiDPI settings
(where the default TTK fonts do _not_ respect tk sclaing).

Fix by mapping the ttk fontset to the one used by gitk internally.

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
Giuseppe Bilotta authored and Paul Mackerras committed Dec 12, 2015
1 parent d70c034 commit 6cb73c8
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions gitk
Original file line number Diff line number Diff line change
Expand Up @@ -1943,6 +1943,8 @@ proc confirm_popup {msg {owner .}} {
}

proc setoptions {} {
global use_ttk

if {[tk windowingsystem] ne "win32"} {
option add *Panedwindow.showHandle 1 startupFile
option add *Panedwindow.sashRelief raised startupFile
Expand All @@ -1965,6 +1967,18 @@ proc setoptions {} {
option add *Listbox.font mainfont startupFile
}

proc setttkstyle {} {
eval font configure TkDefaultFont [fontflags mainfont]
eval font configure TkTextFont [fontflags textfont]
eval font configure TkHeadingFont [fontflags mainfont]
eval font configure TkCaptionFont [fontflags mainfont] -weight bold
eval font configure TkTooltipFont [fontflags uifont]
eval font configure TkFixedFont [fontflags textfont]
eval font configure TkIconFont [fontflags uifont]
eval font configure TkMenuFont [fontflags uifont]
eval font configure TkSmallCaptionFont [fontflags uifont]
}

# Make a menu and submenus.
# m is the window name for the menu, items is the list of menu items to add.
# Each item is a list {mc label type description options...}
Expand Down Expand Up @@ -12356,6 +12370,10 @@ if {![info exists have_ttk]} {
set use_ttk [expr {$have_ttk && $want_ttk}]
set NS [expr {$use_ttk ? "ttk" : ""}]

if {$use_ttk} {
setttkstyle
}

regexp {^git version ([\d.]*\d)} [exec git version] _ git_version

set show_notes {}
Expand Down

0 comments on commit 6cb73c8

Please sign in to comment.