def __init__(self, selection, _log): self.clipboard = GetClipboard(selection) self.selection = selection self._log = _log self.owned_label = label() self.get_targets = gtk.combo_box_new_text() self.get_targets.set_sensitive(False) self.get_targets.connect("changed", self.get_target_changed) self.set_targets = gtk.combo_box_new_text() self.set_targets.append_text("STRING") self.set_targets.append_text("UTF8_STRING") self.set_targets.set_active(0) self.set_targets.connect("changed", self.set_target_changed) self.value_label = label() self.value_entry = gtk.Entry() self.value_entry.set_max_length(100) self.value_entry.set_width_chars(32) self.clear_label_btn = gtk.Button("X") self.clear_label_btn.connect("clicked", self.clear_label) self.clear_entry_btn = gtk.Button("X") self.clear_entry_btn.connect("clicked", self.clear_entry) self.get_get_targets_btn = gtk.Button("Get Targets") self.get_get_targets_btn.connect("clicked", self.do_get_targets) self.get_target_btn = gtk.Button("Get Target") self.get_target_btn.connect("clicked", self.do_get_target) self.get_target_btn.set_sensitive(False) self.set_target_btn = gtk.Button("Set Target") self.set_target_btn.connect("clicked", self.do_set_target) self.get_string_btn = gtk.Button("Get String") self.get_string_btn.connect("clicked", self.do_get_string) self.set_string_btn = gtk.Button("Set String") self.set_string_btn.connect("clicked", self.do_set_string) self.clipboard.connect("owner-change", self.owner_changed) self.log("ready")
def __init__(self, selection): gtk.Invisible.__init__(self) self.add_events(PROPERTY_CHANGE_MASK) self._selection = selection self._clipboard = GetClipboard(selection) self._enabled = True self._have_token = False #this workaround is only needed on win32 AFAIK: self._strip_nullbyte = sys.platform.startswith("win") #clients that need a new token for every owner-change: (ie: win32 and osx) #(forces the client to request new contents - prevents stale clipboard data) self._greedy_client = False #semaphore to block the sending of the token when we change the owner ourselves: self._block_owner_change = False #counters for info: self._selection_request_events = 0 self._selection_get_events = 0 self._selection_clear_events = 0 self._sent_token_events = 0 self._got_token_events = 0 self._get_contents_events = 0 self._request_contents_events = 0 try: from xpra.x11.gtk_x11.prop import prop_get self.prop_get = prop_get except ImportError: self.prop_get = None self._clipboard.connect("owner-change", self.do_owner_changed)
def __init__(self, selection): gtk.Invisible.__init__(self) self.add_events(PROPERTY_CHANGE_MASK) self._selection = selection self._clipboard = GetClipboard(selection) self._enabled = True self._have_token = False #enabled later during setup self._can_send = False self._can_receive = False #this workaround is only needed on win32 AFAIK: self._strip_nullbyte = WIN32 #clients that need a new token for every owner-change: (ie: win32 and osx) #(forces the client to request new contents - prevents stale clipboard data) self._greedy_client = False #semaphore to block the sending of the token when we change the owner ourselves: self._block_owner_change = False self._last_emit_token = 0 self._emit_token_timer = None #counters for info: self._selection_request_events = 0 self._selection_get_events = 0 self._selection_clear_events = 0 self._sent_token_events = 0 self._got_token_events = 0 self._get_contents_events = 0 self._request_contents_events = 0 self._last_targets = () if is_X11(): try: from xpra.x11.gtk_x11.prop import prop_get self.prop_get = prop_get except ImportError as e: log.warn("Warning: limited support for clipboard properties") log.warn(" %s", e) self.prop_get = None self._loop_uuid = "" self._clipboard.connect("owner-change", self.do_owner_changed)
def __init__(self, screen_number=0): self._selection = "_XSETTINGS_S%s" % screen_number self._clipboard = GetClipboard(self._selection)
def __init__(self, selection): gobject.GObject.__init__(self) self.atom = selection self.clipboard = GetClipboard(selection) self._xwindow = None