def set_initial_resolution(desktop=False): try: log = get_vfb_logger() log("set_initial_resolution") if desktop: res = DEFAULT_DESKTOP_VFB_RESOLUTION else: res = DEFAULT_VFB_RESOLUTION from xpra.x11.bindings.randr_bindings import RandRBindings #@UnresolvedImport #try to set a reasonable display size: randr = RandRBindings() if not randr.has_randr(): l = log if desktop: l = log.warn l("Warning: no RandR support,") l(" default virtual display size unchanged") return sizes = randr.get_xrr_screen_sizes() size = randr.get_screen_size() log("RandR available, current size=%s, sizes available=%s", size, sizes) if res in sizes: log("RandR setting new screen size to %s", res) randr.set_screen_size(*res) except Exception as e: log("set_initial_resolution(%s)", desktop, exc_info=True) log.error("Error: failed to set the default screen size:") log.error(" %s", e)
def set_initial_resolution(res=DEFAULT_VFB_RESOLUTION): try: log = get_vfb_logger() log("set_initial_resolution(%s)", res) from xpra.x11.bindings.randr_bindings import RandRBindings #@UnresolvedImport #try to set a reasonable display size: randr = RandRBindings() if not randr.has_randr(): log.warn("Warning: no RandR support,") log.warn(" default virtual display size unchanged") return sizes = randr.get_xrr_screen_sizes() size = randr.get_screen_size() log("RandR available, current size=%s, sizes available=%s", size, sizes) if res not in sizes: log.warn("Warning: cannot set resolution to %s", res) log.warn(" (this resolution is not available)") elif res==size: log("initial resolution already set: %s", res) else: log("RandR setting new screen size to %s", res) randr.set_screen_size(*res) except Exception as e: log("set_initial_resolution(%s)", res, exc_info=True) log.error("Error: failed to set the default screen size:") log.error(" %s", e)
def get_vrefresh(): v = -1 try: from xpra.x11.bindings.randr_bindings import RandRBindings #@UnresolvedImport randr = RandRBindings() if randr.has_randr(): v = randr.get_vrefresh() except Exception as e: screenlog.warn("failed to get VREFRESH: %s", e) screenlog("get_vrefresh()=%s", v) return v
def get_vrefresh(): v = -1 if not is_Wayland(): try: from xpra.x11.bindings.randr_bindings import RandRBindings #@UnresolvedImport randr = RandRBindings() if randr.has_randr(): v = randr.get_vrefresh() except Exception as e: log("get_vrefresh()", exc_info=True) log.warn( "Warning: failed to query the display vertical refresh rate:") log.warn(" %s", e) screenlog("get_vrefresh()=%s", v) return v
def _get_randr_dpi(): if RANDR_DPI and not is_Wayland(): from xpra.gtk_common.error import xlog from xpra.x11.bindings.randr_bindings import RandRBindings #@UnresolvedImport with xlog: randr_bindings = RandRBindings() if randr_bindings.has_randr(): wmm, hmm = randr_bindings.get_screen_size_mm() if wmm > 0 and hmm > 0: w, h = randr_bindings.get_screen_size() dpix = iround(w * 25.4 / wmm) dpiy = iround(h * 25.4 / hmm) screenlog("xdpi=%s, ydpi=%s - size-mm=%ix%i, size=%ix%i", dpix, dpiy, wmm, hmm, w, h) return dpix, dpiy return -1, -1
def _get_randr_dpi(): try: from xpra.gtk_common.error import xsync from xpra.x11.bindings.randr_bindings import RandRBindings #@UnresolvedImport with xsync: randr_bindings = RandRBindings() if randr_bindings.has_randr(): wmm, hmm = randr_bindings.get_screen_size_mm() w, h = randr_bindings.get_screen_size() dpix = iround(w * 25.4 / wmm) dpiy = iround(h * 25.4 / hmm) screenlog("xdpi=%s, ydpi=%s - size-mm=%ix%i, size=%ix%i", dpix, dpiy, wmm, hmm, w, h) return dpix, dpiy except Exception as e: screenlog.warn("failed to get dpi: %s", e) return -1, -1