code: def width(self):
          
          alloc_w = self.alloc_w
  
          if self.parent and isinstance(self.parent, graphics.Scene):
              alloc_w = self.parent.width
  
              def res(scene, event):
                  if self.parent:
                      self.queue_resize()
                  else:
                      scene.disconnect(self._scene_resize_handler)
                      self._scene_resize_handler = None
  
  
              if not self._scene_resize_handler:
                  # TODO - disconnect on reparenting
                  self._scene_resize_handler = self.parent.connect("on-resize", res)
  
  
          min_width = (self.min_width or 0) + self.margin_left + self.margin_right
          w = alloc_w if alloc_w is not None and self.fill else min_width
          w = max(w or 0, self.get_min_size()[0])
          return w - self.margin_left - self.margin_right
docs: width in pixels