Issue #14777: merge
This commit is contained in:
commit
a0082788e4
|
@ -540,12 +540,19 @@ class Misc:
|
|||
|
||||
The type keyword specifies the form in which the data is
|
||||
to be returned and should be an atom name such as STRING
|
||||
or FILE_NAME. Type defaults to STRING.
|
||||
or FILE_NAME. Type defaults to STRING, except on X11, where the default
|
||||
is to try UTF8_STRING and fall back to STRING.
|
||||
|
||||
This command is equivalent to:
|
||||
|
||||
selection_get(CLIPBOARD)
|
||||
"""
|
||||
if 'type' not in kw and self._windowingsystem == 'x11':
|
||||
try:
|
||||
kw['type'] = 'UTF8_STRING'
|
||||
return self.tk.call(('clipboard', 'get') + self._options(kw))
|
||||
except TclError:
|
||||
del kw['type']
|
||||
return self.tk.call(('clipboard', 'get') + self._options(kw))
|
||||
|
||||
def clipboard_clear(self, **kw):
|
||||
|
@ -627,8 +634,16 @@ class Misc:
|
|||
A keyword parameter selection specifies the name of
|
||||
the selection and defaults to PRIMARY. A keyword
|
||||
parameter displayof specifies a widget on the display
|
||||
to use."""
|
||||
to use. A keyword parameter type specifies the form of data to be
|
||||
fetched, defaulting to STRING except on X11, where UTF8_STRING is tried
|
||||
before STRING."""
|
||||
if 'displayof' not in kw: kw['displayof'] = self._w
|
||||
if 'type' not in kw and self._windowingsystem == 'x11':
|
||||
try:
|
||||
kw['type'] = 'UTF8_STRING'
|
||||
return self.tk.call(('selection', 'get') + self._options(kw))
|
||||
except TclError:
|
||||
del kw['type']
|
||||
return self.tk.call(('selection', 'get') + self._options(kw))
|
||||
def selection_handle(self, command, **kw):
|
||||
"""Specify a function COMMAND to call if the X
|
||||
|
@ -1043,6 +1058,15 @@ class Misc:
|
|||
if displayof is None:
|
||||
return ('-displayof', self._w)
|
||||
return ()
|
||||
@property
|
||||
def _windowingsystem(self):
|
||||
"""Internal function."""
|
||||
try:
|
||||
return self._root()._windowingsystem_cached
|
||||
except AttributeError:
|
||||
ws = self._root()._windowingsystem_cached = \
|
||||
self.tk.call('tk', 'windowingsystem')
|
||||
return ws
|
||||
def _options(self, cnf, kw = None):
|
||||
"""Internal function."""
|
||||
if kw:
|
||||
|
|
|
@ -34,6 +34,12 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #14777: tkinter may return undecoded UTF-8 bytes as a string when
|
||||
accessing the Tk clipboard. Modify clipboad_get() to first request type
|
||||
UTF8_STRING when no specific type is requested in an X11 windowing
|
||||
environment, falling back to the current default type STRING if that fails.
|
||||
Original patch by Thomas Kluyver.
|
||||
|
||||
- Issue #14773: Fix os.fwalk() failing on dangling symlinks.
|
||||
|
||||
- Issue #12541: Be lenient with quotes around Realm field of HTTP Basic
|
||||
|
|
Loading…
Reference in New Issue