Exemplo n.º 1
0
 def do_init(self, opts):
     super().do_init(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()
Exemplo n.º 2
0
 def do_init(self, opts):
     super().do_init(opts)
     #the server class sets the default value for 'xsettings_enabled'
     #it is overriden in the seamless server (enabled by default),
     #and we let the options have the final say here:
     self._xsettings_enabled = parse_bool("xsettings", opts.xsettings,
                                          self._xsettings_enabled)
     log("xsettings_enabled(%s)=%s", opts.xsettings,
         self._xsettings_enabled)
     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()
Exemplo n.º 3
0
    def x11_init(self):
        X11ServerBase.x11_init(self)
        assert init_x11_filter() is True

        self._has_grab = 0
        self._has_focus = 0
        # Do this before creating the Wm object, to avoid clobbering its
        # selecting SubstructureRedirect.
        root = gtk.gdk.get_default_root_window()
        root.set_events(root.get_events() | gtk.gdk.SUBSTRUCTURE_MASK)
        root.property_change(gtk.gdk.atom_intern("XPRA_SERVER", False),
                             gtk.gdk.atom_intern("STRING", False), 8,
                             gtk.gdk.PROP_MODE_REPLACE, xpra.__version__)
        add_event_receiver(root, self)

        ### Create the WM object
        self._wm = Wm(self.clobber, self.wm_name)
        self._wm.connect("new-window", self._new_window_signaled)
        self._wm.connect("bell", self._bell_signaled)
        self._wm.connect("quit", lambda _: self.clean_quit(True))
        self._wm.connect("show-desktop", self._show_desktop)

        #save default xsettings:
        self.default_xsettings = XSettingsHelper().get_settings()
        settingslog("default_xsettings=%s", self.default_xsettings)
        self._settings = {}
        self._xsettings_manager = None

        #for handling resize synchronization between client and server (this is not xsync!):
        self.last_client_configure_event = 0
        self.snc_timer = 0

        #cursor:
        self.default_cursor_data = None
        self.last_cursor_serial = None
        self.last_cursor_data = None
        self.send_cursor_pending = False

        def get_default_cursor():
            self.default_cursor_data = X11Keyboard.get_cursor_image()
            cursorlog("get_default_cursor=%s", self.default_cursor_data)

        trap.swallow_synced(get_default_cursor)
        self._wm.enableCursors(True)