# pylint: disable=C0111,R0903 '''Displays system load. Parameters: * load.warning : Warning threshold for the one-minute load average (defaults to 70% of the number of CPUs) * load.critical: Critical threshold for the one-minute load average (defaults to 80% of the number of CPUs) ''' import os import multiprocessing import core.module import core.input class Module(core.module.Module): def __init__(self, config, theme): super().__init__(config, theme, core.widget.Widget(self.load)) self._load = [0, 0, 0] try: self._cpus = multiprocessing.cpu_count() except NotImplementedError as e: self._cpus = 1 core.input.register(self, button=core.input.LEFT_MOUSE, cmd='gnome-system-monitor') def load(self, widget): return '{:.02f}/{:.02f}/{:.02f}'.format( self._load[0], self._load[1], self._load[2] ) def update(self): self._load = os.getloadavg() def state(self, widget): return self.threshold_state(self._load[0], self._cpus*0.7, self._cpus*0.8) # vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4