From 08695540dafc93cc6c91507f2acd991e1cf714dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20Silkeb=C3=A6kken?= Date: Sat, 17 Nov 2012 12:35:38 +0100 Subject: [PATCH] Handle remainder whitespace for filler segments When more than one filler segment is specified it may sometimes be a remainder when calculating the amount of whitespace. divmod() is used to retrieve the remainder, which is added as whitespace to the first filler segment. --- lib/core.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/core.py b/lib/core.py index 1024114d..427ad172 100644 --- a/lib/core.py +++ b/lib/core.py @@ -115,9 +115,12 @@ 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'])) / len(segments_fillers)) + segments_fillers_len, segments_fillers_remainder = divmod((width - len(rendered['raw'])), len(segments_fillers)) + segments_fillers_contents = ' ' * segments_fillers_len for segment in segments_fillers: segment.contents = segments_fillers_contents + # Add remainder whitespace to the first filler segment + segments_fillers[0].contents += ' ' * segments_fillers_remainder # Do a final render now that we have handled the cropping and padding rendered = render_segments(self.segments, render_raw=False)