Author: jruchaud Date: 2015-05-01 09:08:43 +0000 (Fri, 01 May 2015) New Revision: 1314 Url: http://forge.nuiton.org/projects/sandbox/repository/revisions/1314 Log: Fix create x11 client each second Modified: wit/js/main.js wit/js/services/TimerService.js Modified: wit/js/main.js =================================================================== --- wit/js/main.js 2015-04-30 16:24:30 UTC (rev 1313) +++ wit/js/main.js 2015-05-01 09:08:43 UTC (rev 1314) @@ -125,9 +125,6 @@ popups.push(window); window.on('close', function() { - this.hide(); // Pretend to be closed already - this.close(true); - popups.splice(popups.indexOf(window), 1); if (!popups.length) { Modified: wit/js/services/TimerService.js =================================================================== --- wit/js/services/TimerService.js 2015-04-30 16:24:30 UTC (rev 1313) +++ wit/js/services/TimerService.js 2015-05-01 09:08:43 UTC (rev 1314) @@ -13,30 +13,38 @@ var historyIndex = -1; -var updateUserIdleTime = function() { - x11.createClient(function(err, display) { - if (err) { - console.log(err); - return; - } +x11.createClient(function(err, display) { + if (err) { + console.log(err); + return; + } + + var X = display.client; + X.require('screen-saver', function(err, SS) { - var X = display.client; - X.require('screen-saver', function(err, SS) { + var queryIdle = function() { SS.QueryInfo(display.screen[0].root, function(err, info) { // console.log('Idle time ' + info.idle + "ms"); + + if (time) { + var configIdleTime = config.getIdleTime(); + var durationIdleTime = moment.duration(configIdleTime, 'm'); + + if (info.idle >= durationIdleTime.asMilliseconds() && !idleTime) { + idleTime = new Date(); + eventEmitter.emit('onIdle'); + } + } - var configIdleTime = config.getIdleTime(); - var durationIdleTime = moment.duration(configIdleTime, 'm'); - - if (info.idle >= durationIdleTime.asMilliseconds() && !idleTime) { - idleTime = new Date(); - eventEmitter.emit('onIdle'); - } + setTimeout(queryIdle, 1000); }); - }); - X.on('error', console.error); + }; + + queryIdle(); }); -}; + + X.on('error', console.error); +}); var insertLog = function(tags, start, end) { dayTime += moment(end).diff(moment(start)); @@ -98,8 +106,6 @@ eventEmitter.emit('onTimeChanged'); if (time) { timeChangeTimer = setTimeout(timeChange.bind(), 1000); - - updateUserIdleTime(); } };