gitk: always use themed Tk (ttk)

gitk added the option to used themed Tk (ttk) in 0cc08ff7dd ("gitk: Add a user preference to enable/disable use of themed widgets", 2009-09-05). Using ttk had to be optional as Tk 8.4, then in common use, does not have ttk. ttk is the default when available, so the ttk code paths are by now very well tested. gitk also has code paths for the older default widgets, increasing the maintenance burden. Let's make ttk non-optional to reduce code complexity in later commits. Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>

Mark Levedahl committed Jun 8, 2025 at 08:16 UTC cb9fa4d9ecd97b9e7e9bbd449c5106cad64215e8
1 file changed +4 -21
gitk
+4 -21
@@ -11669,7 +11669,7 @@ proc create_prefs_page {w} {
11669 }
11670
11671 proc prefspage_general {notebook} {
11672 - global NS have_ttk
11672 + global NS
11673 global {*}$::config_variables
11674
11675 set page [create_prefs_page $notebook.general]
@@ -11747,14 +11747,6 @@ proc prefspage_general {notebook} {
11747
11748 ${NS}::label $page.lgen -text [mc "General options"] -font mainfontbold
11749 grid $page.lgen - -sticky w -pady 10
11750 - ${NS}::checkbutton $page.want_ttk -variable want_ttk \
11751 - -text [mc "Use themed widgets"]
11752 - if {$have_ttk} {
11753 - ${NS}::label $page.ttk_note -text [mc "(change requires restart)"]
11754 - } else {
11755 - ${NS}::label $page.ttk_note -text [mc "(currently unavailable)"]
11756 - }
11757 - grid x $page.want_ttk $page.ttk_note -sticky w
11750 return $page
11751 }
11752
@@ -12506,7 +12498,6 @@ set autocopy 0
12498 set autoselect 1
12499 set autosellen 40
12500 set perfile_attrs 0
12509 -set want_ttk 1
12501
12502 if {[tk windowingsystem] eq "aqua"} {
12503 set extdifftool "opendiff"
@@ -12651,7 +12642,6 @@ set config_variables {
12642 uifgdisabledcolor
12643 uifont
12644 visiblerefs
12654 - want_ttk
12645 web_browser
12646 workingfilescirclecolor
12647 wrapcomment
@@ -12748,16 +12738,9 @@ set nullid "0000000000000000000000000000000000000000"
12738 set nullid2 "0000000000000000000000000000000000000001"
12739 set nullfile "/dev/null"
12740
12751 -if {![info exists have_ttk]} {
12752 - set have_ttk [llength [info commands ::ttk::style]]
12753 -}
12754 -set use_ttk [expr {$have_ttk && $want_ttk}]
12755 -set NS [expr {$use_ttk ? "ttk" : ""}]
12756 -
12757 -if {$use_ttk} {
12758 - setttkstyle
12759 -}
12760 -
12741 +setttkstyle
12742 +set use_ttk 1
12743 +set NS ttk
12744 set appname "gitk"
12745
12746 set runq {}