Subject: 24.0.93; dbus NotificationClosed signal should not reset idle-time when reason=1
From: Peter Münster <[email-masked]>
To: [email-masked]
Date: Mon, 13 Feb 2012 23:54:13 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

The current idle-time is reset to 0, when a notification window expires.
IMO it should not, or it should be configurable.

Discussion on usenet:
http://thread.gmane.org/gmane.emacs.help/83685

Test file:
; save file in /tmp/test.el and run "emacs -Q -l /tmp/test.el"
(require 'notifications)
(notifications-notify :timeout 1000)
(defun my-test ()
  (let ((it (current-idle-time)))
    (message "idle time = %f"
             (if it
                 (+ (cadr it) (/ (nth 2 it) 1000000.0))
               0))))
(run-with-timer 1.5 nil 'my-test)

Result:              idle time = about 0.5
Expected result:     idle time = about 1.5

Use case, where resetting the idle-time to 0 is annoying:

On the one hand, I use `gnus-demon-add-handler' for several actions,
that need to be done repeatedly and only when idle for at least some
minutes.

On the other hand I use 
    (setq appt-disp-window-function 'pm/todo-notify ; popup notify-windows
          appt-display-interval     1)
and
    (org-agenda-to-appt t '((headline "TODO")))
in such a way, that the notification windows are refreshed once per
minute (":timeout 60000"). This is nice, because I don't need to click
on the notification window, I just edit my org-mode-todo-list (switch
an item from TODO to DONE), and the notification window will disappear
automatically in at most 60 seconds.

But when I'm idle, and once per minute a notification windows expires,
the gnus-demon won't activate my handlers, because the idle-time is
always reset, and this can be annoying.

-- 
           Peter