[core] Add "autohide" for distraction-free programming
Add a new parameter "-a|--autohide" that allows you to specify a list of module names (or aliases) that will be hidden from the bar *unless* their state is either warning or critical.
This commit is contained in:
parent
44a50c0b36
commit
7b07ef538a
2 changed files with 8 additions and 0 deletions
|
@ -63,6 +63,8 @@ def create_parser():
|
||||||
help="Location of the debug log file")
|
help="Location of the debug log file")
|
||||||
parser.add_argument("-i", "--iconset", default="auto",
|
parser.add_argument("-i", "--iconset", default="auto",
|
||||||
help="Specify the name of an iconset to use (overrides theme default)")
|
help="Specify the name of an iconset to use (overrides theme default)")
|
||||||
|
parser.add_argument("-a", "--autohide", nargs="+", default=[],
|
||||||
|
help="Specify a list of modules to hide when not in warning/error state")
|
||||||
|
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
|
@ -108,4 +110,7 @@ class Config(bumblebee.store.Store):
|
||||||
def logfile(self):
|
def logfile(self):
|
||||||
return os.path.expanduser(self._args.logfile)
|
return os.path.expanduser(self._args.logfile)
|
||||||
|
|
||||||
|
def autohide(self):
|
||||||
|
return self._args.autohide
|
||||||
|
|
||||||
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
|
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
|
||||||
|
|
|
@ -122,6 +122,9 @@ class I3BarOutput(object):
|
||||||
full_text = widget.full_text()
|
full_text = widget.full_text()
|
||||||
if widget.get_module() and widget.get_module().hidden():
|
if widget.get_module() and widget.get_module().hidden():
|
||||||
return
|
return
|
||||||
|
if widget.get_module() and widget.get_module().name in self._config.autohide():
|
||||||
|
if not any(state in widget.state() for state in ["warning", "critical"]):
|
||||||
|
return
|
||||||
padding = self._theme.padding(widget)
|
padding = self._theme.padding(widget)
|
||||||
prefix = self._theme.prefix(widget, padding)
|
prefix = self._theme.prefix(widget, padding)
|
||||||
suffix = self._theme.suffix(widget, padding)
|
suffix = self._theme.suffix(widget, padding)
|
||||||
|
|
Loading…
Reference in a new issue