Beispiel #1
0
 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()
Beispiel #2
0
 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)
Beispiel #3
0
 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
Beispiel #4
0
 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
Beispiel #5
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)
Beispiel #6
0
 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
Beispiel #7
0
 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
Beispiel #8
0
    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
Beispiel #9
0
 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
Beispiel #10
0
 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
Beispiel #11
0
 def do_get_cursor_data(self):
     return X11ServerCore.get_cursor_data(self)
Beispiel #12
0
 def last_client_exited(self):
     GTKShadowServerBase.last_client_exited(self)
     X11ServerCore.last_client_exited(self)
Beispiel #13
0
 def cleanup(self):
     GTKShadowServerBase.cleanup(self)
     X11ServerCore.cleanup(self)
Beispiel #14
0
 def init(self, opts):
     GTKShadowServerBase.init(self, opts)
     X11ServerCore.do_init(self, opts)
Beispiel #15
0
 def __init__(self):
     GTKShadowServerBase.__init__(self)
     X11ServerCore.__init__(self)
     self.session_type = "shadow"
Beispiel #16
0
 def cleanup(self):
     GTKShadowServerBase.cleanup(self)
     X11ServerCore.cleanup(self)  #@UndefinedVariable
Beispiel #17
0
 def __init__(self):
     GTKShadowServerBase.__init__(self)
     X11ServerCore.__init__(self)
     self.cursor_poll_timer = None
Beispiel #18
0
 def last_client_exited(self):
     self.reset_settings()
     X11ServerCore.last_client_exited(self)
Beispiel #19
0
 def __init__(self):
     X11ServerCore.__init__(self)
     self._default_xsettings = {}
     self._settings = {}
     self._xsettings_manager = None
     self._xsettings_enabled = False
Beispiel #20
0
 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
Beispiel #21
0
 def __init__(self):
     GTKShadowServerBase.__init__(self)
     X11ServerCore.__init__(self)
     self.session_type = "shadow"
     self.cursor_poll_timer = None
Beispiel #22
0
 def do_cleanup(self):
     X11ServerCore.do_cleanup(self)
     self.kill_display()
Beispiel #23
0
 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)