From 39316c429ba63496eeb15436fb98008d126fc758 Mon Sep 17 00:00:00 2001 From: ZyX Date: Mon, 7 Jul 2014 19:37:59 +0400 Subject: [PATCH] Reverse the gradient in battery segment Closes #910 --- powerline/segments/common.py | 10 +++++++--- tests/test_segments.py | 14 +++++++------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/powerline/segments/common.py b/powerline/segments/common.py index 775b38e2..e69e0bf6 100644 --- a/powerline/segments/common.py +++ b/powerline/segments/common.py @@ -1162,18 +1162,22 @@ def battery(pl, format='{capacity:3.0%}', steps=5, gamify=False, full_heart='♥ 'contents': full_heart * numer, 'draw_inner_divider': False, 'highlight_group': ['battery_gradient', 'battery'], - 'gradient_level': 99, + # Using zero as “nothing to worry about”: it is least alert color. + 'gradient_level': 0, }) ret.append({ 'contents': empty_heart * (denom - numer), 'draw_inner_divider': False, 'highlight_group': ['battery_gradient', 'battery'], - 'gradient_level': 1, + # Using a hundred as it is most alert color. + 'gradient_level': 100, }) else: ret.append({ 'contents': format.format(capacity=(capacity / 100.0)), 'highlight_group': ['battery_gradient', 'battery'], - 'gradient_level': capacity, + # Gradients are “least alert – most alert” by default, capacity has + # the opposite semantics. + 'gradient_level': 100 - capacity, }) return ret diff --git a/tests/test_segments.py b/tests/test_segments.py index 497a58ab..5a370460 100644 --- a/tests/test_segments.py +++ b/tests/test_segments.py @@ -533,30 +533,30 @@ class TestCommon(TestCase): self.assertEqual(common.battery(pl=pl), [{ 'contents': '86%', 'highlight_group': ['battery_gradient', 'battery'], - 'gradient_level': 86 + 'gradient_level': 14, }]) self.assertEqual(common.battery(pl=pl, format='{capacity:.2f}'), [{ 'contents': '0.86', 'highlight_group': ['battery_gradient', 'battery'], - 'gradient_level': 86 + 'gradient_level': 14, }]) self.assertEqual(common.battery(pl=pl, steps=7), [{ 'contents': '86%', 'highlight_group': ['battery_gradient', 'battery'], - 'gradient_level': 86 + 'gradient_level': 14, }]) self.assertEqual(common.battery(pl=pl, gamify=True), [ { 'contents': '♥♥♥♥', 'draw_inner_divider': False, 'highlight_group': ['battery_gradient', 'battery'], - 'gradient_level': 99 + 'gradient_level': 0 }, { 'contents': '♥', 'draw_inner_divider': False, 'highlight_group': ['battery_gradient', 'battery'], - 'gradient_level': 1 + 'gradient_level': 100 } ]) self.assertEqual(common.battery(pl=pl, gamify=True, full_heart='+', empty_heart='-', steps='10'), [ @@ -564,13 +564,13 @@ class TestCommon(TestCase): 'contents': '++++++++', 'draw_inner_divider': False, 'highlight_group': ['battery_gradient', 'battery'], - 'gradient_level': 99 + 'gradient_level': 0 }, { 'contents': '--', 'draw_inner_divider': False, 'highlight_group': ['battery_gradient', 'battery'], - 'gradient_level': 1 + 'gradient_level': 100 } ])