forked from enlightenment/enlightenment
108 lines
2.4 KiB
Plaintext
108 lines
2.4 KiB
Plaintext
|
|
uses String, File, Console;
|
|
|
|
global
|
|
{
|
|
object epplet;
|
|
object eppletBackground;
|
|
object uptimeLabel;
|
|
object loadLabel;
|
|
}
|
|
|
|
function create_epplet()
|
|
{
|
|
epplet = new Epplet();
|
|
epplet.resize(127, 24);
|
|
eppletBackground = new EvasObject(epplet);
|
|
eppletBackground.addImage(epplet.getEppletDir() + "uptime.png");
|
|
eppletBackground.move(epplet.getX(), epplet.getY());
|
|
eppletBackground.setLayer(9998);
|
|
eppletBackground.show();
|
|
|
|
uptimeLabel = new EvasObject(epplet);
|
|
uptimeLabel.addText("borzoib", 6, "");
|
|
uptimeLabel.move(epplet.getX() + epplet.getW() - 12 - uptimeLabel.getW(), epplet.getY()+4);
|
|
uptimeLabel.setLayer(9999);
|
|
uptimeLabel.setColor(0, 0, 0, 140);
|
|
uptimeLabel.show();
|
|
|
|
loadLabel = new EvasObject(epplet);
|
|
loadLabel.addText("borzoib", 6,"");
|
|
loadLabel.move(epplet.getX() + epplet.getW() - 12 - loadLabel.getW(), epplet.getY()+12);
|
|
loadLabel.setLayer(9999);
|
|
loadLabel.setColor(0, 0, 0, 140);
|
|
loadLabel.show();
|
|
}
|
|
|
|
function update_uptime(object data, number val)
|
|
{
|
|
object file;
|
|
number uptime_num, udays, uhours, uminutes;
|
|
string uptime_str;
|
|
|
|
file = new File();
|
|
|
|
file->open("/proc/uptime", "r", "");
|
|
|
|
uptime_str = file->readln(1024);
|
|
uptime_str =~ s/ .+//;
|
|
|
|
uptime_num = String.toLong(uptime_str);
|
|
|
|
file->close();
|
|
|
|
udays = uptime_num / 86400;
|
|
uhours = (uptime_num % 86400) / 3600;
|
|
uminutes = ((uptime_num % 86400) % 3600) / 60;
|
|
|
|
uptime_str = "" + udays + "day";
|
|
|
|
if (udays != 1)
|
|
uptime_str += "s";
|
|
|
|
uptime_str += " " + uhours + "hour";
|
|
|
|
if (uhours != 1)
|
|
uptime_str += "s";
|
|
|
|
uptime_str += " " + uminutes + "min";
|
|
|
|
if (uminutes != 1)
|
|
uptime_str += "s";
|
|
|
|
/* Console.println(uptime_str);*/
|
|
uptimeLabel.setText(uptime_str);
|
|
uptimeLabel.move(epplet.getX() + epplet.getW() - 12 - uptimeLabel.getW(), epplet.getY()+4);
|
|
|
|
epplet.addTimer("update_uptimeTimer",0.5,"update_uptime",0,data);
|
|
}
|
|
|
|
function update_sysload(object data, number val)
|
|
{
|
|
object file;
|
|
number uptime_num, load_1, load_5, load_15;
|
|
string load_avg, tmp;
|
|
|
|
file = new File();
|
|
|
|
file->open("/proc/loadavg", "r", "");
|
|
|
|
load_avg = file->readln(1024);
|
|
|
|
load_avg = String.copySection(load_avg, 0, 14);
|
|
|
|
load_avg =~ s/^([^ ]*) ([^ ]*)/\1, \2,/;
|
|
|
|
load_avg = "Load: " + load_avg;
|
|
|
|
loadLabel.setText(load_avg);
|
|
|
|
loadLabel.move(epplet.getX() + epplet.getW() - 12 - loadLabel.getW(), epplet.getY()+12);
|
|
epplet.addTimer("update_sysloadTimer",0.5,"update_sysload",0,data);
|
|
}
|
|
|
|
create_epplet();
|
|
|
|
update_uptime(epplet, 0);
|
|
update_sysload(epplet, 0);
|