From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Calderon Subject: A bit of work around org-clock-idle-time Date: Wed, 18 Jul 2012 16:38:06 -0400 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Return-path: Received: from eggs.gnu.org ([208.118.235.92]:60278) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Srb0u-00058Z-Ph for emacs-orgmode@gnu.org; Wed, 18 Jul 2012 16:38:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Srb0t-0008HH-Jb for emacs-orgmode@gnu.org; Wed, 18 Jul 2012 16:38:28 -0400 Received: from mail-yx0-f169.google.com ([209.85.213.169]:38661) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Srb0t-0008H9-FO for emacs-orgmode@gnu.org; Wed, 18 Jul 2012 16:38:27 -0400 Received: by yenr5 with SMTP id r5so2464213yen.0 for ; Wed, 18 Jul 2012 13:38:26 -0700 (PDT) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Hello, I was trying to get org-clock-idle-time to work on my machine, but it would never kick in. Looking at the doc (http://orgmode.org/manual/Resolving-idle-time.html), I was left under the impression that x11idle was an option for a better experience, but emacs idle time would be used otherwise. After digging around a bit, I found out it was not the case. If you are using X, emacs WILL use x11idle, wether you have it or not, and in the latter case always get an idle time of 0. >From that, I have two patches to submit (next 2 emails): I made a few modifications to x11idle itself. It seemed it could crash in many ways, one that was noted in comments but somehow not averted by the addition of a if. I added a few more checks, and made it return more meaningful error codes (more on that later). Since org-mode doesn't depend on x11idle being installed on the machine (at least not on debian), I thought it could be interesting to add a few checks. First of all, I make sure that the command exists (I used this post to do it the most generic way, http://stackoverflow.com/questions/592620/check-if-a-program-exists-from-a-bash-script), and then, that the command can execute properly (can connect to the display, there is enough memory for the info struct and the reporting of idle time is supported). I'm not sure this is the best implementation (how often does this get called? If it's often, it might be worth caching the results rather than invoking two shell commands every time), but that's as good as I could do with my knowledge of lisp (none, as of before looking into this). Hopefully, all this will respect what I read here: http://orgmode.org/worg/org-contribute.html. Thanks, -- Nicolas Calderon