Source code for draugr.os_utilities.screen_resolution
__all__ = [
"get_screen_resolution",
"screen_res_tk",
"screen_res_pygame",
"screen_res_gtk",
"screen_res_xlib",
"screen_res_mac",
"screen_res_win",
]
import sys
[docs]def screen_res_xlib():
"""
:return:
:rtype:
"""
import xlib
root = xlib.display.Display().screen().root
return root.get_geometry()[2], root.get_geometry()[3]
[docs]def screen_res_pygame():
"""
:return:
:rtype:
"""
import pygame
return pygame.display.Info().current_w, pygame.display.Info().current_h
[docs]def screen_res_gtk():
"""
:return:
:rtype:
"""
import gtk
screen = gtk.Window().get_screen()
return screen.get_width(), screen.get_height()
[docs]def screen_res_tk():
"""
:return:
:rtype:
"""
import Tkinter
root = Tkinter.Tk()
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()
return screen_width, screen_height
[docs]def screen_res_win():
"""
:return:
:rtype:
"""
import ctypes.wintypes
return ctypes.windll.user32.GetSystemMetrics(
0
), ctypes.windll.user32.GetSystemMetrics(1)
[docs]def screen_res_mac():
"""
:return:
:rtype:
"""
try:
import Quartz
except:
assert (
False
), "You must first install pyobjc-core and pyobjc: MACOSX_DEPLOYMENT_TARGET=10.11 pip install pyobjc"
main_disp_id = Quartz.CGMainDisplayID()
return Quartz.CGDisplayPixelsWide(main_disp_id), Quartz.CGDisplayPixelsHigh(
main_disp_id
)
[docs]def get_screen_resolution():
"""
:return:
:rtype:
"""
if sys.platform == "win32":
return screen_res_win()
elif sys.platform == "darwin":
return screen_res_mac()
elif sys.platform == "linux":
return screen_res_gtk()
elif sys.platform == "linux2":
return screen_res_gtk()
elif sys.platform == "cygwin":
return screen_res_gtk()
else:
return screen_res_tk()