예제 #1
0
    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
예제 #2
0
    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
예제 #3
0
    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
예제 #4
0
 def make_hello(self):
     capabilities = XpraClientBase.make_hello(self)
     capabilities["keyboard"] = False
     return capabilities
예제 #5
0
 def make_hello(self):
     capabilities = XpraClientBase.make_hello(self)
     capabilities["keyboard"] = False
     return capabilities
예제 #6
0
 def make_hello(self, challenge_response=None):
     capabilities = XpraClientBase.make_hello(self, challenge_response)
     capabilities["keyboard"] = False
     return capabilities
예제 #7
0
 def make_hello(self, challenge_response=None):
     capabilities = XpraClientBase.make_hello(self, challenge_response)
     capabilities["keyboard"] = False
     return capabilities