diff --git a/bumblebee/modules/cpu.py b/bumblebee/modules/cpu.py index 5f13401..ed5b856 100644 --- a/bumblebee/modules/cpu.py +++ b/bumblebee/modules/cpu.py @@ -5,6 +5,7 @@ Parameters: * cpu.warning : Warning threshold in % of CPU usage (defaults to 70%) * cpu.critical: Critical threshold in % of CPU usage (defaults to 80%) + * cpu.format : Format string (defaults to "{:.01f}%)") """ try: @@ -25,8 +26,12 @@ class Module(bumblebee.engine.Module): engine.input.register_callback(self, button=bumblebee.input.LEFT_MOUSE, cmd="gnome-system-monitor") + @property + def _format(self): + return self.parameter("format", "{:.01f}%") + def utilization(self, _): - return "{:.01f}%".format(self._utilization) + return self._format.format(self._utilization) def update(self, widgets): self._utilization = psutil.cpu_percent(percpu=False) diff --git a/bumblebee/modules/rotation.py b/bumblebee/modules/rotation.py index b03123d..23552d0 100644 --- a/bumblebee/modules/rotation.py +++ b/bumblebee/modules/rotation.py @@ -21,7 +21,6 @@ class Module(bumblebee.engine.Module): self.update_widgets(widgets) def update_widgets(self, widgets): - new_widgets = [] for line in bumblebee.util.execute("xrandr -q").split("\n"): if not " connected" in line: continue @@ -37,16 +36,12 @@ class Module(bumblebee.engine.Module): if not widget: widget = bumblebee.output.Widget(full_text=display, name=display) self._engine.input.register_callback(widget, button=bumblebee.input.LEFT_MOUSE, cmd=self._toggle) - new_widgets.append(widget) widget.set("orientation", orientation) - - while len(widgets) > 0: - del widgets[0] - for widget in new_widgets: widgets.append(widget) def update(self, widgets): - self.update_widgets(widgets) + if len(widgets) <= 0: + self.update_widgets(widgets) def state(self, widget): return widget.get("orientation", "normal")