Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tkinter Tk args and Gnome Shell application name #57762

Closed
th9 mannequin opened this issue Dec 8, 2011 · 8 comments
Closed

Tkinter Tk args and Gnome Shell application name #57762

th9 mannequin opened this issue Dec 8, 2011 · 8 comments
Labels
3.7 3.8 docs Documentation in the Doc dir expert-tkinter type-bug An unexpected behavior, bug, or error

Comments

@th9
Copy link
Mannequin

th9 mannequin commented Dec 8, 2011

BPO 13553
Nosy @terryjreedy, @serwy, @serhiy-storchaka
PRs
  • bpo-13553: Document tkinter.Tk args #4786
  • Files
  • tk_wm_test.py
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = None
    created_at = <Date 2011-12-08.01:12:08.669>
    labels = ['3.7', '3.8', 'type-bug', 'expert-tkinter', 'docs']
    title = 'Tkinter Tk args and Gnome Shell application name'
    updated_at = <Date 2018-02-02.22:13:29.485>
    user = 'https://bugs.python.org/th9'

    bugs.python.org fields:

    activity = <Date 2018-02-02.22:13:29.485>
    actor = 'terry.reedy'
    assignee = 'docs@python'
    closed = False
    closed_date = None
    closer = None
    components = ['Documentation', 'Tkinter']
    creation = <Date 2011-12-08.01:12:08.669>
    creator = 'th9'
    dependencies = []
    files = ['23875']
    hgrepos = []
    issue_num = 13553
    keywords = ['patch']
    message_count = 7.0
    messages = ['149013', '149768', '149980', '150055', '150070', '166948', '224883']
    nosy_count = 6.0
    nosy_names = ['terry.reedy', 'roger.serwy', 'docs@python', 'th9', 'zup', 'serhiy.storchaka']
    pr_nums = ['4786']
    priority = 'normal'
    resolution = None
    stage = 'patch review'
    status = 'open'
    superseder = None
    type = 'behavior'
    url = 'https://bugs.python.org/issue13553'
    versions = ['Python 3.6', 'Python 3.7', 'Python 3.8']

    Linked PRs

    @th9
    Copy link
    Mannequin Author

    th9 mannequin commented Dec 8, 2011

    I want the app name to be displayed under the icon in Alt+Tab menu, but currently it only displays the className of the root, which by default is "Tk". So in Gnome3 all Tkinter apps show up as "Tk" in the panel and in the Alt+Tab menu.

    It is possible to override that to some extent by giving className attribute to Tk(), but I don't know what the side effects are and it doesn't preserve capitalization of the name - the first letter is capital, but all others are small. Moreover, default title of the window is taken from the className by making first letter small and leaving the rest as given, so at the end nothing is as intended.

    E.g., if I give calssName="APP", the app is called "App", but windows title is "aPP".

    There should be a way to give this information, but I don't see it exposed anywhere and it is not correctly inferred from args[0] either.

    Example program attached.

    @th9 th9 mannequin added expert-tkinter type-bug An unexpected behavior, bug, or error labels Dec 8, 2011
    @zup
    Copy link
    Mannequin

    zup mannequin commented Dec 18, 2011

    The link below suggests that the problem with method 'iconname'
    may be due to the method not working at the window manager level:

    http://www.pythonware.com/library/tkinter/introduction/x9905-icon-methods.htm

    summary:

    iconname

    iconname(newName=None), iconname(). Set (get) the icon name to use when this window is iconified. This method are ignored by some window managers (including Windows).

    @th9
    Copy link
    Mannequin Author

    th9 mannequin commented Dec 21, 2011

    Yes, I'm aware of the 'iconname' docs. In this case 'iconname' probably is not the right property to set, but I don't know which one should be.

    For GTK+ applications there is a special function for setting application name which should be shown to user and apparently Gnome 3 is using that.

    http://developer.gnome.org/glib/stable/glib-Miscellaneous-Utility-Functions.html#g-set-application-name

    I don't know how to achieve the same for Tkinter.

    @serwy
    Copy link
    Mannequin

    serwy mannequin commented Dec 22, 2011

    Does IDLE appear as "Tk" in Gnome3?

    @th9
    Copy link
    Mannequin Author

    th9 mannequin commented Dec 22, 2011

    No, it apears as "Toplevel".

    I'm not sure if the program.desktop file has something to do with that, but I didn't manage to get the application name from a desktop file to get used for Tkinter program. And I don't have any Tkinter or Tk app which would do what I'm trying to do.

    For example, Firefox shows up as "Mozilla Firefox", but I don't see any X property with that value for Firefox window.. it might be something Mutter is doing.

    Here is xprop for IDLE and Firefox:
    $ sleep 5; xprop
    XKLAVIER_STATE(INTEGER) = 0, 0
    WM_STATE(WM_STATE):
    window state: Normal
    icon window: 0x0
    _NET_FRAME_EXTENTS(CARDINAL) = 1, 1, 23, 2
    _NET_WM_DESKTOP(CARDINAL) = 0
    _NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_ABOVE, _NET_WM_ACTION_BELOW
    _NET_WM_STATE(ATOM) =
    WM_NORMAL_HINTS(WM_SIZE_HINTS):
    program specified minimum size: 1 by 1
    WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW
    WM_HINTS(WM_HINTS):
    Client accepts input or input focus: True
    Initial state is Normal State.
    _NET_WM_ICON_NAME(UTF8_STRING) = "Python Shell"
    WM_ICON_NAME(STRING) = "Python Shell"
    _NET_WM_NAME(UTF8_STRING) = "Python Shell"
    WM_NAME(STRING) = "Python Shell"
    WM_CLASS(STRING) = "42772672", "Toplevel"

    $ sleep 5; xprop 
    XKLAVIER_STATE(INTEGER) = 0, 0
    WM_STATE(WM_STATE):
    		window state: Normal
    		icon window: 0x0
    _NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 24, 0
    _NET_WM_DESKTOP(CARDINAL) = 0
    _NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_ABOVE, _NET_WM_ACTION_BELOW
    _NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_HORZ, _NET_WM_STATE_MAXIMIZED_VERT
    WM_HINTS(WM_HINTS):
    		Client accepts input or input focus: True
    		Initial state is Normal State.
    		bitmap id # to use for icon: 0x1600094
    		bitmap id # of mask for icon: 0x1600095
    		window id # of group leader: 0x1600001
    _NET_STARTUP_ID(UTF8_STRING) = "gnome-shell-17731-RD-OC-firefox-10_TIME71936264"
    WM_WINDOW_ROLE(STRING) = "browser"
    XdndAware(ATOM) = BITMAP
    _MOTIF_DRAG_RECEIVER_INFO(_MOTIF_DRAG_RECEIVER_INFO) = 0x6c, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0
    _NET_WM_ICON(CARDINAL) = 	Icon (16 x 16):
    	 ░   ░▒▒▒▒░     
    	 ▒▒░▒▒▒  ░▒▒▒   
    	░▒░▒▒░▒  ░░▒░▒  
    	░░░░░░▒▒▓░░▒░░▒ 
    	▒░░░░░▒▒▓░░▒░ ░░
    	▒░░░░░░▒░░░▒▒ ░░
    	▒░░░░░░▒░▒▒▒▒ ░▒
    	▒░░▒▒▒▒▓▒▒▒▒▒ ░▒
    	▒░░░▒▒▓▒▒▒▒▒▒ ░▒
    	░▒░░▒▒▒▒▒▒▓▓░░░░
    	 ▒▒░░▒▒▒▒▓▒░░░▒░
    	 ▒▒░░░░▒▒▒▒░░▒▒ 
    	  ▒▒░░░░░░░░░▒  
    	   ▒▒▒▒▒▒▒▒▒▒░  
    	    ▒▒▒▒▒▒▒▒░   
    	     ░░▒▒░░     
    Icon (32 x 32):
                ░▒▒▒▓▒▒▒░           
              ▒▒▒░     ░▒▒▒         
            ░▓▒░         ░▒▒░       
        ░  ▒▓▒░           ▒▒▒▒░     
       ▒▒░▒▓▒▒░░░░        ░▒▒░▒░    
       ▓▒▒▓▒▒▒▒▒▓░       ░░░▒▒ ▒▒   
       ▓▒░░░░░▒▒▒░     ░░░░▒░░░ ▒▒  
      ░▒░░░░░▒▒▓▒       ░░░░▓░  ░▒░ 
      ▒▒░▒▒▒▒▒▒▒▒░░░     ░░░▒▒  ░░▒ 
     ░▒░▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░▒▒▓░   ▒ 
     ▒▒░▒▒▒▒▒▒▒▒░ ░▒░░░░░░░▒▒▓▒   ▒░
     ▒▒▒▒▒▒▒▒▒▒░░▒▒▒░░░░▒▒▒▒▒▒▒░  ▒▒
     ▓░▒▒▒▒▒▒▒░░░▒░░░░▒▒▒▒▒▒▓░▒░  ▒▓
     ▓░▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▓▒    ▒▓
     ▓░▒▒▒▒▒▒▓▓▓▓▒▒▒▒▒▒▒▒▓▓▓▓▒    ▒▓
    ░▓▒▒▒▒▒▒▓▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▒ ░ ░▒▓
     ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▒ ░ ░░▒
     ▒▒▒▒▒▒▒▒▒▒░░▒▒▒░░ ░▓▓▓▓▒░ ░░░░▒
     ░▒▒▒▒▒▒▒▒▒▒░░░░░▒▒▒▓▓▓▓░░░░░░▒░
      ▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓░░░░░░▒ 
      ▒▓▒▒▒▒▒▒░░▒▓▓▓▓▓▓▓▓▓▓▒░░░░░▒▒ 
      ░▓▓▓▒▒▒▒░░░▒▓▓▓▓▓▓▓▓▒░░░░░▒▓░ 
       ▒▓▓▓▒▒▒▒░░░░▒▓▓▓▓▒░░░░░▒▒▓▒  
        ▓▓▓▒▒▒▒▒▒░░░░░░░░░░░░░░░▒░  
        ░▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░▒░   
         ▒▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒░░░░▒▒    
          ▒▓▓▓▓▒▒▒▒▒▒▒░░░░░▒▒▒▒     
          ░▒▓▓▓▓▒▒▒▒▒▒▒▒░░░▒▒▒░     
           ░▒▒▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒░░     
            ░░▒▒▒▓▓▓▓▓▓▒▒▒▒░░       
              ░░▒▒▒▒▒▒▒▒▒░░         
                                    
    
    Icon (48 x 48):
                      ░▒▒▓▓▓▓▓▒▒░                   
                   ░▒▓▓▒░░    ░░▒▓▒░                
                 ▒▓▓▒             ▒▓▓▒              
               ░▓▓▒░               ░░▒▓░            
              ▒▓▓▒░                ░░ ░▓▒           
        ░░  ░▓▓▓▒▒░░                ░▒  ▒▓░         
        ▒░ ░▓▓▓▒▒░░░░░░             ░░▒░ ░▒▒        
       ░░░░▓▓▓▓▒▒▒░▒▒▒░            ░░░▒▒░  ▒▒       
       ▒░▒▒▒▓▒▒▒▒▒▒▒▒░             ░░▒░░▒   ▒▒      
       ▒▒▒▒░░░░░░▒▒▒▒░          ░░░░░▒▒░ ░   ▒░     
       ▒▒▒░░▒▒▒░▒▒▒▒▒░          ░░░░░░▒▒     ░▒     
       ▒░░░▒▒▒▒▒▒▒▒▒▒░           ░░░░░░▒▒     ▒░    
       ▒░▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░         ░░░░▒▓░  ░ ░     
       ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒      ░░░░░░▒▒▒   ░      
      ░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒░░░░░░░░░░▒▒▒▒▓          
      ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒░   ░▒░░░░░░░░░░▒▒▒▒▓░         
     ░░▒▒▒▒▒▒▒▒▒▒▒▒░░   ▒▒▒░░░░░▒▒▒░░▒▒▒▒▓░     ░   
     ░░▒▒▒▒▒▒▒▒▒▒▒▒░░░░▒▒░░░░░░░▒▒▒▒▒▒▒▓▒▒▒░░   ░░  
     ░░▒▒▒▒▒▒▒▒▒▒▒░░░░▒▒░░░░░░▒▒▒▒▒▒▒▒▒▓▒ ▒ ░░  ░▒░ 
     ░▒▒▒▒▒▒▒▒▒▒░░░░░░▒░░░░░░▒▒▒▒▒▒▒▒▒▒▓▒   ░░  ░▒▒ 
     ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓    ░  ░▓▒ 
     ░▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓       ░▓▒ 
     ▒▒▒▒▒▒▒▒▒▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓   ░   ▒▒░ 
    ░▒▒▒▒▒▒▒▒▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓░  ░  ░▒░░ 
    ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓░ ░░ ░░░░░ 
    ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒░░░░▒▒▓▓▓▓▓▓▒▒░  ░░░░░░  
     ▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░▒▒░░░░░  ▒▒▓▓▓▓▓▒░░  ░░░░░░  
     ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░▒▒▒░▒▓▓▓▓▓▓░░░ ░░░░░░░  
     ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▓▓▓▓▓▓▓▓▓░░░░░░░░░▒   
      ▒▒▓▒▒▒▒▒▒▒▒▒▒▒▓▓▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▒░░░░░░░░▒░   
      ░▒▓▒▒▒▒▒▒▒▒▒▒░▒▒▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░▒░   
       ▒▓▓▒▒▒▒▒▒▒░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░░░░░▒▒░   
       ▒▒▓▓▓▒▒▒▒▒▒░░░░░▒▒▓▓▓▓▓▓▓▓▓▓▒▒░░░░░░░░░▒▒    
        ▒▓▓▓▒▒▒▒▒▒▒░░░░░░▒▓▓▓▓▓▓▓▒░░░░░░░░░░░▒▓░    
        ▒▓▓▓▓▒▒▒▒▒▒▒▒░░░░░░▒▒▒▒▒░░░░░░░░░░░▒▒▒░     
         ▒▓▓▓▓▒▒▒▒▒▒▒▒▒░░░░░░░░░░▒▒░░░░░░░▒▒░░      
         ░▒▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒░░░░░░░░      
          ░▒▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░       
           ░▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░        
            ░▒▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░         
             ░▒▒▓▓▓▓▒▒▒▒▒▒▒▒▒░░░░░░░░░▒▒▒▒          
             ░░▒▒▒▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░         
             ░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒▒▒░░          
              ░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░▒▒▒░░           
                ░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░            
                  ░░░░▒▒▒▒▒▒▒▒▒▒░░░░░               
                      ░░░░░░░░░░░                   
    

    _NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 23068819
    _NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
    _NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x1600092
    WM_CLIENT_LEADER(WINDOW): window id # 0x1600001
    _NET_WM_PID(CARDINAL) = 24976
    WM_LOCALE_NAME(STRING) = "lv_LV.utf8"
    WM_CLIENT_MACHINE(STRING) = "RD-OC"
    WM_NORMAL_HINTS(WM_SIZE_HINTS):
    program specified minimum size: 0 by 0
    window gravity: NorthWest
    WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
    WM_CLASS(STRING) = "Navigator", "Firefox"
    WM_ICON_NAME(STRING) = "bpo-13553: Tkinter doesn't set proper application name - Python tracker - Mozilla Firefox"
    _NET_WM_ICON_NAME(UTF8_STRING) = "bpo-13553: Tkinter doesn't set proper application name - Python tracker - Mozilla Firefox"
    WM_NAME(STRING) = "bpo-13553: Tkinter doesn't set proper application name - Python tracker - Mozilla Firefox"
    _NET_WM_NAME(UTF8_STRING) = "bpo-13553: Tkinter doesn't set proper application name - Python tracker - Mozilla Firefox"

    @serwy
    Copy link
    Mannequin

    serwy mannequin commented Jul 31, 2012

    It looks like this code will set the title properly in the latest GNOME shell (3.4):

        from Tkinter import *
        app = Tk(className='App Name')
        app.title('App Title')
        app.mainloop()

    The documentation should be updated to explain the arguments to Tk().

    @serwy serwy mannequin changed the title Tkinter doesn't set proper application name Tkinter doesn't set proper application name in Gnome Shell Jul 31, 2012
    @terryjreedy
    Copy link
    Member

    terryjreedy commented Aug 5, 2014

    The resolution of this issue should be to properly document the Tk class. The 3.4 docs currently say:

    "class tkinter.Tk(screenName=None, baseName=None, className='Tk', useTk=1)
    The Tk class is instantiated without arguments. This creates a toplevel widget of Tk which usually is the main window of an application. Each instance has its own associated Tcl interpreter."

    The signature is incomplete -- see below. The first sentence is wrong; there are arguments, they just all happen to have defaults. The next sentence should be something like "Return a toplevel Tk widget, which is usually the main window of an application."

    Tk.__doc__ is 'Toplevel widget of Tk which represents mostly the main window\n of an application. It has an associated Tcl interpreter.' This is probably ok.

    Tk.__init__ signature and Tk,init.__doc__ are

    __init__(self, screenName=None, baseName=None, className='Tk', useTk=1, sync=0, use=None)

    "Return a new Toplevel widget on screen SCREENNAME. A new Tcl interpreter will
    be created. BASENAME will be used for the identification of the profile file (see
    readprofile).
    It is constructed from sys.argv[0] without extensions if None is given. CLASSNAME
    is the name of the widget class."

    "Toplevel" should be "toplevel" as in : Tk is not a subclass of Toplevel. Rather Toplevel is similar to Tk but with the BaseWidget signature.

    The argument list needs to be completed and perhaps a bit more said about the one documented. Does 'screen' apply to anything other than X11? Could it be used on Windows to put the window on a secondary screen? Is Gnome the only user framework that uses classname?

    @terryjreedy terryjreedy added the docs Documentation in the Doc dir label Aug 5, 2014
    @terryjreedy terryjreedy changed the title Tkinter doesn't set proper application name in Gnome Shell Tkinter Tk args and Gnome Shell application name Aug 5, 2014
    @csabella csabella added the 3.7 label Dec 11, 2017
    @terryjreedy terryjreedy added the 3.8 label Feb 2, 2018
    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    @hauntsaninja
    Copy link
    Contributor

    hauntsaninja commented Oct 29, 2022

    Took a couple years, but #4786 almost completes this. The only thing missing I can tell from @terryjreedy's comment above is the docstring disambiguation of "Toplevel", PR for this here: #98837

    hauntsaninja added a commit to hauntsaninja/cpython that referenced this issue Oct 29, 2022
    Mentioned as a desired change by terryjreedy on the corresponding issue,
    since Tk is not a subclass of Toplevel.
    hauntsaninja added a commit that referenced this issue Dec 22, 2022
    Mentioned as a desired change by terryjreedy on the corresponding issue,
    since Tk is not a subclass of Toplevel.
    miss-islington pushed a commit to miss-islington/cpython that referenced this issue Dec 22, 2022
    Mentioned as a desired change by terryjreedy on the corresponding issue,
    since Tk is not a subclass of Toplevel.
    (cherry picked from commit ad23da0)
    
    Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
    miss-islington pushed a commit to miss-islington/cpython that referenced this issue Dec 22, 2022
    Mentioned as a desired change by terryjreedy on the corresponding issue,
    since Tk is not a subclass of Toplevel.
    (cherry picked from commit ad23da0)
    
    Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
    miss-islington added a commit that referenced this issue Dec 22, 2022
    Mentioned as a desired change by terryjreedy on the corresponding issue,
    since Tk is not a subclass of Toplevel.
    (cherry picked from commit ad23da0)
    
    Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
    miss-islington added a commit that referenced this issue Dec 22, 2022
    Mentioned as a desired change by terryjreedy on the corresponding issue,
    since Tk is not a subclass of Toplevel.
    (cherry picked from commit ad23da0)
    
    Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    3.7 3.8 docs Documentation in the Doc dir expert-tkinter type-bug An unexpected behavior, bug, or error
    Projects
    None yet
    Development

    No branches or pull requests

    3 participants