[themes] Add "cycle" theme capability
It is now possible to add a list of theme configurations in the "default" section called "cycle". These configuration items will be cycled through module by module. to create "alternate style" effects. This is *only* possible in the "default" configuration part, but any module-specific configurations still take precedence. Also, removed the capability of per-widget themes. That simply complicates things and probably doesn't really bring any benefits.
This commit is contained in:
parent
656c499c95
commit
2a35905b89
8 changed files with 57 additions and 19 deletions
|
@ -24,23 +24,25 @@ def main():
|
|||
sys.exit(0)
|
||||
|
||||
modules = []
|
||||
theme = bumblebee.theme.Theme(args.theme) if args.theme else bumblebee.theme.Theme()
|
||||
for m in args.modules:
|
||||
# TODO: how to cleanly handle errors here?
|
||||
# (useful error messages)
|
||||
module_name = m if not ":" in m else m.split(":")[0]
|
||||
module_args = None if not ":" in m else m.split(":")[1:]
|
||||
module = importlib.import_module("bumblebee.modules.{}".format(module_name))
|
||||
modules.append(getattr(module, "Module")(theme, module_args))
|
||||
modules.append(getattr(module, "Module")(module_args))
|
||||
|
||||
output = bumblebee.outputs.i3.i3bar()
|
||||
theme = bumblebee.theme.Theme(args.theme) if args.theme else bumblebee.theme.Theme()
|
||||
output = bumblebee.outputs.i3.i3bar(theme)
|
||||
|
||||
print output.start()
|
||||
sys.stdout.flush()
|
||||
|
||||
while True:
|
||||
theme.reset()
|
||||
for m in modules:
|
||||
output.add(m)
|
||||
theme.next()
|
||||
print output.get()
|
||||
sys.stdout.flush()
|
||||
time.sleep(1)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue