コード例 #1
0
 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")
コード例 #2
0
ファイル: clipboard_base.py プロジェクト: rudresh2319/Xpra
    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)
コード例 #3
0
    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)
コード例 #4
0
 def __init__(self, screen_number=0):
     self._selection = "_XSETTINGS_S%s" % screen_number
     self._clipboard = GetClipboard(self._selection)
コード例 #5
0
ファイル: selection.py プロジェクト: DiGuoZhiMeng/Xpra
 def __init__(self, selection):
     gobject.GObject.__init__(self)
     self.atom = selection
     self.clipboard = GetClipboard(selection)
     self._xwindow = None