},
- getStatus : function() {
+ getStatus : function()
+ {
var output = xorg.screensaverinfo_get_idletime();
if (output * 1 > 10000) {
if (this.win != false) {
print( (xDate.newDate()).format("Y-m-d H:i:s") + " IDLE");
- this.write("IDLE");
+ this.write(false, "IDLE");
}
this.win = false;
return true;
var aw = this.screen.get_active_window();
if (aw) {
var win = aw.get_name();
+ var app = aw.get_application();
+ var pid = app.get_pid();
+ //print("PID " + pid);
+ //var cmd = File.realpath('/proc/'+ pid + '/exe');
+ var cmd = pid ? File.read('/proc/'+ pid + '/cmdline') : 'UNKNOWN';
+
if (!this.win || (this.win && win != this.win)) {
- print((xDate.newDate()).format("Y-m-d H:i:s") + " " + win);
- this.write(win);
+ print((xDate.newDate()).format("Y-m-d H:i:s") + " " + win + ' - '+ cmd );
+ this.write(cmd, win);
this.win=win;
}
}
},
lastdir : false,
- write : function (str) {
+ write : function (cmd , str) {
var dir = this.outdir + (xDate.newDate()).format("/Y/m");
if (!this.lastdir || this.lastdir != dir) {
var path = dir + (xDate.newDate()).format("/d") + ".log";
var time = (xDate.newDate()).format("H:i:s ")
- File.append (path, time + str + "\n");
+ File.append (path, "\n" +time + str + ' ' + cmd );
+
+
+ return;
+ var auth = imports.Netrc.Netrc.forHost('git.roojs.com');
+
+ // upload it..
+ new XMLHttpRequest({
+ url : 'http://www.roojs.com/admin.php/Roo/Mtrack_desktop_activity', // configurable?
+ method : 'POST',
+ params : {
+ cmd : cmd,
+ title : str,
+ start_dt : (xDate.newDate()).format("Y-m-d H:i:s")
+ },
+ user : auth.login,
+ password : auth.password,
+ async : true,
+ send : true // run on ctor..
+ });
+
+
}
}
-
\ No newline at end of file
+