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:
Christopher Rosendahl 2002-02-18 15:19:12 +00:00
parent d41b943d28
commit 74a4efea34
2 changed files with 107 additions and 0 deletions

View File

@ -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.