예제 #1
0
 def makeRootWindowModels(self):
     log("makeRootWindowModels() root=%s", self.root)
     self.capture = self.setup_capture()
     if not MULTI_WINDOW:
         return (RootWindowModel(self.root, self.capture), )
     models = []
     screen = self.root.get_screen()
     n = screen.get_n_monitors()
     for i in range(n):
         geom = screen.get_monitor_geometry(i)
         x, y, width, height = geom.x, geom.y, geom.width, geom.height
         try:
             scale_factor = screen.get_monitor_scale_factor(i)
         except Exception as e:
             screenlog("no scale factor: %s", e)
         else:
             screenlog("scale factor for monitor %i: %i", i, scale_factor)
         model = RootWindowModel(self.root, self.capture)
         if hasattr(screen, "get_monitor_plug_name"):
             plug_name = screen.get_monitor_plug_name(i)
             if plug_name or n > 1:
                 model.title = plug_name or str(i)
         model.geometry = (x, y, width, height)
         screenlog("monitor %i: %10s geometry=%s", i,
                   model.get_property("title"),
                   model.get_property("geometry"))
         models.append(model)
     log("makeRootWindowModels()=%s", models)
     return models
예제 #2
0
 def makeRootWindowModels(self):
     log("makeRootWindowModels() root=%s", self.root)
     self.capture = self.setup_capture()
     if not MULTI_WINDOW:
         return (RootWindowModel(self.root, self.capture),)
     models = []
     monitors = get_monitors()
     for i, monitor in enumerate(monitors):
         geom = monitor["Monitor"]
         x1, y1, x2, y2 = geom
         assert x1<x2 and y1<y2
         model = RootWindowModel(self.root, self.capture)
         model.title = monitor["Device"].lstrip("\\\\.\\")
         model.geometry = x1, y1, x2-x1, y2-y1
         screenlog("monitor %i: %10s geometry=%s (from %s)", i, model.title, model.geometry, geom)
         models.append(model)
         screenlog("makeRootWindowModels: model(%s)=%s", monitor, model)
     log("makeRootWindowModels()=%s", models)
     return models