tkinter window get x, y, geometry/coordinates without top of window

python, python-3.x, tk-toolkit, tkinter, user-interface

Solution

In Tkinter, most configuration functions when used without new value arguments returns the current value(s). Thus `root.geometry()` (plus a few string parsing) can serve your goal.

Problem

I am using tk in python (3), though I'd assume that this applies to any language. I am looking to get the current x, y coordinates of a tk window outside of the title bar: ``` import tkinter root = tkinter.Tk() ``` however, using `root.winfo_y()` gives me the coordinates including the depth of the titlebar. For a window that is in the upper left corner of my screen: ``` root.winfo_x(), root.winfo_y() # returns (0, 22) ``` In other words, running: ``` root.geometry('+{}+{}'.format(root.winfo_x(), root.winfo_y())) ``` will move down the window by 22 pixels (the height of the title bar) every time I call it. How can I get the actual coordinates of the entire window?

Original source