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

Removal of classic Tk widgets (was Re: gitk bug: Disabling "Themed widgets" breaks preferences dialogue)

From
MHMark Hills <mark@xwax.org>
Date
Sep 9, 2025, 20:53 UTC
Message-ID
<e7cbfbf5-2a50-e1a9-a3f3-08cf5a4e5b8e@xwax.org>
In-Reply-To
<2005fae0-5991-41e3-a1f2-4625086de7b3@kdbg.org>
On Thu, 28 Aug 2025, Johannes Sixt wrote:
Show 16 quoted lines
> Am 28.08.25 um 16:02 schrieb Mark Hills:
> > I use Alpine Linux 3.22 (latest).
> > 
> > Recently gitk's preferences window refuses to open.
> > 
> > This seems to be a direct result of switching off the "Themed widgets" 
> > setting, which is my preferred choice.
> > 
> > Error message:
> > 
> > invalid command name "::combobox"
> > invalid command name "::combobox"
> >     while executing
> > "${NS}::combobox $page.wrapcomment -values {none char word} -state 
> > readonly  -textvariable wrapcomment"
> >     (procedure "prefspage_general" line 41)
> This bug was introduced by 904b36b815ff, which is in Git 2.48.0 and was
> fixed by daa364cfb7a1, available since Git 2.50.0.
Yes that commit does indeed fix the bug.

But then starting with commit cb9fa4d9ecd97 only a month later (v2.51.0) systematically strips out all support for this preference.

That seems a bit over-enthusiastic to me, considering how at least one user proactively submitted a patch when a bug got introduced.

The justification here seems to be that it's not the default; and therefore there's less code to maintain if it's removed -- however this would justify the removal of most features in most software...

commit cb9fa4d9ecd97b9e7e9bbd449c5106cad64215e8
Author: Mark Levedahl <mdl123@verizon.net>
Date:   Sun Jun 8 08:16:34 2025 -0400
    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
Previous: Johannes Sixt
Message 3 of 3 in “gitk bug: Disabling "Themed widgets" breaks preferences dialogue”
  1. Mark HillsAug 28, 2025
  2. Johannes SixtAug 28, 2025
  3. Removal of classic Tk widgets (was Re: gitk bug: Disabling "Themed widgets" breaks preferences dialogue)Mark Hills, Sep 9, 2025

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.