def do_init(self, opts): X11ServerCore.do_init(self, opts) self._xsettings_enabled = opts.xsettings if self._xsettings_enabled: from xpra.x11.xsettings import XSettingsHelper self._default_xsettings = XSettingsHelper().get_settings() log("_default_xsettings=%s", self._default_xsettings) self.init_all_server_settings()
def send_updated_screen_size(self): log("send_updated_screen_size") X11ServerCore.send_updated_screen_size(self) #remove all existing models and re-create them: for model in self._id_to_window.values(): model.close_capture() self._remove_window(model) for model in self.makeRootWindowModels(): self._add_new_window(model)
def __init__(self): X11ServerCore.__init__(self) self._default_xsettings = {} self._settings = {} self.double_click_time = 0 self.double_click_distance = 0 self.dpi = 0 self.default_dpi = 0 self._xsettings_manager = None self._xsettings_enabled = False
def __init__(self, clobber): self.clobber = clobber X11ServerCore.__init__(self) self._default_xsettings = {} self._settings = {} self.double_click_time = 0 self.double_click_distance = 0 self.dpi = 0 self.default_dpi = 0 self._xsettings_manager = None self._xsettings_enabled = False self.display_pid = 0
def send_updated_screen_size(self): log("send_updated_screen_size") X11ServerCore.send_updated_screen_size(self) for wid, window in self._id_to_window.items(): w, h = window.get_dimensions() geomlog("%i new window dimensions: %s", wid, (w, h)) for ss in self._server_sources.values(): #first, make sure the size-hints are updated: ss.window_metadata(wid, window, "size-hints") #tell client to resize now: ss.resize_window(wid, window, w, h) #refresh to ensure the client gets the new window contents: ss.damage(wid, window, 0, 0, w, h)
def get_info(self, proto, *_args): info = X11ServerCore.get_info(self, proto) merge_dicts(info, ShadowServerBase.get_info(self, proto)) info.setdefault("features", {})["shadow"] = True info.setdefault( "server", {})["type"] = "Python/gtk%i/x11-shadow" % (2 + is_gtk3()) return info
def _adjust_pointer(self, proto, wid, pointer): pointer = X11ServerCore._adjust_pointer(self, proto, wid, pointer) window = self._id_to_window.get(wid) if window: ox, oy = window.geometry[:2] x, y = pointer return x + ox, y + oy return pointer
def poll_cursor(self): prev = self.last_cursor_data X11ServerCore.get_cursor_data(self) def cmpv(v): if v and len(v) > 2: return v[2:] return None if cmpv(prev) != cmpv(self.last_cursor_data): fields = ("x", "y", "width", "height", "xhot", "yhot", "serial", "pixels", "name") if len(prev or []) == len(self.last_cursor_data or []) and len( prev or []) == len(fields): diff = [] for i in range(len(prev)): if prev[i] != self.last_cursor_data[i]: diff.append(fields[i]) cursorlog("poll_cursor() attributes changed: %s", diff) for ss in self._server_sources.values(): ss.send_cursor() return True
def configure_best_screen_size(self): root_w, root_h = X11ServerCore.configure_best_screen_size(self) if self.touchpad_device: self.touchpad_device.root_w = root_w self.touchpad_device.root_h = root_h return root_w, root_h
def make_hello(self, source): capabilities = X11ServerCore.make_hello(self, source) capabilities.update(GTKShadowServerBase.make_hello(self, source)) capabilities["server_type"] = "Python/gtk2/x11-shadow" return capabilities
def do_get_cursor_data(self): return X11ServerCore.get_cursor_data(self)
def last_client_exited(self): GTKShadowServerBase.last_client_exited(self) X11ServerCore.last_client_exited(self)
def cleanup(self): GTKShadowServerBase.cleanup(self) X11ServerCore.cleanup(self)
def init(self, opts): GTKShadowServerBase.init(self, opts) X11ServerCore.do_init(self, opts)
def __init__(self): GTKShadowServerBase.__init__(self) X11ServerCore.__init__(self) self.session_type = "shadow"
def cleanup(self): GTKShadowServerBase.cleanup(self) X11ServerCore.cleanup(self) #@UndefinedVariable
def __init__(self): GTKShadowServerBase.__init__(self) X11ServerCore.__init__(self) self.cursor_poll_timer = None
def last_client_exited(self): self.reset_settings() X11ServerCore.last_client_exited(self)
def __init__(self): X11ServerCore.__init__(self) self._default_xsettings = {} self._settings = {} self._xsettings_manager = None self._xsettings_enabled = False
def get_info(self, proto, *_args): info = X11ServerCore.get_info(self, proto) info.setdefault("features", {})["shadow"] = True info.setdefault("server", {})["type"] = "Python/gtk3/x11-shadow" return info
def __init__(self): GTKShadowServerBase.__init__(self) X11ServerCore.__init__(self) self.session_type = "shadow" self.cursor_poll_timer = None
def do_cleanup(self): X11ServerCore.do_cleanup(self) self.kill_display()
def init(self, opts): GTKShadowServerBase.init(self, opts) #don't call init on X11ServerCore, #this would call up to GTKServerBase.init(opts) again: X11ServerCore.do_init(self, opts)