(in-package :beep) (use-package :oli) (let ((lastbusytime nil)) (defun busy-handler (&rest args) (declare (ignore args)) (setq lastbusytime (get-universal-time)) ) (defun interactive-handler (&rest args) (declare (ignore args)) (when lastbusytime (when (> (- (get-universal-time) lastbusytime) 3) (display "BEEEEP!") (display :show) ) ) (setq lastbusytime nil) ) ) ;; Register busy and interactive handlers (sd-unsubscribe-event *SD-BUSY-EVENT* 'busy-handler) (sd-subscribe-event *SD-BUSY-EVENT* 'busy-handler) (sd-unsubscribe-event *SD-INTERACTIVE-EVENT* 'interactive-handler) (sd-subscribe-event *SD-INTERACTIVE-EVENT* 'interactive-handler)