Skip to content
Advertisement

tkinter – screen width and height of secondary display?

I have a dual monitors set up (laptop screen and external monitor). My laptop screen is my primary display and external monitor is secondary. Both have different screen sizes.

In my python tkinter script, i have used winfo_screenwidth() and winfo_screenheight() to detect the screen width and height so that I can set the root window to become full screen.

Normally, when I run my script, the root window will be the size of my laptop screen. When i move the window to my extended monitor, I want it to auto adjust the width and height to match the external display’s width and height.

Is this possible? Is there any way to check if the root window is in primary or secondary display?

Does winfo_screenwidth() detect the width and height of the secondary display?

EDIT: I am using Windows XP Pro 32 bit & Python 2.7.

Advertisement

Answer

How I did it:

t = Tk() # new window
t.update()
t.attributes("-alpha", 00)
t.state('zoomed') # maximize the window
height= t.winfo_height() # ...
width= t.winfo_width()

But sadly I do not know of the location of the other screen. But I think you can do this

  1. create a new window
  2. use winfo_screenheight() and winfo_screenwidth() to find out about the original screen
  3. use geometry() to move the window around
  4. maximize the window (it should always maximize at the screen where it is)
  5. get geometry()
  6. if geometry is at (0, 0) it is the main screen, proceed with 3.
  7. you found another screen
User contributions licensed under: CC BY-SA
6 People found this is helpful
Advertisement