Python 3.x - toggling fullscreen in tkinter
Question: So far, I have a command that makes my window fullscreen. Now, predictably, I
want to be able to exit fullscreen also.

This is the code I have:

    
    
    def toggFullscreen(self, win):
    
        def exitFullscreen(event=None):
            win.withdraw()
            win.deiconify()
            win.overrideredirect(False)
            win.geometry('1024x700')
    
        w = win.winfo_screenwidth()
        h = win.winfo_screenheight()
        win.overrideredirect(True)
        win.geometry('%dx%d+0+0' % (w, h))
        win.focus_set()
        win.bind('<Escape>', exitFullscreen)
    

But the issue is that I can't get the window frame to reappear. I thought that
doing `win.overrideredirect(False)` would work, but it didnt.


Answer: not sure why it isn't working on your computer, but try this code sample:

    
    
    #!python3
    
    import tkinter as tk
    
    geom=""
    
    def fullscreen():
        global geom
        geom = root.geometry()
        w = root.winfo_screenwidth()
        h = root.winfo_screenheight()
        root.overrideredirect(True)
        root.geometry('%dx%d+0+0' % (w, h))
    
    def exitfullscreen():
        global geom
        root.overrideredirect(False)
        root.geometry(geom)
    
    root = tk.Tk()
    tk.Button(root,text ="Fullscreen", command=fullscreen).pack()
    tk.Button(root,text ="Normal", command=exitfullscreen).pack()
    root.mainloop()
    

the one thing i'm making sure i do is to store the geometry before going
fullscreen, and then re applying it when i exit fullscreen. the global
statement was needed because if i didn't use it the `fullscreen` function
stored the geometry in a local variable instead of the one i created at the
top.

