From 90763f1fec0cad8b08e05aed85ed616ae379fe30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20Silkeb=C3=A6kken?= Date: Sat, 17 Nov 2012 12:35:22 +0100 Subject: [PATCH] Improve unicode handling of rendered segments --- lib/core.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/core.py b/lib/core.py index 26950054..1024114d 100644 --- a/lib/core.py +++ b/lib/core.py @@ -93,8 +93,8 @@ class Powerline: ) return { - 'highlighted': rendered_highlighted, - 'raw': rendered_raw, + 'highlighted': rendered_highlighted.decode('utf-8'), + 'raw': rendered_raw.decode('utf-8'), } rendered = render_segments(self.segments) @@ -106,7 +106,7 @@ class Powerline: # Create an ordered list of segments that can be dropped segments_priority = [segment for segment in sorted(self.segments, key=lambda segment: segment.priority, reverse=True) if segment.priority > 0] - while len(rendered['raw'].decode('utf-8')) > width and len(segments_priority): + while len(rendered['raw']) > width and len(segments_priority): self.segments.remove(segments_priority[0]) segments_priority.pop(0) @@ -115,7 +115,7 @@ class Powerline: # Distribute the remaining space on the filler segments segments_fillers = [segment for segment in self.segments if segment.filler is True] if segments_fillers: - segments_fillers_contents = ' ' * int((width - len(rendered['raw'].decode('utf-8'))) / len(segments_fillers)) + segments_fillers_contents = ' ' * int((width - len(rendered['raw'])) / len(segments_fillers)) for segment in segments_fillers: segment.contents = segments_fillers_contents