Best way to determine user's screensize?

flaskee flaskee at protonmail.com
Fri Oct 30 19:15:38 EDT 2020


I'm closing in on the screen width/height, at least.


In odd screen sizes or multi-monitor situations,
I make the best guess,
but allow the user to alter things,
via preferences.

No complaints in 10 years.
So there's that.


# For MacOS Code:
import AppKit [(screen.frame().size.width, screen.frame().size.height) for screen in AppKit.NSScreen.screens()]

$ For Windows Code:
from win32api import GetSystemMetrics print("Width =", GetSystemMetrics(0)) print("Height =", GetSystemMetrics(1))

# QT Code
from PySide import QtGui
dw=QtGui.QDesktopWidget()
dw.screenGeometry()
dw.availableGeometry() # this is a sub rect of screenGeometry because it e.g. ignores the space occupied by the task bar on Windows


# GDK, GTK

from gi.repository import Gdk
s = Gdk.Screen.get_default()
print(s.get_width())
print(s.get_height())

# ----------------------

from gi.repository import Gdk, Gtk

# Replace w with the GtkWindow of your application
w = Gtk.Window()
# Get the screen from the GtkWindow
s = w.get_screen()
# Using the screen of the Window, the monitor it's on can be identified
m = s.get_monitor_at_window(s.get_active_window())
# Then get the geometry of that monitor
monitor = s.get_monitor_geometry(m)
# This is an example output
print("Height: %s, Width: %s" % (monitor.height, monitor.width))







More information about the Python-list mailing list