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

gitk: regression when opening preferences with `want_ttk=0`

From
Ppunk.lion0906@fastmail.com <punk.lion0906@fastmail.com>
Date
May 22, 2025, 02:55 UTC
Message-ID
<087f6a4d-d276-4f1e-94a4-7423b3387b79@app.fastmail.com>
This duplicates https://github.com/j6t/gitk/issues/18.

I found a regression in `gitk`'s commit 904b36b. When `gitk` is run with `want_ttk=0` (AKA "use themed widgets" set to off), I cannot open the settings dialog since that commit. It gives the following error in a modal dialog, and then opens a completely empty non-modal dialog where the settings dialog should be:

```
`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 43)
    invoked from within
"prefspage_general $notebook"
    (procedure "doprefs" line 27)
    invoked from within
"doprefs"
    (procedure "::tk::mac::ShowPreferences" line 1)
    invoked from within
"::tk::mac::ShowPreferences"`
```
Indeed, 904b36b adds some `::combobox`es.
I tested this on MacOS with Tcl/Tk 8.6, both with Homebrew-installed `gitk` from the `git-gui` 2.49.0 package, and with the master branch of https://github.com/j6t/gitk (commit 9f27318), and with that repo's 904b36b. The parent of 904b36b works fine.
The workaround is to close gitk, and set `want_ttk` to 1 in ~/.config/git/gitk, ~/.gitk, or equivalent. Completely deleting the config file at ~/.config/git/gitk also fixed the problem for me.
       Ilya.
Next: punk.lion0906@fastmail.com
Message 1 of 3 in “gitk: regression when opening preferences with `want_ttk=0`”
  1. punk.lion0906@fastmail.comMay 22, 2025
  2. punk.lion0906@fastmail.comMay 22, 2025
  3. Johannes SixtMay 22, 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.