GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — `tkinter` source and docs use the word 'slave' · Issue #143754 · python/cpython

tkinter source and docs use the word 'slave' #143754

New issue
Copy link
New issue
Copy link
Closed
Closed
tkinter source and docs use the word 'slave'#143754
Copy link
Labels
docsDocumentation in the Doc dirDocumentation in the Doc dirstdlibStandard Library Python modules in the Lib/ directoryStandard Library Python modules in the Lib/ directorytopic-tkintertype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error

Description

@i-make-data-sexy
i-make-data-sexy
opened on Jan 12, 2026
Issue body actions

I know tkinter is just a wrapper for Tk but this reference to slaves is pretty bad. Maybe it could be referenced as child widgets? Pretty much anything other than slaves.

Image

Linked PRs

  • gh-143754: Use neutral terminology in tkinter documentation #143779
  • gh-143754: Modernize Tkinter docs #143841
  • gh-143754: Add Tkinter methods pack_content(), place_content() and grid_content() #143845
  • [3.14] gh-143754: Modernize Tkinter docs (GH-143841) #144032
  • [3.13] gh-143754: Modernize Tkinter docs (GH-143841) #144033

Activity

  1. StanFromIreland commented on Jan 12, 2026

    @StanFromIreland
    StanFromIreland
    on Jan 12, 2026
    Member
    More actions

    There are a series of occurrences both in tkinter/__init__.py and the doc. You can find suggestions for replacements in the devguide.

  2. StanFromIreland
    added
    type-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
    docsDocumentation in the Doc dirDocumentation in the Doc dir
    stdlibStandard Library Python modules in the Lib/ directoryStandard Library Python modules in the Lib/ directory
    topic-tkinter
    on Jan 12, 2026
  3. github-project-automation
    added this to docs issueson Jan 12, 2026
  4. github-project-automation
    moved this to Todo in docs issueson Jan 12, 2026
  5. StanFromIreland
    changed the title [-]Error message references slaves[/-] [+]`tkinter` source and docs use the word 'slave'[/+] on Jan 12, 2026
  6. VanshAgarwal24036 commented on Jan 13, 2026

    @VanshAgarwal24036
    VanshAgarwal24036
    on Jan 13, 2026
    Contributor
    More actions

    Hi, I’d like to work on this issue.

    I understand that Tk itself uses this terminology, so my plan is to focus on:

    • Updating Python-level error messages and documentation to use neutral terms
      (e.g. “child widgets”, “managed widgets”).
    • Renaming internal variables/comments where possible without changing the public API.
    • Ensuring no behavioral changes or compatibility regressions.

    I’ll start by identifying all occurrences in tkinter/init.py and the docs,
    and propose consistent replacements based on the devguide.

    Please let me know if this approach sounds good.

    Reacted by Annie Cushing
  7. VanshAgarwal24036
    added a commit that references this issue on Jan 13, 2026

    Merge remote-tracking branch 'upstream/main' into pythongh-143754-tki…

    ffa5f15
  8. i-make-data-sexy commented on Jan 13, 2026

    @i-make-data-sexy
    i-make-data-sexy
    on Jan 13, 2026
    Author
    More actions

    That’s fantastic. Thank you! 👏

  9. terryjreedy commented on Jan 14, 2026

    @terryjreedy
    terryjreedy
    on Jan 14, 2026
    Member
    More actions

    In tk and tkinters, 'slaves' refers to the geometry managed content of a container. In tk, the place, pack, and grid commands have option 'slaves'. In tkinter/__init__.py, class Misc has corresponding place/pack/grid/_slaves methods, which refer to 'slaves' in their docstring and which call tcl with the corresponding pair of strings. (Lines 1888, 1898, 2021.)

    The tcl/tk people have already dealt with this issue. Current 8.6 has a 'content' option that is a synonym for the 'slaves' option. I don't know when these were added. @serhiy-storchaka Do you have the docs or knowledge needed to find out? In 9.0, the names have been reversed, in that 'slaves' is listed as a synonym for 'content'.

    We could now add 'place_content = place_slaves', etc, synonyms. There are several others to consider. Misc has 'slaves = pack_slaves', so maybe add 'content = pack_content'. Eack of class Place, Pack, and Grid have lines like slaves = pack_slaves = Misc.pack_slaves (lines 2639, 2690, 2745). So add similar for 'content'?

    In docstrings, replace 'slaves' with 'contents' or perhaps 'contained widgets' or even 'placed/packed/gridded widgets'. We should not use 'children' because in tkinter, a_widget.children is a dict mapping child names to the widgets created by passing a_widget as master, the first argument, such as child = tkinter.Text(a_widget). Subsequent on-screen placement is a different issue from creation ancestry, and a child can be a content of more than one container.

    Once all tkinter-supported tk versions support 'content', we could change 'slaves' to 'content' in the tcl calls.

    EDIT: Docstring changes could be backported. New method names cannot, are are definitely a new feature.

    Reacted by Serhiy Storchaka
  10. serhiy-storchaka
    added 3 commits that reference this issue on Jan 14, 2026

    pythongh-143754: Modernize Tkinter docs

    cd9ede3

    pythongh-143754: Modernize Tkinter docs

    7523187

    pythongh-143754: Add Tkinter methods pack_content(), place_content() …

    92374bb
  11. serhiy-storchaka commented on Jan 14, 2026

    @serhiy-storchaka
    serhiy-storchaka
    on Jan 14, 2026
    Member
    More actions

    I agree with @terryjreedy. The documentation part is larger, because it needs to update both docstrings and the module documentation, and we should also update the use of "master" -- in modern Tk documentation they use "container widget" in context of geometry management. "master" is also the public attribute and parameter name -- in many cases "parent" would be more correct term, but it is difficult to change API. "master" can also be used in other contexts, we should not blindly try to get rid of it.

  12. serhiy-storchaka
    added a commit that references this issue on Jan 19, 2026

    gh-143754: Modernize Tkinter docs (GH-143841)

    813fc7a
  13. miss-islington
    added 2 commits that reference this issue on Jan 19, 2026

    pythongh-143754: Modernize Tkinter docs (pythonGH-143841)

    8dc032d

    pythongh-143754: Modernize Tkinter docs (pythonGH-143841)

    5e494ba
  14. serhiy-storchaka
    added 4 commits that reference this issue on Jan 19, 2026

    pythongh-143754: Add Tkinter methods pack_content(), place_content() …

    999b0e6

    [3.13] gh-143754: Modernize Tkinter docs (GH-143841) (GH-144033)

    48a8cd1

    [3.14] gh-143754: Modernize Tkinter docs (GH-143841) (GH-144032)

    5573df1

    gh-143754: Add Tkinter methods pack_content(), place_content() and gr…

    71cbffd
  15. serhiy-storchaka
    closed this as completedon Jan 20, 2026
  16. thunder-coding
    added 2 commits that reference this issue on Feb 15, 2026

    pythongh-143754: Modernize Tkinter docs (pythonGH-143841)

    a4e5656

    pythongh-143754: Add Tkinter methods pack_content(), place_content() …

    1e71b07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    docsDocumentation in the Doc dirDocumentation in the Doc dirstdlibStandard Library Python modules in the Lib/ directoryStandard Library Python modules in the Lib/ directorytopic-tkintertype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error

    Projects

    • docs issues
      Status
      Todo
      Show more project fields

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

    You are visitor 01402503 — GeezerVison does not store the pages you look up.
    Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.