Skip to content

Commit

Permalink
gtk docs say that the title must be in utf8, so encode it that way - …
Browse files Browse the repository at this point in the history
…and be more defensive about encoding/decoding errors

git-svn-id: https://xpra.org/svn/Xpra/trunk@5694 3bb7dfac-3a0b-4e04-842a-767bc560f471
  • Loading branch information
totaam committed Mar 4, 2014
1 parent 31c137b commit 0bf489d
Showing 1 changed file with 20 additions and 15 deletions.
35 changes: 20 additions & 15 deletions src/xpra/client/client_window_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,21 +124,26 @@ def update_metadata(self, metadata):

def set_metadata(self, metadata):
if "title" in metadata:
title = u(self._client.title)
if title.find("@")>=0:
#perform metadata variable substitutions:
default_values = {"title" : u("<untitled window>"),
"client-machine" : u("<unknown machine>")}
def metadata_replace(match):
atvar = match.group(0) #ie: '@title@'
var = atvar[1:len(atvar)-1] #ie: 'title'
default_value = default_values.get(var, u("<unknown %s>") % var)
value = self._metadata.get(var, default_value)
if sys.version<'3':
value = value.decode("utf-8")
return value
title = re.sub("@[\w\-]*@", metadata_replace, title)
self.set_title(title)
try:
title = u(self._client.title)
if title.find("@")>=0:
#perform metadata variable substitutions:
default_values = {"title" : u("<untitled window>"),
"client-machine" : u("<unknown machine>")}
def metadata_replace(match):
atvar = match.group(0) #ie: '@title@'
var = atvar[1:len(atvar)-1] #ie: 'title'
default_value = default_values.get(var, u("<unknown %s>") % var)
value = self._metadata.get(var, default_value)
if sys.version<'3':
value = value.decode("utf-8")
return value
title = re.sub("@[\w\-]*@", metadata_replace, title)
utf8_title = title.encode("utf-8")
except Exception, e:
log.error("error parsing window title: %s", e)
utf8_title = ""
self.set_title(utf8_title)

if "icon-title" in metadata:
icon_title = metadata["icon-title"]
Expand Down

0 comments on commit 0bf489d

Please sign in to comment.