diff --git a/bumblebee/outputs/i3.py b/bumblebee/outputs/i3.py index aa6db2c..329e6d7 100644 --- a/bumblebee/outputs/i3.py +++ b/bumblebee/outputs/i3.py @@ -1,9 +1,12 @@ +from __future__ import unicode_literals + import json import bumblebee.output class i3bar(bumblebee.output.Output): def __init__(self): self._data = [] + self._previous_background = None def start(self): return json.dumps({ "version": 1 }) + "[" @@ -12,15 +15,24 @@ class i3bar(bumblebee.output.Output): theme = obj.theme() data = { - "full_text": "{}{}{}".format(theme.prefix(obj), obj.data(), theme.suffix(obj)), + u"full_text": "{}{}{}".format(theme.prefix(obj), obj.data(), theme.suffix(obj)), "color": theme.color(obj), - "background": theme.background(obj) + "background": theme.background(obj), } if theme.default_separators(obj) == False: data["separator"] = False data["separator_block_width"] = 0 + if theme.separator(obj): + self._data.append({ + u"full_text": theme.separator(obj), + "color": theme.background(obj), + "background": self._previous_background, + "separator": False, + "separator_block_width": 0, + }) self._data.append(data) + self._previous_background = theme.background(obj) def get(self): data = json.dumps(self._data) diff --git a/bumblebee/theme.py b/bumblebee/theme.py index ce6a22c..dea942d 100644 --- a/bumblebee/theme.py +++ b/bumblebee/theme.py @@ -31,6 +31,9 @@ class Theme: def background(self, obj): return self._gettheme(obj, "bg") + def separator(self, obj): + return self._gettheme(obj, "separator") + def default_separators(self, obj): return self._gettheme(obj, "default_separators")