except Exception, e: self.info.set_text("Xpra Client error: %s" % e) print("Xpra Client error: %s" % e) return self.window.hide() # launch Xpra client in the same gtk.main(): from wimpiggy.util import gtk_main_quit_on_fatal_exceptions_enable gtk_main_quit_on_fatal_exceptions_enable() opts = AdHocStruct() opts.clipboard = True opts.pulseaudio = True opts.password_file = xpra_opts.password_file opts.title = "@title@ on @client-machine@" opts.encoding = xpra_opts.encoding opts.jpegquality = xpra_opts.jpegquality opts.max_bandwidth = 0.0 opts.auto_refresh_delay = 0.0 opts.key_shortcuts = [] opts.compression_level = 3 from xpra.platform import DEFAULT_SSH_CMD opts.ssh = DEFAULT_SSH_CMD opts.remote_xpra = ".xpra/run-xpra" opts.debug = None opts.no_tray = False opts.dock_icon = None opts.tray_icon = None opts.window_icon = None opts.readonly = False opts.session_name = "Xpra session" opts.mmap = True opts.keyboard_sync = True
xpra_opts.password_file = default_str("password-file", "") xpra_opts.clipboard = default_bool("clipboard", True) xpra_opts.pulseaudio = default_bool("pulseaudio", True) xpra_opts.mmap = default_bool("mmap", True) xpra_opts.mmap_group = default_bool("mmap-group", False) xpra_opts.readonly = default_bool("readonly", False) xpra_opts.keyboard_sync = default_bool("keyboard-sync", True) xpra_opts.compression_level = default_int("compression", 3) xpra_opts.send_pings = default_bool("pings", False) xpra_opts.dpi = default_int("dpi", 96) xpra_opts.cursors = default_bool("cursors", True) xpra_opts.bell = default_bool("bell", True) xpra_opts.notifications = default_bool("notifications", True) #these would need testing/work: xpra_opts.auto_refresh_delay = 0.0 xpra_opts.max_bandwidth = 0.0 xpra_opts.key_shortcuts = ["Meta+Shift+F4:quit"] #these cannot be set in the xpra.conf (would not make sense): xpra_opts.autoconnect = False def add_close_accel(window, callback): # key accelerators accel_group = gtk.AccelGroup() accel_group.connect_group(ord('w'), gtk.gdk.CONTROL_MASK, gtk.ACCEL_LOCKED, callback) window.add_accel_group(accel_group) accel_group = gtk.AccelGroup() key, mod = gtk.accelerator_parse('<Alt>F4') accel_group.connect_group(key, mod, gtk.ACCEL_LOCKED, callback) window.add_accel_group(accel_group)
xpra_opts.pulseaudio = default_bool("pulseaudio", True) xpra_opts.mmap = default_bool("mmap", True) xpra_opts.mmap_group = default_bool("mmap-group", False) xpra_opts.readonly = default_bool("readonly", False) xpra_opts.keyboard_sync = default_bool("keyboard-sync", True) xpra_opts.compression_level = default_int("compression", 3) xpra_opts.send_pings = default_bool("pings", False) xpra_opts.dpi = default_int("dpi", 96) xpra_opts.cursors = default_bool("cursors", True) xpra_opts.bell = default_bool("bell", True) xpra_opts.notifications = default_bool("notifications", True) xpra_opts.sharing = default_bool("sharing", False) xpra_opts.delay_tray = default_bool("delay-tray", False) #these would need testing/work: xpra_opts.auto_refresh_delay = 1.0 xpra_opts.max_bandwidth = 0.0 xpra_opts.key_shortcuts = ["Meta+Shift+F4:quit"] #these cannot be set in the xpra.conf (would not make sense): xpra_opts.autoconnect = False def add_close_accel(window, callback): # key accelerators accel_group = gtk.AccelGroup() accel_group.connect_group(ord('w'), gtk.gdk.CONTROL_MASK, gtk.ACCEL_LOCKED, callback) window.add_accel_group(accel_group) accel_group = gtk.AccelGroup() key, mod = gtk.accelerator_parse('<Alt>F4') accel_group.connect_group(key, mod, gtk.ACCEL_LOCKED, callback) window.add_accel_group(accel_group)
except Exception, e: self.info.set_text("Xpra Client error: %s" % e) return self.window.hide() # launch Xpra client in the same gtk.main(): from wimpiggy.util import gtk_main_quit_on_fatal_exceptions_enable, AdHocStruct gtk_main_quit_on_fatal_exceptions_enable() opts = AdHocStruct() opts.clipboard = True opts.pulseaudio = True opts.password_file = None opts.title_suffix = None opts.title = "@title@ on @client-machine@" opts.encoding = "rgb24" opts.jpegquality = 80 opts.max_bandwidth = 0.0 opts.auto_refresh_delay = 0.0 opts.key_shortcuts = [] opts.compression_level = 3 from xpra.platform import DEFAULT_SSH_CMD opts.ssh = DEFAULT_SSH_CMD opts.remote_xpra = ".xpra/run-xpra" opts.debug = None opts.dock_icon = None import logging logging.root.setLevel(logging.INFO) logging.root.addHandler(logging.StreamHandler(sys.stderr)) app = XpraClient(socket_wrapper, opts) app.run()