def init_clipboard(self): log("init_clipboard() enabled=%s, filter file=%s", self.clipboard, self.clipboard_filter_file) ### Clipboard handling: self._clipboard_helper = None self._clipboard_client = None self._clipboards = [] if not self.clipboard: return clipboard_filter_res = [] if self.clipboard_filter_file: if not os.path.exists(self.clipboard_filter_file): log.error("invalid clipboard filter file: '%s' does not exist - clipboard disabled!", self.clipboard_filter_file) return try: with open(self.clipboard_filter_file, "r" ) as f: for line in f: clipboard_filter_res.append(line.strip()) log("loaded %s regular expressions from clipboard filter file %s", len(clipboard_filter_res), self.clipboard_filter_file) except: log.error("error reading clipboard filter file %s - clipboard disabled!", self.clipboard_filter_file, exc_info=True) return try: from xpra.clipboard.gdk_clipboard import GDKClipboardProtocolHelper kwargs = { "filters" : clipboard_filter_res, "can-send" : self.clipboard_direction in ("to-client", "both"), "can-receive" : self.clipboard_direction in ("to-server", "both"), } self._clipboard_helper = GDKClipboardProtocolHelper(self.send_clipboard_packet, self.clipboard_progress, **kwargs) self._clipboards = CLIPBOARDS except Exception: #log("gdk clipboard helper failure", exc_info=True) log.error("Error: failed to setup clipboard helper", exc_info=True) self.clipboard = False
def __init__(self): CLIPBOARDS = [SELECTION] self.helper = GDKClipboardProtocolHelper(self.send_packet_cb, self.progress_cb, clipboards=CLIPBOARDS)