[modules] add a module "keys" that shows whether a key is pressed

also, add backend functionality to hide individual widgets of a module.
This commit is contained in:
tobi-wan-kenobi 2021-03-13 13:17:20 +01:00
parent 7d0d1455c8
commit 8d88b23947
4 changed files with 46 additions and 28 deletions

View file

@ -190,9 +190,9 @@ class Module(core.input.Object):
:rtype: bumblebee_status.widget.Widget
"""
def add_widget(self, full_text="", name=None):
def add_widget(self, full_text="", name=None, hidden=False):
widget_id = "{}::{}".format(self.name, len(self.widgets()))
widget = core.widget.Widget(full_text=full_text, name=name, widget_id=widget_id)
widget = core.widget.Widget(full_text=full_text, name=name, widget_id=widget_id, hidden=hidden)
self.widgets().append(widget)
widget.module = self
return widget

View file

@ -216,6 +216,8 @@ class i3(object):
continue
if module.hidden():
continue
if widget.hidden:
continue
if "critical" in widget.state() and self.__config.errorhide(widget.module.name):
continue
blocks.extend(self.separator_block(module, widget))

View file

@ -10,12 +10,13 @@ log = logging.getLogger(__name__)
class Widget(util.store.Store, core.input.Object):
def __init__(self, full_text="", name=None, widget_id=None):
def __init__(self, full_text="", name=None, widget_id=None, hidden=False):
super(Widget, self).__init__()
self.__full_text = full_text
self.module = None
self.name = name
self.id = widget_id or self.id
self.hidden = hidden
@property
def module(self):

View file

@ -44,29 +44,44 @@
"bg": "#b8bb26"
}
},
"bluetooth": {
"ON": {
"fg": "#1d2021",
"bg": "#b8bb26"
}
},
"git": {
"modified": { "bg": "#458588" },
"deleted": { "bg": "#9d0006" },
"new": { "bg": "#b16286" }
},
"pomodoro": {
"paused": {
"fg": "#1d2021",
"bg": "#d79921"
},
"work": {
"fg": "#1d2021",
"bg": "#b8bb26"
},
"break": {
"fg": "#002b36",
"bg": "#859900"
}
}
"bluetooth": {
"ON": {
"fg": "#1d2021",
"bg": "#b8bb26"
}
},
"git": {
"modified": { "bg": "#458588" },
"deleted": { "bg": "#9d0006" },
"new": { "bg": "#b16286" }
},
"pomodoro": {
"paused": {
"fg": "#1d2021",
"bg": "#d79921"
},
"work": {
"fg": "#1d2021",
"bg": "#b8bb26"
},
"break": {
"fg": "#002b36",
"bg": "#859900"
}
},
"keys": {
"Key.cmd": {
"bg": "#8ec07c",
"full_text": "***"
},
"Key.shift": {
"bg": "#fabd2f"
},
"Key.ctrl": {
"bg": "#83a598"
},
"Key.alt": {
"bg": "#f28019"
}
}
}