diff --git a/README.md b/README.md index fa41bdd..7b069e0 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,16 @@ This class shows a clock +### load + + +Shows system load + + +* format — format string used for output. {avg1}, {avg5} and {avg15} are the load average of the last one, five and fifteen minutes, respectively. {tasks} is the number of tasks (i.e. 1/285, which indiciates that one out of 285 total tasks is runnable). (default: {avg1} {avg5}) + + + ### mail diff --git a/i3pystatus/load.py b/i3pystatus/load.py new file mode 100644 index 0000000..58b19f7 --- /dev/null +++ b/i3pystatus/load.py @@ -0,0 +1,21 @@ +from i3pystatus import IntervalModule + +class Load(IntervalModule): + """ + Shows system load + """ + + format = "{avg1} {avg5}" + settings = ( + ("format", "format string used for output. {avg1}, {avg5} and {avg15} are the load average of the last one, five and fifteen minutes, respectively. {tasks} is the number of tasks (i.e. 1/285, which indiciates that one out of 285 total tasks is runnable)."), + ) + + file = "/proc/loadavg" + + def run(self): + with open(self.file, "r") as f: + avg1, avg5, avg15, tasks, lastpid = f.read().split(" ", 5) + + self.output = { + "full_text" : self.format.format(avg1=avg1, avg5=avg5, avg15=avg15, tasks=tasks), + } diff --git a/i3pystatus/regex.py b/i3pystatus/regex.py index 6061369..792de19 100644 --- a/i3pystatus/regex.py +++ b/i3pystatus/regex.py @@ -23,6 +23,6 @@ class Regex(IntervalModule): def run(self): with open(self.file, "r") as f: match = self.re.search(f.read()) - self.output = self.output = { + self.output = { "full_text" : self.format.format(*match.groups()), } \ No newline at end of file