forked from enlightenment/enlightenment
Wrote a simple uptime epplet =)
Brendon i hope you don't mind me using your clock.png =) i thought it looked so neat... and it looks even more neat with both the clock & uptime epplet having the same look. SVN revision: 5954
This commit is contained in:
parent
d41b943d28
commit
74a4efea34
|
@ -0,0 +1,107 @@
|
|||
|
||||
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);
|
Binary file not shown.
Loading…
Reference in New Issue