From ea7774c0b63f7919b39d4c99e4ffd2f88cfcb3c4 Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Mon, 9 Jun 2014 19:37:49 +0200
Subject: [PATCH] gluon-alfred: add fields idletime, memory and processes to
 statistics

---
 .../lib/gluon/alfred/announce.d/statistics/idletime |  1 +
 .../lib/gluon/alfred/announce.d/statistics/memory   | 13 +++++++++++++
 .../gluon/alfred/announce.d/statistics/processes    |  3 +++
 3 files changed, 17 insertions(+)
 create mode 100644 package/gluon-alfred/files/lib/gluon/alfred/announce.d/statistics/idletime
 create mode 100644 package/gluon-alfred/files/lib/gluon/alfred/announce.d/statistics/memory
 create mode 100644 package/gluon-alfred/files/lib/gluon/alfred/announce.d/statistics/processes

diff --git a/package/gluon-alfred/files/lib/gluon/alfred/announce.d/statistics/idletime b/package/gluon-alfred/files/lib/gluon/alfred/announce.d/statistics/idletime
new file mode 100644
index 000000000..93165f05c
--- /dev/null
+++ b/package/gluon-alfred/files/lib/gluon/alfred/announce.d/statistics/idletime
@@ -0,0 +1 @@
+return tonumber(util.trim(util.exec("cut -d' ' -f2 /proc/uptime")))
diff --git a/package/gluon-alfred/files/lib/gluon/alfred/announce.d/statistics/memory b/package/gluon-alfred/files/lib/gluon/alfred/announce.d/statistics/memory
new file mode 100644
index 000000000..7b07a1079
--- /dev/null
+++ b/package/gluon-alfred/files/lib/gluon/alfred/announce.d/statistics/memory
@@ -0,0 +1,13 @@
+local data = fs.readfile('/proc/meminfo')
+
+local fields = {}
+for k, v in data:gmatch('([^\n:]+):%s*(%d+) kB') do
+	fields[k] = tonumber(v)
+end
+
+return {
+	total = fields.MemTotal,
+	free = fields.MemFree,
+	buffers = fields.Buffers,
+	cached = fields.Cached,
+}
diff --git a/package/gluon-alfred/files/lib/gluon/alfred/announce.d/statistics/processes b/package/gluon-alfred/files/lib/gluon/alfred/announce.d/statistics/processes
new file mode 100644
index 000000000..33ecff668
--- /dev/null
+++ b/package/gluon-alfred/files/lib/gluon/alfred/announce.d/statistics/processes
@@ -0,0 +1,3 @@
+local running, total = fs.readfile('/proc/loadavg'):match('^[^ ]+ [^ ]+ [^ ]+ (%d+)/(%d+)')
+
+return { running = tonumber(running), total = tonumber(total) }
-- 
GitLab