def make_hello(self): caps = XpraClientBase.make_hello(self) caps["session-type"] = get_session_type() #don't try to find the server uuid if this platform cannot run servers.. #(doing so causes lockups on win32 and startup errors on osx) if POSIX and not is_Wayland(): #we may be running inside another server! try: from xpra.server.server_uuid import get_uuid caps["server_uuid"] = get_uuid() or "" except ImportError: pass for x in ( #generic feature flags: "wants_events", "setting-change", "xdg-menu-update", ): caps[x] = True caps.update({ #generic server flags: "share": self.client_supports_sharing, "lock": self.client_lock, }) caps.update({"mouse": True}) caps.update(self.get_keyboard_caps()) for c in CLIENT_BASES: caps.update(c.get_caps(self)) def u(prefix, c): updict(caps, prefix, c, flatten_dicts=False) u("control_commands", self.get_control_commands_caps()) u("platform", get_platform_info()) u("opengl", self.opengl_props) return caps
def make_hello(self): caps = XpraClientBase.make_hello(self) caps["session-type"] = get_session_type() #don't try to find the server uuid if this platform cannot run servers.. #(doing so causes lockups on win32 and startup errors on osx) if MMAP_SUPPORTED: #we may be running inside another server! try: from xpra.server.server_uuid import get_uuid caps["server_uuid"] = get_uuid() or "" except: pass for x in ( #generic feature flags: "notify-startup-complete", "wants_events", "setting-change", ): caps[x] = True #FIXME: the messy bits without proper namespace: caps.update({ #generic server flags: "share": self.client_supports_sharing, "lock": self.client_lock, }) caps.update(self.get_keyboard_caps()) for c in CLIENT_BASES: caps.update(c.get_caps(self)) def u(prefix, c): updict(caps, prefix, c, flatten_dicts=False) u("control_commands", self.get_control_commands_caps()) u("platform", get_platform_info()) return caps
def make_hello(self): caps = XpraClientBase.make_hello(self) caps["session-type"] = get_session_type() #don't try to find the server uuid if this platform cannot run servers.. #(doing so causes lockups on win32 and startup errors on osx) if MMAP_SUPPORTED: #we may be running inside another server! try: from xpra.server.server_uuid import get_uuid caps["server_uuid"] = get_uuid() or "" except: pass for x in ( #generic feature flags: "notify-startup-complete", "wants_events", "setting-change", ): caps[x] = True #FIXME: the messy bits without proper namespace: caps.update({ #generic server flags: "share": self.client_supports_sharing, "lock": self.client_lock, }) #messy unprefixed: caps.update(WindowClient.get_caps(self)) caps.update(DisplayClient.get_caps(self)) caps.update(NetworkState.get_caps(self)) caps.update(Encodings.get_caps(self)) caps.update(ClipboardClient.get_caps(self)) caps.update(self.get_keyboard_caps()) #nicely prefixed: def u(prefix, c): updict(caps, prefix, c, flatten_dicts=False) u("sound", AudioClient.get_audio_capabilities(self)) u("notifications", self.get_notifications_caps()) u("control_commands", self.get_control_commands_caps()) u("platform", get_platform_info()) mmap_caps = MmapClient.get_caps(self) u("mmap", mmap_caps) #pre 2.3 servers only use underscore instead of "." prefix for mmap caps: for k, v in mmap_caps.items(): caps["mmap_%s" % k] = v return caps