From 42d8353db6774cf403a944cc2348be5b82e66e26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20Silkeb=C3=A6kken?= Date: Mon, 10 Dec 2012 19:46:54 +0100 Subject: [PATCH] Handle segment exclude/include modes --- powerline/renderer.py | 2 +- powerline/theme.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/powerline/renderer.py b/powerline/renderer.py index 28a5be4d..8b71abf3 100644 --- a/powerline/renderer.py +++ b/powerline/renderer.py @@ -19,7 +19,7 @@ class Renderer(object): provided they will fill the remaining space until the desired width is reached. ''' - self.segments = self.theme.get_segments() + self.segments = self.theme.get_segments(mode) rendered_highlighted = self._render_segments(mode) if not width: diff --git a/powerline/theme.py b/powerline/theme.py index dfee4321..8adb9b7f 100644 --- a/powerline/theme.py +++ b/powerline/theme.py @@ -51,7 +51,7 @@ class Theme(object): ''' return self.dividers[side][type] - def get_segments(self): + def get_segments(self, mode): '''Return all segments. Function segments are called, and all segments get their before/after @@ -59,6 +59,9 @@ class Theme(object): ''' return_segments = [] for segment in self.segments: + if mode in segment['exclude_modes'] or (segment['include_modes'] and segment not in segment['include_modes']): + continue + if segment['type'] == 'function': contents_func_ret = segment['contents_func'](**segment['args'])