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