def __init__(self, sockets, opts): self.root = gtk.gdk.get_default_root_window() self.mapped_at = None XpraServerBase.__init__(self, True, sockets, opts) self.pulseaudio = False self.sharing = False DamageBatchConfig.ALWAYS = True # always batch DamageBatchConfig.MIN_DELAY = 50 # never lower than 50ms DamageBatchConfig.RECALCULATE_DELAY = 0.1 # re-compute delay 10 times per second at most display = gtk.gdk.display_get_default() log("display=%s", display) if display.supports_composite() and has_compositor(display): log.warn( "display %s uses a compositing window manager, shadowing may not work as expected - sorry" % display.get_name() )
def make_hello(self): capabilities = XpraServerBase.make_hello(self) capabilities["shadow"] = True return capabilities
def get_info(self, proto): info = XpraServerBase.get_info(self, proto) info["shadow"] = True return info
def _process_mouse_common(self, proto, wid, pointer, modifiers): # adjust pointer position for offset in client: x, y = pointer wx, wy = self.mapped_at[:2] pointer = x - wx, y - wy XpraServerBase._process_mouse_common(self, proto, wid, pointer, modifiers)