8
votes

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?

1
I'm not sure, but winfo_rootx() and winfo_rooty() might be what you are looking for. - Edu
yeah i tried those, same effect :( - gnr

1 Answers

5
votes

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.